DPDK patches and discussions
 help / color / mirror / Atom feed
Search results ordered by [date|relevance]  view[summary|nested|Atom feed]
thread overview below | download: 
* Re: [dpdk-dev] [PATCH] version: 20.02-rc0
  @ 2019-12-02 16:27  0%       ` Kinsella, Ray
  0 siblings, 0 replies; 200+ results
From: Kinsella, Ray @ 2019-12-02 16:27 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: Richardson, Bruce, David Marchand, dev, Neil Horman

+1

> -----Original Message-----
> From: Thomas Monjalon <thomas@monjalon.net>
> Sent: Monday 2 December 2019 16:13
> To: Kinsella, Ray <ray.kinsella@intel.com>
> Cc: Richardson, Bruce <bruce.richardson@intel.com>; David Marchand
> <david.marchand@redhat.com>; dev <dev@dpdk.org>; Neil Horman
> <nhorman@tuxdriver.com>
> Subject: Re: [dpdk-dev] [PATCH] version: 20.02-rc0
> 
> 02/12/2019 16:43, Kinsella, Ray:
> > QQ.
> >
> > What do you plan to do then, when you go for longer periods of ABI
> stability?
> 
> Very good point Ray!
> For longer periods it would not mach DPDK version number.
> 
> So we keep standard scheme of increasing by +1 every quarter?
> 
> 
> 
> > From: Bruce Richardson <bruce.richardson@intel.com>
> > > On Mon, Dec 02, 2019 at 04:29:06PM +0100, David Marchand wrote:
> > > > On Mon, Dec 2, 2019 at 3:57 PM Thomas Monjalon
> > > > <thomas@monjalon.net>
> > > wrote:
> > > > >
> > > > > Start a new release cycle with empty release notes.
> > > > >
> > > > > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> > > > >
> > > > > ---
> > > > >
> > > > > I would prefer increasing the ABI version to 20.2 for an easy
> > > > > mapping with code version:
> > > > >         DPDK 19.11 = ABI 20
> > > > >         libs 19.11 = .so.20.0
> > > > >         DPDK 20.02 = ABI 20
> > > > >         libs 20.02 = .so.20.2
> > > > >         DPDK 20.05 = ABI 20
> > > > >         libs 20.05 = .so.20.5
> > > > >         DPDK 20.08 = ABI 20
> > > > >         libs 20.08 = .so.20.8
> > > > >
> > > > > Opinions?
> > > >
> > > > +1 but no strong opinion.
> > > >
> > > I like that idea too, though again no strong opinion either way.
> >
> 
> 
> 
> 


^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH] mark experimental variables
  @ 2019-12-03  8:33  0%   ` Andrew Rybchenko
  2019-12-03 15:26  0%   ` Neil Horman
  2020-01-09 14:13  3%   ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon
  2 siblings, 0 replies; 200+ results
From: Andrew Rybchenko @ 2019-12-03  8:33 UTC (permalink / raw)
  To: David Marchand, nhorman, dev
  Cc: thomas, mdr, stable, John McNamara, Marko Kovacevic, Qiming Yang,
	Wenzhuo Lu, Nicolas Chautru, Declan Doherty, Adrien Mazarguil,
	Ferruh Yigit, Cristian Dumitrescu, Honnappa Nagarahalli

On 12/2/19 6:20 PM, David Marchand wrote:
> So far, we did not pay attention to direct access to variables but they
> are part of the API/ABI too and should be clearly identified.
> 
> Introduce a __rte_experimental_var tag and mark existing exported
> variables.
> 
> Fixes: a4bcd61de82d ("buildtools: add script to check experimental API exports")
> Cc: stable@dpdk.org
> 
> Signed-off-by: David Marchand <david.marchand@redhat.com>

Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>


^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH v3 0/7] Add ABI compatibility checks to the meson build
  @ 2019-12-03 11:03  8%   ` David Marchand
  2019-12-03 15:27  8%     ` Laatz, Kevin
  2019-12-11 18:21  8%   ` [dpdk-dev] [PATCH v4 0/3] " Kevin Laatz
  1 sibling, 1 reply; 200+ results
From: David Marchand @ 2019-12-03 11:03 UTC (permalink / raw)
  To: Kevin Laatz; +Cc: dev, Thomas Monjalon, Bruce Richardson, Kinsella, Ray

On Fri, Nov 29, 2019 at 10:09 PM Kevin Laatz <kevin.laatz@intel.com> wrote:
>
> With the recent changes made to stabilize ABI versioning in DPDK, it will
> become increasingly important to check patches for ABI compatibility. We
> propose adding the ABI compatibility checking to be done as part of the
> build.
>
> The advantages to adding the ABI compatibility checking to the build are
> two-fold. Firstly, developers can easily check their patches to make sure
> they don’t break the ABI without adding any extra steps. Secondly, it
> makes the integration into existing CI seamless since there are no extra
> scripts to make the CI run. The build will run as usual and if an
> incompatibility is detected in the ABI, the build will fail and show the
> incompatibility. As an added bonus, enabling the ABI compatibility checks
> does not impact the build speed.
>
> The proposed solution works as follows:
> 1. Generate the ABI dump of the baseline. This can be done with the new
>    script added in this RFC. This step will only need to be done when the
>    ABI version changes (so once a year) and can be added to master so it
>    exists by default. This step can be skipped if the dump files for the
>    baseline already exist.
> 2. Build with meson. If there is an ABI incompatibility, the build will
>    fail and print the incompatibility information.
>
> The patches accompanying this RFC add the ABI dump file generating script,
> the meson option required to enable/disable the checks, and the required
> meson changes to run the compatibility checks during the build.

Global comments:
- why are patch 1 and 2 in this series, is this really needed?
- please squash patches 3, 4, 5 and 6, reading them separately is a
pain and they are quite small,
- if Windows does not support the ABI check, enforce this earlier in
meson and refuse enabling it rather than silently ignoring it,
- I would not enable this check by default
  - this is a developer option, people just building the dpdk don't
care about it,
  - can we have something like a tristate "auto" (default, triggers
the check if abidiff is installed), "disabled" and "enabled" (not
having abidiff installed triggers an error) ?
- please update the travis packages so that we can run those checks
for developers submitting patches
- I don't think you tested this series with
devtools/test-meson-builds.sh, please do. It fails with a custom build
directory and in the dpdk tree too:

Build targets in project: 1019
WARNING: Project specifies a minimum meson_version '>= 0.47.1' but
uses features which were added in newer versions:
 * 0.48.0: {'console arg in custom_target'}
 * 0.50.0: {'install arg in configure_file'}
Found ninja-1.9.0 at /usr/bin/ninja
ninja -C /home/dmarchan/builds/build-gcc-static
ninja: Entering directory `/home/dmarchan/builds/build-gcc-static'
[48/2291] Generating librte_kvargs.abi_chk with a meson_exe.py custom command.
FAILED: lib/librte_kvargs.abi_chk
/usr/bin/meson --internal exe
/home/dmarchan/builds/build-gcc-static/meson-private/meson_exe_abidiff_6511538ddd95d9672028017110fa45c67f01f7be.dat
file /home/dmarchan/dpdk/lib/abi/librte_kvargs.dump does not exist
[77/2291] Compiling C object
'lib/76b5a35@@rte_mbuf@sta/librte_mbuf_rte_mbuf.c.o'.
ninja: build stopped: subcommand failed.


--
David Marchand


^ permalink raw reply	[relevance 8%]

* Re: [dpdk-dev] [PATCH] mark experimental variables
    2019-12-03  8:33  0%   ` Andrew Rybchenko
@ 2019-12-03 15:26  0%   ` Neil Horman
  2020-01-09 14:13  3%   ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon
  2 siblings, 0 replies; 200+ results
From: Neil Horman @ 2019-12-03 15:26 UTC (permalink / raw)
  To: David Marchand
  Cc: dev, thomas, arybchenko, mdr, stable, John McNamara,
	Marko Kovacevic, Qiming Yang, Wenzhuo Lu, Nicolas Chautru,
	Declan Doherty, Adrien Mazarguil, Ferruh Yigit,
	Cristian Dumitrescu, Honnappa Nagarahalli

On Mon, Dec 02, 2019 at 04:20:29PM +0100, David Marchand wrote:
> So far, we did not pay attention to direct access to variables but they
> are part of the API/ABI too and should be clearly identified.
> 
> Introduce a __rte_experimental_var tag and mark existing exported
> variables.
> 
> Fixes: a4bcd61de82d ("buildtools: add script to check experimental API exports")
> Cc: stable@dpdk.org
> 
> Signed-off-by: David Marchand <david.marchand@redhat.com>
> ---
> Changelog since RFC:
> - s/resp\./or/ in documentation,
> - caught more variables by looking at the *COM* section,
> 
> ---
>  buildtools/check-experimental-syms.sh      | 17 +++++++++++++++--
>  devtools/checkpatches.sh                   | 16 ++++++++++++----
>  doc/guides/contributing/abi_policy.rst     |  7 ++++---
>  drivers/net/ice/rte_pmd_ice.h              |  8 ++++++++
>  lib/librte_bbdev/rte_bbdev.h               |  1 +
>  lib/librte_cryptodev/rte_crypto_asym.h     |  3 +++
>  lib/librte_eal/common/include/rte_compat.h |  5 +++++
>  lib/librte_ethdev/rte_flow.h               | 17 +++++++++++++++++
>  lib/librte_port/rte_port_eventdev.h        |  5 +++++
>  lib/librte_rcu/rte_rcu_qsbr.h              |  1 +
>  10 files changed, 71 insertions(+), 9 deletions(-)
> 
> diff --git a/buildtools/check-experimental-syms.sh b/buildtools/check-experimental-syms.sh
> index f3603e5ba..f3a2f92fb 100755
> --- a/buildtools/check-experimental-syms.sh
> +++ b/buildtools/check-experimental-syms.sh
> @@ -34,13 +34,26 @@ do
>  		Please add __rte_experimental to the definition of $SYM
>  		END_OF_MESSAGE
>  		ret=1
> +	elif grep -qe "\(\.data\|\*COM\*\).*[[:space:]]$SYM$" $DUMPFILE &&
> +		! grep -q "\.data\.experimental.*[[:space:]]$SYM$" $DUMPFILE
> +	then
> +		cat >&2 <<- END_OF_MESSAGE
> +		$SYM is not flagged as experimental
> +		but is listed in version map
> +		Please add __rte_experimental_var to the definition of $SYM
> +		END_OF_MESSAGE
> +		ret=1
>  	fi
>  done
>  
>  # Filter out symbols suffixed with a . for icc
>  for SYM in `awk '{
> -	if ($2 != "l" && $4 == ".text.experimental" && !($NF ~ /\.$/)) {
> -		print $NF
> +	if ($2 == "l" || $NF ~ /\.$/) {
> +		next;
> +	}
> +	if ($4 == ".text.experimental" ||
> +	    $4 == ".data.experimental") {
> +		print $NF;
>  	}
>  }' $DUMPFILE`
>  do
> diff --git a/devtools/checkpatches.sh b/devtools/checkpatches.sh
> index b16bace92..92b0ae40a 100755
> --- a/devtools/checkpatches.sh
> +++ b/devtools/checkpatches.sh
> @@ -90,11 +90,19 @@ check_experimental_tags() { # <patch>
>  				"headers ("current_file")";
>  			ret = 1;
>  		}
> -		if ($1 != "+__rte_experimental" || $2 != "") {
> +
> +		if (NF == 1 && ($1 == "+__rte_experimental" ||
> +				$1 == "+__rte_experimental_var")) {
> +			next;
> +		}
> +		if ($0 ~ "__rte_experimental_var") {
> +			print "__rte_experimental_var must appear alone on the line" \
> +				" immediately preceding the type of a variable.";
> +		} else {
>  			print "__rte_experimental must appear alone on the line" \
> -				" immediately preceding the return type of a function."
> -			ret = 1;
> +				" immediately preceding the return type of a function.";
>  		}
> +		ret = 1;
>  	}
>  	END {
>  		exit ret;
> @@ -178,7 +186,7 @@ check () { # <patch> <commit> <title>
>  		ret=1
>  	fi
>  
> -	! $verbose || printf '\nChecking __rte_experimental tags:\n'
> +	! $verbose || printf '\nChecking __rte_experimental* tags:\n'
>  	report=$(check_experimental_tags "$tmpinput")
>  	if [ $? -ne 0 ] ; then
>  		$headline_printed || print_headline "$3"
> diff --git a/doc/guides/contributing/abi_policy.rst b/doc/guides/contributing/abi_policy.rst
> index 05ca95980..f933234d6 100644
> --- a/doc/guides/contributing/abi_policy.rst
> +++ b/doc/guides/contributing/abi_policy.rst
> @@ -300,9 +300,10 @@ Note that marking an API as experimental is a multi step process.
>  To mark an API as experimental, the symbols which are desired to be exported
>  must be placed in an EXPERIMENTAL version block in the corresponding libraries'
>  version map script.
> -Secondly, the corresponding prototypes of those exported functions (in the
> -development header files), must be marked with the ``__rte_experimental`` tag
> -(see ``rte_compat.h``).
> +Secondly, the corresponding prototypes of those exported functions (or
> +variables) must be marked with the ``__rte_experimental`` (or
> +``__rte_experimental_var``) tag in the development header files (see
> +``rte_compat.h``).
>  The DPDK build makefiles perform a check to ensure that the map file and the
>  C code reflect the same list of symbols.
>  This check can be circumvented by defining ``ALLOW_EXPERIMENTAL_API``
> diff --git a/drivers/net/ice/rte_pmd_ice.h b/drivers/net/ice/rte_pmd_ice.h
> index e254db053..a5c80c43c 100644
> --- a/drivers/net/ice/rte_pmd_ice.h
> +++ b/drivers/net/ice/rte_pmd_ice.h
> @@ -15,6 +15,8 @@
>   */
>  
>  #include <stdio.h>
> +
> +#include <rte_compat.h>
>  #include <rte_mbuf.h>
>  #include <rte_mbuf_dyn.h>
>  
> @@ -81,13 +83,19 @@ union rte_net_ice_proto_xtr_metadata {
>  };
>  
>  /* Offset of mbuf dynamic field for protocol extraction data */
> +__rte_experimental_var
>  extern int rte_net_ice_dynfield_proto_xtr_metadata_offs;
>  
>  /* Mask of mbuf dynamic flags for protocol extraction type */
> +__rte_experimental_var
>  extern uint64_t rte_net_ice_dynflag_proto_xtr_vlan_mask;
> +__rte_experimental_var
>  extern uint64_t rte_net_ice_dynflag_proto_xtr_ipv4_mask;
> +__rte_experimental_var
>  extern uint64_t rte_net_ice_dynflag_proto_xtr_ipv6_mask;
> +__rte_experimental_var
>  extern uint64_t rte_net_ice_dynflag_proto_xtr_ipv6_flow_mask;
> +__rte_experimental_var
>  extern uint64_t rte_net_ice_dynflag_proto_xtr_tcp_mask;
>  
>  /**
> diff --git a/lib/librte_bbdev/rte_bbdev.h b/lib/librte_bbdev/rte_bbdev.h
> index 591fb7914..e044dec88 100644
> --- a/lib/librte_bbdev/rte_bbdev.h
> +++ b/lib/librte_bbdev/rte_bbdev.h
> @@ -466,6 +466,7 @@ struct __rte_cache_aligned rte_bbdev {
>  };
>  
>  /** @internal array of all devices */
> +__rte_experimental_var
>  extern struct rte_bbdev rte_bbdev_devices[];
>  
>  /**
> diff --git a/lib/librte_cryptodev/rte_crypto_asym.h b/lib/librte_cryptodev/rte_crypto_asym.h
> index 0d34ce8df..d4e84910f 100644
> --- a/lib/librte_cryptodev/rte_crypto_asym.h
> +++ b/lib/librte_cryptodev/rte_crypto_asym.h
> @@ -24,6 +24,7 @@ extern "C" {
>  #include <rte_memory.h>
>  #include <rte_mempool.h>
>  #include <rte_common.h>
> +#include <rte_compat.h>
>  
>  #include "rte_crypto_sym.h"
>  
> @@ -37,10 +38,12 @@ typedef struct rte_crypto_param_t {
>  } rte_crypto_param;
>  
>  /** asym xform type name strings */
> +__rte_experimental_var
>  extern const char *
>  rte_crypto_asym_xform_strings[];
>  
>  /** asym operations type name strings */
> +__rte_experimental_var
>  extern const char *
>  rte_crypto_asym_op_strings[];
>  
> diff --git a/lib/librte_eal/common/include/rte_compat.h b/lib/librte_eal/common/include/rte_compat.h
> index 3eb33784b..3fd05179f 100644
> --- a/lib/librte_eal/common/include/rte_compat.h
> +++ b/lib/librte_eal/common/include/rte_compat.h
> @@ -11,11 +11,16 @@
>  #define __rte_experimental \
>  __attribute__((deprecated("Symbol is not yet part of stable ABI"), \
>  section(".text.experimental")))
> +#define __rte_experimental_var \
> +__attribute__((deprecated("Symbol is not yet part of stable ABI"), \
> +section(".data.experimental")))
>  
>  #else
>  
>  #define __rte_experimental \
>  __attribute__((section(".text.experimental")))
> +#define __rte_experimental_var \
> +__attribute__((section(".data.experimental")))
>  
>  #endif
>  
> diff --git a/lib/librte_ethdev/rte_flow.h b/lib/librte_ethdev/rte_flow.h
> index 452d359a1..c8ea71acc 100644
> --- a/lib/librte_ethdev/rte_flow.h
> +++ b/lib/librte_ethdev/rte_flow.h
> @@ -19,6 +19,7 @@
>  
>  #include <rte_arp.h>
>  #include <rte_common.h>
> +#include <rte_compat.h>
>  #include <rte_ether.h>
>  #include <rte_icmp.h>
>  #include <rte_ip.h>
> @@ -2531,9 +2532,11 @@ struct rte_flow_action_set_meta {
>  };
>  
>  /* Mbuf dynamic field offset for metadata. */
> +__rte_experimental_var
>  extern int rte_flow_dynf_metadata_offs;
>  
>  /* Mbuf dynamic field flag mask for metadata. */
> +__rte_experimental_var
>  extern uint64_t rte_flow_dynf_metadata_mask;
>  
>  /* Mbuf dynamic field pointer for metadata. */
> @@ -2548,14 +2551,24 @@ __rte_experimental
>  static inline uint32_t
>  rte_flow_dynf_metadata_get(struct rte_mbuf *m)
>  {
> +#ifdef ALLOW_EXPERIMENTAL_API
>  	return *RTE_FLOW_DYNF_METADATA(m);
> +#else
> +	RTE_SET_USED(m);
> +	return 0;
> +#endif
>  }
>  
>  __rte_experimental
>  static inline void
>  rte_flow_dynf_metadata_set(struct rte_mbuf *m, uint32_t v)
>  {
> +#ifdef ALLOW_EXPERIMENTAL_API
>  	*RTE_FLOW_DYNF_METADATA(m) = v;
> +#else
> +	RTE_SET_USED(m);
> +	RTE_SET_USED(v);
> +#endif
>  }
>  
>  /*
> @@ -2800,7 +2813,11 @@ __rte_experimental
>  static inline int
>  rte_flow_dynf_metadata_avail(void)
>  {
> +#ifdef ALLOW_EXPERIMENTAL_API
>  	return !!rte_flow_dynf_metadata_mask;
> +#else
> +	return 0;
> +#endif
>  }
>  
>  /**
> diff --git a/lib/librte_port/rte_port_eventdev.h b/lib/librte_port/rte_port_eventdev.h
> index acf88f4e9..59246e204 100644
> --- a/lib/librte_port/rte_port_eventdev.h
> +++ b/lib/librte_port/rte_port_eventdev.h
> @@ -25,6 +25,8 @@ extern "C" {
>  **/
>  
>  #include <stdint.h>
> +
> +#include <rte_compat.h>
>  #include <rte_eventdev.h>
>  
>  #include "rte_port.h"
> @@ -39,6 +41,7 @@ struct rte_port_eventdev_reader_params {
>  };
>  
>  /** Eventdev_reader port operations. */
> +__rte_experimental_var
>  extern struct rte_port_in_ops rte_port_eventdev_reader_ops;
>  
>  /** Eventdev_writer port parameters. */
> @@ -63,6 +66,7 @@ struct rte_port_eventdev_writer_params {
>  };
>  
>  /** Eventdev_writer port operations. */
> +__rte_experimental_var
>  extern struct rte_port_out_ops rte_port_eventdev_writer_ops;
>  
>  /** Event_writer_nodrop port parameters. */
> @@ -90,6 +94,7 @@ struct rte_port_eventdev_writer_nodrop_params {
>  };
>  
>  /** Eventdev_writer_nodrop port operations. */
> +__rte_experimental_var
>  extern struct rte_port_out_ops rte_port_eventdev_writer_nodrop_ops;
>  
>  #ifdef __cplusplus
> diff --git a/lib/librte_rcu/rte_rcu_qsbr.h b/lib/librte_rcu/rte_rcu_qsbr.h
> index 0b5585925..55c100673 100644
> --- a/lib/librte_rcu/rte_rcu_qsbr.h
> +++ b/lib/librte_rcu/rte_rcu_qsbr.h
> @@ -35,6 +35,7 @@ extern "C" {
>  #include <rte_debug.h>
>  #include <rte_atomic.h>
>  
> +__rte_experimental_var
>  extern int rte_rcu_log_type;
>  
>  #if RTE_LOG_DP_LEVEL >= RTE_LOG_DEBUG
> -- 
> 2.23.0
> 
> 
Acked-by: Neil Horman <nhorman@tuxdriver.com>

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH v3 0/7] Add ABI compatibility checks to the meson build
  2019-12-03 11:03  8%   ` David Marchand
@ 2019-12-03 15:27  8%     ` Laatz, Kevin
  2019-12-04  8:47  4%       ` David Marchand
  2019-12-10 11:07  4%       ` David Marchand
  0 siblings, 2 replies; 200+ results
From: Laatz, Kevin @ 2019-12-03 15:27 UTC (permalink / raw)
  To: David Marchand; +Cc: dev, Thomas Monjalon, Bruce Richardson, Kinsella, Ray

On 03/12/2019 11:03, David Marchand wrote:
> On Fri, Nov 29, 2019 at 10:09 PM Kevin Laatz <kevin.laatz@intel.com> wrote:
>> With the recent changes made to stabilize ABI versioning in DPDK, it will
>> become increasingly important to check patches for ABI compatibility. We
>> propose adding the ABI compatibility checking to be done as part of the
>> build.
>>
>> The advantages to adding the ABI compatibility checking to the build are
>> two-fold. Firstly, developers can easily check their patches to make sure
>> they don’t break the ABI without adding any extra steps. Secondly, it
>> makes the integration into existing CI seamless since there are no extra
>> scripts to make the CI run. The build will run as usual and if an
>> incompatibility is detected in the ABI, the build will fail and show the
>> incompatibility. As an added bonus, enabling the ABI compatibility checks
>> does not impact the build speed.
>>
>> The proposed solution works as follows:
>> 1. Generate the ABI dump of the baseline. This can be done with the new
>>     script added in this RFC. This step will only need to be done when the
>>     ABI version changes (so once a year) and can be added to master so it
>>     exists by default. This step can be skipped if the dump files for the
>>     baseline already exist.
>> 2. Build with meson. If there is an ABI incompatibility, the build will
>>     fail and print the incompatibility information.
>>
>> The patches accompanying this RFC add the ABI dump file generating script,
>> the meson option required to enable/disable the checks, and the required
>> meson changes to run the compatibility checks during the build.
> Global comments:
> - why are patch 1 and 2 in this series, is this really needed?
Not if we make this an 'auto' option. It would have needed debug info to 
do the ABI check.
> - please squash patches 3, 4, 5 and 6, reading them separately is a
> pain and they are quite small,
Will do
> - if Windows does not support the ABI check, enforce this earlier in
> meson and refuse enabling it rather than silently ignoring it,
Makes sense, will look into this.
> - I would not enable this check by default
>    - this is a developer option, people just building the dpdk don't
> care about it,
>    - can we have something like a tristate "auto" (default, triggers
> the check if abidiff is installed), "disabled" and "enabled" (not
> having abidiff installed triggers an error) ?
Seems reasonable, will change.
> - please update the travis packages so that we can run those checks
> for developers submitting patches
Will do.
> - I don't think you tested this series with
> devtools/test-meson-builds.sh, please do. It fails with a custom build
> directory and in the dpdk tree too:
>
> Build targets in project: 1019
> WARNING: Project specifies a minimum meson_version '>= 0.47.1' but
> uses features which were added in newer versions:
>   * 0.48.0: {'console arg in custom_target'}
>   * 0.50.0: {'install arg in configure_file'}
> Found ninja-1.9.0 at /usr/bin/ninja
> ninja -C /home/dmarchan/builds/build-gcc-static
> ninja: Entering directory `/home/dmarchan/builds/build-gcc-static'
> [48/2291] Generating librte_kvargs.abi_chk with a meson_exe.py custom command.
> FAILED: lib/librte_kvargs.abi_chk
> /usr/bin/meson --internal exe
> /home/dmarchan/builds/build-gcc-static/meson-private/meson_exe_abidiff_6511538ddd95d9672028017110fa45c67f01f7be.dat
> file /home/dmarchan/dpdk/lib/abi/librte_kvargs.dump does not exist
> [77/2291] Compiling C object
> 'lib/76b5a35@@rte_mbuf@sta/librte_mbuf_rte_mbuf.c.o'.
> ninja: build stopped: subcommand failed.

This is failing as the .dump files have not been created yet. They can 
be generated with devtools/gen-abi-dump.sh <build_dir>. This will 
generate a .dump file for each shared object in the builddir drivers and 
lib folders.

/Kevin



^ permalink raw reply	[relevance 8%]

* Re: [dpdk-dev] [PATCH v3 0/7] Add ABI compatibility checks to the meson build
  2019-12-03 15:27  8%     ` Laatz, Kevin
@ 2019-12-04  8:47  4%       ` David Marchand
  2019-12-04 10:46  4%         ` Bruce Richardson
  2019-12-04 11:56  4%         ` Neil Horman
  2019-12-10 11:07  4%       ` David Marchand
  1 sibling, 2 replies; 200+ results
From: David Marchand @ 2019-12-04  8:47 UTC (permalink / raw)
  To: Laatz, Kevin
  Cc: dev, Thomas Monjalon, Bruce Richardson, Kinsella, Ray, Neil Horman

On Tue, Dec 3, 2019 at 4:27 PM Laatz, Kevin <kevin.laatz@intel.com> wrote:
> > Build targets in project: 1019
> > WARNING: Project specifies a minimum meson_version '>= 0.47.1' but
> > uses features which were added in newer versions:
> >   * 0.48.0: {'console arg in custom_target'}
> >   * 0.50.0: {'install arg in configure_file'}
> > Found ninja-1.9.0 at /usr/bin/ninja
> > ninja -C /home/dmarchan/builds/build-gcc-static
> > ninja: Entering directory `/home/dmarchan/builds/build-gcc-static'
> > [48/2291] Generating librte_kvargs.abi_chk with a meson_exe.py custom command.
> > FAILED: lib/librte_kvargs.abi_chk
> > /usr/bin/meson --internal exe
> > /home/dmarchan/builds/build-gcc-static/meson-private/meson_exe_abidiff_6511538ddd95d9672028017110fa45c67f01f7be.dat
> > file /home/dmarchan/dpdk/lib/abi/librte_kvargs.dump does not exist
> > [77/2291] Compiling C object
> > 'lib/76b5a35@@rte_mbuf@sta/librte_mbuf_rte_mbuf.c.o'.
> > ninja: build stopped: subcommand failed.
>
> This is failing as the .dump files have not been created yet. They can
> be generated with devtools/gen-abi-dump.sh <build_dir>. This will
> generate a .dump file for each shared object in the builddir drivers and
> lib folders.

Throwing an idea, I did not investigate.

Could we refactor our tools/checks on the .map files to use the dump files?
We would then only maintain one file about symbols versioning.


-- 
David Marchand


^ permalink raw reply	[relevance 4%]

* [dpdk-dev] [PATCH] drivers/net: fix mlx* glue libraries ABI version
@ 2019-12-04 10:05  8% David Marchand
  2019-12-12 22:17  7% ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon
  0 siblings, 1 reply; 200+ results
From: David Marchand @ 2019-12-04 10:05 UTC (permalink / raw)
  To: dev; +Cc: thomas, stable, Matan Azrad, Shahaf Shuler, Viacheslav Ovsiienko

Those libraries have been missed when switching to global ABI version.

Fixes: cba806e07d6f ("build: change ABI versioning to global")
Cc: stable@dpdk.org

Signed-off-by: David Marchand <david.marchand@redhat.com>
---
 drivers/net/mlx4/Makefile    | 2 +-
 drivers/net/mlx4/meson.build | 2 +-
 drivers/net/mlx5/Makefile    | 2 +-
 drivers/net/mlx5/meson.build | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/mlx4/Makefile b/drivers/net/mlx4/Makefile
index 329569dc10..dac5c5f64c 100644
--- a/drivers/net/mlx4/Makefile
+++ b/drivers/net/mlx4/Makefile
@@ -8,7 +8,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
 LIB = librte_pmd_mlx4.a
 LIB_GLUE = $(LIB_GLUE_BASE).$(LIB_GLUE_VERSION)
 LIB_GLUE_BASE = librte_pmd_mlx4_glue.so
-LIB_GLUE_VERSION = 18.02.0
+LIB_GLUE_VERSION = $(shell cat $(RTE_SRCDIR)/ABI_VERSION)
 
 # Sources.
 SRCS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4.c
diff --git a/drivers/net/mlx4/meson.build b/drivers/net/mlx4/meson.build
index 9eb4988420..3ef946fef0 100644
--- a/drivers/net/mlx4/meson.build
+++ b/drivers/net/mlx4/meson.build
@@ -11,7 +11,7 @@ build = true
 
 pmd_dlopen = (get_option('ibverbs_link') == 'dlopen')
 LIB_GLUE_BASE = 'librte_pmd_mlx4_glue.so'
-LIB_GLUE_VERSION = '18.02.0'
+LIB_GLUE_VERSION = abi_version
 LIB_GLUE = LIB_GLUE_BASE + '.' + LIB_GLUE_VERSION
 if pmd_dlopen
 	dpdk_conf.set('RTE_IBVERBS_LINK_DLOPEN', 1)
diff --git a/drivers/net/mlx5/Makefile b/drivers/net/mlx5/Makefile
index c5cf4397ac..90a9eeb61f 100644
--- a/drivers/net/mlx5/Makefile
+++ b/drivers/net/mlx5/Makefile
@@ -8,7 +8,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
 LIB = librte_pmd_mlx5.a
 LIB_GLUE = $(LIB_GLUE_BASE).$(LIB_GLUE_VERSION)
 LIB_GLUE_BASE = librte_pmd_mlx5_glue.so
-LIB_GLUE_VERSION = 19.08.0
+LIB_GLUE_VERSION = $(shell cat $(RTE_SRCDIR)/ABI_VERSION)
 
 # Sources.
 SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5.c
diff --git a/drivers/net/mlx5/meson.build b/drivers/net/mlx5/meson.build
index d6b32db794..0216c22573 100644
--- a/drivers/net/mlx5/meson.build
+++ b/drivers/net/mlx5/meson.build
@@ -11,7 +11,7 @@ build = true
 
 pmd_dlopen = (get_option('ibverbs_link') == 'dlopen')
 LIB_GLUE_BASE = 'librte_pmd_mlx5_glue.so'
-LIB_GLUE_VERSION = '19.08.0'
+LIB_GLUE_VERSION = abi_version
 LIB_GLUE = LIB_GLUE_BASE + '.' + LIB_GLUE_VERSION
 if pmd_dlopen
 	dpdk_conf.set('RTE_IBVERBS_LINK_DLOPEN', 1)
-- 
2.23.0


^ permalink raw reply	[relevance 8%]

* Re: [dpdk-dev] [PATCH v3 0/7] Add ABI compatibility checks to the meson build
  2019-12-04  8:47  4%       ` David Marchand
@ 2019-12-04 10:46  4%         ` Bruce Richardson
  2019-12-04 11:56  4%         ` Neil Horman
  1 sibling, 0 replies; 200+ results
From: Bruce Richardson @ 2019-12-04 10:46 UTC (permalink / raw)
  To: David Marchand
  Cc: Laatz, Kevin, dev, Thomas Monjalon, Kinsella, Ray, Neil Horman

On Wed, Dec 04, 2019 at 09:47:31AM +0100, David Marchand wrote:
> On Tue, Dec 3, 2019 at 4:27 PM Laatz, Kevin <kevin.laatz@intel.com> wrote:
> > > Build targets in project: 1019
> > > WARNING: Project specifies a minimum meson_version '>= 0.47.1' but
> > > uses features which were added in newer versions:
> > >   * 0.48.0: {'console arg in custom_target'}
> > >   * 0.50.0: {'install arg in configure_file'}
> > > Found ninja-1.9.0 at /usr/bin/ninja
> > > ninja -C /home/dmarchan/builds/build-gcc-static
> > > ninja: Entering directory `/home/dmarchan/builds/build-gcc-static'
> > > [48/2291] Generating librte_kvargs.abi_chk with a meson_exe.py custom command.
> > > FAILED: lib/librte_kvargs.abi_chk
> > > /usr/bin/meson --internal exe
> > > /home/dmarchan/builds/build-gcc-static/meson-private/meson_exe_abidiff_6511538ddd95d9672028017110fa45c67f01f7be.dat
> > > file /home/dmarchan/dpdk/lib/abi/librte_kvargs.dump does not exist
> > > [77/2291] Compiling C object
> > > 'lib/76b5a35@@rte_mbuf@sta/librte_mbuf_rte_mbuf.c.o'.
> > > ninja: build stopped: subcommand failed.
> >
> > This is failing as the .dump files have not been created yet. They can
> > be generated with devtools/gen-abi-dump.sh <build_dir>. This will
> > generate a .dump file for each shared object in the builddir drivers and
> > lib folders.
> 
> Throwing an idea, I did not investigate.
> 
> Could we refactor our tools/checks on the .map files to use the dump files?
> We would then only maintain one file about symbols versioning.
> 
Could be looked into, but I'd worry about the complexity of the dump files
holding the whole API compared to the simpler map files which just have
a simple function listing.

/Bruce

^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] [PATCH v3 0/7] Add ABI compatibility checks to the meson build
  2019-12-04  8:47  4%       ` David Marchand
  2019-12-04 10:46  4%         ` Bruce Richardson
@ 2019-12-04 11:56  4%         ` Neil Horman
  2019-12-04 12:00  4%           ` David Marchand
  1 sibling, 1 reply; 200+ results
From: Neil Horman @ 2019-12-04 11:56 UTC (permalink / raw)
  To: David Marchand
  Cc: Laatz, Kevin, dev, Thomas Monjalon, Bruce Richardson, Kinsella, Ray

On Wed, Dec 04, 2019 at 09:47:31AM +0100, David Marchand wrote:
> On Tue, Dec 3, 2019 at 4:27 PM Laatz, Kevin <kevin.laatz@intel.com> wrote:
> > > Build targets in project: 1019
> > > WARNING: Project specifies a minimum meson_version '>= 0.47.1' but
> > > uses features which were added in newer versions:
> > >   * 0.48.0: {'console arg in custom_target'}
> > >   * 0.50.0: {'install arg in configure_file'}
> > > Found ninja-1.9.0 at /usr/bin/ninja
> > > ninja -C /home/dmarchan/builds/build-gcc-static
> > > ninja: Entering directory `/home/dmarchan/builds/build-gcc-static'
> > > [48/2291] Generating librte_kvargs.abi_chk with a meson_exe.py custom command.
> > > FAILED: lib/librte_kvargs.abi_chk
> > > /usr/bin/meson --internal exe
> > > /home/dmarchan/builds/build-gcc-static/meson-private/meson_exe_abidiff_6511538ddd95d9672028017110fa45c67f01f7be.dat
> > > file /home/dmarchan/dpdk/lib/abi/librte_kvargs.dump does not exist
> > > [77/2291] Compiling C object
> > > 'lib/76b5a35@@rte_mbuf@sta/librte_mbuf_rte_mbuf.c.o'.
> > > ninja: build stopped: subcommand failed.
> >
> > This is failing as the .dump files have not been created yet. They can
> > be generated with devtools/gen-abi-dump.sh <build_dir>. This will
> > generate a .dump file for each shared object in the builddir drivers and
> > lib folders.
> 
> Throwing an idea, I did not investigate.
> 
> Could we refactor our tools/checks on the .map files to use the dump files?
> We would then only maintain one file about symbols versioning.
> 
Thats a chicken and egg problem.  The map file is the canonical source for
versioning information. Any information that is encoded in the output of objdump
regarding versioning is sourced from the map files, so while you could use the
objdump output to check versioning, you can't remove the need for map files to
encode it.

If you want to remove the map files, we would need to look at the creation of
macros to encode versioning information for each symbol you want to export, and
use that to dynamically build a version map file (simmilar to what the linux
kernel EXPORT_SYMBOL does).  But that just moves version tracking around, it
doesn't really eliminate it.

Neil

> 
> -- 
> David Marchand
> 
> 

^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] [PATCH v3 0/7] Add ABI compatibility checks to the meson build
  2019-12-04 11:56  4%         ` Neil Horman
@ 2019-12-04 12:00  4%           ` David Marchand
  0 siblings, 0 replies; 200+ results
From: David Marchand @ 2019-12-04 12:00 UTC (permalink / raw)
  To: Neil Horman
  Cc: Laatz, Kevin, dev, Thomas Monjalon, Bruce Richardson, Kinsella, Ray

On Wed, Dec 4, 2019 at 12:56 PM Neil Horman <nhorman@tuxdriver.com> wrote:
>
> On Wed, Dec 04, 2019 at 09:47:31AM +0100, David Marchand wrote:
> > On Tue, Dec 3, 2019 at 4:27 PM Laatz, Kevin <kevin.laatz@intel.com> wrote:
> > > > Build targets in project: 1019
> > > > WARNING: Project specifies a minimum meson_version '>= 0.47.1' but
> > > > uses features which were added in newer versions:
> > > >   * 0.48.0: {'console arg in custom_target'}
> > > >   * 0.50.0: {'install arg in configure_file'}
> > > > Found ninja-1.9.0 at /usr/bin/ninja
> > > > ninja -C /home/dmarchan/builds/build-gcc-static
> > > > ninja: Entering directory `/home/dmarchan/builds/build-gcc-static'
> > > > [48/2291] Generating librte_kvargs.abi_chk with a meson_exe.py custom command.
> > > > FAILED: lib/librte_kvargs.abi_chk
> > > > /usr/bin/meson --internal exe
> > > > /home/dmarchan/builds/build-gcc-static/meson-private/meson_exe_abidiff_6511538ddd95d9672028017110fa45c67f01f7be.dat
> > > > file /home/dmarchan/dpdk/lib/abi/librte_kvargs.dump does not exist
> > > > [77/2291] Compiling C object
> > > > 'lib/76b5a35@@rte_mbuf@sta/librte_mbuf_rte_mbuf.c.o'.
> > > > ninja: build stopped: subcommand failed.
> > >
> > > This is failing as the .dump files have not been created yet. They can
> > > be generated with devtools/gen-abi-dump.sh <build_dir>. This will
> > > generate a .dump file for each shared object in the builddir drivers and
> > > lib folders.
> >
> > Throwing an idea, I did not investigate.
> >
> > Could we refactor our tools/checks on the .map files to use the dump files?
> > We would then only maintain one file about symbols versioning.
> >
> Thats a chicken and egg problem.  The map file is the canonical source for
> versioning information. Any information that is encoded in the output of objdump
> regarding versioning is sourced from the map files, so while you could use the
> objdump output to check versioning, you can't remove the need for map files to
> encode it.

Ah ah.. yes.
^U on this idea.


-- 
David Marchand


^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] [PATCH v2 3/3] ethdev: improve flow mark Rx offload deprecation notice
  @ 2019-12-05  8:12  3%           ` Jerin Jacob
  2019-12-09  9:17  0%             ` Andrew Rybchenko
  0 siblings, 1 reply; 200+ results
From: Jerin Jacob @ 2019-12-05  8:12 UTC (permalink / raw)
  To: Andrew Rybchenko
  Cc: Thomas Monjalon, Ferruh Yigit, Pavan Nikhilesh, Neil Horman,
	John McNamara, Marko Kovacevic, dpdk-dev, Ori Kam,
	David Marchand, Olivier Matz, Ananyev, Konstantin

On Mon, Dec 2, 2019 at 5:27 PM Andrew Rybchenko
<arybchenko@solarflare.com> wrote:
>
> On 12/2/19 2:09 PM, Jerin Jacob wrote:
> > On Mon, Dec 2, 2019 at 6:16 PM Thomas Monjalon <thomas@monjalon.net> wrote:
> >>
> >> 02/12/2019 05:21, Jerin Jacob:
> >>> On Mon, Nov 25, 2019 at 8:39 PM Thomas Monjalon <thomas@monjalon.net> wrote:
> >>>>
> >>>> 25/11/2019 11:44, Jerin Jacob:
> >>>>> On Sun, Nov 24, 2019 at 3:12 AM Thomas Monjalon <thomas@monjalon.net> wrote:
> >>>>>>
> >>>>>> 23/11/2019 10:42, Jerin Jacob:
> >>>>>>> On Sat, Nov 23, 2019 at 3:58 AM Thomas Monjalon <thomas@monjalon.net> wrote:
> >>>>>>>> 22/11/2019 12:53, Andrew Rybchenko:
> >>>>>>>>> On 11/22/19 2:15 PM, Thomas Monjalon wrote:
> >>>>>>>>>> 22/11/2019 11:12, Andrew Rybchenko:
> >>>>>>>>>>> On 11/22/19 1:01 AM, Thomas Monjalon wrote:
> >>>>>>>>>>>> 19/11/2019 13:12, Andrew Rybchenko:
> >>>>>>>>>>>>> The deprecation notice is required since it adds more requirements
> >>>>>>>>>>>>> when RTE flow mark and flag actions may be used and require
> >>>>>>>>>>>>> changes in applications.
> >>>>>>>>>>>> I am still not sure what is the best solution here.
> >>>>>>>>>>>> I continued to think about it in this thread:
> >>>>>>>>>>>>   http://mails.dpdk.org/archives/dev/2019-November/151960.html
> >>>>>>>>>>>>
> >>>>>>>>>>>> I think we cannot require any application change until 20.11
> >>>>>>>>>>>> in order to keep API (and behaviour) compatibility.
> >>>>>>>>>>> Expected, but still very disappointing.
> >>>>>>>>>>>
> >>>>>>>>>>> The feature is implemented by Pavan (@ Marvell), supported by me,
> >>>>>>>>>>> used by Qi (@ Intel), looks better than alternatives from application
> >>>>>>>>>>> developer point of view [1] and finally postponed for 1 year without really
> >>>>>>>>>>> strong motivation.
> >>>>>>>>>>
> >>>>>>>>>> I see different valuable point of views. This is enough motivation.
> >>>>>>>>>
> >>>>>>>>> It looks like I miss it in previous discussion, I would be thankful if
> >>>>>>>>> you give me links to read or hints how to find.
> >>>>>>>>
> >>>>>>>> http://mails.dpdk.org/archives/dev/2019-November/150793.html
> >>>>>>>>
> >>>>>>>>> Introducing new types of controls would make configuration more and
> >>>>>>>>> more complex. I think that many different types of control would
> >>>>>>>>> over-complicate it. May be it is unavoidable, but it should be clear
> >>>>>>>>> why the problem cannot be solved using existing types of controls
> >>>>>>>>> (e.g. offloads).
> >>>>>>>>
> >>>>>>>> The offload control is used as an effective configuration for now.
> >>>>>>>> The features which are configured with DEV_RX_OFFLOAD_*
> >>>>>>>> do not need any other API to be used.
> >>>>>>>> Extending DEV_RX_OFFLOAD_* bits for enabling features which
> >>>>>>>> must be configured via other API anyway, is possible.
> >>>>>>>> The real problem is that features in DEV_RX_OFFLOAD_* are supposed
> >>>>>>>> to be disabled by default. If we add some opt-in features here,
> >>>>>>>> we cannot enable them by default for API compatibility and do the
> >>>>>>>> right thing by default.
> >>>>>>>>
> >>>>>>>> Choosing DEV_RX_OFFLOAD_* bits or rte_eth_dev_opt* functions is a detail.
> >>>>>>>> The real decision is to change the API for using all these features.
> >>>>>>>> Can we keep all features available by default (opt-out)?
> >>>>>>>
> >>>>>>> IMO, *rte_eth_dev_opt* has following problems
> >>>>>>>
> >>>>>>> 1) It is not multi-process friendly. If we are changing the Rx/Tx
> >>>>>>> function pointer, based on
> >>>>>>> the selected offload, then, using *rte_eth_dev_opt* scheme won't
> >>>>>>> really work(if the new API
> >>>>>>> called after the secondary process launch)
> >>>>>>
> >>>>>> Yes it must be used before launching the secondary process.
> >>>>>> It is the same as DEV_RX_OFFLOAD_* config.
> >>>>>
> >>>>> Yes. rte_eth_dev_opt_* has another dimension to enable and disable as API.
> >>>>> So, we need to document, opt-in -> start() -> opt-out case won't work
> >>>>> in multi process
> >>>>> case.
> >>>>>
> >>>>>>
> >>>>>>> 2) If we are taking rte_eth_dev_opt path then by default feature has
> >>>>>>> to be enabled to
> >>>>>>> not break the functional ABI. That scheme won't scale if as when we
> >>>>>>> keep adding the new features.
> >>>>>>> It is always easy for the application to define "what it wants" vs
> >>>>>>> "what it does not want"
> >>>>>>
> >>>>>> Yes, opt-in may look more natural than opt-out.
> >>>>>> But opt-in makes the default more complex, and changes the API.
> >>>>>>
> >>>>>>> 3) Defining the device state after the reconfigure operation.
> >>>>>>>
> >>>>>>> IMO, if any operation is connected to fastpath it is better to use
> >>>>>>> DEV_RX_OFFLOAD_ like
> >>>>>>> this feature where enable or disable PMDs from updating
> >>>>>>> ``rte_mbuf::hash::fdir`` so that if possible
> >>>>>>> we can use different Rx function pointer if possible(Hence it can work
> >>>>>>> with the multi-process case case)
> >>>>>>
> >>>>>> I reply to 2 and 3 together.
> >>>>>>
> >>>>>> We decided that offloads must be disabled by default.
> >>>>>> This is what we have in 19.11:
> >>>>>>         - Some offloads are enabled before start with DEV_?X_OFFLOAD_*
> >>>>>>         - Some offloads are enabled with functions at any time
> >>>>>>
> >>>>>> For the second type of offloads, you want to know, before start,
> >>>>>> whether it will be used or not.
> >>>>>> If adding the second type of offloads (like rte_flow ones)
> >>>>>> to DEV_?X_OFFLOAD_*, it means it must be enabled 2 times:
> >>>>>>         - before start with offload bits
> >>>>>>         - later with more precise functions
> >>>>>>
> >>>>>> I would like to avoid changing the default behaviour,
> >>>>>> which is to enable an offload only one time.
> >>>>>> That's why I think this second category of offloads should
> >>>>>> offer opt-out (global disabling), so it will continue
> >>>>>> to work by default if they are configured.
> >>>>>>
> >>>>>> I hope you understand the difference between the two categories.
> >>>>>
> >>>>> I understand the difference. The only point of "difference in opinion" is
> >>>>> the default behavior of the feature/offload. If it is in RX_OFFLOAD scheme then
> >>>>> by default it is disabled. opt_* scheme makes this new feature/offload
> >>>>> enabled default to avoid changing the default behavior.
> >>>>
> >>>> OK, this is where we disagree.
> >>>> I am for keeping what we agreed this year: all offloads are disabled by default.
> >>>> But I am against the need for double enablement.
> >>>> The offloads which are enabled with a specific function should not need
> >>>> to be also enabled (opt-in) before start.
> >>>
> >>> OK.
> >>>
> >>>>
> >>>>> It is good to avoid functional ABI change. But bad as,
> >>>>> 1) New API starts bloating the ethdev API.
> >>>>
> >>>> In general, I want to clean-up the ethdev API during next year.
> >>>>
> >>>>> 2) It is diffcult for application guys to figure out what are features need to
> >>>>> be disabled to performance as he/she does not know, for the given release,
> >>>>> the enabled features.
> >>>>
> >>>> Yes this is a good point.
> >>>>
> >>>>> Item (1) is a trade-off between elegance vs ABI compatibility. No
> >>>>> strong opinion on this.
> >>>>>
> >>>>> To fix the item (2), Can we get have an API in ethdev to get enabled
> >>>>> features so that
> >>>>> the application can probe and disable if required?
> >>>>
> >>>> We can think about something like that.
> >>>> Note that there is also a need to better advertise all capabilities.
> >>>>
> >>>>> For example, rte_eth_dev_set_ptypes() comes in same category, By default,
> >>>>> ptype parsing is enabled. I think, we can have a general interface to
> >>>>> "probe" the by default enabled features
> >>>>> and disable it if required. Not scattered API for each feature.
> >>>>
> >>>> This is an issue. The packet type parsing should be disabled by default.
> >>>
> >>> IMO, It makes sense to disable by default.
> >>>
> >>> Isn't conflicting? One thread, we are saying for in order to make,
> >>> existing application work without breaking ABI, Default should be
> >>> enabled.
> >>>
> >>> Thoughts?
> >>
> >> Every offloads should be disabled by default.
> >> This is a good reason to break the behaviour in 20.11.
> >
> > Ack.
>
> Yes, I agree as well, but in general we already have an
> exception MBUF_FAST_FREE which is just a nice wrap for
> enabled by default support for mbufs from different
> mempools and support for mbuf reference counters.
> I don't suggest to change it. Just want to highlight
> that we already have exceptions (nicely wrapped).
> That's why I would not touch packet type parsing
> "offload". Packet type parsing is not just on/off and
> adding on/off in addition to existing API looks overkill.
> Yes, it is one more exception, but nicely wrapped as well.

I am all for making offloads disabled by default.

>
> >>> And what would be DEFAULT behavior for the mbuf MARK updation feature?
> >>> (That's where this thread started).
> >>
> >> As all other features, mark is disabled by default.
> >> Using a rte_flow rule, it can be enabled.
> >> No need to pre-enable it.
> >
> > Ok.
>
> But it returns us to the point where we started [1]:
>
> The problem:
> ~~~~~~~~~~~~
> PMD wants to know before port start if application wants to
> to use flow MARK/FLAG in the future. It is required because:
>
> 1. HW may be configured in a different way to reserve resources
>    for MARK/FLAG delivery.
>
> 2. Datapath implementation choice may depend on it (e.g. vPMD
>    is faster, but does not support MARK).
>
> opt-in/opt-out solution has drawbacks mentioned above.
> Also I'm not sure if opt-in/opt-out is per-queue or per-port.
> (Offloads may be naturally per-queue and it is a big advantage).
>
> IMHO feature which should be opt-out is almost equivalent to
> offload enabled by default. It has the same negative properties
> as enabled by default offloads.
>
> Am I missing something again?
>
> From my point of view I see no problem in necessity to say
> in advance (before device start) that application would like
> to use some features at run time.

I agree with your problem definition and solution as offload.

I think, our constraint is, we can not change functional ABI behavior
for the next year. i.e The existing application should work for the
next year without
changing the code.

I think, it all boiling down to adhere to that constraint or not for
this specific case.

Once that is decided, we can wrap it in offload flags vs opt scheme
(by default enabled scheme).

>
> Yes, all features which may be controlled at run-time are
> headache for optimizations (VLAN offloads).
>
> [1]
> http://inbox.dpdk.org/dev/f170105b-9c60-1b04-cb18-52e0951ddcdb@solarflare.com/

^ permalink raw reply	[relevance 3%]

* [dpdk-dev] DPDK Release Status Meeting 5/12/2019
@ 2019-12-05 14:26  3% Ferruh Yigit
  0 siblings, 0 replies; 200+ results
From: Ferruh Yigit @ 2019-12-05 14:26 UTC (permalink / raw)
  To: dpdk-dev; +Cc: Thomas Monjalon

Minutes 5 December 2019
-----------------------

Agenda:
* Release Dates
* 19.11 feedback
* Subtrees
* OvS

Participants:
* Arm
* Debian/Microsoft
* Intel
* Mellanox
* NXP
* Red Hat


Release Dates
-------------

* v19.11 is released on Friday, 29 November
  v19.11 is latest LTS and will be supported next two years.
  * https://mails.dpdk.org/archives/dev/2019-November/152519.html
  * https://core.dpdk.org/download/
  * https://doc.dpdk.org/guides/rel_notes/release_19_11.html

* v20.02 dates:
  * Proposal/V1:		Wednesday 11 December 2019
  * Integration/Merge/RC1:	Wednesday 15 January 2020
  * Release:			Friday 14 February 2020

  * Reminder for 20.02 roadmaps from contributors, non received yet.


19.11 feedback
--------------

* Gavin reported a performance drop on specific NICs with v19.11,
  will report the issue via Bugzilla.


Subtrees
--------

* main
  * Build issue in the main repo solved

* next-net
  * Nothing much in both backlog and the repo yet
  * 'ionic' PMD reviewed, got confirmation that it will be re-licensed as BSD-3

* next-net-crypto
  * add eventmode to ipsec-secgw patchset is in the backlog
  * There is a request to have release notes template ready for next releases
    so that patches addressing those releases can update them
    * This can be confusing for release packages, to have release notes from
      future releases, so they won't be included.
  * Need to clarify CPU crypto patchset status, if it requires ABI breakage,
    it may need to wait for next LTS

* next-net-eventdev
  * l3fwd eventdev support patches are in backlog
  * WANTED: l3fwd sample app is missing maintainer, we need volunteers for
    maintaining and/or reviewing it.

* next-net-virtio
  * dynamic logging patch is in the queue
  * Will work on virtio vdpa driver
    * Should we move vdpa related code to a common folder?

* LTS

  * 17.11.10
    * Luca is working on it with best effort, planning a release on December
    * This will be last 17.11.x release

  * 18.11.6
    * Kevin already backported some patches and sent notification emails for it
    * ~150 more patches waiting for the backporting
    * For the patches that failed to backport automatically, emails sent to
      authors and mail list to request help from authors for backporting.
      * Is this method working or if we can find more effective way.


OvS
---

* DPDK 19.11 support upstreamed on 'master' branch
* Next week there will be OvS conference:
  http://www.openvswitch.org/support/ovscon2019/



DPDK Release Status Meetings
============================

The DPDK Release Status Meeting is intended for DPDK Committers to discuss
the status of the master tree and sub-trees, and for project managers to
track progress or milestone dates.

The meeting occurs on Thursdays at 8:30 UTC. If you wish to attend just
send an email to "John McNamara <john.mcnamara@intel.com>" for the invite.

^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] [PATCH v7 1/1] fbarray: fix duplicated fbarray file in secondary
  @ 2019-12-05 20:13  0%                   ` Yasufumi Ogawa
  0 siblings, 0 replies; 200+ results
From: Yasufumi Ogawa @ 2019-12-05 20:13 UTC (permalink / raw)
  To: Burakov, Anatoly; +Cc: David Marchand, Ananyev, Konstantin, dev, Yasufumi Ogawa

Hi Anatoly,

On 2019/12/02 19:43, Burakov, Anatoly wrote:
> On 29-Nov-19 5:44 AM, Yasufumi Ogawa wrote:
>> Hi Anatoly,
>>
>> On 2019/11/27 19:26, Burakov, Anatoly wrote:
>>> On 26-Nov-19 7:40 PM, Yasufumi Ogawa wrote:
>>>> Hi David,
>>>>
>>>> Sorry for slow reply.
>>>>
>>>> On 2019/11/14 21:27, David Marchand wrote:
>>>>> On Thu, Nov 14, 2019 at 12:42 PM Yasufumi Ogawa 
>>>>> <yasufum.o@gmail.com> wrote:
>>>>>>
>>>>>> On 2019/11/14 2:01, Burakov, Anatoly wrote:
>>>>>>> On 13-Nov-19 9:43 PM, yasufum.o@gmail.com wrote:
>>>>>>>> From: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
>>>>>>>>
>>>>>>>> In secondary_msl_create_walk(), it creates a file for fbarrays 
>>>>>>>> with its
>>>>>>>> PID for reserving unique name among secondary processes. 
>>>>>>>> However, it
>>>>>>>> does not work if several secondaries run as app containers 
>>>>>>>> because each
>>>>>>>> of containerized secondary has PID 1, and failed to reserve 
>>>>>>>> unique name
>>>>>>>> other than first one. To reserve unique name in each of 
>>>>>>>> containers, use
>>>>>>>> hostname in addition to PID.
>>>>>>>>
>>>>>>>> Cc: stable@dpdk.org
>>>>>>>>
>>>>>>>> Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
>>>>>>>> ---
>>>>>>>>    lib/librte_eal/linux/eal/eal_memalloc.c | 16 +++++++++++++---
>>>>>>>>    1 file changed, 13 insertions(+), 3 deletions(-)
>>>>>>>>
>>>>>>>> diff --git a/lib/librte_eal/linux/eal/eal_memalloc.c
>>>>>>>> b/lib/librte_eal/linux/eal/eal_memalloc.c
>>>>>>>> index af6d0d023..11de6d4d6 100644
>>>>>>>> --- a/lib/librte_eal/linux/eal/eal_memalloc.c
>>>>>>>> +++ b/lib/librte_eal/linux/eal/eal_memalloc.c
>>>>>>>> @@ -1365,6 +1365,12 @@ secondary_msl_create_walk(const struct
>>>>>>>> rte_memseg_list *msl,
>>>>>>>>        struct rte_memseg_list *primary_msl, *local_msl;
>>>>>>>>        char name[PATH_MAX];
>>>>>>>>        int msl_idx, ret;
>>>>>>>> +    char hostname[HOST_NAME_MAX+1] = { 0 };
>>>>>>>> +    /* filename of secondary's fbarray is defined such as
>>>>>>>> +     * "fbarray_memseg-1048576k-0-0_PID_HOSTNAME" and length of 
>>>>>>>> PID
>>>>>>>> +     * can be 7 digits maximumly.
>>>>>>>> +     */
>>>>>>>> +    int fbarray_sec_name_len = 32 + 7 + 1 + HOST_NAME_MAX + 1;
>>>>>>>
>>>>>>> What does 32 stand for? Maybe #define both 32 and 7 values?
>>>>>> Hi Anatoly,
>>>>>>
>>>>>> Thank you for your comments! If my understanding is correct, the 
>>>>>> prefix
>>>>>> "fbarray_memseg-1048576k-0-0_" is 28 digits and it could be larger if
>>>>>> using the size of hugepage or the number of NUMA nodes are larger
>>>>>> possibly. However, I think 32 digits is still enough.
>>>>>>
>>>>>>   > Maybe #define both 32 and 7 values?
>>>>>> Yes. I think it should be better to use #define if this values are
>>>>>> referred several times.
>>>>>
>>>>>
>>>>> We can truncate to RTE_FBARRAY_NAME_LEN in all cases.
>>>>> And iiuc, rte_fbarray_init will refuse any longer name anyway.
>>>> Could I confirm the issue? I've understood that it is failed to 
>>>> validate the name of fbarray in fully_validate() at 
>>>> "lib/librte_eal/common/eal_common_fbarray.c:697".
>>>>
>>>> static int
>>>> fully_validate(const char *name, unsigned int elt_sz, unsigned int len)
>>>> {
>>>>          if (name == NULL || elt_sz == 0 || len == 0 || len > 
>>>> INT_MAX) {
>>>>                  rte_errno = EINVAL;
>>>>                  return -1;
>>>>          }
>>>>
>>>>          if (strnlen(name, RTE_FBARRAY_NAME_LEN) == 
>>>> RTE_FBARRAY_NAME_LEN) {
>>>>                  rte_errno = ENAMETOOLONG;
>>>>                  return -1;
>>>>          }
>>>>          return 0;
>>>> }
>>>>
>>>> I should overwrite the definition of RTE_FBARRAY_NAME_LEN as 
>>>> previous patch in this case, and it causes an ABI breakage, right? 
>>>> If so, I would like to make the change and give up to update stable 
>>>> release.
>>>>
>>>> Thanks,
>>>> Yasufumi
>>>>
>>>
>>> It seems we're getting into bikeshedding...
>>>
>>> We can do this without ABI breakage. You could have just used 
>>> RTE_FBARRAY_NAME_LEN as max fbarray name length for 
>>> fbarray_sec_name_len (i.e. that would include hostname + pid + 
>>> whatever else there is). The name, as David has pointed out, would be 
>>> truncated to RTE_FBARRAY_NAME_LEN anyway (or, more precisely, it will 
>>> be refused if it's longer than that), so this is the most you can 
>>> have - so you can just use that as the maximum.
>> I sent v8 patch to change the size of RTE_FBARRAY_NAME_LEN itself to 
>> be allowed the size of secondary's fbarray over 64 bytes. I appreciate 
>> if you agree that.
>>
> 
> Why not just limit the name to RTE_FBARRAY_NAME_LEN instead of changing 
> the definition of RTE_FBARRAY_NAME_LEN?

Could I confirm my understanding? I understand that RTE_FBARRAY_NAME_LEN 
is 64 currently and it is not enough for secondary in a container if 
hostname is added to the name of secondary's fbarray.

Regards,
Yasufumi

> 
> One the other hand, technically, fbarray API is experimental. The only 
> structure that uses rte_fbarray is rte_memseg_list, but API's using 
> either rte_fbarray or rte_memseg_list are either internal (memory/VFIO 
> subsystem), or are marked as experimental (walk functions).
> 
> So i *think* we're actually OK with changing the length of 
> RTE_FBARRAY_NAME_LEN as far as ABI policy goes: nothing in the stable 
> ABI gets affected. David, thoughts?
> 
> (i think it's probably time to make experimental memory/fbarray stuff 
> stable, but that's a different conversation...)
> 
>> Thanks,
>> Yasufumi
>>
> 
> 

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH v8 1/1] fbarray: fix duplicated fbarray file in secondary
  @ 2019-12-06 10:44  4%       ` Burakov, Anatoly
  2019-12-06 13:18  0%         ` Yasufumi Ogawa
  0 siblings, 1 reply; 200+ results
From: Burakov, Anatoly @ 2019-12-06 10:44 UTC (permalink / raw)
  To: Yasufumi Ogawa, konstantin.ananyev, david.marchand, dev
  Cc: yasufumi.ogawa.gy, Yasufumi Ogawa

On 27-Nov-19 8:48 AM, Yasufumi Ogawa wrote:
> From: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
> 
> In secondary_msl_create_walk(), it creates a file for fbarrays with its
> PID for reserving unique name among secondary processes. However, it
> does not work if several secondaries run as app containers because each
> of containerized secondary has PID 1, and failed to reserve unique name
> other than first one. To reserve unique name in each of containers, use
> hostname in addition to PID.
> 
> Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
> ---
>   lib/librte_eal/common/include/rte_fbarray.h |  7 ++++++-
>   lib/librte_eal/linux/eal/eal_memalloc.c     | 11 ++++++++---
>   2 files changed, 14 insertions(+), 4 deletions(-)
> 
> diff --git a/lib/librte_eal/common/include/rte_fbarray.h b/lib/librte_eal/common/include/rte_fbarray.h
> index 6dccdbec9..df003b8dc 100644
> --- a/lib/librte_eal/common/include/rte_fbarray.h
> +++ b/lib/librte_eal/common/include/rte_fbarray.h
> @@ -39,7 +39,12 @@ extern "C" {
>   #include <rte_compat.h>
>   #include <rte_rwlock.h>
>   
> -#define RTE_FBARRAY_NAME_LEN 64
> +/* Filename of fbarray is defined as a combination of several params
> + * such as "fbarray_memseg-1048576k-0-0_PID_HOSTNAME".
> + * The length of string before PID can be 32bytes, and the length of
> + * PID can be 7bytes maximamly. Final 1 byte is for null terminator.
> + */
> +#define RTE_FBARRAY_NAME_LEN (32 + 7 + 1 + HOST_NAME_MAX + 1)
>   

This breaks ABI, but i believe this doesn't break *stable* ABI, so it is OK.

Reviewed-by: Anatoly Burakov <anatoly.burakov@intel.com>

-- 
Thanks,
Anatoly

^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] [PATCH v8 1/1] fbarray: fix duplicated fbarray file in secondary
  2019-12-06 10:44  4%       ` Burakov, Anatoly
@ 2019-12-06 13:18  0%         ` Yasufumi Ogawa
  0 siblings, 0 replies; 200+ results
From: Yasufumi Ogawa @ 2019-12-06 13:18 UTC (permalink / raw)
  To: Burakov, Anatoly, konstantin.ananyev, david.marchand, dev
  Cc: yasufumi.ogawa.gy, Yasufumi Ogawa

On 2019/12/06 19:44, Burakov, Anatoly wrote:
> On 27-Nov-19 8:48 AM, Yasufumi Ogawa wrote:
>> From: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
>>
>> In secondary_msl_create_walk(), it creates a file for fbarrays with its
>> PID for reserving unique name among secondary processes. However, it
>> does not work if several secondaries run as app containers because each
>> of containerized secondary has PID 1, and failed to reserve unique name
>> other than first one. To reserve unique name in each of containers, use
>> hostname in addition to PID.
>>
>> Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
>> ---
>>   lib/librte_eal/common/include/rte_fbarray.h |  7 ++++++-
>>   lib/librte_eal/linux/eal/eal_memalloc.c     | 11 ++++++++---
>>   2 files changed, 14 insertions(+), 4 deletions(-)
>>
>> diff --git a/lib/librte_eal/common/include/rte_fbarray.h 
>> b/lib/librte_eal/common/include/rte_fbarray.h
>> index 6dccdbec9..df003b8dc 100644
>> --- a/lib/librte_eal/common/include/rte_fbarray.h
>> +++ b/lib/librte_eal/common/include/rte_fbarray.h
>> @@ -39,7 +39,12 @@ extern "C" {
>>   #include <rte_compat.h>
>>   #include <rte_rwlock.h>
>> -#define RTE_FBARRAY_NAME_LEN 64
>> +/* Filename of fbarray is defined as a combination of several params
>> + * such as "fbarray_memseg-1048576k-0-0_PID_HOSTNAME".
>> + * The length of string before PID can be 32bytes, and the length of
>> + * PID can be 7bytes maximamly. Final 1 byte is for null terminator.
>> + */
>> +#define RTE_FBARRAY_NAME_LEN (32 + 7 + 1 + HOST_NAME_MAX + 1)
> 
> This breaks ABI, but i believe this doesn't break *stable* ABI, so it is 
> OK.
Thank you so much!

Yasufumi
> 
> Reviewed-by: Anatoly Burakov <anatoly.burakov@intel.com>
> 

^ permalink raw reply	[relevance 0%]

* [dpdk-dev] RFC - adding filter to packet capture API
@ 2019-12-06 22:11  4% Stephen Hemminger
  2019-12-09 10:24  4% ` Ray Kinsella
  2019-12-09 13:41  0% ` Ananyev, Konstantin
  0 siblings, 2 replies; 200+ results
From: Stephen Hemminger @ 2019-12-06 22:11 UTC (permalink / raw)
  To: Ray Kinsella; +Cc: dev

In the process of updating packet capture to take a filter program, there
is one open question about API/ABI.

The example is:

int
rte_pdump_enable(uint16_t port, uint16_t queue, uint32_t flags,
		struct rte_ring *ring,
		struct rte_mempool *mp,
		void *filter);

For the new version want to add ability to pass a BPF (classic) program
from libcap. This is described in most pcap API's as "struct bpf_program".

The filter parameter was left as a placeholder, but in typical YAGNI
fashion. When we do need to use it, it is not going to work out.

Since the existing filter argument was never used, there are a bunch
of options (in order from best to worse).

1. Introduce new API which takes a filter. 

int
rte_pdump_enable_bpf(uint16_t port, uint16_t queue, uint32_t flags,
		struct rte_ring *ring,
		struct rte_mempool *mp,
		const struct bpf_program *filter);

The old API is just the same as calling new API with NULL as filter.
This solution is safe but adds minor bloat.

2. Use API versioning.  This solves the ABI problem but it is still
   an API breakage since program that was passing junk would still
   not compile.

3. Change the function signature of existing API. This risks breaking
   at compile time some program that was passing some other value.
   Similarly, a program could have passed garbage, we never checked.

4. Keep existing function signature, but be type unsafe.
   This keeps API, but still is ABI breakage for programs that passed
   garbage. Plus C is unsafe enough already.






^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] [PATCH 1/3] ethdev: add RSS hash level
  @ 2019-12-07  9:13  4%   ` Andrew Rybchenko
  2019-12-07 19:56  0%     ` Ajit Khaparde
  2019-12-07 22:27  4%   ` Stephen Hemminger
  1 sibling, 1 reply; 200+ results
From: Andrew Rybchenko @ 2019-12-07  9:13 UTC (permalink / raw)
  To: Ajit Khaparde, dev; +Cc: ferruh.yigit, Thomas Monjalon

On 12/7/19 3:59 AM, Ajit Khaparde wrote:
> This patch adds ability to configure RSS hash level in hardware.
> This feature will allow an application to select RSS hash calculation
> on outer or inner headers for tunneled packets.
> 
> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
> ---
>   lib/librte_ethdev/rte_ethdev.h | 27 +++++++++++++++++++++++++++
>   1 file changed, 27 insertions(+)
> 
> diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
> index 18a9defc2..5189bdbab 100644
> --- a/lib/librte_ethdev/rte_ethdev.h
> +++ b/lib/librte_ethdev/rte_ethdev.h
> @@ -444,11 +444,35 @@ struct rte_vlan_filter_conf {
>    * The *rss_hf* field of the *rss_conf* structure indicates the different
>    * types of IPv4/IPv6 packets to which the RSS hashing must be applied.
>    * Supplying an *rss_hf* equal to zero disables the RSS feature.
> + *
> + * The *rss_level* field of the *rss_conf* structure indicates the
> + * Packet encapsulation level RSS hash @p types apply to.
> + *
> + * - @p 0 requests the default behavior. Depending on the packet
> + *   type, it can mean outermost, innermost, anything in between or
> + *   even no RSS.
> + *
> + *   It basically stands for the innermost encapsulation level RSS
> + *   can be performed on according to PMD and device capabilities.
> + *
> + * - @p 1 requests RSS to be performed on the outermost packet
> + *   encapsulation level.
> + *
> + * - @p 2 and subsequent values request RSS to be performed on the
> + *   specified inner packet encapsulation level, from outermost to
> + *   innermost (lower to higher values).
> + *
> + * Support for values other than @p 0 is dependent on the underlying
> + * hardware in use.
> + *
> + * Requesting a specific RSS level on unrecognized traffic results
> + * in undefined behavior.
>    */
>   struct rte_eth_rss_conf {
>   	uint8_t *rss_key;    /**< If not NULL, 40-byte hash key. */
>   	uint8_t rss_key_len; /**< hash key length in bytes. */
>   	uint64_t rss_hf;     /**< Hash functions to apply - see below. */
> +	uint32_t rss_level;  /**< RSS hash level */
>   };

I'm not sure that offload flag is required in this case.
I think maximum supported rss_level in dev_info will provide
more information and per-queue level does not make sense
in this case. Even if per-queue group control is required,
it should be doable via rte_flow API RSS action.

Anyway, it looks like it is ABI breakage with all consequences.
In 64-bit case it is possible to put it before rss_hf to avoid
ABI breakage, but it will break ABI on 32-bit anyway.

>   /*
> @@ -599,6 +623,8 @@ rte_eth_rss_hf_refine(uint64_t rss_hf)
>   	ETH_RSS_GENEVE | \
>   	ETH_RSS_NVGRE)
>   
> +#define ETH_RSS_LEVEL_DEFAULT	0
> +
>   /*
>    * Definitions used for redirection table entry size.
>    * Some RSS RETA sizes may not be supported by some drivers, check the
> @@ -1103,6 +1129,7 @@ struct rte_eth_conf {
>   #define DEV_RX_OFFLOAD_SCTP_CKSUM	0x00020000
>   #define DEV_RX_OFFLOAD_OUTER_UDP_CKSUM  0x00040000
>   #define DEV_RX_OFFLOAD_RSS_HASH		0x00080000
> +#define DEV_RX_OFFLOAD_RSS_LEVEL	0x00100000
>   
>   #define DEV_RX_OFFLOAD_CHECKSUM (DEV_RX_OFFLOAD_IPV4_CKSUM | \
>   				 DEV_RX_OFFLOAD_UDP_CKSUM | \
> 


^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] [PATCH 1/3] ethdev: add RSS hash level
  2019-12-07  9:13  4%   ` Andrew Rybchenko
@ 2019-12-07 19:56  0%     ` Ajit Khaparde
  2019-12-09  7:35  0%       ` Andrew Rybchenko
  0 siblings, 1 reply; 200+ results
From: Ajit Khaparde @ 2019-12-07 19:56 UTC (permalink / raw)
  To: Andrew Rybchenko; +Cc: dpdk-dev, Ferruh Yigit, Thomas Monjalon

On Sat, Dec 7, 2019 at 1:14 AM Andrew Rybchenko <arybchenko@solarflare.com>
wrote:

> On 12/7/19 3:59 AM, Ajit Khaparde wrote:
> > This patch adds ability to configure RSS hash level in hardware.
> > This feature will allow an application to select RSS hash calculation
> > on outer or inner headers for tunneled packets.
> >
> > Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
> > ---
> >   lib/librte_ethdev/rte_ethdev.h | 27 +++++++++++++++++++++++++++
> >   1 file changed, 27 insertions(+)
> >
> > diff --git a/lib/librte_ethdev/rte_ethdev.h
> b/lib/librte_ethdev/rte_ethdev.h
> > index 18a9defc2..5189bdbab 100644
> > --- a/lib/librte_ethdev/rte_ethdev.h
> > +++ b/lib/librte_ethdev/rte_ethdev.h
> > @@ -444,11 +444,35 @@ struct rte_vlan_filter_conf {
> >    * The *rss_hf* field of the *rss_conf* structure indicates the
> different
> >    * types of IPv4/IPv6 packets to which the RSS hashing must be applied.
> >    * Supplying an *rss_hf* equal to zero disables the RSS feature.
> > + *
> > + * The *rss_level* field of the *rss_conf* structure indicates the
> > + * Packet encapsulation level RSS hash @p types apply to.
> > + *
> > + * - @p 0 requests the default behavior. Depending on the packet
> > + *   type, it can mean outermost, innermost, anything in between or
> > + *   even no RSS.
> > + *
> > + *   It basically stands for the innermost encapsulation level RSS
> > + *   can be performed on according to PMD and device capabilities.
> > + *
> > + * - @p 1 requests RSS to be performed on the outermost packet
> > + *   encapsulation level.
> > + *
> > + * - @p 2 and subsequent values request RSS to be performed on the
> > + *   specified inner packet encapsulation level, from outermost to
> > + *   innermost (lower to higher values).
> > + *
> > + * Support for values other than @p 0 is dependent on the underlying
> > + * hardware in use.
> > + *
> > + * Requesting a specific RSS level on unrecognized traffic results
> > + * in undefined behavior.
> >    */
> >   struct rte_eth_rss_conf {
> >       uint8_t *rss_key;    /**< If not NULL, 40-byte hash key. */
> >       uint8_t rss_key_len; /**< hash key length in bytes. */
> >       uint64_t rss_hf;     /**< Hash functions to apply - see below. */
> > +     uint32_t rss_level;  /**< RSS hash level */
> >   };
>
> I'm not sure that offload flag is required in this case.
> I think maximum supported rss_level in dev_info will provide

more information and per-queue level does not make sense
> in this case. Even if per-queue group control is required,
> it should be doable via rte_flow API RSS action.
>
This is dev config and not flow specific configuration. Ofcourse while
passing
the rss_config, not all the queues may be specified, but that is not a new
behavior and it is upto the application anyway.

Are we transitioning the device level configuration to rte_flow/flow
based scheme?


>
> Anyway, it looks like it is ABI breakage with all consequences.
> In 64-bit case it is possible to put it before rss_hf to avoid
> ABI breakage, but it will break ABI on 32-bit anyway.
>
Right.
I sent the proposal for review early to get it cleaned up and ready
when the window opens.


>
> >   /*
> > @@ -599,6 +623,8 @@ rte_eth_rss_hf_refine(uint64_t rss_hf)
> >       ETH_RSS_GENEVE | \
> >       ETH_RSS_NVGRE)
> >
> > +#define ETH_RSS_LEVEL_DEFAULT        0
> > +
> >   /*
> >    * Definitions used for redirection table entry size.
> >    * Some RSS RETA sizes may not be supported by some drivers, check the
> > @@ -1103,6 +1129,7 @@ struct rte_eth_conf {
> >   #define DEV_RX_OFFLOAD_SCTP_CKSUM   0x00020000
> >   #define DEV_RX_OFFLOAD_OUTER_UDP_CKSUM  0x00040000
> >   #define DEV_RX_OFFLOAD_RSS_HASH             0x00080000
> > +#define DEV_RX_OFFLOAD_RSS_LEVEL     0x00100000
> >
> >   #define DEV_RX_OFFLOAD_CHECKSUM (DEV_RX_OFFLOAD_IPV4_CKSUM | \
> >                                DEV_RX_OFFLOAD_UDP_CKSUM | \
> >
>
>

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH 1/3] ethdev: add RSS hash level
    2019-12-07  9:13  4%   ` Andrew Rybchenko
@ 2019-12-07 22:27  4%   ` Stephen Hemminger
  1 sibling, 0 replies; 200+ results
From: Stephen Hemminger @ 2019-12-07 22:27 UTC (permalink / raw)
  To: Ajit Khaparde; +Cc: dev, ferruh.yigit

On Fri,  6 Dec 2019 16:59:17 -0800
Ajit Khaparde <ajit.khaparde@broadcom.com> wrote:

>   */
>  struct rte_eth_rss_conf {
>  	uint8_t *rss_key;    /**< If not NULL, 40-byte hash key. */
>  	uint8_t rss_key_len; /**< hash key length in bytes. */
>  	uint64_t rss_hf;     /**< Hash functions to apply - see below. */
> +	uint32_t rss_level;  /**< RSS hash level */
>  };
>  


This is an API/ABI change which is not allowed per current policy.
API/ABI is frozen since 19.11 until the DPDK 20.11 release

You need to figure out another way to do this.

^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] [PATCH 1/3] ethdev: add RSS hash level
  2019-12-07 19:56  0%     ` Ajit Khaparde
@ 2019-12-09  7:35  0%       ` Andrew Rybchenko
  2019-12-09 14:41  3%         ` Ferruh Yigit
  0 siblings, 1 reply; 200+ results
From: Andrew Rybchenko @ 2019-12-09  7:35 UTC (permalink / raw)
  To: Ajit Khaparde; +Cc: dpdk-dev, Ferruh Yigit, Thomas Monjalon

On 12/7/19 10:56 PM, Ajit Khaparde wrote:
> On Sat, Dec 7, 2019 at 1:14 AM Andrew Rybchenko <arybchenko@solarflare.com>
> wrote:
> 
>> On 12/7/19 3:59 AM, Ajit Khaparde wrote:
>>> This patch adds ability to configure RSS hash level in hardware.
>>> This feature will allow an application to select RSS hash calculation
>>> on outer or inner headers for tunneled packets.
>>>
>>> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
>>> ---
>>>   lib/librte_ethdev/rte_ethdev.h | 27 +++++++++++++++++++++++++++
>>>   1 file changed, 27 insertions(+)
>>>
>>> diff --git a/lib/librte_ethdev/rte_ethdev.h
>> b/lib/librte_ethdev/rte_ethdev.h
>>> index 18a9defc2..5189bdbab 100644
>>> --- a/lib/librte_ethdev/rte_ethdev.h
>>> +++ b/lib/librte_ethdev/rte_ethdev.h
>>> @@ -444,11 +444,35 @@ struct rte_vlan_filter_conf {
>>>    * The *rss_hf* field of the *rss_conf* structure indicates the
>> different
>>>    * types of IPv4/IPv6 packets to which the RSS hashing must be applied.
>>>    * Supplying an *rss_hf* equal to zero disables the RSS feature.
>>> + *
>>> + * The *rss_level* field of the *rss_conf* structure indicates the
>>> + * Packet encapsulation level RSS hash @p types apply to.
>>> + *
>>> + * - @p 0 requests the default behavior. Depending on the packet
>>> + *   type, it can mean outermost, innermost, anything in between or
>>> + *   even no RSS.
>>> + *
>>> + *   It basically stands for the innermost encapsulation level RSS
>>> + *   can be performed on according to PMD and device capabilities.
>>> + *
>>> + * - @p 1 requests RSS to be performed on the outermost packet
>>> + *   encapsulation level.
>>> + *
>>> + * - @p 2 and subsequent values request RSS to be performed on the
>>> + *   specified inner packet encapsulation level, from outermost to
>>> + *   innermost (lower to higher values).
>>> + *
>>> + * Support for values other than @p 0 is dependent on the underlying
>>> + * hardware in use.
>>> + *
>>> + * Requesting a specific RSS level on unrecognized traffic results
>>> + * in undefined behavior.
>>>    */
>>>   struct rte_eth_rss_conf {
>>>       uint8_t *rss_key;    /**< If not NULL, 40-byte hash key. */
>>>       uint8_t rss_key_len; /**< hash key length in bytes. */
>>>       uint64_t rss_hf;     /**< Hash functions to apply - see below. */
>>> +     uint32_t rss_level;  /**< RSS hash level */
>>>   };
>>
>> I'm not sure that offload flag is required in this case.
>> I think maximum supported rss_level in dev_info will provide
> 
> more information and per-queue level does not make sense

I think information about maximum RSS hash level could be
useful. At least it provides clear information about
limitations instead of attempt to configure with RSS level
equal to 3 and getting error without clear understanding why
if the level is not supported.

>> in this case. Even if per-queue group control is required,
>> it should be doable via rte_flow API RSS action.
>>
> This is dev config and not flow specific configuration. Ofcourse while
> passing
> the rss_config, not all the queues may be specified, but that is not a new
> behavior and it is upto the application anyway.

Yes, of course. I was just trying to explain why Rx offload is
not required and it should be just dev_info field with maximum
RSS level supported.

> Are we transitioning the device level configuration to rte_flow/flow
> based scheme?

No-no, see above.

>> Anyway, it looks like it is ABI breakage with all consequences.
>> In 64-bit case it is possible to put it before rss_hf to avoid
>> ABI breakage, but it will break ABI on 32-bit anyway.
>>
> Right.
> I sent the proposal for review early to get it cleaned up and ready
> when the window opens.

OK, good.

>>
>>>   /*
>>> @@ -599,6 +623,8 @@ rte_eth_rss_hf_refine(uint64_t rss_hf)
>>>       ETH_RSS_GENEVE | \
>>>       ETH_RSS_NVGRE)
>>>
>>> +#define ETH_RSS_LEVEL_DEFAULT        0
>>> +
>>>   /*
>>>    * Definitions used for redirection table entry size.
>>>    * Some RSS RETA sizes may not be supported by some drivers, check the
>>> @@ -1103,6 +1129,7 @@ struct rte_eth_conf {
>>>   #define DEV_RX_OFFLOAD_SCTP_CKSUM   0x00020000
>>>   #define DEV_RX_OFFLOAD_OUTER_UDP_CKSUM  0x00040000
>>>   #define DEV_RX_OFFLOAD_RSS_HASH             0x00080000
>>> +#define DEV_RX_OFFLOAD_RSS_LEVEL     0x00100000
>>>
>>>   #define DEV_RX_OFFLOAD_CHECKSUM (DEV_RX_OFFLOAD_IPV4_CKSUM | \
>>>                                DEV_RX_OFFLOAD_UDP_CKSUM | \
>>>
>>
>>


^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH v2 3/3] ethdev: improve flow mark Rx offload deprecation notice
  2019-12-05  8:12  3%           ` Jerin Jacob
@ 2019-12-09  9:17  0%             ` Andrew Rybchenko
  2019-12-16  7:38  3%               ` Jerin Jacob
  0 siblings, 1 reply; 200+ results
From: Andrew Rybchenko @ 2019-12-09  9:17 UTC (permalink / raw)
  To: Jerin Jacob
  Cc: Thomas Monjalon, Ferruh Yigit, Pavan Nikhilesh, Neil Horman,
	John McNamara, Marko Kovacevic, dpdk-dev, Ori Kam,
	David Marchand, Olivier Matz, Ananyev, Konstantin

On 12/5/19 11:12 AM, Jerin Jacob wrote:
> On Mon, Dec 2, 2019 at 5:27 PM Andrew Rybchenko
> <arybchenko@solarflare.com> wrote:
>>
>> On 12/2/19 2:09 PM, Jerin Jacob wrote:
>>> On Mon, Dec 2, 2019 at 6:16 PM Thomas Monjalon <thomas@monjalon.net> wrote:
>>>>
>>>> 02/12/2019 05:21, Jerin Jacob:
>>>>> On Mon, Nov 25, 2019 at 8:39 PM Thomas Monjalon <thomas@monjalon.net> wrote:
>>>>>>
>>>>>> 25/11/2019 11:44, Jerin Jacob:
>>>>>>> On Sun, Nov 24, 2019 at 3:12 AM Thomas Monjalon <thomas@monjalon.net> wrote:
>>>>>>>>
>>>>>>>> 23/11/2019 10:42, Jerin Jacob:
>>>>>>>>> On Sat, Nov 23, 2019 at 3:58 AM Thomas Monjalon <thomas@monjalon.net> wrote:
>>>>>>>>>> 22/11/2019 12:53, Andrew Rybchenko:
>>>>>>>>>>> On 11/22/19 2:15 PM, Thomas Monjalon wrote:
>>>>>>>>>>>> 22/11/2019 11:12, Andrew Rybchenko:
>>>>>>>>>>>>> On 11/22/19 1:01 AM, Thomas Monjalon wrote:
>>>>>>>>>>>>>> 19/11/2019 13:12, Andrew Rybchenko:
>>>>>>>>>>>>>>> The deprecation notice is required since it adds more requirements
>>>>>>>>>>>>>>> when RTE flow mark and flag actions may be used and require
>>>>>>>>>>>>>>> changes in applications.
>>>>>>>>>>>>>> I am still not sure what is the best solution here.
>>>>>>>>>>>>>> I continued to think about it in this thread:
>>>>>>>>>>>>>>   http://mails.dpdk.org/archives/dev/2019-November/151960.html
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I think we cannot require any application change until 20.11
>>>>>>>>>>>>>> in order to keep API (and behaviour) compatibility.
>>>>>>>>>>>>> Expected, but still very disappointing.
>>>>>>>>>>>>>
>>>>>>>>>>>>> The feature is implemented by Pavan (@ Marvell), supported by me,
>>>>>>>>>>>>> used by Qi (@ Intel), looks better than alternatives from application
>>>>>>>>>>>>> developer point of view [1] and finally postponed for 1 year without really
>>>>>>>>>>>>> strong motivation.
>>>>>>>>>>>>
>>>>>>>>>>>> I see different valuable point of views. This is enough motivation.
>>>>>>>>>>>
>>>>>>>>>>> It looks like I miss it in previous discussion, I would be thankful if
>>>>>>>>>>> you give me links to read or hints how to find.
>>>>>>>>>>
>>>>>>>>>> http://mails.dpdk.org/archives/dev/2019-November/150793.html
>>>>>>>>>>
>>>>>>>>>>> Introducing new types of controls would make configuration more and
>>>>>>>>>>> more complex. I think that many different types of control would
>>>>>>>>>>> over-complicate it. May be it is unavoidable, but it should be clear
>>>>>>>>>>> why the problem cannot be solved using existing types of controls
>>>>>>>>>>> (e.g. offloads).
>>>>>>>>>>
>>>>>>>>>> The offload control is used as an effective configuration for now.
>>>>>>>>>> The features which are configured with DEV_RX_OFFLOAD_*
>>>>>>>>>> do not need any other API to be used.
>>>>>>>>>> Extending DEV_RX_OFFLOAD_* bits for enabling features which
>>>>>>>>>> must be configured via other API anyway, is possible.
>>>>>>>>>> The real problem is that features in DEV_RX_OFFLOAD_* are supposed
>>>>>>>>>> to be disabled by default. If we add some opt-in features here,
>>>>>>>>>> we cannot enable them by default for API compatibility and do the
>>>>>>>>>> right thing by default.
>>>>>>>>>>
>>>>>>>>>> Choosing DEV_RX_OFFLOAD_* bits or rte_eth_dev_opt* functions is a detail.
>>>>>>>>>> The real decision is to change the API for using all these features.
>>>>>>>>>> Can we keep all features available by default (opt-out)?
>>>>>>>>>
>>>>>>>>> IMO, *rte_eth_dev_opt* has following problems
>>>>>>>>>
>>>>>>>>> 1) It is not multi-process friendly. If we are changing the Rx/Tx
>>>>>>>>> function pointer, based on
>>>>>>>>> the selected offload, then, using *rte_eth_dev_opt* scheme won't
>>>>>>>>> really work(if the new API
>>>>>>>>> called after the secondary process launch)
>>>>>>>>
>>>>>>>> Yes it must be used before launching the secondary process.
>>>>>>>> It is the same as DEV_RX_OFFLOAD_* config.
>>>>>>>
>>>>>>> Yes. rte_eth_dev_opt_* has another dimension to enable and disable as API.
>>>>>>> So, we need to document, opt-in -> start() -> opt-out case won't work
>>>>>>> in multi process
>>>>>>> case.
>>>>>>>
>>>>>>>>
>>>>>>>>> 2) If we are taking rte_eth_dev_opt path then by default feature has
>>>>>>>>> to be enabled to
>>>>>>>>> not break the functional ABI. That scheme won't scale if as when we
>>>>>>>>> keep adding the new features.
>>>>>>>>> It is always easy for the application to define "what it wants" vs
>>>>>>>>> "what it does not want"
>>>>>>>>
>>>>>>>> Yes, opt-in may look more natural than opt-out.
>>>>>>>> But opt-in makes the default more complex, and changes the API.
>>>>>>>>
>>>>>>>>> 3) Defining the device state after the reconfigure operation.
>>>>>>>>>
>>>>>>>>> IMO, if any operation is connected to fastpath it is better to use
>>>>>>>>> DEV_RX_OFFLOAD_ like
>>>>>>>>> this feature where enable or disable PMDs from updating
>>>>>>>>> ``rte_mbuf::hash::fdir`` so that if possible
>>>>>>>>> we can use different Rx function pointer if possible(Hence it can work
>>>>>>>>> with the multi-process case case)
>>>>>>>>
>>>>>>>> I reply to 2 and 3 together.
>>>>>>>>
>>>>>>>> We decided that offloads must be disabled by default.
>>>>>>>> This is what we have in 19.11:
>>>>>>>>         - Some offloads are enabled before start with DEV_?X_OFFLOAD_*
>>>>>>>>         - Some offloads are enabled with functions at any time
>>>>>>>>
>>>>>>>> For the second type of offloads, you want to know, before start,
>>>>>>>> whether it will be used or not.
>>>>>>>> If adding the second type of offloads (like rte_flow ones)
>>>>>>>> to DEV_?X_OFFLOAD_*, it means it must be enabled 2 times:
>>>>>>>>         - before start with offload bits
>>>>>>>>         - later with more precise functions
>>>>>>>>
>>>>>>>> I would like to avoid changing the default behaviour,
>>>>>>>> which is to enable an offload only one time.
>>>>>>>> That's why I think this second category of offloads should
>>>>>>>> offer opt-out (global disabling), so it will continue
>>>>>>>> to work by default if they are configured.
>>>>>>>>
>>>>>>>> I hope you understand the difference between the two categories.
>>>>>>>
>>>>>>> I understand the difference. The only point of "difference in opinion" is
>>>>>>> the default behavior of the feature/offload. If it is in RX_OFFLOAD scheme then
>>>>>>> by default it is disabled. opt_* scheme makes this new feature/offload
>>>>>>> enabled default to avoid changing the default behavior.
>>>>>>
>>>>>> OK, this is where we disagree.
>>>>>> I am for keeping what we agreed this year: all offloads are disabled by default.
>>>>>> But I am against the need for double enablement.
>>>>>> The offloads which are enabled with a specific function should not need
>>>>>> to be also enabled (opt-in) before start.
>>>>>
>>>>> OK.
>>>>>
>>>>>>
>>>>>>> It is good to avoid functional ABI change. But bad as,
>>>>>>> 1) New API starts bloating the ethdev API.
>>>>>>
>>>>>> In general, I want to clean-up the ethdev API during next year.
>>>>>>
>>>>>>> 2) It is diffcult for application guys to figure out what are features need to
>>>>>>> be disabled to performance as he/she does not know, for the given release,
>>>>>>> the enabled features.
>>>>>>
>>>>>> Yes this is a good point.
>>>>>>
>>>>>>> Item (1) is a trade-off between elegance vs ABI compatibility. No
>>>>>>> strong opinion on this.
>>>>>>>
>>>>>>> To fix the item (2), Can we get have an API in ethdev to get enabled
>>>>>>> features so that
>>>>>>> the application can probe and disable if required?
>>>>>>
>>>>>> We can think about something like that.
>>>>>> Note that there is also a need to better advertise all capabilities.
>>>>>>
>>>>>>> For example, rte_eth_dev_set_ptypes() comes in same category, By default,
>>>>>>> ptype parsing is enabled. I think, we can have a general interface to
>>>>>>> "probe" the by default enabled features
>>>>>>> and disable it if required. Not scattered API for each feature.
>>>>>>
>>>>>> This is an issue. The packet type parsing should be disabled by default.
>>>>>
>>>>> IMO, It makes sense to disable by default.
>>>>>
>>>>> Isn't conflicting? One thread, we are saying for in order to make,
>>>>> existing application work without breaking ABI, Default should be
>>>>> enabled.
>>>>>
>>>>> Thoughts?
>>>>
>>>> Every offloads should be disabled by default.
>>>> This is a good reason to break the behaviour in 20.11.
>>>
>>> Ack.
>>
>> Yes, I agree as well, but in general we already have an
>> exception MBUF_FAST_FREE which is just a nice wrap for
>> enabled by default support for mbufs from different
>> mempools and support for mbuf reference counters.
>> I don't suggest to change it. Just want to highlight
>> that we already have exceptions (nicely wrapped).
>> That's why I would not touch packet type parsing
>> "offload". Packet type parsing is not just on/off and
>> adding on/off in addition to existing API looks overkill.
>> Yes, it is one more exception, but nicely wrapped as well.
> 
> I am all for making offloads disabled by default.
> 
>>
>>>>> And what would be DEFAULT behavior for the mbuf MARK updation feature?
>>>>> (That's where this thread started).
>>>>
>>>> As all other features, mark is disabled by default.
>>>> Using a rte_flow rule, it can be enabled.
>>>> No need to pre-enable it.
>>>
>>> Ok.
>>
>> But it returns us to the point where we started [1]:
>>
>> The problem:
>> ~~~~~~~~~~~~
>> PMD wants to know before port start if application wants to
>> to use flow MARK/FLAG in the future. It is required because:
>>
>> 1. HW may be configured in a different way to reserve resources
>>    for MARK/FLAG delivery.
>>
>> 2. Datapath implementation choice may depend on it (e.g. vPMD
>>    is faster, but does not support MARK).
>>
>> opt-in/opt-out solution has drawbacks mentioned above.
>> Also I'm not sure if opt-in/opt-out is per-queue or per-port.
>> (Offloads may be naturally per-queue and it is a big advantage).
>>
>> IMHO feature which should be opt-out is almost equivalent to
>> offload enabled by default. It has the same negative properties
>> as enabled by default offloads.
>>
>> Am I missing something again?
>>
>> From my point of view I see no problem in necessity to say
>> in advance (before device start) that application would like
>> to use some features at run time.
> 
> I agree with your problem definition and solution as offload.
> 
> I think, our constraint is, we can not change functional ABI behavior
> for the next year. i.e The existing application should work for the
> next year without
> changing the code.
> 
> I think, it all boiling down to adhere to that constraint or not for
> this specific case.

May be the escape is to avoid consistency checks in generic
code (not sure that such checks are doable/required in this
case, but anyway) and make the behaviour change vendor/driver-
specific. I understand that it is far from ideal solution.

May be offload should be combined with opt-out as a way to
disable. I.e. offload is positive (not negative), but enabled
by default (i.e. automatically added to offloads as we do
for RSS_HASH) with an experimental opt-out to disable it.

As the result:
1. There is no changes in behaviour from application point of
   view.
2. Application which care about performance and ready to use
   experimental opt-out to optimize performance can do it.
   (i.e. use opt-out to avoid the offload enabled by default).
3. Later when window to normalize behaviour opens, opt-out
   becomes NOP (i.e. it still could be preserved for some
   time to simplify transition).
4. The offload is enabled by default during transition
   period only since it represents a feature which had
   no offload flag before and was always enabled before.
5. As an offload the feature may be controlled per-device
   and per-queue natively.

It still does not sort out "necessity to enable twice"
concern which for specified above "the problem", IMO,
contradicts to "disabled by default offloads" (I read
it as "the best performance" by default).

> Once that is decided, we can wrap it in offload flags vs opt scheme
> (by default enabled scheme).

Yes. May be I don't understand all the details of the opt
scheme right now, but I don't like what I can imagine as
described above.

>>
>> Yes, all features which may be controlled at run-time are
>> headache for optimizations (VLAN offloads).
>>
>> [1]
>> http://inbox.dpdk.org/dev/f170105b-9c60-1b04-cb18-52e0951ddcdb@solarflare.com/


^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] RFC - adding filter to packet capture API
  2019-12-06 22:11  4% [dpdk-dev] RFC - adding filter to packet capture API Stephen Hemminger
@ 2019-12-09 10:24  4% ` Ray Kinsella
  2019-12-09 13:41  0% ` Ananyev, Konstantin
  1 sibling, 0 replies; 200+ results
From: Ray Kinsella @ 2019-12-09 10:24 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dev



On 06/12/2019 22:11, Stephen Hemminger wrote:
> In the process of updating packet capture to take a filter program, there
> is one open question about API/ABI.
> 
> The example is:
> 
> int
> rte_pdump_enable(uint16_t port, uint16_t queue, uint32_t flags,
> 		struct rte_ring *ring,
> 		struct rte_mempool *mp,
> 		void *filter);
> 
> For the new version want to add ability to pass a BPF (classic) program
> from libcap. This is described in most pcap API's as "struct bpf_program".
> 
> The filter parameter was left as a placeholder, but in typical YAGNI
> fashion. When we do need to use it, it is not going to work out.
> 
> Since the existing filter argument was never used, there are a bunch
> of options (in order from best to worse).
> 
> 1. Introduce new API which takes a filter. 
> 
> int
> rte_pdump_enable_bpf(uint16_t port, uint16_t queue, uint32_t flags,
> 		struct rte_ring *ring,
> 		struct rte_mempool *mp,
> 		const struct bpf_program *filter);
> 
> The old API is just the same as calling new API with NULL as filter.
> This solution is safe but adds minor bloat.
> 
> 2. Use API versioning.  This solves the ABI problem but it is still
>    an API breakage since program that was passing junk would still
>    not compile.

I honestly think this is the best option.
Our commitment with ABI Stability is only not to break applications linked against 19.11.

If someone is rebuilding against v20.02 and is passing something into the void *.
It is probably no-harm the compiler is giving them an FYI that things have changed.

> 
> 3. Change the function signature of existing API. This risks breaking
>    at compile time some program that was passing some other value.
>    Similarly, a program could have passed garbage, we never checked.
> 
> 4. Keep existing function signature, but be type unsafe.
>    This keeps API, but still is ABI breakage for programs that passed
>    garbage. Plus C is unsafe enough already.

True, but implementing ABI versioning is really trivial in this case, and avoids this.

^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] RFC - adding filter to packet capture API
  2019-12-06 22:11  4% [dpdk-dev] RFC - adding filter to packet capture API Stephen Hemminger
  2019-12-09 10:24  4% ` Ray Kinsella
@ 2019-12-09 13:41  0% ` Ananyev, Konstantin
  2019-12-09 16:49  0%   ` Stephen Hemminger
  2019-12-11 20:13  0%   ` Morten Brørup
  1 sibling, 2 replies; 200+ results
From: Ananyev, Konstantin @ 2019-12-09 13:41 UTC (permalink / raw)
  To: Stephen Hemminger, Ray Kinsella; +Cc: dev


> In the process of updating packet capture to take a filter program, there
> is one open question about API/ABI.
> 
> The example is:
> 
> int
> rte_pdump_enable(uint16_t port, uint16_t queue, uint32_t flags,
> 		struct rte_ring *ring,
> 		struct rte_mempool *mp,
> 		void *filter);
> 
> For the new version want to add ability to pass a BPF (classic) program
> from libcap. This is described in most pcap API's as "struct bpf_program".
> 
> The filter parameter was left as a placeholder, but in typical YAGNI
> fashion. When we do need to use it, it is not going to work out.
> 
> Since the existing filter argument was never used, there are a bunch
> of options (in order from best to worse).
> 
> 1. Introduce new API which takes a filter.
> 
> int
> rte_pdump_enable_bpf(uint16_t port, uint16_t queue, uint32_t flags,
> 		struct rte_ring *ring,
> 		struct rte_mempool *mp,
> 		const struct bpf_program *filter);
> 
> The old API is just the same as calling new API with NULL as filter.
> This solution is safe but adds minor bloat.
> 
> 2. Use API versioning.  This solves the ABI problem but it is still
>    an API breakage since program that was passing junk would still
>    not compile.
> 
> 3. Change the function signature of existing API. This risks breaking
>    at compile time some program that was passing some other value.
>    Similarly, a program could have passed garbage, we never checked.
> 
> 4. Keep existing function signature, but be type unsafe.
>    This keeps API, but still is ABI breakage for programs that passed
>    garbage. Plus C is unsafe enough already.
> 

My preference is probably #4, with some extra changes:
make actual type for 'filter' be determined by flags,
something like:

enum {
        RTE_PDUMP_FLAG_RX = 1,  /* receive direction */
        RTE_PDUMP_FLAG_TX = 2,  /* transmit direction */
+      RTE_PDUMP_FLAG_CBPF = 4, /* filter points to struct bpf_program */
        /* both receive and transmit directions */
        RTE_PDUMP_FLAG_RXTX = (RTE_PDUMP_FLAG_RX|RTE_PDUMP_FLAG_TX)
};




^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH 1/3] ethdev: add RSS hash level
  2019-12-09  7:35  0%       ` Andrew Rybchenko
@ 2019-12-09 14:41  3%         ` Ferruh Yigit
  0 siblings, 0 replies; 200+ results
From: Ferruh Yigit @ 2019-12-09 14:41 UTC (permalink / raw)
  To: Andrew Rybchenko, Ajit Khaparde
  Cc: dpdk-dev, Thomas Monjalon, Konstantin Ananyev

On 12/9/2019 7:35 AM, Andrew Rybchenko wrote:
> On 12/7/19 10:56 PM, Ajit Khaparde wrote:
>> On Sat, Dec 7, 2019 at 1:14 AM Andrew Rybchenko <arybchenko@solarflare.com>
>> wrote:
>>
>>> On 12/7/19 3:59 AM, Ajit Khaparde wrote:
>>>> This patch adds ability to configure RSS hash level in hardware.
>>>> This feature will allow an application to select RSS hash calculation
>>>> on outer or inner headers for tunneled packets.
>>>>
>>>> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
>>>> ---
>>>>   lib/librte_ethdev/rte_ethdev.h | 27 +++++++++++++++++++++++++++
>>>>   1 file changed, 27 insertions(+)
>>>>
>>>> diff --git a/lib/librte_ethdev/rte_ethdev.h
>>> b/lib/librte_ethdev/rte_ethdev.h
>>>> index 18a9defc2..5189bdbab 100644
>>>> --- a/lib/librte_ethdev/rte_ethdev.h
>>>> +++ b/lib/librte_ethdev/rte_ethdev.h
>>>> @@ -444,11 +444,35 @@ struct rte_vlan_filter_conf {
>>>>    * The *rss_hf* field of the *rss_conf* structure indicates the
>>> different
>>>>    * types of IPv4/IPv6 packets to which the RSS hashing must be applied.
>>>>    * Supplying an *rss_hf* equal to zero disables the RSS feature.
>>>> + *
>>>> + * The *rss_level* field of the *rss_conf* structure indicates the
>>>> + * Packet encapsulation level RSS hash @p types apply to.
>>>> + *
>>>> + * - @p 0 requests the default behavior. Depending on the packet
>>>> + *   type, it can mean outermost, innermost, anything in between or
>>>> + *   even no RSS.
>>>> + *
>>>> + *   It basically stands for the innermost encapsulation level RSS
>>>> + *   can be performed on according to PMD and device capabilities.
>>>> + *
>>>> + * - @p 1 requests RSS to be performed on the outermost packet
>>>> + *   encapsulation level.
>>>> + *
>>>> + * - @p 2 and subsequent values request RSS to be performed on the
>>>> + *   specified inner packet encapsulation level, from outermost to
>>>> + *   innermost (lower to higher values).
>>>> + *
>>>> + * Support for values other than @p 0 is dependent on the underlying
>>>> + * hardware in use.
>>>> + *
>>>> + * Requesting a specific RSS level on unrecognized traffic results
>>>> + * in undefined behavior.
>>>>    */
>>>>   struct rte_eth_rss_conf {
>>>>       uint8_t *rss_key;    /**< If not NULL, 40-byte hash key. */
>>>>       uint8_t rss_key_len; /**< hash key length in bytes. */
>>>>       uint64_t rss_hf;     /**< Hash functions to apply - see below. */
>>>> +     uint32_t rss_level;  /**< RSS hash level */
>>>>   };
>>>
>>> I'm not sure that offload flag is required in this case.
>>> I think maximum supported rss_level in dev_info will provide
>>
>> more information and per-queue level does not make sense
> 
> I think information about maximum RSS hash level could be
> useful. At least it provides clear information about
> limitations instead of attempt to configure with RSS level
> equal to 3 and getting error without clear understanding why
> if the level is not supported.

+1 to not have 'DEV_RX_OFFLOAD_RSS_LEVEL' offload flag.

The existing 'DEV_RX_OFFLOAD_RSS_HASH' offload flag is just to enabling copying
calculated hash value to mbuf field, RSS configuration still done via the
configure API and related config structs.
Since there is single field in mbuf for rss hash, no need additional offload flags.

But I think we can have new field in rss config, and Andrew's suggestion to have
it in dev_info looks reasonable.

As Konstantin's point, do we really have multiple level, or just inner/outer?
If it is just inner/outer perhaps we can simplify the config/logic to enums
instead of 32bit rss levels?


> 
>>> in this case. Even if per-queue group control is required,
>>> it should be doable via rte_flow API RSS action.
>>>
>> This is dev config and not flow specific configuration. Ofcourse while
>> passing
>> the rss_config, not all the queues may be specified, but that is not a new
>> behavior and it is upto the application anyway.
> 
> Yes, of course. I was just trying to explain why Rx offload is
> not required and it should be just dev_info field with maximum
> RSS level supported.
> 
>> Are we transitioning the device level configuration to rte_flow/flow
>> based scheme?
> 
> No-no, see above.
> 
>>> Anyway, it looks like it is ABI breakage with all consequences.
>>> In 64-bit case it is possible to put it before rss_hf to avoid
>>> ABI breakage, but it will break ABI on 32-bit anyway.
>>>
>> Right.
>> I sent the proposal for review early to get it cleaned up and ready
>> when the window opens.
> 
> OK, good.

Just to reminder that unless something changes that window is 20.11, so there is
quite a lot of time for it.

We can clarify with Thomas, but as far as I understand we still need to update
(and ack) the deprecation notices for possible ABI breakages for next breakage
window.

> 
>>>
>>>>   /*
>>>> @@ -599,6 +623,8 @@ rte_eth_rss_hf_refine(uint64_t rss_hf)
>>>>       ETH_RSS_GENEVE | \
>>>>       ETH_RSS_NVGRE)
>>>>
>>>> +#define ETH_RSS_LEVEL_DEFAULT        0
>>>> +
>>>>   /*
>>>>    * Definitions used for redirection table entry size.
>>>>    * Some RSS RETA sizes may not be supported by some drivers, check the
>>>> @@ -1103,6 +1129,7 @@ struct rte_eth_conf {
>>>>   #define DEV_RX_OFFLOAD_SCTP_CKSUM   0x00020000
>>>>   #define DEV_RX_OFFLOAD_OUTER_UDP_CKSUM  0x00040000
>>>>   #define DEV_RX_OFFLOAD_RSS_HASH             0x00080000
>>>> +#define DEV_RX_OFFLOAD_RSS_LEVEL     0x00100000
>>>>
>>>>   #define DEV_RX_OFFLOAD_CHECKSUM (DEV_RX_OFFLOAD_IPV4_CKSUM | \
>>>>                                DEV_RX_OFFLOAD_UDP_CKSUM | \
>>>>
>>>
>>>
> 


^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] RFC - adding filter to packet capture API
  2019-12-09 13:41  0% ` Ananyev, Konstantin
@ 2019-12-09 16:49  0%   ` Stephen Hemminger
  2019-12-11 20:13  0%   ` Morten Brørup
  1 sibling, 0 replies; 200+ results
From: Stephen Hemminger @ 2019-12-09 16:49 UTC (permalink / raw)
  To: Ananyev, Konstantin; +Cc: Ray Kinsella, dev

On Mon, 9 Dec 2019 13:41:30 +0000
"Ananyev, Konstantin" <konstantin.ananyev@intel.com> wrote:

> > 
> > 4. Keep existing function signature, but be type unsafe.
> >    This keeps API, but still is ABI breakage for programs that passed
> >    garbage. Plus C is unsafe enough already.
> >   
> 
> My preference is probably #4, with some extra changes:
> make actual type for 'filter' be determined by flags,
> something like:
> 
> enum {
>         RTE_PDUMP_FLAG_RX = 1,  /* receive direction */
>         RTE_PDUMP_FLAG_TX = 2,  /* transmit direction */
> +      RTE_PDUMP_FLAG_CBPF = 4, /* filter points to struct bpf_program */
>         /* both receive and transmit directions */
>         RTE_PDUMP_FLAG_RXTX = (RTE_PDUMP_FLAG_RX|RTE_PDUMP_FLAG_TX)
> };

Interesting but that is more awkward usage.

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH] ethdev: add L2TPv3 header to flow API
  @ 2019-12-10 10:16  3% ` Ori Kam
  2019-12-10 14:52  0%   ` Sexton, Rory
  0 siblings, 1 reply; 200+ results
From: Ori Kam @ 2019-12-10 10:16 UTC (permalink / raw)
  To: Rory Sexton, dev; +Cc: qi.z.zhang, beilei.xing, Adrien Mazarguil, Dariusz Jagus

Hi Rory,

One general question why do we want to support only v3 and not also v2?

PSB for some other comments.

Best,
Ori Kam

> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Rory Sexton
> Sent: Wednesday, December 4, 2019 4:11 PM
> To: dev@dpdk.org
> Cc: qi.z.zhang@intel.com; beilei.xing@intel.com; rory.sexton@intel.com;
> Adrien Mazarguil <adrien.mazarguil@6wind.com>; Dariusz Jagus
> <dariuszx.jagus@intel.com>
> Subject: [dpdk-dev] [PATCH] ethdev: add L2TPv3 header to flow API
> 
> - RTE_FLOW_ITEM_TYPE_L2TPV3: matches a L2TPv3 header
> 
> Signed-off-by: Rory Sexton <rory.sexton@intel.com>
> Signed-off-by: Dariusz Jagus <dariuszx.jagus@intel.com>
> ---
>  app/test-pmd/cmdline_flow.c                 | 28 +++++++++++++++++++++
>  doc/guides/prog_guide/rte_flow.rst          |  8 ++++++
>  doc/guides/testpmd_app_ug/testpmd_funcs.rst |  4 +++
>  lib/librte_ethdev/rte_flow.c                |  1 +
>  lib/librte_ethdev/rte_flow.h                | 27 ++++++++++++++++++++
>  5 files changed, 68 insertions(+)
> 
> diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c
> index 99dade7d8..a7fe7a7a8 100644
> --- a/app/test-pmd/cmdline_flow.c
> +++ b/app/test-pmd/cmdline_flow.c
> @@ -213,6 +213,8 @@ enum index {
>  	ITEM_TAG,
>  	ITEM_TAG_DATA,
>  	ITEM_TAG_INDEX,
> +	ITEM_L2TPV3,
> +	ITEM_L2TPV3_SESSION_ID,
> 
>  	/* Validate/create actions. */
>  	ACTIONS,
> @@ -746,6 +748,7 @@ static const enum index next_item[] = {
>  	ITEM_PPPOE_PROTO_ID,
>  	ITEM_HIGIG2,
>  	ITEM_TAG,
> +	ITEM_L2TPV3,
>  	END_SET,
>  	ZERO,
>  };
> @@ -1030,6 +1033,12 @@ static const enum index item_tag[] = {
>  	ZERO,
>  };
> 
> +static const enum index item_l2tpv3[] = {
> +	ITEM_L2TPV3_SESSION_ID,
> +	ITEM_NEXT,
> +	ZERO,
> +};
> +
>  static const enum index next_action[] = {
>  	ACTION_END,
>  	ACTION_VOID,
> @@ -2593,6 +2602,21 @@ static const struct token token_list[] = {
>  			     NEXT_ENTRY(ITEM_PARAM_IS)),
>  		.args = ARGS(ARGS_ENTRY(struct rte_flow_item_tag,
> index)),
>  	},
> +	[ITEM_L2TPV3] = {
> +		.name = "l2tpv3",
> +		.help = "match L2TPv3 header",
> +		.priv = PRIV_ITEM(L2TPV3, sizeof(struct
> rte_flow_item_l2tpv3)),
> +		.next = NEXT(item_l2tpv3),
> +		.call = parse_vc,
> +	},
> +	[ITEM_L2TPV3_SESSION_ID] = {
> +		.name = "session_id",
> +		.help = "session identifier",
> +		.next = NEXT(item_l2tpv3, NEXT_ENTRY(UNSIGNED),
> item_param),
> +		.args = ARGS(ARGS_ENTRY_HTON(struct
> rte_flow_item_l2tpv3,
> +					     session_id)),
> +	},
> +
>  	/* Validate/create actions. */
>  	[ACTIONS] = {
>  		.name = "actions",
> @@ -6238,6 +6262,10 @@ flow_item_default_mask(const struct
> rte_flow_item *item)
>  		break;
>  	case RTE_FLOW_ITEM_TYPE_PPPOE_PROTO_ID:
>  		mask = &rte_flow_item_pppoe_proto_id_mask;
> +		break;
> +	case RTE_FLOW_ITEM_TYPE_L2TPV3:
> +		mask = &rte_flow_item_l2tpv3_mask;
> +		break;
>  	default:
>  		break;
>  	}
> diff --git a/doc/guides/prog_guide/rte_flow.rst
> b/doc/guides/prog_guide/rte_flow.rst
> index a254c81ef..c7ddb38c5 100644
> --- a/doc/guides/prog_guide/rte_flow.rst
> +++ b/doc/guides/prog_guide/rte_flow.rst
> @@ -1336,6 +1336,14 @@ Broadcom switches.
> 
>  - Default ``mask`` matches classification and vlan.
> 
> +Item: ``L2TPV3``
> +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> +
> +Matches a L2TPv3 header.
> +
> +- ``session_id``: L2TPv3 session identifier.
> +- Default ``mask`` matches session_id only.
> +
> 
>  Actions
>  ~~~~~~~
> diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst
> b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
> index 73ef0b41d..a48e77619 100644
> --- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst
> +++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
> @@ -3954,6 +3954,10 @@ This section lists supported pattern items and their
> attributes, if any.
> 
>    - ``proto_id {unsigned}``: PPP protocol identifier.
> 
> +- ``l2tpv3``: match L2TPv3 header.
> +
> +  - ``session_id {unsigned}``: L2TPv3 session identifier.
> +
>  Actions list
>  ^^^^^^^^^^^^
> 
> diff --git a/lib/librte_ethdev/rte_flow.c b/lib/librte_ethdev/rte_flow.c
> index 87a3e8c4c..fcda73320 100644
> --- a/lib/librte_ethdev/rte_flow.c
> +++ b/lib/librte_ethdev/rte_flow.c
> @@ -93,6 +93,7 @@ static const struct rte_flow_desc_data
> rte_flow_desc_item[] = {
>  	MK_FLOW_ITEM(IGMP, sizeof(struct rte_flow_item_igmp)),
>  	MK_FLOW_ITEM(AH, sizeof(struct rte_flow_item_ah)),
>  	MK_FLOW_ITEM(HIGIG2, sizeof(struct rte_flow_item_higig2_hdr)),
> +	MK_FLOW_ITEM(L2TPV3, sizeof(struct rte_flow_item_l2tpv3)),
>  };
> 
>  /** Generate flow_action[] entry. */
> diff --git a/lib/librte_ethdev/rte_flow.h b/lib/librte_ethdev/rte_flow.h
> index 452d359a1..5ee055c28 100644
> --- a/lib/librte_ethdev/rte_flow.h
> +++ b/lib/librte_ethdev/rte_flow.h
> @@ -510,6 +510,16 @@ enum rte_flow_item_type {
>  	 * See struct rte_flow_item_tag.
>  	 */
>  	RTE_FLOW_ITEM_TYPE_TAG,
> +
> +	/*

Missing *. It should be /**

> +	 * Matches a L2TPv3 header.
> +	 *
> +	 * Configure flow for L2TPv3 packets.
> +	 *
> +	 * See struct rte_flow_item_l2tpv3.
> +	 */
> +	RTE_FLOW_ITEM_TYPE_L2TPV3,
> +
>  };
> 
>  /**
> @@ -1373,6 +1383,23 @@ static const struct rte_flow_item_tag
> rte_flow_item_tag_mask = {
>  };
>  #endif
> 
> +/**
> + * RTE_FLOW_ITEM_TYPE_L2TPV3.
> + *
> + * Matches a L2TPv3 header.
> + */
> +struct rte_flow_item_l2tpv3 {
> +	rte_be32_t session_id; /**< Session ID. */
> +};

Does it make sense that in future we will want to match on the 
T / L / ver / Ns / Nr?

Please also consider that any change will be ABI / API breakage, which will be allowed
only next year.

> +
> +/** Default mask for RTE_FLOW_ITEM_TYPE_L2TPV3. */
> +#ifndef __cplusplus
> +static const struct rte_flow_item_l2tpv3 rte_flow_item_l2tpv3_mask = {
> +	.session_id = RTE_BE32(UINT32_MAX),
> +};
> +#endif
> +
> +
>  /**
>   * @warning
>   * @b EXPERIMENTAL: this structure may change without prior notice
> --
> 2.17.1
> 
> --------------------------------------------------------------
> Intel Research and Development Ireland Limited
> Registered in Ireland
> Registered Office: Collinstown Industrial Park, Leixlip, County Kildare
> Registered Number: 308263
> 
> 
> This e-mail and any attachments may contain confidential material for the
> sole
> use of the intended recipient(s). Any review or distribution by others is
> strictly prohibited. If you are not the intended recipient, please contact the
> sender and delete all copies.


^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] [PATCH v3 0/7] Add ABI compatibility checks to the meson build
  2019-12-03 15:27  8%     ` Laatz, Kevin
  2019-12-04  8:47  4%       ` David Marchand
@ 2019-12-10 11:07  4%       ` David Marchand
  2019-12-10 11:36  4%         ` Laatz, Kevin
  1 sibling, 1 reply; 200+ results
From: David Marchand @ 2019-12-10 11:07 UTC (permalink / raw)
  To: Laatz, Kevin; +Cc: dev, Thomas Monjalon, Bruce Richardson, Kinsella, Ray

On Tue, Dec 3, 2019 at 4:27 PM Laatz, Kevin <kevin.laatz@intel.com> wrote:
>
> On 03/12/2019 11:03, David Marchand wrote:
> > On Fri, Nov 29, 2019 at 10:09 PM Kevin Laatz <kevin.laatz@intel.com> wrote:
> >> With the recent changes made to stabilize ABI versioning in DPDK, it will
> >> become increasingly important to check patches for ABI compatibility. We
> >> propose adding the ABI compatibility checking to be done as part of the
> >> build.
> >>
> >> The advantages to adding the ABI compatibility checking to the build are
> >> two-fold. Firstly, developers can easily check their patches to make sure
> >> they don’t break the ABI without adding any extra steps. Secondly, it
> >> makes the integration into existing CI seamless since there are no extra
> >> scripts to make the CI run. The build will run as usual and if an
> >> incompatibility is detected in the ABI, the build will fail and show the
> >> incompatibility. As an added bonus, enabling the ABI compatibility checks
> >> does not impact the build speed.
> >>
> >> The proposed solution works as follows:
> >> 1. Generate the ABI dump of the baseline. This can be done with the new
> >>     script added in this RFC. This step will only need to be done when the
> >>     ABI version changes (so once a year) and can be added to master so it
> >>     exists by default. This step can be skipped if the dump files for the
> >>     baseline already exist.
> >> 2. Build with meson. If there is an ABI incompatibility, the build will
> >>     fail and print the incompatibility information.
> >>
> >> The patches accompanying this RFC add the ABI dump file generating script,
> >> the meson option required to enable/disable the checks, and the required
> >> meson changes to run the compatibility checks during the build.
> > Global comments:
> > - why are patch 1 and 2 in this series, is this really needed?
> Not if we make this an 'auto' option. It would have needed debug info to
> do the ABI check.
> > - please squash patches 3, 4, 5 and 6, reading them separately is a
> > pain and they are quite small,
> Will do
> > - if Windows does not support the ABI check, enforce this earlier in
> > meson and refuse enabling it rather than silently ignoring it,
> Makes sense, will look into this.
> > - I would not enable this check by default
> >    - this is a developer option, people just building the dpdk don't
> > care about it,
> >    - can we have something like a tristate "auto" (default, triggers
> > the check if abidiff is installed), "disabled" and "enabled" (not
> > having abidiff installed triggers an error) ?
> Seems reasonable, will change.
> > - please update the travis packages so that we can run those checks
> > for developers submitting patches
> Will do.
> > - I don't think you tested this series with
> > devtools/test-meson-builds.sh, please do. It fails with a custom build
> > directory and in the dpdk tree too:
> >
> > Build targets in project: 1019
> > WARNING: Project specifies a minimum meson_version '>= 0.47.1' but
> > uses features which were added in newer versions:
> >   * 0.48.0: {'console arg in custom_target'}
> >   * 0.50.0: {'install arg in configure_file'}
> > Found ninja-1.9.0 at /usr/bin/ninja
> > ninja -C /home/dmarchan/builds/build-gcc-static
> > ninja: Entering directory `/home/dmarchan/builds/build-gcc-static'
> > [48/2291] Generating librte_kvargs.abi_chk with a meson_exe.py custom command.
> > FAILED: lib/librte_kvargs.abi_chk
> > /usr/bin/meson --internal exe
> > /home/dmarchan/builds/build-gcc-static/meson-private/meson_exe_abidiff_6511538ddd95d9672028017110fa45c67f01f7be.dat
> > file /home/dmarchan/dpdk/lib/abi/librte_kvargs.dump does not exist
> > [77/2291] Compiling C object
> > 'lib/76b5a35@@rte_mbuf@sta/librte_mbuf_rte_mbuf.c.o'.
> > ninja: build stopped: subcommand failed.
>
> This is failing as the .dump files have not been created yet. They can
> be generated with devtools/gen-abi-dump.sh <build_dir>. This will
> generate a .dump file for each shared object in the builddir drivers and
> lib folders.

Pinging on this series, since the sooner we integrate it, the better.
We also need those dump files as part of the series, as it is not
obvious what reviewers (at least me :-)) should do about them.

Please can you work on a new revision?


Thanks.


--
David Marchand


^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] [PATCH v3 0/7] Add ABI compatibility checks to the meson build
  2019-12-10 11:07  4%       ` David Marchand
@ 2019-12-10 11:36  4%         ` Laatz, Kevin
  0 siblings, 0 replies; 200+ results
From: Laatz, Kevin @ 2019-12-10 11:36 UTC (permalink / raw)
  To: David Marchand; +Cc: dev, Thomas Monjalon, Bruce Richardson, Kinsella, Ray


On 10/12/2019 11:07, David Marchand wrote:
> On Tue, Dec 3, 2019 at 4:27 PM Laatz, Kevin <kevin.laatz@intel.com> wrote:
>> On 03/12/2019 11:03, David Marchand wrote:
>>> On Fri, Nov 29, 2019 at 10:09 PM Kevin Laatz <kevin.laatz@intel.com> wrote:
>>>> With the recent changes made to stabilize ABI versioning in DPDK, it will
>>>> become increasingly important to check patches for ABI compatibility. We
>>>> propose adding the ABI compatibility checking to be done as part of the
>>>> build.
>>>>
>>>> The advantages to adding the ABI compatibility checking to the build are
>>>> two-fold. Firstly, developers can easily check their patches to make sure
>>>> they don’t break the ABI without adding any extra steps. Secondly, it
>>>> makes the integration into existing CI seamless since there are no extra
>>>> scripts to make the CI run. The build will run as usual and if an
>>>> incompatibility is detected in the ABI, the build will fail and show the
>>>> incompatibility. As an added bonus, enabling the ABI compatibility checks
>>>> does not impact the build speed.
>>>>
>>>> The proposed solution works as follows:
>>>> 1. Generate the ABI dump of the baseline. This can be done with the new
>>>>      script added in this RFC. This step will only need to be done when the
>>>>      ABI version changes (so once a year) and can be added to master so it
>>>>      exists by default. This step can be skipped if the dump files for the
>>>>      baseline already exist.
>>>> 2. Build with meson. If there is an ABI incompatibility, the build will
>>>>      fail and print the incompatibility information.
>>>>
>>>> The patches accompanying this RFC add the ABI dump file generating script,
>>>> the meson option required to enable/disable the checks, and the required
>>>> meson changes to run the compatibility checks during the build.
>>> Global comments:
>>> - why are patch 1 and 2 in this series, is this really needed?
>> Not if we make this an 'auto' option. It would have needed debug info to
>> do the ABI check.
>>> - please squash patches 3, 4, 5 and 6, reading them separately is a
>>> pain and they are quite small,
>> Will do
>>> - if Windows does not support the ABI check, enforce this earlier in
>>> meson and refuse enabling it rather than silently ignoring it,
>> Makes sense, will look into this.
>>> - I would not enable this check by default
>>>     - this is a developer option, people just building the dpdk don't
>>> care about it,
>>>     - can we have something like a tristate "auto" (default, triggers
>>> the check if abidiff is installed), "disabled" and "enabled" (not
>>> having abidiff installed triggers an error) ?
>> Seems reasonable, will change.
>>> - please update the travis packages so that we can run those checks
>>> for developers submitting patches
>> Will do.
>>> - I don't think you tested this series with
>>> devtools/test-meson-builds.sh, please do. It fails with a custom build
>>> directory and in the dpdk tree too:
>>>
>>> Build targets in project: 1019
>>> WARNING: Project specifies a minimum meson_version '>= 0.47.1' but
>>> uses features which were added in newer versions:
>>>    * 0.48.0: {'console arg in custom_target'}
>>>    * 0.50.0: {'install arg in configure_file'}
>>> Found ninja-1.9.0 at /usr/bin/ninja
>>> ninja -C /home/dmarchan/builds/build-gcc-static
>>> ninja: Entering directory `/home/dmarchan/builds/build-gcc-static'
>>> [48/2291] Generating librte_kvargs.abi_chk with a meson_exe.py custom command.
>>> FAILED: lib/librte_kvargs.abi_chk
>>> /usr/bin/meson --internal exe
>>> /home/dmarchan/builds/build-gcc-static/meson-private/meson_exe_abidiff_6511538ddd95d9672028017110fa45c67f01f7be.dat
>>> file /home/dmarchan/dpdk/lib/abi/librte_kvargs.dump does not exist
>>> [77/2291] Compiling C object
>>> 'lib/76b5a35@@rte_mbuf@sta/librte_mbuf_rte_mbuf.c.o'.
>>> ninja: build stopped: subcommand failed.
>> This is failing as the .dump files have not been created yet. They can
>> be generated with devtools/gen-abi-dump.sh <build_dir>. This will
>> generate a .dump file for each shared object in the builddir drivers and
>> lib folders.
> Pinging on this series, since the sooner we integrate it, the better.
> We also need those dump files as part of the series, as it is not
> obvious what reviewers (at least me :-)) should do about them.
>
> Please can you work on a new revision?

Hi David,

I'm working on this. There were some extra things that needed to be 
worked out and added, like suppressing warnings about breaking 
experimental functions. I'm also adding the .dump files, currently 
filtering them to only add the ones we need.

Thanks,
Kevin


>
> Thanks.
>
>
> --
> David Marchand
>

^ permalink raw reply	[relevance 4%]

* [dpdk-dev] How to manage new APIs added after major ABI release?
@ 2019-12-10 11:56  9% Ferruh Yigit
  2019-12-10 12:04  9% ` Bruce Richardson
  2019-12-11 13:11  8% ` Neil Horman
  0 siblings, 2 replies; 200+ results
From: Ferruh Yigit @ 2019-12-10 11:56 UTC (permalink / raw)
  To: Kinsella, Ray, Thomas Monjalon, David Marchand, Luca Boccassi,
	Christian Ehrhardt, Timothy Redaelli
  Cc: Kevin Traynor, dpdk-dev, Bruce Richardson, Laatz, Kevin,
	Andrew Rybchenko, Neil Horman

Hi,

With new process, the major ABI releases will be compatible until it is
deprecated (until next LTS for now),
like current ABI version is 20 in DPDK_19.11 and DPDK versions until DPDK_20.11
will be ABI compatible with this version.

But if we introduce a new API after major ABI, say in 20.02 release, are we
allowed to break the ABI for that API before DPDK_20.11?

If we allow it break, following problem will be observed:
Assume an application using .so.20.1 library, and using the new API introduced
in 20.02, lets say foo(),
but when application switches to .so.20.2 (released via DPDK_20.05), application
will fail because of ABI breakage in foo().

I think it is fair that application expects forward compatibility in minor
versions of a shared library.
Like if application linked against .so.20.2, fair to expect .so.20.3, .so.20.4
etc will work fine. I think currently only .so.20.0 is fully forward compatible.

If we all agree on this, we may need to tweak the process a little, but before
diving into implementation details, I would like to be sure we are in same page.


Thanks,
ferruh

^ permalink raw reply	[relevance 9%]

* Re: [dpdk-dev] How to manage new APIs added after major ABI release?
  2019-12-10 11:56  9% [dpdk-dev] How to manage new APIs added after major ABI release? Ferruh Yigit
@ 2019-12-10 12:04  9% ` Bruce Richardson
  2019-12-10 12:40  4%   ` Ferruh Yigit
  2019-12-11 13:11  8% ` Neil Horman
  1 sibling, 1 reply; 200+ results
From: Bruce Richardson @ 2019-12-10 12:04 UTC (permalink / raw)
  To: Ferruh Yigit
  Cc: Kinsella, Ray, Thomas Monjalon, David Marchand, Luca Boccassi,
	Christian Ehrhardt, Timothy Redaelli, Kevin Traynor, dpdk-dev,
	Laatz, Kevin, Andrew Rybchenko, Neil Horman

On Tue, Dec 10, 2019 at 11:56:28AM +0000, Ferruh Yigit wrote:
> Hi,
> 
> With new process, the major ABI releases will be compatible until it is
> deprecated (until next LTS for now),
> like current ABI version is 20 in DPDK_19.11 and DPDK versions until DPDK_20.11
> will be ABI compatible with this version.
> 
> But if we introduce a new API after major ABI, say in 20.02 release, are we
> allowed to break the ABI for that API before DPDK_20.11?
> 
> If we allow it break, following problem will be observed:
> Assume an application using .so.20.1 library, and using the new API introduced
> in 20.02, lets say foo(),
> but when application switches to .so.20.2 (released via DPDK_20.05), application
> will fail because of ABI breakage in foo().
> 
> I think it is fair that application expects forward compatibility in minor
> versions of a shared library.
> Like if application linked against .so.20.2, fair to expect .so.20.3, .so.20.4
> etc will work fine. I think currently only .so.20.0 is fully forward compatible.
> 
> If we all agree on this, we may need to tweak the process a little, but before
> diving into implementation details, I would like to be sure we are in same page.
> 

Well, any new API's generally come in as experimental, in which case
changes are allowed, and breakage can be expected. If they are not
experiemental, then the ABI policy applies to them in that they cannot
change since they are part of the .21 ABI, even if that ABI is not fully
complete yet. For any application only using stable, non-experimental
functions, forward compatibility must be maintained IMHO.

/Bruce


^ permalink raw reply	[relevance 9%]

* Re: [dpdk-dev] How to manage new APIs added after major ABI release?
  2019-12-10 12:04  9% ` Bruce Richardson
@ 2019-12-10 12:40  4%   ` Ferruh Yigit
  2019-12-10 14:36  8%     ` Bruce Richardson
  0 siblings, 1 reply; 200+ results
From: Ferruh Yigit @ 2019-12-10 12:40 UTC (permalink / raw)
  To: Bruce Richardson
  Cc: Kinsella, Ray, Thomas Monjalon, David Marchand, Luca Boccassi,
	Christian Ehrhardt, Timothy Redaelli, Kevin Traynor, dpdk-dev,
	Laatz, Kevin, Andrew Rybchenko, Neil Horman

On 12/10/2019 12:04 PM, Bruce Richardson wrote:
> On Tue, Dec 10, 2019 at 11:56:28AM +0000, Ferruh Yigit wrote:
>> Hi,
>>
>> With new process, the major ABI releases will be compatible until it is
>> deprecated (until next LTS for now),
>> like current ABI version is 20 in DPDK_19.11 and DPDK versions until DPDK_20.11
>> will be ABI compatible with this version.
>>
>> But if we introduce a new API after major ABI, say in 20.02 release, are we
>> allowed to break the ABI for that API before DPDK_20.11?
>>
>> If we allow it break, following problem will be observed:
>> Assume an application using .so.20.1 library, and using the new API introduced
>> in 20.02, lets say foo(),
>> but when application switches to .so.20.2 (released via DPDK_20.05), application
>> will fail because of ABI breakage in foo().
>>
>> I think it is fair that application expects forward compatibility in minor
>> versions of a shared library.
>> Like if application linked against .so.20.2, fair to expect .so.20.3, .so.20.4
>> etc will work fine. I think currently only .so.20.0 is fully forward compatible.
>>
>> If we all agree on this, we may need to tweak the process a little, but before
>> diving into implementation details, I would like to be sure we are in same page.
>>
> 
> Well, any new API's generally come in as experimental, in which case
> changes are allowed, and breakage can be expected. If they are not
> experiemental, then the ABI policy applies to them in that they cannot
> change since they are part of the .21 ABI, even if that ABI is not fully
> complete yet. For any application only using stable, non-experimental
> functions, forward compatibility must be maintained IMHO.
> 

Talking about not experimental APIs, experimental ones free from the process.

And when and API added in 20.02 (ABI_20.1) it is kind of still ABI_20, because
it should be supported for following ABI_20.x, instead of calling it ABI_21, and
this minor tweak (and mind shift) in .map files can be our solution.

^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] How to manage new APIs added after major ABI release?
  2019-12-10 12:40  4%   ` Ferruh Yigit
@ 2019-12-10 14:36  8%     ` Bruce Richardson
  2019-12-10 15:03  7%       ` Luca Boccassi
                         ` (3 more replies)
  0 siblings, 4 replies; 200+ results
From: Bruce Richardson @ 2019-12-10 14:36 UTC (permalink / raw)
  To: Ferruh Yigit
  Cc: Kinsella, Ray, Thomas Monjalon, David Marchand, Luca Boccassi,
	Christian Ehrhardt, Timothy Redaelli, Kevin Traynor, dpdk-dev,
	Laatz, Kevin, Andrew Rybchenko, Neil Horman

On Tue, Dec 10, 2019 at 12:40:53PM +0000, Ferruh Yigit wrote:
> On 12/10/2019 12:04 PM, Bruce Richardson wrote:
> > On Tue, Dec 10, 2019 at 11:56:28AM +0000, Ferruh Yigit wrote:
> >> Hi,
> >>
> >> With new process, the major ABI releases will be compatible until it is
> >> deprecated (until next LTS for now),
> >> like current ABI version is 20 in DPDK_19.11 and DPDK versions until DPDK_20.11
> >> will be ABI compatible with this version.
> >>
> >> But if we introduce a new API after major ABI, say in 20.02 release, are we
> >> allowed to break the ABI for that API before DPDK_20.11?
> >>
> >> If we allow it break, following problem will be observed:
> >> Assume an application using .so.20.1 library, and using the new API introduced
> >> in 20.02, lets say foo(),
> >> but when application switches to .so.20.2 (released via DPDK_20.05), application
> >> will fail because of ABI breakage in foo().
> >>
> >> I think it is fair that application expects forward compatibility in minor
> >> versions of a shared library.
> >> Like if application linked against .so.20.2, fair to expect .so.20.3, .so.20.4
> >> etc will work fine. I think currently only .so.20.0 is fully forward compatible.
> >>
> >> If we all agree on this, we may need to tweak the process a little, but before
> >> diving into implementation details, I would like to be sure we are in same page.
> >>
> > 
> > Well, any new API's generally come in as experimental, in which case
> > changes are allowed, and breakage can be expected. If they are not
> > experiemental, then the ABI policy applies to them in that they cannot
> > change since they are part of the .21 ABI, even if that ABI is not fully
> > complete yet. For any application only using stable, non-experimental
> > functions, forward compatibility must be maintained IMHO.
> > 
> 
> Talking about not experimental APIs, experimental ones free from the process.
> 
> And when and API added in 20.02 (ABI_20.1) it is kind of still ABI_20, because
> it should be supported for following ABI_20.x, instead of calling it ABI_21, and
> this minor tweak (and mind shift) in .map files can be our solution.

Related at what to do with adding versions between major ABI versions, when
investigating with Kevin the ABI checking we have made an unpleasant
discovery:

This minor version bumping from 20.0 to 20.1 has apparently already broken
our ABI according to libabigail.

The Gory Details [skip to the end for suggestions to fix]
------------------------------------------------------------

The reason for this is that the soversion encoded in each library - whether
built with meson or make - is the full 20.0 version, not just the major ABI
.20 part. Then when apps link against DPDK, they actually encode the 20.0.

So what this means is that currently - using a make build as an example
here - ldd on the latest head build gives:

 LD_LIBRARY_PATH=$(pwd)/x86_64-native-linux-gcc/lib ldd x86_64-native-linux-gcc/app/testpmd | head
        linux-vdso.so.1 (0x00007fff6813d000)
        librte_pmd_bond.so.20.1 => /home/bruce/dpdk.org/x86_64-native-linux-gcc/lib/librte_pmd_bond.so.20.1 (0x00007f36d723c000)
        librte_pmd_dpaa.so.20.1 => /home/bruce/dpdk.org/x86_64-native-linux-gcc/lib/librte_pmd_dpaa.so.20.1 (0x00007f36d7229000)
        librte_mempool_dpaa.so.20.1 => /home/bruce/dpdk.org/x86_64-native-linux-gcc/lib/librte_mempool_dpaa.so.20.1 (0x00007f36d7224000)
        librte_pmd_ixgbe.so.20.1 => /home/bruce/dpdk.org/x86_64-native-linux-gcc/lib/librte_pmd_ixgbe.so.20.1 (0x00007f36d71ba000)
        librte_pmd_i40e.so.20.1 => /home/bruce/dpdk.org/x86_64-native-linux-gcc/lib/librte_pmd_i40e.so.20.1 (0x00007f36d7126000)
        librte_pmd_bnxt.so.20.1 => /home/bruce/dpdk.org/x86_64-native-linux-gcc/lib/librte_pmd_bnxt.so.20.1 (0x00007f36d70e5000)
        librte_pmd_softnic.so.20.1 => /home/bruce/dpdk.org/x86_64-native-linux-gcc/lib/librte_pmd_softnic.so.20.1 (0x00007f36d70b7000)
        librte_flow_classify.so.0.201 => /home/bruce/dpdk.org/x86_64-native-linux-gcc/lib/librte_flow_classify.so.0.201 (0x00007f36d70b1000)
        librte_pipeline.so.20.1 => /home/bruce/dpdk.org/x86_64-native-linux-gcc/lib/librte_pipeline.so.20.1 (0x00007f36d7088000)
...

Similarly ldd on a 19.11 checkout gives:

LD_LIBRARY_PATH=$(pwd)/x86_64-native-linux-gcc_v19.11/lib ldd x86_64-native-linux-gcc_v19.11/app/testpmd | head
        linux-vdso.so.1 (0x00007ffc2a964000)
        librte_pmd_bond.so.20.0 => /home/bruce/dpdk.org/x86_64-native-linux-gcc_v19.11/lib/librte_pmd_bond.so.20.0 (0x00007fd4dc6b6000)
        librte_pmd_dpaa.so.20.0 => /home/bruce/dpdk.org/x86_64-native-linux-gcc_v19.11/lib/librte_pmd_dpaa.so.20.0 (0x00007fd4dc6a3000)
        librte_mempool_dpaa.so.20.0 => /home/bruce/dpdk.org/x86_64-native-linux-gcc_v19.11/lib/librte_mempool_dpaa.so.20.0 (0x00007fd4dc69e000)
        librte_pmd_ixgbe.so.20.0 => /home/bruce/dpdk.org/x86_64-native-linux-gcc_v19.11/lib/librte_pmd_ixgbe.so.20.0 (0x00007fd4dc634000)
        librte_pmd_i40e.so.20.0 => /home/bruce/dpdk.org/x86_64-native-linux-gcc_v19.11/lib/librte_pmd_i40e.so.20.0 (0x00007fd4dc5a0000)
        librte_pmd_bnxt.so.20.0 => /home/bruce/dpdk.org/x86_64-native-linux-gcc_v19.11/lib/librte_pmd_bnxt.so.20.0 (0x00007fd4dc55d000)
        librte_pmd_softnic.so.20.0 => /home/bruce/dpdk.org/x86_64-native-linux-gcc_v19.11/lib/librte_pmd_softnic.so.20.0 (0x00007fd4dc531000)
        librte_flow_classify.so.0.200 => /home/bruce/dpdk.org/x86_64-native-linux-gcc_v19.11/lib/librte_flow_classify.so.0.200 (0x00007fd4dc52b000)
        librte_pipeline.so.20.0 => /home/bruce/dpdk.org/x86_64-native-linux-gcc_v19.11/lib/librte_pipeline.so.20.0 (0x00007fd4dc502000)

The final check - using the 19.11 compiled testpmd with the library path
set to 20.02 versionned libs:

LD_LIBRARY_PATH=$(pwd)/x86_64-native-linux-gcc/lib ldd x86_64-native-linux-gcc_v19.11/app/testpmd | head
        linux-vdso.so.1 (0x00007ffc711fc000)
        librte_pmd_bond.so.20.0 => not found
        librte_pmd_dpaa.so.20.0 => not found
        librte_mempool_dpaa.so.20.0 => not found
        librte_pmd_ixgbe.so.20.0 => not found
        librte_pmd_i40e.so.20.0 => not found
        librte_pmd_bnxt.so.20.0 => not found
        librte_pmd_softnic.so.20.0 => not found
        librte_flow_classify.so.0.200 => not found
        librte_pipeline.so.20.0 => not found

Fixing This
-----------

To fix this, we need to ensure that the SONAME remains constant across the
releases. Therefore, I currently see two options:

1. keep 20.0 as the version and soname across all releases in 2020, i.e.
  just revert the ABIVERSION change patch. Trouble there is how to track
  20.02 vs 20.05 etc. etc.

2. remove the .0, .1 from the SONAMES stored in the libraries. This has the
  advantage of keeping the existing planned schemes, but has the really big
  downside of breaking ABI compatibility with anyone who has already
  compiled with 19.11.

Personally, of the two options - unless someone can come up with a third
option - I'd tend towards the second, fixing the builds to remove the .0 in
the soname, and releasing that ASAP as 19.11.1 before 19.11 gets widespread
adoption. Since this ABI stability is new, teething problems may be
expected.

Thoughts and comments?
/Bruce

BTW: For meson, the patch for option 2 is just to remove the so_version
variable and all references to it from lib/meson.build and
drivers/meson.build. Haven't looked into a "make" fix yet.


^ permalink raw reply	[relevance 8%]

* Re: [dpdk-dev] [PATCH] ethdev: add L2TPv3 header to flow API
  2019-12-10 10:16  3% ` Ori Kam
@ 2019-12-10 14:52  0%   ` Sexton, Rory
  2019-12-10 20:32  0%     ` Ori Kam
  0 siblings, 1 reply; 200+ results
From: Sexton, Rory @ 2019-12-10 14:52 UTC (permalink / raw)
  To: Ori Kam, dev; +Cc: Zhang, Qi Z, Xing, Beilei, Adrien Mazarguil, Jagus, DariuszX

Hi Ori,

> One general question why do we want to support only v3 and not also v2?
l2tpv3 is more widely used as a tunneling protocol hence it's inclusion.
A specific example is the cable industry where DOCSIS cable traffic is encapsulated using depi and uepi protocols which both make use of l2tpv3 session ids.
Directing flows based on l2tpv3 can be very useful in these cases.

Some more comments inline below.

Rory

>> diff --git a/lib/librte_ethdev/rte_flow.h 
>> b/lib/librte_ethdev/rte_flow.h index 452d359a1..5ee055c28 100644
>> --- a/lib/librte_ethdev/rte_flow.h
>> +++ b/lib/librte_ethdev/rte_flow.h
>> @@ -510,6 +510,16 @@ enum rte_flow_item_type {
>>  	 * See struct rte_flow_item_tag.
>>  	 */
>>  	RTE_FLOW_ITEM_TYPE_TAG,
>> +
>> +	/*
>
>Missing *. It should be /**
>

Will correct this in another version of this patch.

>> +/**
>> + * RTE_FLOW_ITEM_TYPE_L2TPV3.
>> + *
>> + * Matches a L2TPv3 header.
>> + */
>> +struct rte_flow_item_l2tpv3 {
>> +	rte_be32_t session_id; /**< Session ID. */ };
>
>Does it make sense that in future we will want to match on the T / L / ver / Ns / Nr?
>
>Please also consider that any change will be ABI / API breakage, which will be allowed only next year. 
>

I don't foresee us wanting to match on any of the other fields, T / L / ver / Ns/ Nr.
The session id would typically be the only field of interest in the l2tpv3 header.

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] How to manage new APIs added after major ABI release?
  2019-12-10 14:36  8%     ` Bruce Richardson
@ 2019-12-10 15:03  7%       ` Luca Boccassi
  2019-12-10 15:46  7%         ` Bruce Richardson
  2019-12-10 15:04  4%       ` Ferruh Yigit
                         ` (2 subsequent siblings)
  3 siblings, 1 reply; 200+ results
From: Luca Boccassi @ 2019-12-10 15:03 UTC (permalink / raw)
  To: Bruce Richardson, Ferruh Yigit
  Cc: Kinsella, Ray, Thomas Monjalon, David Marchand,
	Christian Ehrhardt, Timothy Redaelli, Kevin Traynor, dpdk-dev,
	Laatz, Kevin, Andrew Rybchenko, Neil Horman

On Tue, 2019-12-10 at 14:36 +0000, Bruce Richardson wrote:
> On Tue, Dec 10, 2019 at 12:40:53PM +0000, Ferruh Yigit wrote:
> > On 12/10/2019 12:04 PM, Bruce Richardson wrote:
> > > On Tue, Dec 10, 2019 at 11:56:28AM +0000, Ferruh Yigit wrote:
> > > > Hi,
> > > > 
> > > > With new process, the major ABI releases will be compatible
> > > > until it is
> > > > deprecated (until next LTS for now),
> > > > like current ABI version is 20 in DPDK_19.11 and DPDK versions
> > > > until DPDK_20.11
> > > > will be ABI compatible with this version.
> > > > 
> > > > But if we introduce a new API after major ABI, say in 20.02
> > > > release, are we
> > > > allowed to break the ABI for that API before DPDK_20.11?
> > > > 
> > > > If we allow it break, following problem will be observed:
> > > > Assume an application using .so.20.1 library, and using the new
> > > > API introduced
> > > > in 20.02, lets say foo(),
> > > > but when application switches to .so.20.2 (released via
> > > > DPDK_20.05), application
> > > > will fail because of ABI breakage in foo().
> > > > 
> > > > I think it is fair that application expects forward
> > > > compatibility in minor
> > > > versions of a shared library.
> > > > Like if application linked against .so.20.2, fair to expect
> > > > .so.20.3, .so.20.4
> > > > etc will work fine. I think currently only .so.20.0 is fully
> > > > forward compatible.
> > > > 
> > > > If we all agree on this, we may need to tweak the process a
> > > > little, but before
> > > > diving into implementation details, I would like to be sure we
> > > > are in same page.
> > > > 
> > > 
> > > Well, any new API's generally come in as experimental, in which
> > > case
> > > changes are allowed, and breakage can be expected. If they are
> > > not
> > > experiemental, then the ABI policy applies to them in that they
> > > cannot
> > > change since they are part of the .21 ABI, even if that ABI is
> > > not fully
> > > complete yet. For any application only using stable, non-
> > > experimental
> > > functions, forward compatibility must be maintained IMHO.
> > > 
> > 
> > Talking about not experimental APIs, experimental ones free from
> > the process.
> > 
> > And when and API added in 20.02 (ABI_20.1) it is kind of still
> > ABI_20, because
> > it should be supported for following ABI_20.x, instead of calling
> > it ABI_21, and
> > this minor tweak (and mind shift) in .map files can be our
> > solution.
> 
> Related at what to do with adding versions between major ABI
> versions, when
> investigating with Kevin the ABI checking we have made an unpleasant
> discovery:
> 
> This minor version bumping from 20.0 to 20.1 has apparently already
> broken
> our ABI according to libabigail.
> 
> The Gory Details [skip to the end for suggestions to fix]
> ------------------------------------------------------------
> 
> The reason for this is that the soversion encoded in each library -
> whether
> built with meson or make - is the full 20.0 version, not just the
> major ABI
> .20 part. Then when apps link against DPDK, they actually encode the
> 20.0.
> 
> So what this means is that currently - using a make build as an
> example
> here - ldd on the latest head build gives:
> 
>  LD_LIBRARY_PATH=$(pwd)/x86_64-native-linux-gcc/lib ldd x86_64-
> native-linux-gcc/app/testpmd | head
>         linux-vdso.so.1 (0x00007fff6813d000)
>         librte_pmd_bond.so.20.1 => /home/bruce/dpdk.org/x86_64-
> native-linux-gcc/lib/librte_pmd_bond.so.20.1 (0x00007f36d723c000)
>         librte_pmd_dpaa.so.20.1 => /home/bruce/dpdk.org/x86_64-
> native-linux-gcc/lib/librte_pmd_dpaa.so.20.1 (0x00007f36d7229000)
>         librte_mempool_dpaa.so.20.1 => /home/bruce/dpdk.org/x86_64-
> native-linux-gcc/lib/librte_mempool_dpaa.so.20.1 (0x00007f36d7224000)
>         librte_pmd_ixgbe.so.20.1 => /home/bruce/dpdk.org/x86_64-
> native-linux-gcc/lib/librte_pmd_ixgbe.so.20.1 (0x00007f36d71ba000)
>         librte_pmd_i40e.so.20.1 => /home/bruce/dpdk.org/x86_64-
> native-linux-gcc/lib/librte_pmd_i40e.so.20.1 (0x00007f36d7126000)
>         librte_pmd_bnxt.so.20.1 => /home/bruce/dpdk.org/x86_64-
> native-linux-gcc/lib/librte_pmd_bnxt.so.20.1 (0x00007f36d70e5000)
>         librte_pmd_softnic.so.20.1 => /home/bruce/dpdk.org/x86_64-
> native-linux-gcc/lib/librte_pmd_softnic.so.20.1 (0x00007f36d70b7000)
>         librte_flow_classify.so.0.201 => /home/bruce/dpdk.org/x86_64-
> native-linux-gcc/lib/librte_flow_classify.so.0.201
> (0x00007f36d70b1000)
>         librte_pipeline.so.20.1 => /home/bruce/dpdk.org/x86_64-
> native-linux-gcc/lib/librte_pipeline.so.20.1 (0x00007f36d7088000)
> ...
> 
> Similarly ldd on a 19.11 checkout gives:
> 
> LD_LIBRARY_PATH=$(pwd)/x86_64-native-linux-gcc_v19.11/lib ldd x86_64-
> native-linux-gcc_v19.11/app/testpmd | head
>         linux-vdso.so.1 (0x00007ffc2a964000)
>         librte_pmd_bond.so.20.0 => /home/bruce/dpdk.org/x86_64-
> native-linux-gcc_v19.11/lib/librte_pmd_bond.so.20.0
> (0x00007fd4dc6b6000)
>         librte_pmd_dpaa.so.20.0 => /home/bruce/dpdk.org/x86_64-
> native-linux-gcc_v19.11/lib/librte_pmd_dpaa.so.20.0
> (0x00007fd4dc6a3000)
>         librte_mempool_dpaa.so.20.0 => /home/bruce/dpdk.org/x86_64-
> native-linux-gcc_v19.11/lib/librte_mempool_dpaa.so.20.0
> (0x00007fd4dc69e000)
>         librte_pmd_ixgbe.so.20.0 => /home/bruce/dpdk.org/x86_64-
> native-linux-gcc_v19.11/lib/librte_pmd_ixgbe.so.20.0
> (0x00007fd4dc634000)
>         librte_pmd_i40e.so.20.0 => /home/bruce/dpdk.org/x86_64-
> native-linux-gcc_v19.11/lib/librte_pmd_i40e.so.20.0
> (0x00007fd4dc5a0000)
>         librte_pmd_bnxt.so.20.0 => /home/bruce/dpdk.org/x86_64-
> native-linux-gcc_v19.11/lib/librte_pmd_bnxt.so.20.0
> (0x00007fd4dc55d000)
>         librte_pmd_softnic.so.20.0 => /home/bruce/dpdk.org/x86_64-
> native-linux-gcc_v19.11/lib/librte_pmd_softnic.so.20.0
> (0x00007fd4dc531000)
>         librte_flow_classify.so.0.200 => /home/bruce/dpdk.org/x86_64-
> native-linux-gcc_v19.11/lib/librte_flow_classify.so.0.200
> (0x00007fd4dc52b000)
>         librte_pipeline.so.20.0 => /home/bruce/dpdk.org/x86_64-
> native-linux-gcc_v19.11/lib/librte_pipeline.so.20.0
> (0x00007fd4dc502000)
> 
> The final check - using the 19.11 compiled testpmd with the library
> path
> set to 20.02 versionned libs:
> 
> LD_LIBRARY_PATH=$(pwd)/x86_64-native-linux-gcc/lib ldd x86_64-native-
> linux-gcc_v19.11/app/testpmd | head
>         linux-vdso.so.1 (0x00007ffc711fc000)
>         librte_pmd_bond.so.20.0 => not found
>         librte_pmd_dpaa.so.20.0 => not found
>         librte_mempool_dpaa.so.20.0 => not found
>         librte_pmd_ixgbe.so.20.0 => not found
>         librte_pmd_i40e.so.20.0 => not found
>         librte_pmd_bnxt.so.20.0 => not found
>         librte_pmd_softnic.so.20.0 => not found
>         librte_flow_classify.so.0.200 => not found
>         librte_pipeline.so.20.0 => not found
> 
> Fixing This
> -----------
> 
> To fix this, we need to ensure that the SONAME remains constant
> across the
> releases. Therefore, I currently see two options:
> 
> 1. keep 20.0 as the version and soname across all releases in 2020,
> i.e.
>   just revert the ABIVERSION change patch. Trouble there is how to
> track
>   20.02 vs 20.05 etc. etc.
> 
> 2. remove the .0, .1 from the SONAMES stored in the libraries. This
> has the
>   advantage of keeping the existing planned schemes, but has the
> really big
>   downside of breaking ABI compatibility with anyone who has already
>   compiled with 19.11.
> 
> Personally, of the two options - unless someone can come up with a
> third
> option - I'd tend towards the second, fixing the builds to remove the
> .0 in
> the soname, and releasing that ASAP as 19.11.1 before 19.11 gets
> widespread
> adoption. Since this ABI stability is new, teething problems may be
> expected.
> 
> Thoughts and comments?
> /Bruce
> 
> BTW: For meson, the patch for option 2 is just to remove the
> so_version
> variable and all references to it from lib/meson.build and
> drivers/meson.build. Haven't looked into a "make" fix yet.

Hi,

With libtool and its (arguably arcane) format, only the first digit is
the ABI current version and gets encoded in the elf header. The other
digits can be used to track compatible minor increments, and are mostly
ignored. On the system a symlink libfoo.so.major ->
libfoo.so.major.minor is added.

Eg:

$ readelf -d /usr/lib/x86_64-linux-gnu/libzmq.so.5.2.3 | grep SONAME
 0x000000000000000e (SONAME)             Library soname: [libzmq.so.5]
$ ls -l /usr/lib/x86_64-linux-gnu/libzmq.so.5
lrwxrwxrwx 1 root root 15 Dec 31  2014 /usr/lib/x86_64-linux-
gnu/libzmq.so.5 -> libzmq.so.5.2.3

Can we do the same? Not sure what the right incantation is for Meson,
but it should be possibly.

Also, we should leave the current at 20.0 - let's not break
compatibility already, please :-)

-- 
Kind regards,
Luca Boccassi

^ permalink raw reply	[relevance 7%]

* Re: [dpdk-dev] How to manage new APIs added after major ABI release?
  2019-12-10 14:36  8%     ` Bruce Richardson
  2019-12-10 15:03  7%       ` Luca Boccassi
@ 2019-12-10 15:04  4%       ` Ferruh Yigit
  2019-12-10 15:37  4%         ` Ferruh Yigit
  2019-12-10 15:40  8%       ` Kinsella, Ray
  2019-12-11 13:32  4%       ` Neil Horman
  3 siblings, 1 reply; 200+ results
From: Ferruh Yigit @ 2019-12-10 15:04 UTC (permalink / raw)
  To: Bruce Richardson
  Cc: Kinsella, Ray, Thomas Monjalon, David Marchand, Luca Boccassi,
	Christian Ehrhardt, Timothy Redaelli, Kevin Traynor, dpdk-dev,
	Laatz, Kevin, Andrew Rybchenko, Neil Horman

On 12/10/2019 2:36 PM, Bruce Richardson wrote:
> On Tue, Dec 10, 2019 at 12:40:53PM +0000, Ferruh Yigit wrote:
>> On 12/10/2019 12:04 PM, Bruce Richardson wrote:
>>> On Tue, Dec 10, 2019 at 11:56:28AM +0000, Ferruh Yigit wrote:
>>>> Hi,
>>>>
>>>> With new process, the major ABI releases will be compatible until it is
>>>> deprecated (until next LTS for now),
>>>> like current ABI version is 20 in DPDK_19.11 and DPDK versions until DPDK_20.11
>>>> will be ABI compatible with this version.
>>>>
>>>> But if we introduce a new API after major ABI, say in 20.02 release, are we
>>>> allowed to break the ABI for that API before DPDK_20.11?
>>>>
>>>> If we allow it break, following problem will be observed:
>>>> Assume an application using .so.20.1 library, and using the new API introduced
>>>> in 20.02, lets say foo(),
>>>> but when application switches to .so.20.2 (released via DPDK_20.05), application
>>>> will fail because of ABI breakage in foo().
>>>>
>>>> I think it is fair that application expects forward compatibility in minor
>>>> versions of a shared library.
>>>> Like if application linked against .so.20.2, fair to expect .so.20.3, .so.20.4
>>>> etc will work fine. I think currently only .so.20.0 is fully forward compatible.
>>>>
>>>> If we all agree on this, we may need to tweak the process a little, but before
>>>> diving into implementation details, I would like to be sure we are in same page.
>>>>
>>>
>>> Well, any new API's generally come in as experimental, in which case
>>> changes are allowed, and breakage can be expected. If they are not
>>> experiemental, then the ABI policy applies to them in that they cannot
>>> change since they are part of the .21 ABI, even if that ABI is not fully
>>> complete yet. For any application only using stable, non-experimental
>>> functions, forward compatibility must be maintained IMHO.
>>>
>>
>> Talking about not experimental APIs, experimental ones free from the process.
>>
>> And when and API added in 20.02 (ABI_20.1) it is kind of still ABI_20, because
>> it should be supported for following ABI_20.x, instead of calling it ABI_21, and
>> this minor tweak (and mind shift) in .map files can be our solution.
> 
> Related at what to do with adding versions between major ABI versions, when
> investigating with Kevin the ABI checking we have made an unpleasant
> discovery:
> 
> This minor version bumping from 20.0 to 20.1 has apparently already broken
> our ABI according to libabigail.
> 
> The Gory Details [skip to the end for suggestions to fix]
> ------------------------------------------------------------
> 
> The reason for this is that the soversion encoded in each library - whether
> built with meson or make - is the full 20.0 version, not just the major ABI
> .20 part. Then when apps link against DPDK, they actually encode the 20.0.
> 
> So what this means is that currently - using a make build as an example
> here - ldd on the latest head build gives:
> 
>  LD_LIBRARY_PATH=$(pwd)/x86_64-native-linux-gcc/lib ldd x86_64-native-linux-gcc/app/testpmd | head
>         linux-vdso.so.1 (0x00007fff6813d000)
>         librte_pmd_bond.so.20.1 => /home/bruce/dpdk.org/x86_64-native-linux-gcc/lib/librte_pmd_bond.so.20.1 (0x00007f36d723c000)
>         librte_pmd_dpaa.so.20.1 => /home/bruce/dpdk.org/x86_64-native-linux-gcc/lib/librte_pmd_dpaa.so.20.1 (0x00007f36d7229000)
>         librte_mempool_dpaa.so.20.1 => /home/bruce/dpdk.org/x86_64-native-linux-gcc/lib/librte_mempool_dpaa.so.20.1 (0x00007f36d7224000)
>         librte_pmd_ixgbe.so.20.1 => /home/bruce/dpdk.org/x86_64-native-linux-gcc/lib/librte_pmd_ixgbe.so.20.1 (0x00007f36d71ba000)
>         librte_pmd_i40e.so.20.1 => /home/bruce/dpdk.org/x86_64-native-linux-gcc/lib/librte_pmd_i40e.so.20.1 (0x00007f36d7126000)
>         librte_pmd_bnxt.so.20.1 => /home/bruce/dpdk.org/x86_64-native-linux-gcc/lib/librte_pmd_bnxt.so.20.1 (0x00007f36d70e5000)
>         librte_pmd_softnic.so.20.1 => /home/bruce/dpdk.org/x86_64-native-linux-gcc/lib/librte_pmd_softnic.so.20.1 (0x00007f36d70b7000)
>         librte_flow_classify.so.0.201 => /home/bruce/dpdk.org/x86_64-native-linux-gcc/lib/librte_flow_classify.so.0.201 (0x00007f36d70b1000)
>         librte_pipeline.so.20.1 => /home/bruce/dpdk.org/x86_64-native-linux-gcc/lib/librte_pipeline.so.20.1 (0x00007f36d7088000)
> ...
> 
> Similarly ldd on a 19.11 checkout gives:
> 
> LD_LIBRARY_PATH=$(pwd)/x86_64-native-linux-gcc_v19.11/lib ldd x86_64-native-linux-gcc_v19.11/app/testpmd | head
>         linux-vdso.so.1 (0x00007ffc2a964000)
>         librte_pmd_bond.so.20.0 => /home/bruce/dpdk.org/x86_64-native-linux-gcc_v19.11/lib/librte_pmd_bond.so.20.0 (0x00007fd4dc6b6000)
>         librte_pmd_dpaa.so.20.0 => /home/bruce/dpdk.org/x86_64-native-linux-gcc_v19.11/lib/librte_pmd_dpaa.so.20.0 (0x00007fd4dc6a3000)
>         librte_mempool_dpaa.so.20.0 => /home/bruce/dpdk.org/x86_64-native-linux-gcc_v19.11/lib/librte_mempool_dpaa.so.20.0 (0x00007fd4dc69e000)
>         librte_pmd_ixgbe.so.20.0 => /home/bruce/dpdk.org/x86_64-native-linux-gcc_v19.11/lib/librte_pmd_ixgbe.so.20.0 (0x00007fd4dc634000)
>         librte_pmd_i40e.so.20.0 => /home/bruce/dpdk.org/x86_64-native-linux-gcc_v19.11/lib/librte_pmd_i40e.so.20.0 (0x00007fd4dc5a0000)
>         librte_pmd_bnxt.so.20.0 => /home/bruce/dpdk.org/x86_64-native-linux-gcc_v19.11/lib/librte_pmd_bnxt.so.20.0 (0x00007fd4dc55d000)
>         librte_pmd_softnic.so.20.0 => /home/bruce/dpdk.org/x86_64-native-linux-gcc_v19.11/lib/librte_pmd_softnic.so.20.0 (0x00007fd4dc531000)
>         librte_flow_classify.so.0.200 => /home/bruce/dpdk.org/x86_64-native-linux-gcc_v19.11/lib/librte_flow_classify.so.0.200 (0x00007fd4dc52b000)
>         librte_pipeline.so.20.0 => /home/bruce/dpdk.org/x86_64-native-linux-gcc_v19.11/lib/librte_pipeline.so.20.0 (0x00007fd4dc502000)
> 
> The final check - using the 19.11 compiled testpmd with the library path
> set to 20.02 versionned libs:
> 
> LD_LIBRARY_PATH=$(pwd)/x86_64-native-linux-gcc/lib ldd x86_64-native-linux-gcc_v19.11/app/testpmd | head
>         linux-vdso.so.1 (0x00007ffc711fc000)
>         librte_pmd_bond.so.20.0 => not found
>         librte_pmd_dpaa.so.20.0 => not found
>         librte_mempool_dpaa.so.20.0 => not found
>         librte_pmd_ixgbe.so.20.0 => not found
>         librte_pmd_i40e.so.20.0 => not found
>         librte_pmd_bnxt.so.20.0 => not found
>         librte_pmd_softnic.so.20.0 => not found
>         librte_flow_classify.so.0.200 => not found
>         librte_pipeline.so.20.0 => not found
> 
> Fixing This
> -----------
> 
> To fix this, we need to ensure that the SONAME remains constant across the
> releases. Therefore, I currently see two options:
> 
> 1. keep 20.0 as the version and soname across all releases in 2020, i.e.
>   just revert the ABIVERSION change patch. Trouble there is how to track
>   20.02 vs 20.05 etc. etc.
> 
> 2. remove the .0, .1 from the SONAMES stored in the libraries. This has the
>   advantage of keeping the existing planned schemes, but has the really big
>   downside of breaking ABI compatibility with anyone who has already
>   compiled with 19.11.
> 
> Personally, of the two options - unless someone can come up with a third
> option - I'd tend towards the second, fixing the builds to remove the .0 in
> the soname, and releasing that ASAP as 19.11.1 before 19.11 gets widespread
> adoption. Since this ABI stability is new, teething problems may be
> expected.
> 
> Thoughts and comments?

Arghh :(

I agree that 2) is proper fix and if we want to fix properly we should do a
19.11.1 ASAP.

Can having soname as "20.0" but having file name as .so.20.1 work?
If it does we can "workaround" it by keeping SONAME as "20.0" (instead of 20)
during the life time of the ABI_20 and fix it properly in ABI_21.


^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] How to manage new APIs added after major ABI release?
  2019-12-10 15:04  4%       ` Ferruh Yigit
@ 2019-12-10 15:37  4%         ` Ferruh Yigit
  0 siblings, 0 replies; 200+ results
From: Ferruh Yigit @ 2019-12-10 15:37 UTC (permalink / raw)
  To: Bruce Richardson
  Cc: Kinsella, Ray, Thomas Monjalon, David Marchand, Luca Boccassi,
	Christian Ehrhardt, Timothy Redaelli, Kevin Traynor, dpdk-dev,
	Laatz, Kevin, Andrew Rybchenko, Neil Horman

On 12/10/2019 3:04 PM, Ferruh Yigit wrote:
> On 12/10/2019 2:36 PM, Bruce Richardson wrote:
>> On Tue, Dec 10, 2019 at 12:40:53PM +0000, Ferruh Yigit wrote:
>>> On 12/10/2019 12:04 PM, Bruce Richardson wrote:
>>>> On Tue, Dec 10, 2019 at 11:56:28AM +0000, Ferruh Yigit wrote:
>>>>> Hi,
>>>>>
>>>>> With new process, the major ABI releases will be compatible until it is
>>>>> deprecated (until next LTS for now),
>>>>> like current ABI version is 20 in DPDK_19.11 and DPDK versions until DPDK_20.11
>>>>> will be ABI compatible with this version.
>>>>>
>>>>> But if we introduce a new API after major ABI, say in 20.02 release, are we
>>>>> allowed to break the ABI for that API before DPDK_20.11?
>>>>>
>>>>> If we allow it break, following problem will be observed:
>>>>> Assume an application using .so.20.1 library, and using the new API introduced
>>>>> in 20.02, lets say foo(),
>>>>> but when application switches to .so.20.2 (released via DPDK_20.05), application
>>>>> will fail because of ABI breakage in foo().
>>>>>
>>>>> I think it is fair that application expects forward compatibility in minor
>>>>> versions of a shared library.
>>>>> Like if application linked against .so.20.2, fair to expect .so.20.3, .so.20.4
>>>>> etc will work fine. I think currently only .so.20.0 is fully forward compatible.
>>>>>
>>>>> If we all agree on this, we may need to tweak the process a little, but before
>>>>> diving into implementation details, I would like to be sure we are in same page.
>>>>>
>>>>
>>>> Well, any new API's generally come in as experimental, in which case
>>>> changes are allowed, and breakage can be expected. If they are not
>>>> experiemental, then the ABI policy applies to them in that they cannot
>>>> change since they are part of the .21 ABI, even if that ABI is not fully
>>>> complete yet. For any application only using stable, non-experimental
>>>> functions, forward compatibility must be maintained IMHO.
>>>>
>>>
>>> Talking about not experimental APIs, experimental ones free from the process.
>>>
>>> And when and API added in 20.02 (ABI_20.1) it is kind of still ABI_20, because
>>> it should be supported for following ABI_20.x, instead of calling it ABI_21, and
>>> this minor tweak (and mind shift) in .map files can be our solution.
>>
>> Related at what to do with adding versions between major ABI versions, when
>> investigating with Kevin the ABI checking we have made an unpleasant
>> discovery:
>>
>> This minor version bumping from 20.0 to 20.1 has apparently already broken
>> our ABI according to libabigail.
>>
>> The Gory Details [skip to the end for suggestions to fix]
>> ------------------------------------------------------------
>>
>> The reason for this is that the soversion encoded in each library - whether
>> built with meson or make - is the full 20.0 version, not just the major ABI
>> .20 part. Then when apps link against DPDK, they actually encode the 20.0.
>>
>> So what this means is that currently - using a make build as an example
>> here - ldd on the latest head build gives:
>>
>>  LD_LIBRARY_PATH=$(pwd)/x86_64-native-linux-gcc/lib ldd x86_64-native-linux-gcc/app/testpmd | head
>>         linux-vdso.so.1 (0x00007fff6813d000)
>>         librte_pmd_bond.so.20.1 => /home/bruce/dpdk.org/x86_64-native-linux-gcc/lib/librte_pmd_bond.so.20.1 (0x00007f36d723c000)
>>         librte_pmd_dpaa.so.20.1 => /home/bruce/dpdk.org/x86_64-native-linux-gcc/lib/librte_pmd_dpaa.so.20.1 (0x00007f36d7229000)
>>         librte_mempool_dpaa.so.20.1 => /home/bruce/dpdk.org/x86_64-native-linux-gcc/lib/librte_mempool_dpaa.so.20.1 (0x00007f36d7224000)
>>         librte_pmd_ixgbe.so.20.1 => /home/bruce/dpdk.org/x86_64-native-linux-gcc/lib/librte_pmd_ixgbe.so.20.1 (0x00007f36d71ba000)
>>         librte_pmd_i40e.so.20.1 => /home/bruce/dpdk.org/x86_64-native-linux-gcc/lib/librte_pmd_i40e.so.20.1 (0x00007f36d7126000)
>>         librte_pmd_bnxt.so.20.1 => /home/bruce/dpdk.org/x86_64-native-linux-gcc/lib/librte_pmd_bnxt.so.20.1 (0x00007f36d70e5000)
>>         librte_pmd_softnic.so.20.1 => /home/bruce/dpdk.org/x86_64-native-linux-gcc/lib/librte_pmd_softnic.so.20.1 (0x00007f36d70b7000)
>>         librte_flow_classify.so.0.201 => /home/bruce/dpdk.org/x86_64-native-linux-gcc/lib/librte_flow_classify.so.0.201 (0x00007f36d70b1000)
>>         librte_pipeline.so.20.1 => /home/bruce/dpdk.org/x86_64-native-linux-gcc/lib/librte_pipeline.so.20.1 (0x00007f36d7088000)
>> ...
>>
>> Similarly ldd on a 19.11 checkout gives:
>>
>> LD_LIBRARY_PATH=$(pwd)/x86_64-native-linux-gcc_v19.11/lib ldd x86_64-native-linux-gcc_v19.11/app/testpmd | head
>>         linux-vdso.so.1 (0x00007ffc2a964000)
>>         librte_pmd_bond.so.20.0 => /home/bruce/dpdk.org/x86_64-native-linux-gcc_v19.11/lib/librte_pmd_bond.so.20.0 (0x00007fd4dc6b6000)
>>         librte_pmd_dpaa.so.20.0 => /home/bruce/dpdk.org/x86_64-native-linux-gcc_v19.11/lib/librte_pmd_dpaa.so.20.0 (0x00007fd4dc6a3000)
>>         librte_mempool_dpaa.so.20.0 => /home/bruce/dpdk.org/x86_64-native-linux-gcc_v19.11/lib/librte_mempool_dpaa.so.20.0 (0x00007fd4dc69e000)
>>         librte_pmd_ixgbe.so.20.0 => /home/bruce/dpdk.org/x86_64-native-linux-gcc_v19.11/lib/librte_pmd_ixgbe.so.20.0 (0x00007fd4dc634000)
>>         librte_pmd_i40e.so.20.0 => /home/bruce/dpdk.org/x86_64-native-linux-gcc_v19.11/lib/librte_pmd_i40e.so.20.0 (0x00007fd4dc5a0000)
>>         librte_pmd_bnxt.so.20.0 => /home/bruce/dpdk.org/x86_64-native-linux-gcc_v19.11/lib/librte_pmd_bnxt.so.20.0 (0x00007fd4dc55d000)
>>         librte_pmd_softnic.so.20.0 => /home/bruce/dpdk.org/x86_64-native-linux-gcc_v19.11/lib/librte_pmd_softnic.so.20.0 (0x00007fd4dc531000)
>>         librte_flow_classify.so.0.200 => /home/bruce/dpdk.org/x86_64-native-linux-gcc_v19.11/lib/librte_flow_classify.so.0.200 (0x00007fd4dc52b000)
>>         librte_pipeline.so.20.0 => /home/bruce/dpdk.org/x86_64-native-linux-gcc_v19.11/lib/librte_pipeline.so.20.0 (0x00007fd4dc502000)
>>
>> The final check - using the 19.11 compiled testpmd with the library path
>> set to 20.02 versionned libs:
>>
>> LD_LIBRARY_PATH=$(pwd)/x86_64-native-linux-gcc/lib ldd x86_64-native-linux-gcc_v19.11/app/testpmd | head
>>         linux-vdso.so.1 (0x00007ffc711fc000)
>>         librte_pmd_bond.so.20.0 => not found
>>         librte_pmd_dpaa.so.20.0 => not found
>>         librte_mempool_dpaa.so.20.0 => not found
>>         librte_pmd_ixgbe.so.20.0 => not found
>>         librte_pmd_i40e.so.20.0 => not found
>>         librte_pmd_bnxt.so.20.0 => not found
>>         librte_pmd_softnic.so.20.0 => not found
>>         librte_flow_classify.so.0.200 => not found
>>         librte_pipeline.so.20.0 => not found
>>
>> Fixing This
>> -----------
>>
>> To fix this, we need to ensure that the SONAME remains constant across the
>> releases. Therefore, I currently see two options:
>>
>> 1. keep 20.0 as the version and soname across all releases in 2020, i.e.
>>   just revert the ABIVERSION change patch. Trouble there is how to track
>>   20.02 vs 20.05 etc. etc.
>>
>> 2. remove the .0, .1 from the SONAMES stored in the libraries. This has the
>>   advantage of keeping the existing planned schemes, but has the really big
>>   downside of breaking ABI compatibility with anyone who has already
>>   compiled with 19.11.
>>
>> Personally, of the two options - unless someone can come up with a third
>> option - I'd tend towards the second, fixing the builds to remove the .0 in
>> the soname, and releasing that ASAP as 19.11.1 before 19.11 gets widespread
>> adoption. Since this ABI stability is new, teething problems may be
>> expected.
>>
>> Thoughts and comments?
> 
> Arghh :(
> 
> I agree that 2) is proper fix and if we want to fix properly we should do a
> 19.11.1 ASAP.
> 
> Can having soname as "20.0" but having file name as .so.20.1 work?

No it is not working, dynamic linker is looking for the .so file that has been
put into soname.

So I am for option 2 and 19.11.1.

^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] How to manage new APIs added after major ABI release?
  2019-12-10 15:03  7%       ` Luca Boccassi
@ 2019-12-10 15:46  7%         ` Bruce Richardson
  2019-12-10 16:20  4%           ` Luca Boccassi
  0 siblings, 1 reply; 200+ results
From: Bruce Richardson @ 2019-12-10 15:46 UTC (permalink / raw)
  To: Luca Boccassi
  Cc: Ferruh Yigit, Kinsella, Ray, Thomas Monjalon, David Marchand,
	Christian Ehrhardt, Timothy Redaelli, Kevin Traynor, dpdk-dev,
	Laatz, Kevin, Andrew Rybchenko, Neil Horman

On Tue, Dec 10, 2019 at 03:03:51PM +0000, Luca Boccassi wrote:
> On Tue, 2019-12-10 at 14:36 +0000, Bruce Richardson wrote:
> > On Tue, Dec 10, 2019 at 12:40:53PM +0000, Ferruh Yigit wrote:
> > > On 12/10/2019 12:04 PM, Bruce Richardson wrote:
> > > > On Tue, Dec 10, 2019 at 11:56:28AM +0000, Ferruh Yigit wrote:
> > > > > Hi,
> > > > > 
> > > > > With new process, the major ABI releases will be compatible
> > > > > until it is
> > > > > deprecated (until next LTS for now),
> > > > > like current ABI version is 20 in DPDK_19.11 and DPDK versions
> > > > > until DPDK_20.11
> > > > > will be ABI compatible with this version.
> > > > > 
> > > > > But if we introduce a new API after major ABI, say in 20.02
> > > > > release, are we
> > > > > allowed to break the ABI for that API before DPDK_20.11?
> > > > > 
> > > > > If we allow it break, following problem will be observed:
> > > > > Assume an application using .so.20.1 library, and using the new
> > > > > API introduced
> > > > > in 20.02, lets say foo(),
> > > > > but when application switches to .so.20.2 (released via
> > > > > DPDK_20.05), application
> > > > > will fail because of ABI breakage in foo().
> > > > > 
> > > > > I think it is fair that application expects forward
> > > > > compatibility in minor
> > > > > versions of a shared library.
> > > > > Like if application linked against .so.20.2, fair to expect
> > > > > .so.20.3, .so.20.4
> > > > > etc will work fine. I think currently only .so.20.0 is fully
> > > > > forward compatible.
> > > > > 
> > > > > If we all agree on this, we may need to tweak the process a
> > > > > little, but before
> > > > > diving into implementation details, I would like to be sure we
> > > > > are in same page.
> > > > > 
> > > > 
> > > > Well, any new API's generally come in as experimental, in which
> > > > case
> > > > changes are allowed, and breakage can be expected. If they are
> > > > not
> > > > experiemental, then the ABI policy applies to them in that they
> > > > cannot
> > > > change since they are part of the .21 ABI, even if that ABI is
> > > > not fully
> > > > complete yet. For any application only using stable, non-
> > > > experimental
> > > > functions, forward compatibility must be maintained IMHO.
> > > > 
> > > 
> > > Talking about not experimental APIs, experimental ones free from
> > > the process.
> > > 
> > > And when and API added in 20.02 (ABI_20.1) it is kind of still
> > > ABI_20, because
> > > it should be supported for following ABI_20.x, instead of calling
> > > it ABI_21, and
> > > this minor tweak (and mind shift) in .map files can be our
> > > solution.
> > 
> > Related at what to do with adding versions between major ABI
> > versions, when
> > investigating with Kevin the ABI checking we have made an unpleasant
> > discovery:
> > 
> > This minor version bumping from 20.0 to 20.1 has apparently already
> > broken
> > our ABI according to libabigail.
> > 
> > The Gory Details [skip to the end for suggestions to fix]
> > ------------------------------------------------------------
> > 
> > The reason for this is that the soversion encoded in each library -
> > whether
> > built with meson or make - is the full 20.0 version, not just the
> > major ABI
> > .20 part. Then when apps link against DPDK, they actually encode the
> > 20.0.
> > 
> > So what this means is that currently - using a make build as an
> > example
> > here - ldd on the latest head build gives:
> > 
> >  LD_LIBRARY_PATH=$(pwd)/x86_64-native-linux-gcc/lib ldd x86_64-
> > native-linux-gcc/app/testpmd | head
> >         linux-vdso.so.1 (0x00007fff6813d000)
> >         librte_pmd_bond.so.20.1 => /home/bruce/dpdk.org/x86_64-
> > native-linux-gcc/lib/librte_pmd_bond.so.20.1 (0x00007f36d723c000)
> >         librte_pmd_dpaa.so.20.1 => /home/bruce/dpdk.org/x86_64-
> > native-linux-gcc/lib/librte_pmd_dpaa.so.20.1 (0x00007f36d7229000)
> >         librte_mempool_dpaa.so.20.1 => /home/bruce/dpdk.org/x86_64-
> > native-linux-gcc/lib/librte_mempool_dpaa.so.20.1 (0x00007f36d7224000)
> >         librte_pmd_ixgbe.so.20.1 => /home/bruce/dpdk.org/x86_64-
> > native-linux-gcc/lib/librte_pmd_ixgbe.so.20.1 (0x00007f36d71ba000)
> >         librte_pmd_i40e.so.20.1 => /home/bruce/dpdk.org/x86_64-
> > native-linux-gcc/lib/librte_pmd_i40e.so.20.1 (0x00007f36d7126000)
> >         librte_pmd_bnxt.so.20.1 => /home/bruce/dpdk.org/x86_64-
> > native-linux-gcc/lib/librte_pmd_bnxt.so.20.1 (0x00007f36d70e5000)
> >         librte_pmd_softnic.so.20.1 => /home/bruce/dpdk.org/x86_64-
> > native-linux-gcc/lib/librte_pmd_softnic.so.20.1 (0x00007f36d70b7000)
> >         librte_flow_classify.so.0.201 => /home/bruce/dpdk.org/x86_64-
> > native-linux-gcc/lib/librte_flow_classify.so.0.201
> > (0x00007f36d70b1000)
> >         librte_pipeline.so.20.1 => /home/bruce/dpdk.org/x86_64-
> > native-linux-gcc/lib/librte_pipeline.so.20.1 (0x00007f36d7088000)
> > ...
> > 
> > Similarly ldd on a 19.11 checkout gives:
> > 
> > LD_LIBRARY_PATH=$(pwd)/x86_64-native-linux-gcc_v19.11/lib ldd x86_64-
> > native-linux-gcc_v19.11/app/testpmd | head
> >         linux-vdso.so.1 (0x00007ffc2a964000)
> >         librte_pmd_bond.so.20.0 => /home/bruce/dpdk.org/x86_64-
> > native-linux-gcc_v19.11/lib/librte_pmd_bond.so.20.0
> > (0x00007fd4dc6b6000)
> >         librte_pmd_dpaa.so.20.0 => /home/bruce/dpdk.org/x86_64-
> > native-linux-gcc_v19.11/lib/librte_pmd_dpaa.so.20.0
> > (0x00007fd4dc6a3000)
> >         librte_mempool_dpaa.so.20.0 => /home/bruce/dpdk.org/x86_64-
> > native-linux-gcc_v19.11/lib/librte_mempool_dpaa.so.20.0
> > (0x00007fd4dc69e000)
> >         librte_pmd_ixgbe.so.20.0 => /home/bruce/dpdk.org/x86_64-
> > native-linux-gcc_v19.11/lib/librte_pmd_ixgbe.so.20.0
> > (0x00007fd4dc634000)
> >         librte_pmd_i40e.so.20.0 => /home/bruce/dpdk.org/x86_64-
> > native-linux-gcc_v19.11/lib/librte_pmd_i40e.so.20.0
> > (0x00007fd4dc5a0000)
> >         librte_pmd_bnxt.so.20.0 => /home/bruce/dpdk.org/x86_64-
> > native-linux-gcc_v19.11/lib/librte_pmd_bnxt.so.20.0
> > (0x00007fd4dc55d000)
> >         librte_pmd_softnic.so.20.0 => /home/bruce/dpdk.org/x86_64-
> > native-linux-gcc_v19.11/lib/librte_pmd_softnic.so.20.0
> > (0x00007fd4dc531000)
> >         librte_flow_classify.so.0.200 => /home/bruce/dpdk.org/x86_64-
> > native-linux-gcc_v19.11/lib/librte_flow_classify.so.0.200
> > (0x00007fd4dc52b000)
> >         librte_pipeline.so.20.0 => /home/bruce/dpdk.org/x86_64-
> > native-linux-gcc_v19.11/lib/librte_pipeline.so.20.0
> > (0x00007fd4dc502000)
> > 
> > The final check - using the 19.11 compiled testpmd with the library
> > path
> > set to 20.02 versionned libs:
> > 
> > LD_LIBRARY_PATH=$(pwd)/x86_64-native-linux-gcc/lib ldd x86_64-native-
> > linux-gcc_v19.11/app/testpmd | head
> >         linux-vdso.so.1 (0x00007ffc711fc000)
> >         librte_pmd_bond.so.20.0 => not found
> >         librte_pmd_dpaa.so.20.0 => not found
> >         librte_mempool_dpaa.so.20.0 => not found
> >         librte_pmd_ixgbe.so.20.0 => not found
> >         librte_pmd_i40e.so.20.0 => not found
> >         librte_pmd_bnxt.so.20.0 => not found
> >         librte_pmd_softnic.so.20.0 => not found
> >         librte_flow_classify.so.0.200 => not found
> >         librte_pipeline.so.20.0 => not found
> > 
> > Fixing This
> > -----------
> > 
> > To fix this, we need to ensure that the SONAME remains constant
> > across the
> > releases. Therefore, I currently see two options:
> > 
> > 1. keep 20.0 as the version and soname across all releases in 2020,
> > i.e.
> >   just revert the ABIVERSION change patch. Trouble there is how to
> > track
> >   20.02 vs 20.05 etc. etc.
> > 
> > 2. remove the .0, .1 from the SONAMES stored in the libraries. This
> > has the
> >   advantage of keeping the existing planned schemes, but has the
> > really big
> >   downside of breaking ABI compatibility with anyone who has already
> >   compiled with 19.11.
> > 
> > Personally, of the two options - unless someone can come up with a
> > third
> > option - I'd tend towards the second, fixing the builds to remove the
> > .0 in
> > the soname, and releasing that ASAP as 19.11.1 before 19.11 gets
> > widespread
> > adoption. Since this ABI stability is new, teething problems may be
> > expected.
> > 
> > Thoughts and comments?
> > /Bruce
> > 
> > BTW: For meson, the patch for option 2 is just to remove the
> > so_version
> > variable and all references to it from lib/meson.build and
> > drivers/meson.build. Haven't looked into a "make" fix yet.
> 
> Hi,
> 
> With libtool and its (arguably arcane) format, only the first digit is
> the ABI current version and gets encoded in the elf header. The other
> digits can be used to track compatible minor increments, and are mostly
> ignored. On the system a symlink libfoo.so.major ->
> libfoo.so.major.minor is added.
> 
> Eg:
> 
> $ readelf -d /usr/lib/x86_64-linux-gnu/libzmq.so.5.2.3 | grep SONAME
>  0x000000000000000e (SONAME)             Library soname: [libzmq.so.5]
> $ ls -l /usr/lib/x86_64-linux-gnu/libzmq.so.5
> lrwxrwxrwx 1 root root 15 Dec 31  2014 /usr/lib/x86_64-linux-
> gnu/libzmq.so.5 -> libzmq.so.5.2.3
> 
> Can we do the same? Not sure what the right incantation is for Meson,
> but it should be possibly.
>

That's essentially option 2, and it's still an ABI break because existing
builds of 19.11 have the soname will the full version number in it. The
default behaviour for meson is exactly how you described it, except that
previously we needed more exact control over the version info (for your
dpdk-specific versions in the sonames) and so overrode the soversion
explicitly. The fix for meson is to remove this overriding i.e. remove
"soversion:" parameter for each shared_library() call.

 
> Also, we should leave the current at 20.0 - let's not break
> compatibility already, please :-)
> 

If we do this, maybe we can use 20.0.1 and 20.0.2 version numbers?

^ permalink raw reply	[relevance 7%]

* Re: [dpdk-dev] How to manage new APIs added after major ABI release?
  2019-12-10 15:46  7%         ` Bruce Richardson
@ 2019-12-10 16:20  4%           ` Luca Boccassi
  2019-12-10 16:32  4%             ` Bruce Richardson
  2019-12-10 16:39  4%             ` Thomas Monjalon
  0 siblings, 2 replies; 200+ results
From: Luca Boccassi @ 2019-12-10 16:20 UTC (permalink / raw)
  To: Bruce Richardson
  Cc: Ferruh Yigit, Kinsella, Ray, Thomas Monjalon, David Marchand,
	Christian Ehrhardt, Timothy Redaelli, Kevin Traynor, dpdk-dev,
	Laatz, Kevin, Andrew Rybchenko, Neil Horman

On Tue, 2019-12-10 at 15:46 +0000, Bruce Richardson wrote:
> On Tue, Dec 10, 2019 at 03:03:51PM +0000, Luca Boccassi wrote:
> > On Tue, 2019-12-10 at 14:36 +0000, Bruce Richardson wrote:
> > > On Tue, Dec 10, 2019 at 12:40:53PM +0000, Ferruh Yigit wrote:
> > > > On 12/10/2019 12:04 PM, Bruce Richardson wrote:
> > > > > On Tue, Dec 10, 2019 at 11:56:28AM +0000, Ferruh Yigit wrote:
> > > > > > Hi,
> > > > > > 
> > > > > > With new process, the major ABI releases will be compatible
> > > > > > until it is
> > > > > > deprecated (until next LTS for now),
> > > > > > like current ABI version is 20 in DPDK_19.11 and DPDK
> > > > > > versions
> > > > > > until DPDK_20.11
> > > > > > will be ABI compatible with this version.
> > > > > > 
> > > > > > But if we introduce a new API after major ABI, say in 20.02
> > > > > > release, are we
> > > > > > allowed to break the ABI for that API before DPDK_20.11?
> > > > > > 
> > > > > > If we allow it break, following problem will be observed:
> > > > > > Assume an application using .so.20.1 library, and using the
> > > > > > new
> > > > > > API introduced
> > > > > > in 20.02, lets say foo(),
> > > > > > but when application switches to .so.20.2 (released via
> > > > > > DPDK_20.05), application
> > > > > > will fail because of ABI breakage in foo().
> > > > > > 
> > > > > > I think it is fair that application expects forward
> > > > > > compatibility in minor
> > > > > > versions of a shared library.
> > > > > > Like if application linked against .so.20.2, fair to expect
> > > > > > .so.20.3, .so.20.4
> > > > > > etc will work fine. I think currently only .so.20.0 is
> > > > > > fully
> > > > > > forward compatible.
> > > > > > 
> > > > > > If we all agree on this, we may need to tweak the process a
> > > > > > little, but before
> > > > > > diving into implementation details, I would like to be sure
> > > > > > we
> > > > > > are in same page.
> > > > > > 
> > > > > 
> > > > > Well, any new API's generally come in as experimental, in
> > > > > which
> > > > > case
> > > > > changes are allowed, and breakage can be expected. If they
> > > > > are
> > > > > not
> > > > > experiemental, then the ABI policy applies to them in that
> > > > > they
> > > > > cannot
> > > > > change since they are part of the .21 ABI, even if that ABI
> > > > > is
> > > > > not fully
> > > > > complete yet. For any application only using stable, non-
> > > > > experimental
> > > > > functions, forward compatibility must be maintained IMHO.
> > > > > 
> > > > 
> > > > Talking about not experimental APIs, experimental ones free
> > > > from
> > > > the process.
> > > > 
> > > > And when and API added in 20.02 (ABI_20.1) it is kind of still
> > > > ABI_20, because
> > > > it should be supported for following ABI_20.x, instead of
> > > > calling
> > > > it ABI_21, and
> > > > this minor tweak (and mind shift) in .map files can be our
> > > > solution.
> > > 
> > > Related at what to do with adding versions between major ABI
> > > versions, when
> > > investigating with Kevin the ABI checking we have made an
> > > unpleasant
> > > discovery:
> > > 
> > > This minor version bumping from 20.0 to 20.1 has apparently
> > > already
> > > broken
> > > our ABI according to libabigail.
> > > 
> > > The Gory Details [skip to the end for suggestions to fix]
> > > ------------------------------------------------------------
> > > 
> > > The reason for this is that the soversion encoded in each library
> > > -
> > > whether
> > > built with meson or make - is the full 20.0 version, not just the
> > > major ABI
> > > .20 part. Then when apps link against DPDK, they actually encode
> > > the
> > > 20.0.
> > > 
> > > So what this means is that currently - using a make build as an
> > > example
> > > here - ldd on the latest head build gives:
> > > 
> > >  LD_LIBRARY_PATH=$(pwd)/x86_64-native-linux-gcc/lib ldd x86_64-
> > > native-linux-gcc/app/testpmd | head
> > >         linux-vdso.so.1 (0x00007fff6813d000)
> > >         librte_pmd_bond.so.20.1 => /home/bruce/dpdk.org/x86_64-
> > > native-linux-gcc/lib/librte_pmd_bond.so.20.1 (0x00007f36d723c000)
> > >         librte_pmd_dpaa.so.20.1 => /home/bruce/dpdk.org/x86_64-
> > > native-linux-gcc/lib/librte_pmd_dpaa.so.20.1 (0x00007f36d7229000)
> > >         librte_mempool_dpaa.so.20.1 =>
> > > /home/bruce/dpdk.org/x86_64-
> > > native-linux-gcc/lib/librte_mempool_dpaa.so.20.1
> > > (0x00007f36d7224000)
> > >         librte_pmd_ixgbe.so.20.1 => /home/bruce/dpdk.org/x86_64-
> > > native-linux-gcc/lib/librte_pmd_ixgbe.so.20.1
> > > (0x00007f36d71ba000)
> > >         librte_pmd_i40e.so.20.1 => /home/bruce/dpdk.org/x86_64-
> > > native-linux-gcc/lib/librte_pmd_i40e.so.20.1 (0x00007f36d7126000)
> > >         librte_pmd_bnxt.so.20.1 => /home/bruce/dpdk.org/x86_64-
> > > native-linux-gcc/lib/librte_pmd_bnxt.so.20.1 (0x00007f36d70e5000)
> > >         librte_pmd_softnic.so.20.1 =>
> > > /home/bruce/dpdk.org/x86_64-
> > > native-linux-gcc/lib/librte_pmd_softnic.so.20.1
> > > (0x00007f36d70b7000)
> > >         librte_flow_classify.so.0.201 =>
> > > /home/bruce/dpdk.org/x86_64-
> > > native-linux-gcc/lib/librte_flow_classify.so.0.201
> > > (0x00007f36d70b1000)
> > >         librte_pipeline.so.20.1 => /home/bruce/dpdk.org/x86_64-
> > > native-linux-gcc/lib/librte_pipeline.so.20.1 (0x00007f36d7088000)
> > > ...
> > > 
> > > Similarly ldd on a 19.11 checkout gives:
> > > 
> > > LD_LIBRARY_PATH=$(pwd)/x86_64-native-linux-gcc_v19.11/lib ldd
> > > x86_64-
> > > native-linux-gcc_v19.11/app/testpmd | head
> > >         linux-vdso.so.1 (0x00007ffc2a964000)
> > >         librte_pmd_bond.so.20.0 => /home/bruce/dpdk.org/x86_64-
> > > native-linux-gcc_v19.11/lib/librte_pmd_bond.so.20.0
> > > (0x00007fd4dc6b6000)
> > >         librte_pmd_dpaa.so.20.0 => /home/bruce/dpdk.org/x86_64-
> > > native-linux-gcc_v19.11/lib/librte_pmd_dpaa.so.20.0
> > > (0x00007fd4dc6a3000)
> > >         librte_mempool_dpaa.so.20.0 =>
> > > /home/bruce/dpdk.org/x86_64-
> > > native-linux-gcc_v19.11/lib/librte_mempool_dpaa.so.20.0
> > > (0x00007fd4dc69e000)
> > >         librte_pmd_ixgbe.so.20.0 => /home/bruce/dpdk.org/x86_64-
> > > native-linux-gcc_v19.11/lib/librte_pmd_ixgbe.so.20.0
> > > (0x00007fd4dc634000)
> > >         librte_pmd_i40e.so.20.0 => /home/bruce/dpdk.org/x86_64-
> > > native-linux-gcc_v19.11/lib/librte_pmd_i40e.so.20.0
> > > (0x00007fd4dc5a0000)
> > >         librte_pmd_bnxt.so.20.0 => /home/bruce/dpdk.org/x86_64-
> > > native-linux-gcc_v19.11/lib/librte_pmd_bnxt.so.20.0
> > > (0x00007fd4dc55d000)
> > >         librte_pmd_softnic.so.20.0 =>
> > > /home/bruce/dpdk.org/x86_64-
> > > native-linux-gcc_v19.11/lib/librte_pmd_softnic.so.20.0
> > > (0x00007fd4dc531000)
> > >         librte_flow_classify.so.0.200 =>
> > > /home/bruce/dpdk.org/x86_64-
> > > native-linux-gcc_v19.11/lib/librte_flow_classify.so.0.200
> > > (0x00007fd4dc52b000)
> > >         librte_pipeline.so.20.0 => /home/bruce/dpdk.org/x86_64-
> > > native-linux-gcc_v19.11/lib/librte_pipeline.so.20.0
> > > (0x00007fd4dc502000)
> > > 
> > > The final check - using the 19.11 compiled testpmd with the
> > > library
> > > path
> > > set to 20.02 versionned libs:
> > > 
> > > LD_LIBRARY_PATH=$(pwd)/x86_64-native-linux-gcc/lib ldd x86_64-
> > > native-
> > > linux-gcc_v19.11/app/testpmd | head
> > >         linux-vdso.so.1 (0x00007ffc711fc000)
> > >         librte_pmd_bond.so.20.0 => not found
> > >         librte_pmd_dpaa.so.20.0 => not found
> > >         librte_mempool_dpaa.so.20.0 => not found
> > >         librte_pmd_ixgbe.so.20.0 => not found
> > >         librte_pmd_i40e.so.20.0 => not found
> > >         librte_pmd_bnxt.so.20.0 => not found
> > >         librte_pmd_softnic.so.20.0 => not found
> > >         librte_flow_classify.so.0.200 => not found
> > >         librte_pipeline.so.20.0 => not found
> > > 
> > > Fixing This
> > > -----------
> > > 
> > > To fix this, we need to ensure that the SONAME remains constant
> > > across the
> > > releases. Therefore, I currently see two options:
> > > 
> > > 1. keep 20.0 as the version and soname across all releases in
> > > 2020,
> > > i.e.
> > >   just revert the ABIVERSION change patch. Trouble there is how
> > > to
> > > track
> > >   20.02 vs 20.05 etc. etc.
> > > 
> > > 2. remove the .0, .1 from the SONAMES stored in the libraries.
> > > This
> > > has the
> > >   advantage of keeping the existing planned schemes, but has the
> > > really big
> > >   downside of breaking ABI compatibility with anyone who has
> > > already
> > >   compiled with 19.11.
> > > 
> > > Personally, of the two options - unless someone can come up with
> > > a
> > > third
> > > option - I'd tend towards the second, fixing the builds to remove
> > > the
> > > .0 in
> > > the soname, and releasing that ASAP as 19.11.1 before 19.11 gets
> > > widespread
> > > adoption. Since this ABI stability is new, teething problems may
> > > be
> > > expected.
> > > 
> > > Thoughts and comments?
> > > /Bruce
> > > 
> > > BTW: For meson, the patch for option 2 is just to remove the
> > > so_version
> > > variable and all references to it from lib/meson.build and
> > > drivers/meson.build. Haven't looked into a "make" fix yet.
> > 
> > Hi,
> > 
> > With libtool and its (arguably arcane) format, only the first digit
> > is
> > the ABI current version and gets encoded in the elf header. The
> > other
> > digits can be used to track compatible minor increments, and are
> > mostly
> > ignored. On the system a symlink libfoo.so.major ->
> > libfoo.so.major.minor is added.
> > 
> > Eg:
> > 
> > $ readelf -d /usr/lib/x86_64-linux-gnu/libzmq.so.5.2.3 | grep
> > SONAME
> >  0x000000000000000e (SONAME)             Library soname:
> > [libzmq.so.5]
> > $ ls -l /usr/lib/x86_64-linux-gnu/libzmq.so.5
> > lrwxrwxrwx 1 root root 15 Dec 31  2014 /usr/lib/x86_64-linux-
> > gnu/libzmq.so.5 -> libzmq.so.5.2.3
> > 
> > Can we do the same? Not sure what the right incantation is for
> > Meson,
> > but it should be possibly.
> > 
> 
> That's essentially option 2, and it's still an ABI break because
> existing
> builds of 19.11 have the soname will the full version number in it.
> The
> default behaviour for meson is exactly how you described it, except
> that
> previously we needed more exact control over the version info (for
> your
> dpdk-specific versions in the sonames) and so overrode the soversion
> explicitly. The fix for meson is to remove this overriding i.e.
> remove
> "soversion:" parameter for each shared_library() call.
> 
>  
> > Also, we should leave the current at 20.0 - let's not break
> > compatibility already, please :-)
> > 
> 
> If we do this, maybe we can use 20.0.1 and 20.0.2 version numbers?

Yes, that's what I meant - IMHO we should just take the hit and use the
slightly weird 20.0 format until next year, and add a third digit for
compatible updates. Then for v21 we can drop it.

-- 
Kind regards,
Luca Boccassi

^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] How to manage new APIs added after major ABI release?
  2019-12-10 16:20  4%           ` Luca Boccassi
@ 2019-12-10 16:32  4%             ` Bruce Richardson
  2019-12-10 17:01  4%               ` Kinsella, Ray
  2019-12-10 17:04  8%               ` Thomas Monjalon
  2019-12-10 16:39  4%             ` Thomas Monjalon
  1 sibling, 2 replies; 200+ results
From: Bruce Richardson @ 2019-12-10 16:32 UTC (permalink / raw)
  To: Luca Boccassi
  Cc: Ferruh Yigit, Kinsella, Ray, Thomas Monjalon, David Marchand,
	Christian Ehrhardt, Timothy Redaelli, Kevin Traynor, dpdk-dev,
	Laatz, Kevin, Andrew Rybchenko, Neil Horman

On Tue, Dec 10, 2019 at 04:20:41PM +0000, Luca Boccassi wrote:
> On Tue, 2019-12-10 at 15:46 +0000, Bruce Richardson wrote:
> > On Tue, Dec 10, 2019 at 03:03:51PM +0000, Luca Boccassi wrote:
> > > On Tue, 2019-12-10 at 14:36 +0000, Bruce Richardson wrote:
> > > > On Tue, Dec 10, 2019 at 12:40:53PM +0000, Ferruh Yigit wrote:
> > > > > On 12/10/2019 12:04 PM, Bruce Richardson wrote:
> > > > > > On Tue, Dec 10, 2019 at 11:56:28AM +0000, Ferruh Yigit wrote:
> > > > > > > Hi,
> > > > > > > 
> > > > > > > With new process, the major ABI releases will be compatible
> > > > > > > until it is
> > > > > > > deprecated (until next LTS for now),
> > > > > > > like current ABI version is 20 in DPDK_19.11 and DPDK
> > > > > > > versions
> > > > > > > until DPDK_20.11
> > > > > > > will be ABI compatible with this version.
> > > > > > > 
> > > > > > > But if we introduce a new API after major ABI, say in 20.02
> > > > > > > release, are we
> > > > > > > allowed to break the ABI for that API before DPDK_20.11?
> > > > > > > 
> > > > > > > If we allow it break, following problem will be observed:
> > > > > > > Assume an application using .so.20.1 library, and using the
> > > > > > > new
> > > > > > > API introduced
> > > > > > > in 20.02, lets say foo(),
> > > > > > > but when application switches to .so.20.2 (released via
> > > > > > > DPDK_20.05), application
> > > > > > > will fail because of ABI breakage in foo().
> > > > > > > 
> > > > > > > I think it is fair that application expects forward
> > > > > > > compatibility in minor
> > > > > > > versions of a shared library.
> > > > > > > Like if application linked against .so.20.2, fair to expect
> > > > > > > .so.20.3, .so.20.4
> > > > > > > etc will work fine. I think currently only .so.20.0 is
> > > > > > > fully
> > > > > > > forward compatible.
> > > > > > > 
> > > > > > > If we all agree on this, we may need to tweak the process a
> > > > > > > little, but before
> > > > > > > diving into implementation details, I would like to be sure
> > > > > > > we
> > > > > > > are in same page.
> > > > > > > 
> > > > > > 
> > > > > > Well, any new API's generally come in as experimental, in
> > > > > > which
> > > > > > case
> > > > > > changes are allowed, and breakage can be expected. If they
> > > > > > are
> > > > > > not
> > > > > > experiemental, then the ABI policy applies to them in that
> > > > > > they
> > > > > > cannot
> > > > > > change since they are part of the .21 ABI, even if that ABI
> > > > > > is
> > > > > > not fully
> > > > > > complete yet. For any application only using stable, non-
> > > > > > experimental
> > > > > > functions, forward compatibility must be maintained IMHO.
> > > > > > 
> > > > > 
> > > > > Talking about not experimental APIs, experimental ones free
> > > > > from
> > > > > the process.
> > > > > 
> > > > > And when and API added in 20.02 (ABI_20.1) it is kind of still
> > > > > ABI_20, because
> > > > > it should be supported for following ABI_20.x, instead of
> > > > > calling
> > > > > it ABI_21, and
> > > > > this minor tweak (and mind shift) in .map files can be our
> > > > > solution.
> > > > 
> > > > Related at what to do with adding versions between major ABI
> > > > versions, when
> > > > investigating with Kevin the ABI checking we have made an
> > > > unpleasant
> > > > discovery:
> > > > 
> > > > This minor version bumping from 20.0 to 20.1 has apparently
> > > > already
> > > > broken
> > > > our ABI according to libabigail.
> > > > 
> > > > The Gory Details [skip to the end for suggestions to fix]
> > > > ------------------------------------------------------------
> > > > 
> > > > The reason for this is that the soversion encoded in each library
> > > > -
> > > > whether
> > > > built with meson or make - is the full 20.0 version, not just the
> > > > major ABI
> > > > .20 part. Then when apps link against DPDK, they actually encode
> > > > the
> > > > 20.0.
> > > > 
> > > > So what this means is that currently - using a make build as an
> > > > example
> > > > here - ldd on the latest head build gives:
> > > > 
> > > >  LD_LIBRARY_PATH=$(pwd)/x86_64-native-linux-gcc/lib ldd x86_64-
> > > > native-linux-gcc/app/testpmd | head
> > > >         linux-vdso.so.1 (0x00007fff6813d000)
> > > >         librte_pmd_bond.so.20.1 => /home/bruce/dpdk.org/x86_64-
> > > > native-linux-gcc/lib/librte_pmd_bond.so.20.1 (0x00007f36d723c000)
> > > >         librte_pmd_dpaa.so.20.1 => /home/bruce/dpdk.org/x86_64-
> > > > native-linux-gcc/lib/librte_pmd_dpaa.so.20.1 (0x00007f36d7229000)
> > > >         librte_mempool_dpaa.so.20.1 =>
> > > > /home/bruce/dpdk.org/x86_64-
> > > > native-linux-gcc/lib/librte_mempool_dpaa.so.20.1
> > > > (0x00007f36d7224000)
> > > >         librte_pmd_ixgbe.so.20.1 => /home/bruce/dpdk.org/x86_64-
> > > > native-linux-gcc/lib/librte_pmd_ixgbe.so.20.1
> > > > (0x00007f36d71ba000)
> > > >         librte_pmd_i40e.so.20.1 => /home/bruce/dpdk.org/x86_64-
> > > > native-linux-gcc/lib/librte_pmd_i40e.so.20.1 (0x00007f36d7126000)
> > > >         librte_pmd_bnxt.so.20.1 => /home/bruce/dpdk.org/x86_64-
> > > > native-linux-gcc/lib/librte_pmd_bnxt.so.20.1 (0x00007f36d70e5000)
> > > >         librte_pmd_softnic.so.20.1 =>
> > > > /home/bruce/dpdk.org/x86_64-
> > > > native-linux-gcc/lib/librte_pmd_softnic.so.20.1
> > > > (0x00007f36d70b7000)
> > > >         librte_flow_classify.so.0.201 =>
> > > > /home/bruce/dpdk.org/x86_64-
> > > > native-linux-gcc/lib/librte_flow_classify.so.0.201
> > > > (0x00007f36d70b1000)
> > > >         librte_pipeline.so.20.1 => /home/bruce/dpdk.org/x86_64-
> > > > native-linux-gcc/lib/librte_pipeline.so.20.1 (0x00007f36d7088000)
> > > > ...
> > > > 
> > > > Similarly ldd on a 19.11 checkout gives:
> > > > 
> > > > LD_LIBRARY_PATH=$(pwd)/x86_64-native-linux-gcc_v19.11/lib ldd
> > > > x86_64-
> > > > native-linux-gcc_v19.11/app/testpmd | head
> > > >         linux-vdso.so.1 (0x00007ffc2a964000)
> > > >         librte_pmd_bond.so.20.0 => /home/bruce/dpdk.org/x86_64-
> > > > native-linux-gcc_v19.11/lib/librte_pmd_bond.so.20.0
> > > > (0x00007fd4dc6b6000)
> > > >         librte_pmd_dpaa.so.20.0 => /home/bruce/dpdk.org/x86_64-
> > > > native-linux-gcc_v19.11/lib/librte_pmd_dpaa.so.20.0
> > > > (0x00007fd4dc6a3000)
> > > >         librte_mempool_dpaa.so.20.0 =>
> > > > /home/bruce/dpdk.org/x86_64-
> > > > native-linux-gcc_v19.11/lib/librte_mempool_dpaa.so.20.0
> > > > (0x00007fd4dc69e000)
> > > >         librte_pmd_ixgbe.so.20.0 => /home/bruce/dpdk.org/x86_64-
> > > > native-linux-gcc_v19.11/lib/librte_pmd_ixgbe.so.20.0
> > > > (0x00007fd4dc634000)
> > > >         librte_pmd_i40e.so.20.0 => /home/bruce/dpdk.org/x86_64-
> > > > native-linux-gcc_v19.11/lib/librte_pmd_i40e.so.20.0
> > > > (0x00007fd4dc5a0000)
> > > >         librte_pmd_bnxt.so.20.0 => /home/bruce/dpdk.org/x86_64-
> > > > native-linux-gcc_v19.11/lib/librte_pmd_bnxt.so.20.0
> > > > (0x00007fd4dc55d000)
> > > >         librte_pmd_softnic.so.20.0 =>
> > > > /home/bruce/dpdk.org/x86_64-
> > > > native-linux-gcc_v19.11/lib/librte_pmd_softnic.so.20.0
> > > > (0x00007fd4dc531000)
> > > >         librte_flow_classify.so.0.200 =>
> > > > /home/bruce/dpdk.org/x86_64-
> > > > native-linux-gcc_v19.11/lib/librte_flow_classify.so.0.200
> > > > (0x00007fd4dc52b000)
> > > >         librte_pipeline.so.20.0 => /home/bruce/dpdk.org/x86_64-
> > > > native-linux-gcc_v19.11/lib/librte_pipeline.so.20.0
> > > > (0x00007fd4dc502000)
> > > > 
> > > > The final check - using the 19.11 compiled testpmd with the
> > > > library
> > > > path
> > > > set to 20.02 versionned libs:
> > > > 
> > > > LD_LIBRARY_PATH=$(pwd)/x86_64-native-linux-gcc/lib ldd x86_64-
> > > > native-
> > > > linux-gcc_v19.11/app/testpmd | head
> > > >         linux-vdso.so.1 (0x00007ffc711fc000)
> > > >         librte_pmd_bond.so.20.0 => not found
> > > >         librte_pmd_dpaa.so.20.0 => not found
> > > >         librte_mempool_dpaa.so.20.0 => not found
> > > >         librte_pmd_ixgbe.so.20.0 => not found
> > > >         librte_pmd_i40e.so.20.0 => not found
> > > >         librte_pmd_bnxt.so.20.0 => not found
> > > >         librte_pmd_softnic.so.20.0 => not found
> > > >         librte_flow_classify.so.0.200 => not found
> > > >         librte_pipeline.so.20.0 => not found
> > > > 
> > > > Fixing This
> > > > -----------
> > > > 
> > > > To fix this, we need to ensure that the SONAME remains constant
> > > > across the
> > > > releases. Therefore, I currently see two options:
> > > > 
> > > > 1. keep 20.0 as the version and soname across all releases in
> > > > 2020,
> > > > i.e.
> > > >   just revert the ABIVERSION change patch. Trouble there is how
> > > > to
> > > > track
> > > >   20.02 vs 20.05 etc. etc.
> > > > 
> > > > 2. remove the .0, .1 from the SONAMES stored in the libraries.
> > > > This
> > > > has the
> > > >   advantage of keeping the existing planned schemes, but has the
> > > > really big
> > > >   downside of breaking ABI compatibility with anyone who has
> > > > already
> > > >   compiled with 19.11.
> > > > 
> > > > Personally, of the two options - unless someone can come up with
> > > > a
> > > > third
> > > > option - I'd tend towards the second, fixing the builds to remove
> > > > the
> > > > .0 in
> > > > the soname, and releasing that ASAP as 19.11.1 before 19.11 gets
> > > > widespread
> > > > adoption. Since this ABI stability is new, teething problems may
> > > > be
> > > > expected.
> > > > 
> > > > Thoughts and comments?
> > > > /Bruce
> > > > 
> > > > BTW: For meson, the patch for option 2 is just to remove the
> > > > so_version
> > > > variable and all references to it from lib/meson.build and
> > > > drivers/meson.build. Haven't looked into a "make" fix yet.
> > > 
> > > Hi,
> > > 
> > > With libtool and its (arguably arcane) format, only the first digit
> > > is
> > > the ABI current version and gets encoded in the elf header. The
> > > other
> > > digits can be used to track compatible minor increments, and are
> > > mostly
> > > ignored. On the system a symlink libfoo.so.major ->
> > > libfoo.so.major.minor is added.
> > > 
> > > Eg:
> > > 
> > > $ readelf -d /usr/lib/x86_64-linux-gnu/libzmq.so.5.2.3 | grep
> > > SONAME
> > >  0x000000000000000e (SONAME)             Library soname:
> > > [libzmq.so.5]
> > > $ ls -l /usr/lib/x86_64-linux-gnu/libzmq.so.5
> > > lrwxrwxrwx 1 root root 15 Dec 31  2014 /usr/lib/x86_64-linux-
> > > gnu/libzmq.so.5 -> libzmq.so.5.2.3
> > > 
> > > Can we do the same? Not sure what the right incantation is for
> > > Meson,
> > > but it should be possibly.
> > > 
> > 
> > That's essentially option 2, and it's still an ABI break because
> > existing
> > builds of 19.11 have the soname will the full version number in it.
> > The
> > default behaviour for meson is exactly how you described it, except
> > that
> > previously we needed more exact control over the version info (for
> > your
> > dpdk-specific versions in the sonames) and so overrode the soversion
> > explicitly. The fix for meson is to remove this overriding i.e.
> > remove
> > "soversion:" parameter for each shared_library() call.
> > 
> >  
> > > Also, we should leave the current at 20.0 - let's not break
> > > compatibility already, please :-)
> > > 
> > 
> > If we do this, maybe we can use 20.0.1 and 20.0.2 version numbers?
> 
> Yes, that's what I meant - IMHO we should just take the hit and use the
> slightly weird 20.0 format until next year, and add a third digit for
> compatible updates. Then for v21 we can drop it.
>
My concern with that is us forgetting, because we'll put in place hacks to
have the soversion be the first two numbers of the version. Then we need to
remember to remove those hacks before 20.11 goes out or we'll end up with
21.0 being the soversion again.

For that reason, I'd rather see us fix it now before 19.11 gets widely
adopted.

/Bruce

^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] How to manage new APIs added after major ABI release?
  2019-12-10 16:20  4%           ` Luca Boccassi
  2019-12-10 16:32  4%             ` Bruce Richardson
@ 2019-12-10 16:39  4%             ` Thomas Monjalon
  2019-12-10 17:00  7%               ` Bruce Richardson
  1 sibling, 1 reply; 200+ results
From: Thomas Monjalon @ 2019-12-10 16:39 UTC (permalink / raw)
  To: Luca Boccassi, Bruce Richardson, Ferruh Yigit
  Cc: Kinsella, Ray, David Marchand, Christian Ehrhardt,
	Timothy Redaelli, Kevin Traynor, dpdk-dev, Laatz, Kevin,
	Andrew Rybchenko, Neil Horman

10/12/2019 17:20, Luca Boccassi:
> On Tue, 2019-12-10 at 15:46 +0000, Bruce Richardson wrote:
> > On Tue, Dec 10, 2019 at 03:03:51PM +0000, Luca Boccassi wrote:
> > > On Tue, 2019-12-10 at 14:36 +0000, Bruce Richardson wrote:
> > > > On Tue, Dec 10, 2019 at 12:40:53PM +0000, Ferruh Yigit wrote:
> > > > > On 12/10/2019 12:04 PM, Bruce Richardson wrote:
> > > > > > On Tue, Dec 10, 2019 at 11:56:28AM +0000, Ferruh Yigit wrote:
> > > > > > > Hi,
> > > > > > > 
> > > > > > > With new process, the major ABI releases will be compatible
> > > > > > > until it is
> > > > > > > deprecated (until next LTS for now),
> > > > > > > like current ABI version is 20 in DPDK_19.11 and DPDK
> > > > > > > versions
> > > > > > > until DPDK_20.11
> > > > > > > will be ABI compatible with this version.
> > > > > > > 
> > > > > > > But if we introduce a new API after major ABI, say in 20.02
> > > > > > > release, are we
> > > > > > > allowed to break the ABI for that API before DPDK_20.11?
> > > > > > > 
> > > > > > > If we allow it break, following problem will be observed:
> > > > > > > Assume an application using .so.20.1 library, and using the
> > > > > > > new
> > > > > > > API introduced
> > > > > > > in 20.02, lets say foo(),
> > > > > > > but when application switches to .so.20.2 (released via
> > > > > > > DPDK_20.05), application
> > > > > > > will fail because of ABI breakage in foo().
> > > > > > > 
> > > > > > > I think it is fair that application expects forward
> > > > > > > compatibility in minor
> > > > > > > versions of a shared library.
> > > > > > > Like if application linked against .so.20.2, fair to expect
> > > > > > > .so.20.3, .so.20.4
> > > > > > > etc will work fine. I think currently only .so.20.0 is
> > > > > > > fully
> > > > > > > forward compatible.
> > > > > > > 
> > > > > > > If we all agree on this, we may need to tweak the process a
> > > > > > > little, but before
> > > > > > > diving into implementation details, I would like to be sure
> > > > > > > we
> > > > > > > are in same page.
> > > > > > > 
> > > > > > 
> > > > > > Well, any new API's generally come in as experimental, in
> > > > > > which
> > > > > > case
> > > > > > changes are allowed, and breakage can be expected. If they
> > > > > > are
> > > > > > not
> > > > > > experiemental, then the ABI policy applies to them in that
> > > > > > they
> > > > > > cannot
> > > > > > change since they are part of the .21 ABI, even if that ABI
> > > > > > is
> > > > > > not fully
> > > > > > complete yet. For any application only using stable, non-
> > > > > > experimental
> > > > > > functions, forward compatibility must be maintained IMHO.
> > > > > > 
> > > > > 
> > > > > Talking about not experimental APIs, experimental ones free
> > > > > from
> > > > > the process.
> > > > > 
> > > > > And when and API added in 20.02 (ABI_20.1) it is kind of still
> > > > > ABI_20, because
> > > > > it should be supported for following ABI_20.x, instead of
> > > > > calling
> > > > > it ABI_21, and
> > > > > this minor tweak (and mind shift) in .map files can be our
> > > > > solution.
> > > > 
> > > > Related at what to do with adding versions between major ABI
> > > > versions, when
> > > > investigating with Kevin the ABI checking we have made an
> > > > unpleasant
> > > > discovery:
> > > > 
> > > > This minor version bumping from 20.0 to 20.1 has apparently
> > > > already
> > > > broken
> > > > our ABI according to libabigail.
> > > > 
> > > > The Gory Details [skip to the end for suggestions to fix]
> > > > ------------------------------------------------------------
> > > > 
> > > > The reason for this is that the soversion encoded in each library
> > > > -
> > > > whether
> > > > built with meson or make - is the full 20.0 version, not just the
> > > > major ABI
> > > > .20 part. Then when apps link against DPDK, they actually encode
> > > > the
> > > > 20.0.
> > > > 
> > > > So what this means is that currently - using a make build as an
> > > > example
> > > > here - ldd on the latest head build gives:
> > > > 
> > > >  LD_LIBRARY_PATH=$(pwd)/x86_64-native-linux-gcc/lib ldd x86_64-
> > > > native-linux-gcc/app/testpmd | head
> > > >         linux-vdso.so.1 (0x00007fff6813d000)
> > > >         librte_pmd_bond.so.20.1 => /home/bruce/dpdk.org/x86_64-
> > > > native-linux-gcc/lib/librte_pmd_bond.so.20.1 (0x00007f36d723c000)
> > > >         librte_pmd_dpaa.so.20.1 => /home/bruce/dpdk.org/x86_64-
> > > > native-linux-gcc/lib/librte_pmd_dpaa.so.20.1 (0x00007f36d7229000)
> > > >         librte_mempool_dpaa.so.20.1 =>
> > > > /home/bruce/dpdk.org/x86_64-
> > > > native-linux-gcc/lib/librte_mempool_dpaa.so.20.1
> > > > (0x00007f36d7224000)
> > > >         librte_pmd_ixgbe.so.20.1 => /home/bruce/dpdk.org/x86_64-
> > > > native-linux-gcc/lib/librte_pmd_ixgbe.so.20.1
> > > > (0x00007f36d71ba000)
> > > >         librte_pmd_i40e.so.20.1 => /home/bruce/dpdk.org/x86_64-
> > > > native-linux-gcc/lib/librte_pmd_i40e.so.20.1 (0x00007f36d7126000)
> > > >         librte_pmd_bnxt.so.20.1 => /home/bruce/dpdk.org/x86_64-
> > > > native-linux-gcc/lib/librte_pmd_bnxt.so.20.1 (0x00007f36d70e5000)
> > > >         librte_pmd_softnic.so.20.1 =>
> > > > /home/bruce/dpdk.org/x86_64-
> > > > native-linux-gcc/lib/librte_pmd_softnic.so.20.1
> > > > (0x00007f36d70b7000)
> > > >         librte_flow_classify.so.0.201 =>
> > > > /home/bruce/dpdk.org/x86_64-
> > > > native-linux-gcc/lib/librte_flow_classify.so.0.201
> > > > (0x00007f36d70b1000)
> > > >         librte_pipeline.so.20.1 => /home/bruce/dpdk.org/x86_64-
> > > > native-linux-gcc/lib/librte_pipeline.so.20.1 (0x00007f36d7088000)
> > > > ...
> > > > 
> > > > Similarly ldd on a 19.11 checkout gives:
> > > > 
> > > > LD_LIBRARY_PATH=$(pwd)/x86_64-native-linux-gcc_v19.11/lib ldd
> > > > x86_64-
> > > > native-linux-gcc_v19.11/app/testpmd | head
> > > >         linux-vdso.so.1 (0x00007ffc2a964000)
> > > >         librte_pmd_bond.so.20.0 => /home/bruce/dpdk.org/x86_64-
> > > > native-linux-gcc_v19.11/lib/librte_pmd_bond.so.20.0
> > > > (0x00007fd4dc6b6000)
> > > >         librte_pmd_dpaa.so.20.0 => /home/bruce/dpdk.org/x86_64-
> > > > native-linux-gcc_v19.11/lib/librte_pmd_dpaa.so.20.0
> > > > (0x00007fd4dc6a3000)
> > > >         librte_mempool_dpaa.so.20.0 =>
> > > > /home/bruce/dpdk.org/x86_64-
> > > > native-linux-gcc_v19.11/lib/librte_mempool_dpaa.so.20.0
> > > > (0x00007fd4dc69e000)
> > > >         librte_pmd_ixgbe.so.20.0 => /home/bruce/dpdk.org/x86_64-
> > > > native-linux-gcc_v19.11/lib/librte_pmd_ixgbe.so.20.0
> > > > (0x00007fd4dc634000)
> > > >         librte_pmd_i40e.so.20.0 => /home/bruce/dpdk.org/x86_64-
> > > > native-linux-gcc_v19.11/lib/librte_pmd_i40e.so.20.0
> > > > (0x00007fd4dc5a0000)
> > > >         librte_pmd_bnxt.so.20.0 => /home/bruce/dpdk.org/x86_64-
> > > > native-linux-gcc_v19.11/lib/librte_pmd_bnxt.so.20.0
> > > > (0x00007fd4dc55d000)
> > > >         librte_pmd_softnic.so.20.0 =>
> > > > /home/bruce/dpdk.org/x86_64-
> > > > native-linux-gcc_v19.11/lib/librte_pmd_softnic.so.20.0
> > > > (0x00007fd4dc531000)
> > > >         librte_flow_classify.so.0.200 =>
> > > > /home/bruce/dpdk.org/x86_64-
> > > > native-linux-gcc_v19.11/lib/librte_flow_classify.so.0.200
> > > > (0x00007fd4dc52b000)
> > > >         librte_pipeline.so.20.0 => /home/bruce/dpdk.org/x86_64-
> > > > native-linux-gcc_v19.11/lib/librte_pipeline.so.20.0
> > > > (0x00007fd4dc502000)
> > > > 
> > > > The final check - using the 19.11 compiled testpmd with the
> > > > library
> > > > path
> > > > set to 20.02 versionned libs:
> > > > 
> > > > LD_LIBRARY_PATH=$(pwd)/x86_64-native-linux-gcc/lib ldd x86_64-
> > > > native-
> > > > linux-gcc_v19.11/app/testpmd | head
> > > >         linux-vdso.so.1 (0x00007ffc711fc000)
> > > >         librte_pmd_bond.so.20.0 => not found
> > > >         librte_pmd_dpaa.so.20.0 => not found
> > > >         librte_mempool_dpaa.so.20.0 => not found
> > > >         librte_pmd_ixgbe.so.20.0 => not found
> > > >         librte_pmd_i40e.so.20.0 => not found
> > > >         librte_pmd_bnxt.so.20.0 => not found
> > > >         librte_pmd_softnic.so.20.0 => not found
> > > >         librte_flow_classify.so.0.200 => not found
> > > >         librte_pipeline.so.20.0 => not found
> > > > 
> > > > Fixing This
> > > > -----------
> > > > 
> > > > To fix this, we need to ensure that the SONAME remains constant
> > > > across the
> > > > releases. Therefore, I currently see two options:
> > > > 
> > > > 1. keep 20.0 as the version and soname across all releases in
> > > > 2020,
> > > > i.e.
> > > >   just revert the ABIVERSION change patch. Trouble there is how
> > > > to
> > > > track
> > > >   20.02 vs 20.05 etc. etc.
> > > > 
> > > > 2. remove the .0, .1 from the SONAMES stored in the libraries.
> > > > This
> > > > has the
> > > >   advantage of keeping the existing planned schemes, but has the
> > > > really big
> > > >   downside of breaking ABI compatibility with anyone who has
> > > > already
> > > >   compiled with 19.11.
> > > > 
> > > > Personally, of the two options - unless someone can come up with
> > > > a
> > > > third
> > > > option - I'd tend towards the second, fixing the builds to remove
> > > > the
> > > > .0 in
> > > > the soname, and releasing that ASAP as 19.11.1 before 19.11 gets
> > > > widespread
> > > > adoption. Since this ABI stability is new, teething problems may
> > > > be
> > > > expected.
> > > > 
> > > > Thoughts and comments?
> > > > /Bruce
> > > > 
> > > > BTW: For meson, the patch for option 2 is just to remove the
> > > > so_version
> > > > variable and all references to it from lib/meson.build and
> > > > drivers/meson.build. Haven't looked into a "make" fix yet.
> > > 
> > > Hi,
> > > 
> > > With libtool and its (arguably arcane) format, only the first digit
> > > is
> > > the ABI current version and gets encoded in the elf header. The
> > > other
> > > digits can be used to track compatible minor increments, and are
> > > mostly
> > > ignored. On the system a symlink libfoo.so.major ->
> > > libfoo.so.major.minor is added.
> > > 
> > > Eg:
> > > 
> > > $ readelf -d /usr/lib/x86_64-linux-gnu/libzmq.so.5.2.3 | grep
> > > SONAME
> > >  0x000000000000000e (SONAME)             Library soname:
> > > [libzmq.so.5]
> > > $ ls -l /usr/lib/x86_64-linux-gnu/libzmq.so.5
> > > lrwxrwxrwx 1 root root 15 Dec 31  2014 /usr/lib/x86_64-linux-
> > > gnu/libzmq.so.5 -> libzmq.so.5.2.3
> > > 
> > > Can we do the same? Not sure what the right incantation is for
> > > Meson,
> > > but it should be possibly.
> > > 
> > 
> > That's essentially option 2, and it's still an ABI break because
> > existing
> > builds of 19.11 have the soname will the full version number in it.
> > The
> > default behaviour for meson is exactly how you described it, except
> > that
> > previously we needed more exact control over the version info (for
> > your
> > dpdk-specific versions in the sonames) and so overrode the soversion
> > explicitly. The fix for meson is to remove this overriding i.e.
> > remove
> > "soversion:" parameter for each shared_library() call.
> > 
> >  
> > > Also, we should leave the current at 20.0 - let's not break
> > > compatibility already, please :-)
> > > 
> > 
> > If we do this, maybe we can use 20.0.1 and 20.0.2 version numbers?
> 
> Yes, that's what I meant - IMHO we should just take the hit and use the
> slightly weird 20.0 format until next year, and add a third digit for
> compatible updates. Then for v21 we can drop it.

I am not sure to understand everything above.
My understanding is that the soname must include major and minor:
	libfoo.major.minor
and the package system must install 2 symlinks:
	libfoo.major points to latest installed minor
	libfoo points to latest major

We are missing the symlink libfoo.major in 19.11.0.
I suggest to just add this symlink in 19.11.1 and 20.02.

The other question is to know what the internal apps should link?
Is there any sense linking testpmd to libfoo.major?




^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] How to manage new APIs added after major ABI release?
  2019-12-10 16:39  4%             ` Thomas Monjalon
@ 2019-12-10 17:00  7%               ` Bruce Richardson
  0 siblings, 0 replies; 200+ results
From: Bruce Richardson @ 2019-12-10 17:00 UTC (permalink / raw)
  To: Thomas Monjalon
  Cc: Luca Boccassi, Ferruh Yigit, Kinsella, Ray, David Marchand,
	Christian Ehrhardt, Timothy Redaelli, Kevin Traynor, dpdk-dev,
	Laatz, Kevin, Andrew Rybchenko, Neil Horman

On Tue, Dec 10, 2019 at 05:39:00PM +0100, Thomas Monjalon wrote:
> 10/12/2019 17:20, Luca Boccassi:
> > On Tue, 2019-12-10 at 15:46 +0000, Bruce Richardson wrote:
> > > On Tue, Dec 10, 2019 at 03:03:51PM +0000, Luca Boccassi wrote:
> > > > On Tue, 2019-12-10 at 14:36 +0000, Bruce Richardson wrote:
> > > > > 
> > > > > Related at what to do with adding versions between major ABI
> > > > > versions, when
> > > > > investigating with Kevin the ABI checking we have made an
> > > > > unpleasant
> > > > > discovery:
> > > > > 
> > > > > This minor version bumping from 20.0 to 20.1 has apparently
> > > > > already
> > > > > broken
> > > > > our ABI according to libabigail.
> > > > > 
> > > > > The Gory Details [skip to the end for suggestions to fix]
> > > > > ------------------------------------------------------------
<snip>
> > > > > 
> > > > > Fixing This
> > > > > -----------
> > > > > 
> > > > > To fix this, we need to ensure that the SONAME remains constant
> > > > > across the
> > > > > releases. Therefore, I currently see two options:
> > > > > 
> > > > > 1. keep 20.0 as the version and soname across all releases in
> > > > > 2020,
> > > > > i.e.
> > > > >   just revert the ABIVERSION change patch. Trouble there is how
> > > > > to
> > > > > track
> > > > >   20.02 vs 20.05 etc. etc.
> > > > > 
> > > > > 2. remove the .0, .1 from the SONAMES stored in the libraries.
> > > > > This
> > > > > has the
> > > > >   advantage of keeping the existing planned schemes, but has the
> > > > > really big
> > > > >   downside of breaking ABI compatibility with anyone who has
> > > > > already
> > > > >   compiled with 19.11.
> > > > > 
> > > > > Personally, of the two options - unless someone can come up with
> > > > > a
> > > > > third
> > > > > option - I'd tend towards the second, fixing the builds to remove
> > > > > the
> > > > > .0 in
> > > > > the soname, and releasing that ASAP as 19.11.1 before 19.11 gets
> > > > > widespread
> > > > > adoption. Since this ABI stability is new, teething problems may
> > > > > be
> > > > > expected.
> > > > > 
> > > > > Thoughts and comments?
> > > > > /Bruce
> > > > > 
> > > > > BTW: For meson, the patch for option 2 is just to remove the
> > > > > so_version
> > > > > variable and all references to it from lib/meson.build and
> > > > > drivers/meson.build. Haven't looked into a "make" fix yet.
> > > > 
> > > > Hi,
> > > > 
> > > > With libtool and its (arguably arcane) format, only the first digit
> > > > is
> > > > the ABI current version and gets encoded in the elf header. The
> > > > other
> > > > digits can be used to track compatible minor increments, and are
> > > > mostly
> > > > ignored. On the system a symlink libfoo.so.major ->
> > > > libfoo.so.major.minor is added.
> > > > 
> > > > Eg:
> > > > 
> > > > $ readelf -d /usr/lib/x86_64-linux-gnu/libzmq.so.5.2.3 | grep
> > > > SONAME
> > > >  0x000000000000000e (SONAME)             Library soname:
> > > > [libzmq.so.5]
> > > > $ ls -l /usr/lib/x86_64-linux-gnu/libzmq.so.5
> > > > lrwxrwxrwx 1 root root 15 Dec 31  2014 /usr/lib/x86_64-linux-
> > > > gnu/libzmq.so.5 -> libzmq.so.5.2.3
> > > > 
> > > > Can we do the same? Not sure what the right incantation is for
> > > > Meson,
> > > > but it should be possibly.
> > > > 
> > > 
> > > That's essentially option 2, and it's still an ABI break because
> > > existing
> > > builds of 19.11 have the soname will the full version number in it.
> > > The
> > > default behaviour for meson is exactly how you described it, except
> > > that
> > > previously we needed more exact control over the version info (for
> > > your
> > > dpdk-specific versions in the sonames) and so overrode the soversion
> > > explicitly. The fix for meson is to remove this overriding i.e.
> > > remove
> > > "soversion:" parameter for each shared_library() call.
> > > 
> > >  
> > > > Also, we should leave the current at 20.0 - let's not break
> > > > compatibility already, please :-)
> > > > 
> > > 
> > > If we do this, maybe we can use 20.0.1 and 20.0.2 version numbers?
> > 
> > Yes, that's what I meant - IMHO we should just take the hit and use the
> > slightly weird 20.0 format until next year, and add a third digit for
> > compatible updates. Then for v21 we can drop it.
> 
> I am not sure to understand everything above.
> My understanding is that the soname must include major and minor:
> 	libfoo.major.minor

The filename should have, but the soname should only have the major ABI
version. It's the soname recorded in the elf file that is used by the
linker, which ignores any version suffixes on the .so.

> and the package system must install 2 symlinks:
> 	libfoo.major points to latest installed minor
> 	libfoo points to latest major
> 
> We are missing the symlink libfoo.major in 19.11.0.
> I suggest to just add this symlink in 19.11.1 and 20.02.
> 

Symlinks won't actually help here, as the suffixes are ignored. In a normal
case, where libfoo.so and libfoo.so.x both point to libfoo.so.x.y, linking
against any one of the three filenames will result in the exact same
linkage info in the binary, based on the soname in libfoo.so.x.y. Ideally,
that should be "libfoo.so.x", which remains constant for all values of "y".

> The other question is to know what the internal apps should link?
> Is there any sense linking testpmd to libfoo.major?
> 
Nothing we can do to control this, except ensure correct soname info on
linking the .so.

^ permalink raw reply	[relevance 7%]

* Re: [dpdk-dev] How to manage new APIs added after major ABI release?
  2019-12-10 16:32  4%             ` Bruce Richardson
  2019-12-10 17:01  4%               ` Kinsella, Ray
@ 2019-12-10 17:04  8%               ` Thomas Monjalon
  2019-12-10 18:22  4%                 ` Luca Boccassi
  1 sibling, 1 reply; 200+ results
From: Thomas Monjalon @ 2019-12-10 17:04 UTC (permalink / raw)
  To: Bruce Richardson
  Cc: Luca Boccassi, Ferruh Yigit, Kinsella, Ray, David Marchand,
	Christian Ehrhardt, Timothy Redaelli, Kevin Traynor, dpdk-dev,
	Laatz, Kevin, Andrew Rybchenko, Neil Horman

10/12/2019 17:32, Bruce Richardson:
> On Tue, Dec 10, 2019 at 04:20:41PM +0000, Luca Boccassi wrote:
> > On Tue, 2019-12-10 at 15:46 +0000, Bruce Richardson wrote:
> > > On Tue, Dec 10, 2019 at 03:03:51PM +0000, Luca Boccassi wrote:
> > > > On Tue, 2019-12-10 at 14:36 +0000, Bruce Richardson wrote:
> > > > > On Tue, Dec 10, 2019 at 12:40:53PM +0000, Ferruh Yigit wrote:
> > > > > > On 12/10/2019 12:04 PM, Bruce Richardson wrote:
> > > > > > > On Tue, Dec 10, 2019 at 11:56:28AM +0000, Ferruh Yigit wrote:
> > > > > > > > Hi,
> > > > > > > > 
> > > > > > > > With new process, the major ABI releases will be compatible
> > > > > > > > until it is
> > > > > > > > deprecated (until next LTS for now),
> > > > > > > > like current ABI version is 20 in DPDK_19.11 and DPDK
> > > > > > > > versions
> > > > > > > > until DPDK_20.11
> > > > > > > > will be ABI compatible with this version.
> > > > > > > > 
> > > > > > > > But if we introduce a new API after major ABI, say in 20.02
> > > > > > > > release, are we
> > > > > > > > allowed to break the ABI for that API before DPDK_20.11?
> > > > > > > > 
> > > > > > > > If we allow it break, following problem will be observed:
> > > > > > > > Assume an application using .so.20.1 library, and using the
> > > > > > > > new
> > > > > > > > API introduced
> > > > > > > > in 20.02, lets say foo(),
> > > > > > > > but when application switches to .so.20.2 (released via
> > > > > > > > DPDK_20.05), application
> > > > > > > > will fail because of ABI breakage in foo().
> > > > > > > > 
> > > > > > > > I think it is fair that application expects forward
> > > > > > > > compatibility in minor
> > > > > > > > versions of a shared library.
> > > > > > > > Like if application linked against .so.20.2, fair to expect
> > > > > > > > .so.20.3, .so.20.4
> > > > > > > > etc will work fine. I think currently only .so.20.0 is
> > > > > > > > fully
> > > > > > > > forward compatible.
> > > > > > > > 
> > > > > > > > If we all agree on this, we may need to tweak the process a
> > > > > > > > little, but before
> > > > > > > > diving into implementation details, I would like to be sure
> > > > > > > > we
> > > > > > > > are in same page.
> > > > > > > > 
> > > > > > > 
> > > > > > > Well, any new API's generally come in as experimental, in
> > > > > > > which
> > > > > > > case
> > > > > > > changes are allowed, and breakage can be expected. If they
> > > > > > > are
> > > > > > > not
> > > > > > > experiemental, then the ABI policy applies to them in that
> > > > > > > they
> > > > > > > cannot
> > > > > > > change since they are part of the .21 ABI, even if that ABI
> > > > > > > is
> > > > > > > not fully
> > > > > > > complete yet. For any application only using stable, non-
> > > > > > > experimental
> > > > > > > functions, forward compatibility must be maintained IMHO.
> > > > > > > 
> > > > > > 
> > > > > > Talking about not experimental APIs, experimental ones free
> > > > > > from
> > > > > > the process.
> > > > > > 
> > > > > > And when and API added in 20.02 (ABI_20.1) it is kind of still
> > > > > > ABI_20, because
> > > > > > it should be supported for following ABI_20.x, instead of
> > > > > > calling
> > > > > > it ABI_21, and
> > > > > > this minor tweak (and mind shift) in .map files can be our
> > > > > > solution.
> > > > > 
> > > > > Related at what to do with adding versions between major ABI
> > > > > versions, when
> > > > > investigating with Kevin the ABI checking we have made an
> > > > > unpleasant
> > > > > discovery:
> > > > > 
> > > > > This minor version bumping from 20.0 to 20.1 has apparently
> > > > > already
> > > > > broken
> > > > > our ABI according to libabigail.
> > > > > 
> > > > > The Gory Details [skip to the end for suggestions to fix]
> > > > > ------------------------------------------------------------
> > > > > 
> > > > > The reason for this is that the soversion encoded in each library
> > > > > -
> > > > > whether
> > > > > built with meson or make - is the full 20.0 version, not just the
> > > > > major ABI
> > > > > .20 part. Then when apps link against DPDK, they actually encode
> > > > > the
> > > > > 20.0.
> > > > > 
> > > > > So what this means is that currently - using a make build as an
> > > > > example
> > > > > here - ldd on the latest head build gives:
> > > > > 
> > > > >  LD_LIBRARY_PATH=$(pwd)/x86_64-native-linux-gcc/lib ldd x86_64-
> > > > > native-linux-gcc/app/testpmd | head
> > > > >         linux-vdso.so.1 (0x00007fff6813d000)
> > > > >         librte_pmd_bond.so.20.1 => /home/bruce/dpdk.org/x86_64-
> > > > > native-linux-gcc/lib/librte_pmd_bond.so.20.1 (0x00007f36d723c000)
> > > > >         librte_pmd_dpaa.so.20.1 => /home/bruce/dpdk.org/x86_64-
> > > > > native-linux-gcc/lib/librte_pmd_dpaa.so.20.1 (0x00007f36d7229000)
> > > > >         librte_mempool_dpaa.so.20.1 =>
> > > > > /home/bruce/dpdk.org/x86_64-
> > > > > native-linux-gcc/lib/librte_mempool_dpaa.so.20.1
> > > > > (0x00007f36d7224000)
> > > > >         librte_pmd_ixgbe.so.20.1 => /home/bruce/dpdk.org/x86_64-
> > > > > native-linux-gcc/lib/librte_pmd_ixgbe.so.20.1
> > > > > (0x00007f36d71ba000)
> > > > >         librte_pmd_i40e.so.20.1 => /home/bruce/dpdk.org/x86_64-
> > > > > native-linux-gcc/lib/librte_pmd_i40e.so.20.1 (0x00007f36d7126000)
> > > > >         librte_pmd_bnxt.so.20.1 => /home/bruce/dpdk.org/x86_64-
> > > > > native-linux-gcc/lib/librte_pmd_bnxt.so.20.1 (0x00007f36d70e5000)
> > > > >         librte_pmd_softnic.so.20.1 =>
> > > > > /home/bruce/dpdk.org/x86_64-
> > > > > native-linux-gcc/lib/librte_pmd_softnic.so.20.1
> > > > > (0x00007f36d70b7000)
> > > > >         librte_flow_classify.so.0.201 =>
> > > > > /home/bruce/dpdk.org/x86_64-
> > > > > native-linux-gcc/lib/librte_flow_classify.so.0.201
> > > > > (0x00007f36d70b1000)
> > > > >         librte_pipeline.so.20.1 => /home/bruce/dpdk.org/x86_64-
> > > > > native-linux-gcc/lib/librte_pipeline.so.20.1 (0x00007f36d7088000)
> > > > > ...
> > > > > 
> > > > > Similarly ldd on a 19.11 checkout gives:
> > > > > 
> > > > > LD_LIBRARY_PATH=$(pwd)/x86_64-native-linux-gcc_v19.11/lib ldd
> > > > > x86_64-
> > > > > native-linux-gcc_v19.11/app/testpmd | head
> > > > >         linux-vdso.so.1 (0x00007ffc2a964000)
> > > > >         librte_pmd_bond.so.20.0 => /home/bruce/dpdk.org/x86_64-
> > > > > native-linux-gcc_v19.11/lib/librte_pmd_bond.so.20.0
> > > > > (0x00007fd4dc6b6000)
> > > > >         librte_pmd_dpaa.so.20.0 => /home/bruce/dpdk.org/x86_64-
> > > > > native-linux-gcc_v19.11/lib/librte_pmd_dpaa.so.20.0
> > > > > (0x00007fd4dc6a3000)
> > > > >         librte_mempool_dpaa.so.20.0 =>
> > > > > /home/bruce/dpdk.org/x86_64-
> > > > > native-linux-gcc_v19.11/lib/librte_mempool_dpaa.so.20.0
> > > > > (0x00007fd4dc69e000)
> > > > >         librte_pmd_ixgbe.so.20.0 => /home/bruce/dpdk.org/x86_64-
> > > > > native-linux-gcc_v19.11/lib/librte_pmd_ixgbe.so.20.0
> > > > > (0x00007fd4dc634000)
> > > > >         librte_pmd_i40e.so.20.0 => /home/bruce/dpdk.org/x86_64-
> > > > > native-linux-gcc_v19.11/lib/librte_pmd_i40e.so.20.0
> > > > > (0x00007fd4dc5a0000)
> > > > >         librte_pmd_bnxt.so.20.0 => /home/bruce/dpdk.org/x86_64-
> > > > > native-linux-gcc_v19.11/lib/librte_pmd_bnxt.so.20.0
> > > > > (0x00007fd4dc55d000)
> > > > >         librte_pmd_softnic.so.20.0 =>
> > > > > /home/bruce/dpdk.org/x86_64-
> > > > > native-linux-gcc_v19.11/lib/librte_pmd_softnic.so.20.0
> > > > > (0x00007fd4dc531000)
> > > > >         librte_flow_classify.so.0.200 =>
> > > > > /home/bruce/dpdk.org/x86_64-
> > > > > native-linux-gcc_v19.11/lib/librte_flow_classify.so.0.200
> > > > > (0x00007fd4dc52b000)
> > > > >         librte_pipeline.so.20.0 => /home/bruce/dpdk.org/x86_64-
> > > > > native-linux-gcc_v19.11/lib/librte_pipeline.so.20.0
> > > > > (0x00007fd4dc502000)
> > > > > 
> > > > > The final check - using the 19.11 compiled testpmd with the
> > > > > library
> > > > > path
> > > > > set to 20.02 versionned libs:
> > > > > 
> > > > > LD_LIBRARY_PATH=$(pwd)/x86_64-native-linux-gcc/lib ldd x86_64-
> > > > > native-
> > > > > linux-gcc_v19.11/app/testpmd | head
> > > > >         linux-vdso.so.1 (0x00007ffc711fc000)
> > > > >         librte_pmd_bond.so.20.0 => not found
> > > > >         librte_pmd_dpaa.so.20.0 => not found
> > > > >         librte_mempool_dpaa.so.20.0 => not found
> > > > >         librte_pmd_ixgbe.so.20.0 => not found
> > > > >         librte_pmd_i40e.so.20.0 => not found
> > > > >         librte_pmd_bnxt.so.20.0 => not found
> > > > >         librte_pmd_softnic.so.20.0 => not found
> > > > >         librte_flow_classify.so.0.200 => not found
> > > > >         librte_pipeline.so.20.0 => not found
> > > > > 
> > > > > Fixing This
> > > > > -----------
> > > > > 
> > > > > To fix this, we need to ensure that the SONAME remains constant
> > > > > across the
> > > > > releases. Therefore, I currently see two options:
> > > > > 
> > > > > 1. keep 20.0 as the version and soname across all releases in
> > > > > 2020,
> > > > > i.e.
> > > > >   just revert the ABIVERSION change patch. Trouble there is how
> > > > > to
> > > > > track
> > > > >   20.02 vs 20.05 etc. etc.
> > > > > 
> > > > > 2. remove the .0, .1 from the SONAMES stored in the libraries.
> > > > > This
> > > > > has the
> > > > >   advantage of keeping the existing planned schemes, but has the
> > > > > really big
> > > > >   downside of breaking ABI compatibility with anyone who has
> > > > > already
> > > > >   compiled with 19.11.
> > > > > 
> > > > > Personally, of the two options - unless someone can come up with
> > > > > a
> > > > > third
> > > > > option - I'd tend towards the second, fixing the builds to remove
> > > > > the
> > > > > .0 in
> > > > > the soname, and releasing that ASAP as 19.11.1 before 19.11 gets
> > > > > widespread
> > > > > adoption. Since this ABI stability is new, teething problems may
> > > > > be
> > > > > expected.
> > > > > 
> > > > > Thoughts and comments?
> > > > > /Bruce
> > > > > 
> > > > > BTW: For meson, the patch for option 2 is just to remove the
> > > > > so_version
> > > > > variable and all references to it from lib/meson.build and
> > > > > drivers/meson.build. Haven't looked into a "make" fix yet.
> > > > 
> > > > Hi,
> > > > 
> > > > With libtool and its (arguably arcane) format, only the first digit
> > > > is
> > > > the ABI current version and gets encoded in the elf header. The
> > > > other
> > > > digits can be used to track compatible minor increments, and are
> > > > mostly
> > > > ignored. On the system a symlink libfoo.so.major ->
> > > > libfoo.so.major.minor is added.
> > > > 
> > > > Eg:
> > > > 
> > > > $ readelf -d /usr/lib/x86_64-linux-gnu/libzmq.so.5.2.3 | grep
> > > > SONAME
> > > >  0x000000000000000e (SONAME)             Library soname:
> > > > [libzmq.so.5]
> > > > $ ls -l /usr/lib/x86_64-linux-gnu/libzmq.so.5
> > > > lrwxrwxrwx 1 root root 15 Dec 31  2014 /usr/lib/x86_64-linux-
> > > > gnu/libzmq.so.5 -> libzmq.so.5.2.3
> > > > 
> > > > Can we do the same? Not sure what the right incantation is for
> > > > Meson,
> > > > but it should be possibly.
> > > > 
> > > 
> > > That's essentially option 2, and it's still an ABI break because
> > > existing
> > > builds of 19.11 have the soname will the full version number in it.
> > > The
> > > default behaviour for meson is exactly how you described it, except
> > > that
> > > previously we needed more exact control over the version info (for
> > > your
> > > dpdk-specific versions in the sonames) and so overrode the soversion
> > > explicitly. The fix for meson is to remove this overriding i.e.
> > > remove
> > > "soversion:" parameter for each shared_library() call.
> > > 
> > >  
> > > > Also, we should leave the current at 20.0 - let's not break
> > > > compatibility already, please :-)
> > > > 
> > > 
> > > If we do this, maybe we can use 20.0.1 and 20.0.2 version numbers?
> > 
> > Yes, that's what I meant - IMHO we should just take the hit and use the
> > slightly weird 20.0 format until next year, and add a third digit for
> > compatible updates. Then for v21 we can drop it.
> >
> My concern with that is us forgetting, because we'll put in place hacks to
> have the soversion be the first two numbers of the version. Then we need to
> remember to remove those hacks before 20.11 goes out or we'll end up with
> 21.0 being the soversion again.
> 
> For that reason, I'd rather see us fix it now before 19.11 gets widely
> adopted.

Me too I vote for fixing soname as 20 in a small 19.11.1
and release it quickly.

We are supposed to experience tooling and scheme adoption during this
first year of new ABI policy. I think we should stick to the planned
versionning, in order to avoid any surprise for the next major ABI.



^ permalink raw reply	[relevance 8%]

* [dpdk-dev] [PATCH] build: fix soname info in meson build
@ 2019-12-10 17:17  4% Bruce Richardson
  0 siblings, 0 replies; 200+ results
From: Bruce Richardson @ 2019-12-10 17:17 UTC (permalink / raw)
  To: dev; +Cc: Bruce Richardson

The soname for each stable ABI version should be just the ABI version major
number without the minor number. Unfortunately both major and minor were
used causing version 20.1 to be incompatible with 20.0.

For meson we can fix this by removing the explicit setting of the soversion
for each shared library. The default meson behaviour is the exact behaviour
we want.

Fixes: cba806e07d6f ("build: change ABI versioning to global")

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/meson.build | 3 ---
 lib/meson.build     | 3 ---
 2 files changed, 6 deletions(-)

diff --git a/drivers/meson.build b/drivers/meson.build
index 72eec4608..033338ea7 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -132,10 +132,8 @@ foreach class:dpdk_driver_classes
 
 			if is_experimental != 0
 				lib_version = experimental_abi_version
-				so_version = experimental_abi_version
 			else
 				lib_version = abi_version
-				so_version = abi_version
 			endif
 
 			# now build the static driver
@@ -183,7 +181,6 @@ foreach class:dpdk_driver_classes
 				link_args: lk_args,
 				link_depends: lk_deps,
 				version: lib_version,
-				soversion: so_version,
 				install: true,
 				install_dir: driver_install_path)
 
diff --git a/lib/meson.build b/lib/meson.build
index 6ceb5e756..62a196271 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -113,10 +113,8 @@ foreach l:libraries
 
 			if is_experimental != 0
 				lib_version = experimental_abi_version
-				so_version = experimental_abi_version
 			else
 				lib_version = abi_version
-				so_version = abi_version
 			endif
 
 			# first build static lib
@@ -174,7 +172,6 @@ foreach l:libraries
 					link_args: lk_args,
 					link_depends: lk_deps,
 					version: lib_version,
-					soversion: so_version,
 					install: true)
 			shared_dep = declare_dependency(link_with: shared_lib,
 					include_directories: includes,
-- 
2.23.0


^ permalink raw reply	[relevance 4%]

* [dpdk-dev] [PATCH] build: fix soname info in make build
@ 2019-12-10 18:00  4% Bruce Richardson
  0 siblings, 0 replies; 200+ results
From: Bruce Richardson @ 2019-12-10 18:00 UTC (permalink / raw)
  To: dev; +Cc: Bruce Richardson, Thomas Monjalon

The soname for each stable ABI version should be just the ABI version major
number without the minor number. Unfortunately both major and minor were
used causing version 20.1 to be incompatible with 20.0.

For make the fix is to separate out the soname passed to the linker from
the final shared library name, and then add an additional symlink to
properly ensure all expected .so.* files are present.

Fixes: cba806e07d6f ("build: change ABI versioning to global")

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 mk/rte.lib.mk | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/mk/rte.lib.mk b/mk/rte.lib.mk
index 655a1b143..4b4267021 100644
--- a/mk/rte.lib.mk
+++ b/mk/rte.lib.mk
@@ -19,6 +19,8 @@ LIBABIVER := 0.$(shell cat $(RTE_SRCDIR)/ABI_VERSION | tr -d '.')
 endif
 
 ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
+SOVER := $(basename $(LIBABIVER))
+SONAME := $(patsubst %.a,%.so.$(SOVER),$(LIB))
 LIB := $(patsubst %.a,%.so.$(LIBABIVER),$(LIB))
 ifeq ($(EXTLIB_BUILD),n)
 CPU_LDFLAGS += --version-script=$(SRCDIR)/$(EXPORT_MAP)
@@ -74,7 +76,7 @@ NO_UNDEFINED := -z defs
 endif
 
 O_TO_S = $(LD) -L$(RTE_SDK_BIN)/lib $(_CPU_LDFLAGS) $(EXTRA_LDFLAGS) \
-	  -shared $(OBJS-y) $(NO_UNDEFINED) $(LDLIBS) -Wl,-soname,$(LIB) -o $(LIB)
+	  -shared $(OBJS-y) $(NO_UNDEFINED) $(LDLIBS) -Wl,-soname,$(SONAME) -o $(LIB)
 O_TO_S_STR = $(subst ','\'',$(O_TO_S)) #'# fix syntax highlight
 O_TO_S_DISP = $(if $(V),"$(O_TO_S_STR)","  LD $(@)")
 O_TO_S_DO = @set -e; \
@@ -133,6 +135,7 @@ $(RTE_OUTPUT)/lib/$(LIB): $(LIB)
 	$(Q)cp -f $(LIB) $(RTE_OUTPUT)/lib
 ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
 	$(Q)ln -s -f $< $(shell echo $@ | sed 's/\.so.*/.so/')
+	$(Q)ln -s -f $< $(shell echo $@ | sed 's/\.so.*/.so.$(SOVER)/')
 endif
 
 #
-- 
2.23.0


^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] How to manage new APIs added after major ABI release?
  2019-12-10 17:04  8%               ` Thomas Monjalon
@ 2019-12-10 18:22  4%                 ` Luca Boccassi
  2019-12-10 23:34  4%                   ` Bruce Richardson
  0 siblings, 1 reply; 200+ results
From: Luca Boccassi @ 2019-12-10 18:22 UTC (permalink / raw)
  To: Thomas Monjalon, Bruce Richardson
  Cc: Ferruh Yigit, Kinsella, Ray, David Marchand, Christian Ehrhardt,
	Timothy Redaelli, Kevin Traynor, dpdk-dev, Laatz, Kevin,
	Andrew Rybchenko, Neil Horman

On Tue, 2019-12-10 at 18:04 +0100, Thomas Monjalon wrote:
> 10/12/2019 17:32, Bruce Richardson:
> > On Tue, Dec 10, 2019 at 04:20:41PM +0000, Luca Boccassi wrote:
> > > On Tue, 2019-12-10 at 15:46 +0000, Bruce Richardson wrote:
> > > > On Tue, Dec 10, 2019 at 03:03:51PM +0000, Luca Boccassi wrote:
> > > > > On Tue, 2019-12-10 at 14:36 +0000, Bruce Richardson wrote:
> > > > > > On Tue, Dec 10, 2019 at 12:40:53PM +0000, Ferruh Yigit
> > > > > > wrote:
> > > > > > > On 12/10/2019 12:04 PM, Bruce Richardson wrote:
> > > > > > > > On Tue, Dec 10, 2019 at 11:56:28AM +0000, Ferruh Yigit
> > > > > > > > wrote:
> > > > > > > > > Hi,
> > > > > > > > > 
> > > > > > > > > With new process, the major ABI releases will be
> > > > > > > > > compatible
> > > > > > > > > until it is
> > > > > > > > > deprecated (until next LTS for now),
> > > > > > > > > like current ABI version is 20 in DPDK_19.11 and DPDK
> > > > > > > > > versions
> > > > > > > > > until DPDK_20.11
> > > > > > > > > will be ABI compatible with this version.
> > > > > > > > > 
> > > > > > > > > But if we introduce a new API after major ABI, say in
> > > > > > > > > 20.02
> > > > > > > > > release, are we
> > > > > > > > > allowed to break the ABI for that API before
> > > > > > > > > DPDK_20.11?
> > > > > > > > > 
> > > > > > > > > If we allow it break, following problem will be
> > > > > > > > > observed:
> > > > > > > > > Assume an application using .so.20.1 library, and
> > > > > > > > > using the
> > > > > > > > > new
> > > > > > > > > API introduced
> > > > > > > > > in 20.02, lets say foo(),
> > > > > > > > > but when application switches to .so.20.2 (released
> > > > > > > > > via
> > > > > > > > > DPDK_20.05), application
> > > > > > > > > will fail because of ABI breakage in foo().
> > > > > > > > > 
> > > > > > > > > I think it is fair that application expects forward
> > > > > > > > > compatibility in minor
> > > > > > > > > versions of a shared library.
> > > > > > > > > Like if application linked against .so.20.2, fair to
> > > > > > > > > expect
> > > > > > > > > .so.20.3, .so.20.4
> > > > > > > > > etc will work fine. I think currently only .so.20.0
> > > > > > > > > is
> > > > > > > > > fully
> > > > > > > > > forward compatible.
> > > > > > > > > 
> > > > > > > > > If we all agree on this, we may need to tweak the
> > > > > > > > > process a
> > > > > > > > > little, but before
> > > > > > > > > diving into implementation details, I would like to
> > > > > > > > > be sure
> > > > > > > > > we
> > > > > > > > > are in same page.
> > > > > > > > > 
> > > > > > > > 
> > > > > > > > Well, any new API's generally come in as experimental,
> > > > > > > > in
> > > > > > > > which
> > > > > > > > case
> > > > > > > > changes are allowed, and breakage can be expected. If
> > > > > > > > they
> > > > > > > > are
> > > > > > > > not
> > > > > > > > experiemental, then the ABI policy applies to them in
> > > > > > > > that
> > > > > > > > they
> > > > > > > > cannot
> > > > > > > > change since they are part of the .21 ABI, even if that
> > > > > > > > ABI
> > > > > > > > is
> > > > > > > > not fully
> > > > > > > > complete yet. For any application only using stable,
> > > > > > > > non-
> > > > > > > > experimental
> > > > > > > > functions, forward compatibility must be maintained
> > > > > > > > IMHO.
> > > > > > > > 
> > > > > > > 
> > > > > > > Talking about not experimental APIs, experimental ones
> > > > > > > free
> > > > > > > from
> > > > > > > the process.
> > > > > > > 
> > > > > > > And when and API added in 20.02 (ABI_20.1) it is kind of
> > > > > > > still
> > > > > > > ABI_20, because
> > > > > > > it should be supported for following ABI_20.x, instead of
> > > > > > > calling
> > > > > > > it ABI_21, and
> > > > > > > this minor tweak (and mind shift) in .map files can be
> > > > > > > our
> > > > > > > solution.
> > > > > > 
> > > > > > Related at what to do with adding versions between major
> > > > > > ABI
> > > > > > versions, when
> > > > > > investigating with Kevin the ABI checking we have made an
> > > > > > unpleasant
> > > > > > discovery:
> > > > > > 
> > > > > > This minor version bumping from 20.0 to 20.1 has apparently
> > > > > > already
> > > > > > broken
> > > > > > our ABI according to libabigail.
> > > > > > 
> > > > > > The Gory Details [skip to the end for suggestions to fix]
> > > > > > ---------------------------------------------------------
> > > > > > ---
> > > > > > 
> > > > > > The reason for this is that the soversion encoded in each
> > > > > > library
> > > > > > -
> > > > > > whether
> > > > > > built with meson or make - is the full 20.0 version, not
> > > > > > just the
> > > > > > major ABI
> > > > > > .20 part. Then when apps link against DPDK, they actually
> > > > > > encode
> > > > > > the
> > > > > > 20.0.
> > > > > > 
> > > > > > So what this means is that currently - using a make build
> > > > > > as an
> > > > > > example
> > > > > > here - ldd on the latest head build gives:
> > > > > > 
> > > > > >  LD_LIBRARY_PATH=$(pwd)/x86_64-native-linux-gcc/lib ldd
> > > > > > x86_64-
> > > > > > native-linux-gcc/app/testpmd | head
> > > > > >         linux-vdso.so.1 (0x00007fff6813d000)
> > > > > >         librte_pmd_bond.so.20.1 =>
> > > > > > /home/bruce/dpdk.org/x86_64-
> > > > > > native-linux-gcc/lib/librte_pmd_bond.so.20.1
> > > > > > (0x00007f36d723c000)
> > > > > >         librte_pmd_dpaa.so.20.1 =>
> > > > > > /home/bruce/dpdk.org/x86_64-
> > > > > > native-linux-gcc/lib/librte_pmd_dpaa.so.20.1
> > > > > > (0x00007f36d7229000)
> > > > > >         librte_mempool_dpaa.so.20.1 =>
> > > > > > /home/bruce/dpdk.org/x86_64-
> > > > > > native-linux-gcc/lib/librte_mempool_dpaa.so.20.1
> > > > > > (0x00007f36d7224000)
> > > > > >         librte_pmd_ixgbe.so.20.1 =>
> > > > > > /home/bruce/dpdk.org/x86_64-
> > > > > > native-linux-gcc/lib/librte_pmd_ixgbe.so.20.1
> > > > > > (0x00007f36d71ba000)
> > > > > >         librte_pmd_i40e.so.20.1 =>
> > > > > > /home/bruce/dpdk.org/x86_64-
> > > > > > native-linux-gcc/lib/librte_pmd_i40e.so.20.1
> > > > > > (0x00007f36d7126000)
> > > > > >         librte_pmd_bnxt.so.20.1 =>
> > > > > > /home/bruce/dpdk.org/x86_64-
> > > > > > native-linux-gcc/lib/librte_pmd_bnxt.so.20.1
> > > > > > (0x00007f36d70e5000)
> > > > > >         librte_pmd_softnic.so.20.1 =>
> > > > > > /home/bruce/dpdk.org/x86_64-
> > > > > > native-linux-gcc/lib/librte_pmd_softnic.so.20.1
> > > > > > (0x00007f36d70b7000)
> > > > > >         librte_flow_classify.so.0.201 =>
> > > > > > /home/bruce/dpdk.org/x86_64-
> > > > > > native-linux-gcc/lib/librte_flow_classify.so.0.201
> > > > > > (0x00007f36d70b1000)
> > > > > >         librte_pipeline.so.20.1 =>
> > > > > > /home/bruce/dpdk.org/x86_64-
> > > > > > native-linux-gcc/lib/librte_pipeline.so.20.1
> > > > > > (0x00007f36d7088000)
> > > > > > ...
> > > > > > 
> > > > > > Similarly ldd on a 19.11 checkout gives:
> > > > > > 
> > > > > > LD_LIBRARY_PATH=$(pwd)/x86_64-native-linux-gcc_v19.11/lib
> > > > > > ldd
> > > > > > x86_64-
> > > > > > native-linux-gcc_v19.11/app/testpmd | head
> > > > > >         linux-vdso.so.1 (0x00007ffc2a964000)
> > > > > >         librte_pmd_bond.so.20.0 =>
> > > > > > /home/bruce/dpdk.org/x86_64-
> > > > > > native-linux-gcc_v19.11/lib/librte_pmd_bond.so.20.0
> > > > > > (0x00007fd4dc6b6000)
> > > > > >         librte_pmd_dpaa.so.20.0 =>
> > > > > > /home/bruce/dpdk.org/x86_64-
> > > > > > native-linux-gcc_v19.11/lib/librte_pmd_dpaa.so.20.0
> > > > > > (0x00007fd4dc6a3000)
> > > > > >         librte_mempool_dpaa.so.20.0 =>
> > > > > > /home/bruce/dpdk.org/x86_64-
> > > > > > native-linux-gcc_v19.11/lib/librte_mempool_dpaa.so.20.0
> > > > > > (0x00007fd4dc69e000)
> > > > > >         librte_pmd_ixgbe.so.20.0 =>
> > > > > > /home/bruce/dpdk.org/x86_64-
> > > > > > native-linux-gcc_v19.11/lib/librte_pmd_ixgbe.so.20.0
> > > > > > (0x00007fd4dc634000)
> > > > > >         librte_pmd_i40e.so.20.0 =>
> > > > > > /home/bruce/dpdk.org/x86_64-
> > > > > > native-linux-gcc_v19.11/lib/librte_pmd_i40e.so.20.0
> > > > > > (0x00007fd4dc5a0000)
> > > > > >         librte_pmd_bnxt.so.20.0 =>
> > > > > > /home/bruce/dpdk.org/x86_64-
> > > > > > native-linux-gcc_v19.11/lib/librte_pmd_bnxt.so.20.0
> > > > > > (0x00007fd4dc55d000)
> > > > > >         librte_pmd_softnic.so.20.0 =>
> > > > > > /home/bruce/dpdk.org/x86_64-
> > > > > > native-linux-gcc_v19.11/lib/librte_pmd_softnic.so.20.0
> > > > > > (0x00007fd4dc531000)
> > > > > >         librte_flow_classify.so.0.200 =>
> > > > > > /home/bruce/dpdk.org/x86_64-
> > > > > > native-linux-gcc_v19.11/lib/librte_flow_classify.so.0.200
> > > > > > (0x00007fd4dc52b000)
> > > > > >         librte_pipeline.so.20.0 =>
> > > > > > /home/bruce/dpdk.org/x86_64-
> > > > > > native-linux-gcc_v19.11/lib/librte_pipeline.so.20.0
> > > > > > (0x00007fd4dc502000)
> > > > > > 
> > > > > > The final check - using the 19.11 compiled testpmd with the
> > > > > > library
> > > > > > path
> > > > > > set to 20.02 versionned libs:
> > > > > > 
> > > > > > LD_LIBRARY_PATH=$(pwd)/x86_64-native-linux-gcc/lib ldd
> > > > > > x86_64-
> > > > > > native-
> > > > > > linux-gcc_v19.11/app/testpmd | head
> > > > > >         linux-vdso.so.1 (0x00007ffc711fc000)
> > > > > >         librte_pmd_bond.so.20.0 => not found
> > > > > >         librte_pmd_dpaa.so.20.0 => not found
> > > > > >         librte_mempool_dpaa.so.20.0 => not found
> > > > > >         librte_pmd_ixgbe.so.20.0 => not found
> > > > > >         librte_pmd_i40e.so.20.0 => not found
> > > > > >         librte_pmd_bnxt.so.20.0 => not found
> > > > > >         librte_pmd_softnic.so.20.0 => not found
> > > > > >         librte_flow_classify.so.0.200 => not found
> > > > > >         librte_pipeline.so.20.0 => not found
> > > > > > 
> > > > > > Fixing This
> > > > > > -----------
> > > > > > 
> > > > > > To fix this, we need to ensure that the SONAME remains
> > > > > > constant
> > > > > > across the
> > > > > > releases. Therefore, I currently see two options:
> > > > > > 
> > > > > > 1. keep 20.0 as the version and soname across all releases
> > > > > > in
> > > > > > 2020,
> > > > > > i.e.
> > > > > >   just revert the ABIVERSION change patch. Trouble there is
> > > > > > how
> > > > > > to
> > > > > > track
> > > > > >   20.02 vs 20.05 etc. etc.
> > > > > > 
> > > > > > 2. remove the .0, .1 from the SONAMES stored in the
> > > > > > libraries.
> > > > > > This
> > > > > > has the
> > > > > >   advantage of keeping the existing planned schemes, but
> > > > > > has the
> > > > > > really big
> > > > > >   downside of breaking ABI compatibility with anyone who
> > > > > > has
> > > > > > already
> > > > > >   compiled with 19.11.
> > > > > > 
> > > > > > Personally, of the two options - unless someone can come up
> > > > > > with
> > > > > > a
> > > > > > third
> > > > > > option - I'd tend towards the second, fixing the builds to
> > > > > > remove
> > > > > > the
> > > > > > .0 in
> > > > > > the soname, and releasing that ASAP as 19.11.1 before 19.11
> > > > > > gets
> > > > > > widespread
> > > > > > adoption. Since this ABI stability is new, teething
> > > > > > problems may
> > > > > > be
> > > > > > expected.
> > > > > > 
> > > > > > Thoughts and comments?
> > > > > > /Bruce
> > > > > > 
> > > > > > BTW: For meson, the patch for option 2 is just to remove
> > > > > > the
> > > > > > so_version
> > > > > > variable and all references to it from lib/meson.build and
> > > > > > drivers/meson.build. Haven't looked into a "make" fix yet.
> > > > > 
> > > > > Hi,
> > > > > 
> > > > > With libtool and its (arguably arcane) format, only the first
> > > > > digit
> > > > > is
> > > > > the ABI current version and gets encoded in the elf header.
> > > > > The
> > > > > other
> > > > > digits can be used to track compatible minor increments, and
> > > > > are
> > > > > mostly
> > > > > ignored. On the system a symlink libfoo.so.major ->
> > > > > libfoo.so.major.minor is added.
> > > > > 
> > > > > Eg:
> > > > > 
> > > > > $ readelf -d /usr/lib/x86_64-linux-gnu/libzmq.so.5.2.3 | grep
> > > > > SONAME
> > > > >  0x000000000000000e (SONAME)             Library soname:
> > > > > [libzmq.so.5]
> > > > > $ ls -l /usr/lib/x86_64-linux-gnu/libzmq.so.5
> > > > > lrwxrwxrwx 1 root root 15 Dec 31  2014 /usr/lib/x86_64-linux-
> > > > > gnu/libzmq.so.5 -> libzmq.so.5.2.3
> > > > > 
> > > > > Can we do the same? Not sure what the right incantation is
> > > > > for
> > > > > Meson,
> > > > > but it should be possibly.
> > > > > 
> > > > 
> > > > That's essentially option 2, and it's still an ABI break
> > > > because
> > > > existing
> > > > builds of 19.11 have the soname will the full version number in
> > > > it.
> > > > The
> > > > default behaviour for meson is exactly how you described it,
> > > > except
> > > > that
> > > > previously we needed more exact control over the version info
> > > > (for
> > > > your
> > > > dpdk-specific versions in the sonames) and so overrode the
> > > > soversion
> > > > explicitly. The fix for meson is to remove this overriding i.e.
> > > > remove
> > > > "soversion:" parameter for each shared_library() call.
> > > > 
> > > >  
> > > > > Also, we should leave the current at 20.0 - let's not break
> > > > > compatibility already, please :-)
> > > > > 
> > > > 
> > > > If we do this, maybe we can use 20.0.1 and 20.0.2 version
> > > > numbers?
> > > 
> > > Yes, that's what I meant - IMHO we should just take the hit and
> > > use the
> > > slightly weird 20.0 format until next year, and add a third digit
> > > for
> > > compatible updates. Then for v21 we can drop it.
> > > 
> > 
> > My concern with that is us forgetting, because we'll put in place
> > hacks to
> > have the soversion be the first two numbers of the version. Then we
> > need to
> > remember to remove those hacks before 20.11 goes out or we'll end
> > up with
> > 21.0 being the soversion again.
> > 
> > For that reason, I'd rather see us fix it now before 19.11 gets
> > widely
> > adopted.
> 
> Me too I vote for fixing soname as 20 in a small 19.11.1
> and release it quickly.
> 
> We are supposed to experience tooling and scheme adoption during this
> first year of new ABI policy. I think we should stick to the planned
> versionning, in order to avoid any surprise for the next major ABI.

If the concern is forgetting, I'll happily set a reminder in my
calendar and then nag everybody :-)

In my opinion declaring stability and compatibility, with press
releases and articles, and then immediately breaking it in the first
point release does not send the right message. Not because there was a
bug, which happens all the time, but because mantaining backward
compatibility sometimes means having to carry less-than-ideal or
downright ugly hacks for a while.

If we are not ready to maintain compatibility by carrying an ugly
workaround when the implications are minor or non-existant (I'm pretty
sure few would really cares what format the soname has, it's all
handled by tools), what happens next time when the implications are
that a broken feature stays broken, or that lower performance stays
lower, and so on?

-- 
Kind regards,
Luca Boccassi

^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] [PATCH] ethdev: add L2TPv3 header to flow API
  2019-12-10 14:52  0%   ` Sexton, Rory
@ 2019-12-10 20:32  0%     ` Ori Kam
  2019-12-11 11:36  0%       ` Sexton, Rory
  0 siblings, 1 reply; 200+ results
From: Ori Kam @ 2019-12-10 20:32 UTC (permalink / raw)
  To: Sexton, Rory, dev
  Cc: Zhang, Qi Z, Xing, Beilei, Adrien Mazarguil, Jagus, DariuszX

Hi Rory,

> -----Original Message-----
> From: Sexton, Rory <rory.sexton@intel.com>
> Sent: Tuesday, December 10, 2019 4:52 PM
> To: Ori Kam <orika@mellanox.com>; dev@dpdk.org
> Cc: Zhang, Qi Z <qi.z.zhang@intel.com>; Xing, Beilei <beilei.xing@intel.com>;
> Adrien Mazarguil <adrien.mazarguil@6wind.com>; Jagus, DariuszX
> <dariuszx.jagus@intel.com>
> Subject: RE: [dpdk-dev] [PATCH] ethdev: add L2TPv3 header to flow API
> 
> Hi Ori,
> 
> > One general question why do we want to support only v3 and not also v2?
> l2tpv3 is more widely used as a tunneling protocol hence it's inclusion.
> A specific example is the cable industry where DOCSIS cable traffic is
> encapsulated using depi and uepi protocols which both make use of l2tpv3
> session ids.
> Directing flows based on l2tpv3 can be very useful in these cases.
> 

I'm not saying that v3 is not used more, I just thought from looking at the spec
that both can be supported and the only difference is the version, so matching on
the version we will be able to support both versions.
Your decision.

> Some more comments inline below.
> 
> Rory
> 
> >> diff --git a/lib/librte_ethdev/rte_flow.h
> >> b/lib/librte_ethdev/rte_flow.h index 452d359a1..5ee055c28 100644
> >> --- a/lib/librte_ethdev/rte_flow.h
> >> +++ b/lib/librte_ethdev/rte_flow.h
> >> @@ -510,6 +510,16 @@ enum rte_flow_item_type {
> >>  	 * See struct rte_flow_item_tag.
> >>  	 */
> >>  	RTE_FLOW_ITEM_TYPE_TAG,
> >> +
> >> +	/*
> >
> >Missing *. It should be /**
> >
> 
> Will correct this in another version of this patch.
> 
> >> +/**
> >> + * RTE_FLOW_ITEM_TYPE_L2TPV3.
> >> + *
> >> + * Matches a L2TPv3 header.
> >> + */
> >> +struct rte_flow_item_l2tpv3 {
> >> +	rte_be32_t session_id; /**< Session ID. */ };
> >
> >Does it make sense that in future we will want to match on the T / L / ver /
> Ns / Nr?
> >
> >Please also consider that any change will be ABI / API breakage, which will
> be allowed only next year.
> >
> 
> I don't foresee us wanting to match on any of the other fields, T / L / ver /
> Ns/ Nr.
> The session id would typically be the only field of interest in the l2tpv3
> header.

I think that adding all fields to the structure will solve the possible issue with adding matching later.
Also and even more important you will be able to use it for creating the  raw_encap / raw_decap buffers.

What do you think?

Best,
Ori

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] How to manage new APIs added after major ABI release?
  2019-12-10 18:22  4%                 ` Luca Boccassi
@ 2019-12-10 23:34  4%                   ` Bruce Richardson
  0 siblings, 0 replies; 200+ results
From: Bruce Richardson @ 2019-12-10 23:34 UTC (permalink / raw)
  To: Luca Boccassi
  Cc: Thomas Monjalon, Ferruh Yigit, Kinsella, Ray, David Marchand,
	Christian Ehrhardt, Timothy Redaelli, Kevin Traynor, dpdk-dev,
	Laatz, Kevin, Andrew Rybchenko, Neil Horman

On Tue, Dec 10, 2019 at 06:22:36PM +0000, Luca Boccassi wrote:
> On Tue, 2019-12-10 at 18:04 +0100, Thomas Monjalon wrote:
> > 10/12/2019 17:32, Bruce Richardson:
> > > On Tue, Dec 10, 2019 at 04:20:41PM +0000, Luca Boccassi wrote:
> > > > On Tue, 2019-12-10 at 15:46 +0000, Bruce Richardson wrote:
> > > > > On Tue, Dec 10, 2019 at 03:03:51PM +0000, Luca Boccassi wrote:
> > > > > > On Tue, 2019-12-10 at 14:36 +0000, Bruce Richardson wrote:
> > > > > > > On Tue, Dec 10, 2019 at 12:40:53PM +0000, Ferruh Yigit
> > > > > > > wrote:
> > > > > > > > On 12/10/2019 12:04 PM, Bruce Richardson wrote:
> > > > > > > > > On Tue, Dec 10, 2019 at 11:56:28AM +0000, Ferruh Yigit
> > > > > > > > > wrote:
> > > > > > > > > > Hi,
> > > > > > > > > > 
> > > > > > > > > > With new process, the major ABI releases will be
> > > > > > > > > > compatible
> > > > > > > > > > until it is
> > > > > > > > > > deprecated (until next LTS for now),
> > > > > > > > > > like current ABI version is 20 in DPDK_19.11 and DPDK
> > > > > > > > > > versions
> > > > > > > > > > until DPDK_20.11
> > > > > > > > > > will be ABI compatible with this version.
> > > > > > > > > > 
> > > > > > > > > > But if we introduce a new API after major ABI, say in
> > > > > > > > > > 20.02
> > > > > > > > > > release, are we
> > > > > > > > > > allowed to break the ABI for that API before
> > > > > > > > > > DPDK_20.11?
> > > > > > > > > > 
> > > > > > > > > > If we allow it break, following problem will be
> > > > > > > > > > observed:
> > > > > > > > > > Assume an application using .so.20.1 library, and
> > > > > > > > > > using the
> > > > > > > > > > new
> > > > > > > > > > API introduced
> > > > > > > > > > in 20.02, lets say foo(),
> > > > > > > > > > but when application switches to .so.20.2 (released
> > > > > > > > > > via
> > > > > > > > > > DPDK_20.05), application
> > > > > > > > > > will fail because of ABI breakage in foo().
> > > > > > > > > > 
> > > > > > > > > > I think it is fair that application expects forward
> > > > > > > > > > compatibility in minor
> > > > > > > > > > versions of a shared library.
> > > > > > > > > > Like if application linked against .so.20.2, fair to
> > > > > > > > > > expect
> > > > > > > > > > .so.20.3, .so.20.4
> > > > > > > > > > etc will work fine. I think currently only .so.20.0
> > > > > > > > > > is
> > > > > > > > > > fully
> > > > > > > > > > forward compatible.
> > > > > > > > > > 
> > > > > > > > > > If we all agree on this, we may need to tweak the
> > > > > > > > > > process a
> > > > > > > > > > little, but before
> > > > > > > > > > diving into implementation details, I would like to
> > > > > > > > > > be sure
> > > > > > > > > > we
> > > > > > > > > > are in same page.
> > > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > Well, any new API's generally come in as experimental,
> > > > > > > > > in
> > > > > > > > > which
> > > > > > > > > case
> > > > > > > > > changes are allowed, and breakage can be expected. If
> > > > > > > > > they
> > > > > > > > > are
> > > > > > > > > not
> > > > > > > > > experiemental, then the ABI policy applies to them in
> > > > > > > > > that
> > > > > > > > > they
> > > > > > > > > cannot
> > > > > > > > > change since they are part of the .21 ABI, even if that
> > > > > > > > > ABI
> > > > > > > > > is
> > > > > > > > > not fully
> > > > > > > > > complete yet. For any application only using stable,
> > > > > > > > > non-
> > > > > > > > > experimental
> > > > > > > > > functions, forward compatibility must be maintained
> > > > > > > > > IMHO.
> > > > > > > > > 
> > > > > > > > 
> > > > > > > > Talking about not experimental APIs, experimental ones
> > > > > > > > free
> > > > > > > > from
> > > > > > > > the process.
> > > > > > > > 
> > > > > > > > And when and API added in 20.02 (ABI_20.1) it is kind of
> > > > > > > > still
> > > > > > > > ABI_20, because
> > > > > > > > it should be supported for following ABI_20.x, instead of
> > > > > > > > calling
> > > > > > > > it ABI_21, and
> > > > > > > > this minor tweak (and mind shift) in .map files can be
> > > > > > > > our
> > > > > > > > solution.
> > > > > > > 
> > > > > > > Related at what to do with adding versions between major
> > > > > > > ABI
> > > > > > > versions, when
> > > > > > > investigating with Kevin the ABI checking we have made an
> > > > > > > unpleasant
> > > > > > > discovery:
> > > > > > > 
> > > > > > > This minor version bumping from 20.0 to 20.1 has apparently
> > > > > > > already
> > > > > > > broken
> > > > > > > our ABI according to libabigail.
> > > > > > > 
> > > > > > > The Gory Details [skip to the end for suggestions to fix]
> > > > > > > ---------------------------------------------------------
> > > > > > > ---
> > > > > > > 
> > > > > > > The reason for this is that the soversion encoded in each
> > > > > > > library
> > > > > > > -
> > > > > > > whether
> > > > > > > built with meson or make - is the full 20.0 version, not
> > > > > > > just the
> > > > > > > major ABI
> > > > > > > .20 part. Then when apps link against DPDK, they actually
> > > > > > > encode
> > > > > > > the
> > > > > > > 20.0.
> > > > > > > 
> > > > > > > So what this means is that currently - using a make build
> > > > > > > as an
> > > > > > > example
> > > > > > > here - ldd on the latest head build gives:
> > > > > > > 
> > > > > > >  LD_LIBRARY_PATH=$(pwd)/x86_64-native-linux-gcc/lib ldd
> > > > > > > x86_64-
> > > > > > > native-linux-gcc/app/testpmd | head
> > > > > > >         linux-vdso.so.1 (0x00007fff6813d000)
> > > > > > >         librte_pmd_bond.so.20.1 =>
> > > > > > > /home/bruce/dpdk.org/x86_64-
> > > > > > > native-linux-gcc/lib/librte_pmd_bond.so.20.1
> > > > > > > (0x00007f36d723c000)
> > > > > > >         librte_pmd_dpaa.so.20.1 =>
> > > > > > > /home/bruce/dpdk.org/x86_64-
> > > > > > > native-linux-gcc/lib/librte_pmd_dpaa.so.20.1
> > > > > > > (0x00007f36d7229000)
> > > > > > >         librte_mempool_dpaa.so.20.1 =>
> > > > > > > /home/bruce/dpdk.org/x86_64-
> > > > > > > native-linux-gcc/lib/librte_mempool_dpaa.so.20.1
> > > > > > > (0x00007f36d7224000)
> > > > > > >         librte_pmd_ixgbe.so.20.1 =>
> > > > > > > /home/bruce/dpdk.org/x86_64-
> > > > > > > native-linux-gcc/lib/librte_pmd_ixgbe.so.20.1
> > > > > > > (0x00007f36d71ba000)
> > > > > > >         librte_pmd_i40e.so.20.1 =>
> > > > > > > /home/bruce/dpdk.org/x86_64-
> > > > > > > native-linux-gcc/lib/librte_pmd_i40e.so.20.1
> > > > > > > (0x00007f36d7126000)
> > > > > > >         librte_pmd_bnxt.so.20.1 =>
> > > > > > > /home/bruce/dpdk.org/x86_64-
> > > > > > > native-linux-gcc/lib/librte_pmd_bnxt.so.20.1
> > > > > > > (0x00007f36d70e5000)
> > > > > > >         librte_pmd_softnic.so.20.1 =>
> > > > > > > /home/bruce/dpdk.org/x86_64-
> > > > > > > native-linux-gcc/lib/librte_pmd_softnic.so.20.1
> > > > > > > (0x00007f36d70b7000)
> > > > > > >         librte_flow_classify.so.0.201 =>
> > > > > > > /home/bruce/dpdk.org/x86_64-
> > > > > > > native-linux-gcc/lib/librte_flow_classify.so.0.201
> > > > > > > (0x00007f36d70b1000)
> > > > > > >         librte_pipeline.so.20.1 =>
> > > > > > > /home/bruce/dpdk.org/x86_64-
> > > > > > > native-linux-gcc/lib/librte_pipeline.so.20.1
> > > > > > > (0x00007f36d7088000)
> > > > > > > ...
> > > > > > > 
> > > > > > > Similarly ldd on a 19.11 checkout gives:
> > > > > > > 
> > > > > > > LD_LIBRARY_PATH=$(pwd)/x86_64-native-linux-gcc_v19.11/lib
> > > > > > > ldd
> > > > > > > x86_64-
> > > > > > > native-linux-gcc_v19.11/app/testpmd | head
> > > > > > >         linux-vdso.so.1 (0x00007ffc2a964000)
> > > > > > >         librte_pmd_bond.so.20.0 =>
> > > > > > > /home/bruce/dpdk.org/x86_64-
> > > > > > > native-linux-gcc_v19.11/lib/librte_pmd_bond.so.20.0
> > > > > > > (0x00007fd4dc6b6000)
> > > > > > >         librte_pmd_dpaa.so.20.0 =>
> > > > > > > /home/bruce/dpdk.org/x86_64-
> > > > > > > native-linux-gcc_v19.11/lib/librte_pmd_dpaa.so.20.0
> > > > > > > (0x00007fd4dc6a3000)
> > > > > > >         librte_mempool_dpaa.so.20.0 =>
> > > > > > > /home/bruce/dpdk.org/x86_64-
> > > > > > > native-linux-gcc_v19.11/lib/librte_mempool_dpaa.so.20.0
> > > > > > > (0x00007fd4dc69e000)
> > > > > > >         librte_pmd_ixgbe.so.20.0 =>
> > > > > > > /home/bruce/dpdk.org/x86_64-
> > > > > > > native-linux-gcc_v19.11/lib/librte_pmd_ixgbe.so.20.0
> > > > > > > (0x00007fd4dc634000)
> > > > > > >         librte_pmd_i40e.so.20.0 =>
> > > > > > > /home/bruce/dpdk.org/x86_64-
> > > > > > > native-linux-gcc_v19.11/lib/librte_pmd_i40e.so.20.0
> > > > > > > (0x00007fd4dc5a0000)
> > > > > > >         librte_pmd_bnxt.so.20.0 =>
> > > > > > > /home/bruce/dpdk.org/x86_64-
> > > > > > > native-linux-gcc_v19.11/lib/librte_pmd_bnxt.so.20.0
> > > > > > > (0x00007fd4dc55d000)
> > > > > > >         librte_pmd_softnic.so.20.0 =>
> > > > > > > /home/bruce/dpdk.org/x86_64-
> > > > > > > native-linux-gcc_v19.11/lib/librte_pmd_softnic.so.20.0
> > > > > > > (0x00007fd4dc531000)
> > > > > > >         librte_flow_classify.so.0.200 =>
> > > > > > > /home/bruce/dpdk.org/x86_64-
> > > > > > > native-linux-gcc_v19.11/lib/librte_flow_classify.so.0.200
> > > > > > > (0x00007fd4dc52b000)
> > > > > > >         librte_pipeline.so.20.0 =>
> > > > > > > /home/bruce/dpdk.org/x86_64-
> > > > > > > native-linux-gcc_v19.11/lib/librte_pipeline.so.20.0
> > > > > > > (0x00007fd4dc502000)
> > > > > > > 
> > > > > > > The final check - using the 19.11 compiled testpmd with the
> > > > > > > library
> > > > > > > path
> > > > > > > set to 20.02 versionned libs:
> > > > > > > 
> > > > > > > LD_LIBRARY_PATH=$(pwd)/x86_64-native-linux-gcc/lib ldd
> > > > > > > x86_64-
> > > > > > > native-
> > > > > > > linux-gcc_v19.11/app/testpmd | head
> > > > > > >         linux-vdso.so.1 (0x00007ffc711fc000)
> > > > > > >         librte_pmd_bond.so.20.0 => not found
> > > > > > >         librte_pmd_dpaa.so.20.0 => not found
> > > > > > >         librte_mempool_dpaa.so.20.0 => not found
> > > > > > >         librte_pmd_ixgbe.so.20.0 => not found
> > > > > > >         librte_pmd_i40e.so.20.0 => not found
> > > > > > >         librte_pmd_bnxt.so.20.0 => not found
> > > > > > >         librte_pmd_softnic.so.20.0 => not found
> > > > > > >         librte_flow_classify.so.0.200 => not found
> > > > > > >         librte_pipeline.so.20.0 => not found
> > > > > > > 
> > > > > > > Fixing This
> > > > > > > -----------
> > > > > > > 
> > > > > > > To fix this, we need to ensure that the SONAME remains
> > > > > > > constant
> > > > > > > across the
> > > > > > > releases. Therefore, I currently see two options:
> > > > > > > 
> > > > > > > 1. keep 20.0 as the version and soname across all releases
> > > > > > > in
> > > > > > > 2020,
> > > > > > > i.e.
> > > > > > >   just revert the ABIVERSION change patch. Trouble there is
> > > > > > > how
> > > > > > > to
> > > > > > > track
> > > > > > >   20.02 vs 20.05 etc. etc.
> > > > > > > 
> > > > > > > 2. remove the .0, .1 from the SONAMES stored in the
> > > > > > > libraries.
> > > > > > > This
> > > > > > > has the
> > > > > > >   advantage of keeping the existing planned schemes, but
> > > > > > > has the
> > > > > > > really big
> > > > > > >   downside of breaking ABI compatibility with anyone who
> > > > > > > has
> > > > > > > already
> > > > > > >   compiled with 19.11.
> > > > > > > 
> > > > > > > Personally, of the two options - unless someone can come up
> > > > > > > with
> > > > > > > a
> > > > > > > third
> > > > > > > option - I'd tend towards the second, fixing the builds to
> > > > > > > remove
> > > > > > > the
> > > > > > > .0 in
> > > > > > > the soname, and releasing that ASAP as 19.11.1 before 19.11
> > > > > > > gets
> > > > > > > widespread
> > > > > > > adoption. Since this ABI stability is new, teething
> > > > > > > problems may
> > > > > > > be
> > > > > > > expected.
> > > > > > > 
> > > > > > > Thoughts and comments?
> > > > > > > /Bruce
> > > > > > > 
> > > > > > > BTW: For meson, the patch for option 2 is just to remove
> > > > > > > the
> > > > > > > so_version
> > > > > > > variable and all references to it from lib/meson.build and
> > > > > > > drivers/meson.build. Haven't looked into a "make" fix yet.
> > > > > > 
> > > > > > Hi,
> > > > > > 
> > > > > > With libtool and its (arguably arcane) format, only the first
> > > > > > digit
> > > > > > is
> > > > > > the ABI current version and gets encoded in the elf header.
> > > > > > The
> > > > > > other
> > > > > > digits can be used to track compatible minor increments, and
> > > > > > are
> > > > > > mostly
> > > > > > ignored. On the system a symlink libfoo.so.major ->
> > > > > > libfoo.so.major.minor is added.
> > > > > > 
> > > > > > Eg:
> > > > > > 
> > > > > > $ readelf -d /usr/lib/x86_64-linux-gnu/libzmq.so.5.2.3 | grep
> > > > > > SONAME
> > > > > >  0x000000000000000e (SONAME)             Library soname:
> > > > > > [libzmq.so.5]
> > > > > > $ ls -l /usr/lib/x86_64-linux-gnu/libzmq.so.5
> > > > > > lrwxrwxrwx 1 root root 15 Dec 31  2014 /usr/lib/x86_64-linux-
> > > > > > gnu/libzmq.so.5 -> libzmq.so.5.2.3
> > > > > > 
> > > > > > Can we do the same? Not sure what the right incantation is
> > > > > > for
> > > > > > Meson,
> > > > > > but it should be possibly.
> > > > > > 
> > > > > 
> > > > > That's essentially option 2, and it's still an ABI break
> > > > > because
> > > > > existing
> > > > > builds of 19.11 have the soname will the full version number in
> > > > > it.
> > > > > The
> > > > > default behaviour for meson is exactly how you described it,
> > > > > except
> > > > > that
> > > > > previously we needed more exact control over the version info
> > > > > (for
> > > > > your
> > > > > dpdk-specific versions in the sonames) and so overrode the
> > > > > soversion
> > > > > explicitly. The fix for meson is to remove this overriding i.e.
> > > > > remove
> > > > > "soversion:" parameter for each shared_library() call.
> > > > > 
> > > > >  
> > > > > > Also, we should leave the current at 20.0 - let's not break
> > > > > > compatibility already, please :-)
> > > > > > 
> > > > > 
> > > > > If we do this, maybe we can use 20.0.1 and 20.0.2 version
> > > > > numbers?
> > > > 
> > > > Yes, that's what I meant - IMHO we should just take the hit and
> > > > use the
> > > > slightly weird 20.0 format until next year, and add a third digit
> > > > for
> > > > compatible updates. Then for v21 we can drop it.
> > > > 
> > > 
> > > My concern with that is us forgetting, because we'll put in place
> > > hacks to
> > > have the soversion be the first two numbers of the version. Then we
> > > need to
> > > remember to remove those hacks before 20.11 goes out or we'll end
> > > up with
> > > 21.0 being the soversion again.
> > > 
> > > For that reason, I'd rather see us fix it now before 19.11 gets
> > > widely
> > > adopted.
> > 
> > Me too I vote for fixing soname as 20 in a small 19.11.1
> > and release it quickly.
> > 
> > We are supposed to experience tooling and scheme adoption during this
> > first year of new ABI policy. I think we should stick to the planned
> > versionning, in order to avoid any surprise for the next major ABI.
> 
> If the concern is forgetting, I'll happily set a reminder in my
> calendar and then nag everybody :-)
> 
> In my opinion declaring stability and compatibility, with press
> releases and articles, and then immediately breaking it in the first
> point release does not send the right message. Not because there was a
> bug, which happens all the time, but because mantaining backward
> compatibility sometimes means having to carry less-than-ideal or
> downright ugly hacks for a while.
> 
> If we are not ready to maintain compatibility by carrying an ugly
> workaround when the implications are minor or non-existant (I'm pretty
> sure few would really cares what format the soname has, it's all
> handled by tools), what happens next time when the implications are
> that a broken feature stays broken, or that lower performance stays
> lower, and so on?
> 
Valid points. I've already posted one pair of patches for the quick-break
solution that most folks preferred, but it's probably as well to
investigate the alternative too a bit more. I'll try and come up with
something for it tomorrow.

/Bruce

^ permalink raw reply	[relevance 4%]

* [dpdk-dev] [PATCH] build: fix soname info for 19.11 compatiblity
@ 2019-12-11 10:26  5% Bruce Richardson
  2019-12-11 11:04  0% ` Luca Boccassi
                   ` (3 more replies)
  0 siblings, 4 replies; 200+ results
From: Bruce Richardson @ 2019-12-11 10:26 UTC (permalink / raw)
  To: dev; +Cc: thomas, ray.kinsella, ferruh.yigit, bluca, Bruce Richardson

The soname for each stable ABI version should be just the ABI version major
number without the minor number. Unfortunately both major and minor were
used causing version 20.1 to be incompatible with 20.0.

This patch fixes the issue by switching from 2-part to 3-part ABI version
numbers so that we can keep 20.0 as soname and using the final digits to
identify the 20.x releases which are ABI compatible. This requires changes
to both make and meson builds to handle the three-digit version and shrink
it to 2-digit for soname.

Fixes: cba806e07d6f ("build: change ABI versioning to global")

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---

This patch contains an alternative fix to that implied by the previous patches:
http://patches.dpdk.org/patch/63726/
http://patches.dpdk.org/patch/63728/

---
 ABI_VERSION         | 2 +-
 drivers/meson.build | 4 ++--
 lib/meson.build     | 4 ++--
 mk/rte.lib.mk       | 5 ++++-
 4 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/ABI_VERSION b/ABI_VERSION
index 2e73f8d2a..fcc01369a 100644
--- a/ABI_VERSION
+++ b/ABI_VERSION
@@ -1 +1 @@
-20.1
+20.0.1
diff --git a/drivers/meson.build b/drivers/meson.build
index 72eec4608..5f1d72071 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -132,11 +132,11 @@ foreach class:dpdk_driver_classes
 
 			if is_experimental != 0
 				lib_version = experimental_abi_version
-				so_version = experimental_abi_version
 			else
 				lib_version = abi_version
-				so_version = abi_version
 			endif
+			so_version = lib_version.split('.')
+			so_version = so_version[0] + '.' + so_version[1]
 
 			# now build the static driver
 			static_lib = static_library(lib_name,
diff --git a/lib/meson.build b/lib/meson.build
index 6ceb5e756..3b7dad348 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -113,11 +113,11 @@ foreach l:libraries
 
 			if is_experimental != 0
 				lib_version = experimental_abi_version
-				so_version = experimental_abi_version
 			else
 				lib_version = abi_version
-				so_version = abi_version
 			endif
+			so_version = lib_version.split('.')
+			so_version = so_version[0] + '.' + so_version[1]
 
 			# first build static lib
 			static_lib = static_library(libname,
diff --git a/mk/rte.lib.mk b/mk/rte.lib.mk
index 655a1b143..4b4267021 100644
--- a/mk/rte.lib.mk
+++ b/mk/rte.lib.mk
@@ -19,6 +19,8 @@ LIBABIVER := 0.$(shell cat $(RTE_SRCDIR)/ABI_VERSION | tr -d '.')
 endif
 
 ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
+SOVER := $(basename $(LIBABIVER))
+SONAME := $(patsubst %.a,%.so.$(SOVER),$(LIB))
 LIB := $(patsubst %.a,%.so.$(LIBABIVER),$(LIB))
 ifeq ($(EXTLIB_BUILD),n)
 CPU_LDFLAGS += --version-script=$(SRCDIR)/$(EXPORT_MAP)
@@ -74,7 +76,7 @@ NO_UNDEFINED := -z defs
 endif
 
 O_TO_S = $(LD) -L$(RTE_SDK_BIN)/lib $(_CPU_LDFLAGS) $(EXTRA_LDFLAGS) \
-	  -shared $(OBJS-y) $(NO_UNDEFINED) $(LDLIBS) -Wl,-soname,$(LIB) -o $(LIB)
+	  -shared $(OBJS-y) $(NO_UNDEFINED) $(LDLIBS) -Wl,-soname,$(SONAME) -o $(LIB)
 O_TO_S_STR = $(subst ','\'',$(O_TO_S)) #'# fix syntax highlight
 O_TO_S_DISP = $(if $(V),"$(O_TO_S_STR)","  LD $(@)")
 O_TO_S_DO = @set -e; \
@@ -133,6 +135,7 @@ $(RTE_OUTPUT)/lib/$(LIB): $(LIB)
 	$(Q)cp -f $(LIB) $(RTE_OUTPUT)/lib
 ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
 	$(Q)ln -s -f $< $(shell echo $@ | sed 's/\.so.*/.so/')
+	$(Q)ln -s -f $< $(shell echo $@ | sed 's/\.so.*/.so.$(SOVER)/')
 endif
 
 #
-- 
2.23.0


^ permalink raw reply	[relevance 5%]

* Re: [dpdk-dev] [PATCH] build: fix soname info for 19.11 compatiblity
  2019-12-11 10:26  5% [dpdk-dev] [PATCH] build: fix soname info for 19.11 compatiblity Bruce Richardson
@ 2019-12-11 11:04  0% ` Luca Boccassi
  2019-12-11 11:08  3%   ` Thomas Monjalon
  2019-12-11 11:11  0%   ` Bruce Richardson
  2019-12-11 11:15  0% ` Ferruh Yigit
                   ` (2 subsequent siblings)
  3 siblings, 2 replies; 200+ results
From: Luca Boccassi @ 2019-12-11 11:04 UTC (permalink / raw)
  To: Bruce Richardson, dev; +Cc: thomas, ray.kinsella, ferruh.yigit

On Wed, 2019-12-11 at 10:26 +0000, Bruce Richardson wrote:
> The soname for each stable ABI version should be just the ABI version
> major
> number without the minor number. Unfortunately both major and minor
> were
> used causing version 20.1 to be incompatible with 20.0.
> 
> This patch fixes the issue by switching from 2-part to 3-part ABI
> version
> numbers so that we can keep 20.0 as soname and using the final digits
> to
> identify the 20.x releases which are ABI compatible. This requires
> changes
> to both make and meson builds to handle the three-digit version and
> shrink
> it to 2-digit for soname.
> 
> Fixes: cba806e07d6f ("build: change ABI versioning to global")
> 
> Signed-off-by: Thomas Monjalon <
> thomas@monjalon.net
> >
> Signed-off-by: Bruce Richardson <
> bruce.richardson@intel.com
> >
> ---
> 
> This patch contains an alternative fix to that implied by the
> previous patches:
> http://patches.dpdk.org/patch/63726/
> 
> http://patches.dpdk.org/patch/63728/
> 
> 
> ---
>  ABI_VERSION         | 2 +-
>  drivers/meson.build | 4 ++--
>  lib/meson.build     | 4 ++--
>  mk/rte.lib.mk       | 5 ++++-
>  4 files changed, 9 insertions(+), 6 deletions(-)

Acked-by: Luca Boccassi <bluca@debian.org>

Thank you! I've set a reminder in my calendar for September to revert
it :-)

-- 
Kind regards,
Luca Boccassi

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH] build: fix soname info for 19.11 compatiblity
  2019-12-11 11:04  0% ` Luca Boccassi
@ 2019-12-11 11:08  3%   ` Thomas Monjalon
  2019-12-11 11:14  0%     ` Bruce Richardson
  2019-12-11 11:11  0%   ` Bruce Richardson
  1 sibling, 1 reply; 200+ results
From: Thomas Monjalon @ 2019-12-11 11:08 UTC (permalink / raw)
  To: Luca Boccassi; +Cc: Bruce Richardson, dev, ray.kinsella, ferruh.yigit

11/12/2019 12:04, Luca Boccassi:
> On Wed, 2019-12-11 at 10:26 +0000, Bruce Richardson wrote:
> > The soname for each stable ABI version should be just the ABI version
> > major
> > number without the minor number. Unfortunately both major and minor
> > were
> > used causing version 20.1 to be incompatible with 20.0.
> > 
> > This patch fixes the issue by switching from 2-part to 3-part ABI
> > version
> > numbers so that we can keep 20.0 as soname and using the final digits
> > to
> > identify the 20.x releases which are ABI compatible. This requires
> > changes
> > to both make and meson builds to handle the three-digit version and
> > shrink
> > it to 2-digit for soname.
> > 
> > Fixes: cba806e07d6f ("build: change ABI versioning to global")
> > 
> > Signed-off-by: Thomas Monjalon <
> > thomas@monjalon.net
> > >
> > Signed-off-by: Bruce Richardson <
> > bruce.richardson@intel.com
> > >
> > ---
> > 
> > This patch contains an alternative fix to that implied by the
> > previous patches:
> > http://patches.dpdk.org/patch/63726/
> > 
> > http://patches.dpdk.org/patch/63728/
> > 
> > 
> > ---
> >  ABI_VERSION         | 2 +-
> >  drivers/meson.build | 4 ++--
> >  lib/meson.build     | 4 ++--
> >  mk/rte.lib.mk       | 5 ++++-
> >  4 files changed, 9 insertions(+), 6 deletions(-)
> 
> Acked-by: Luca Boccassi <bluca@debian.org>
> 
> Thank you! I've set a reminder in my calendar for September to revert
> it :-)

I don't think we need to revert it.
The ABI version will have only 2 numbers (21.0).
In makefile there is no change.
What needs to be changed in meson?



^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] [PATCH] build: fix soname info for 19.11 compatiblity
  2019-12-11 11:04  0% ` Luca Boccassi
  2019-12-11 11:08  3%   ` Thomas Monjalon
@ 2019-12-11 11:11  0%   ` Bruce Richardson
  2019-12-11 11:25  0%     ` Ferruh Yigit
  2019-12-12 11:14  0%     ` Ray Kinsella
  1 sibling, 2 replies; 200+ results
From: Bruce Richardson @ 2019-12-11 11:11 UTC (permalink / raw)
  To: Luca Boccassi; +Cc: dev, thomas, ray.kinsella, ferruh.yigit

On Wed, Dec 11, 2019 at 11:04:01AM +0000, Luca Boccassi wrote:
> On Wed, 2019-12-11 at 10:26 +0000, Bruce Richardson wrote:
> > The soname for each stable ABI version should be just the ABI version
> > major
> > number without the minor number. Unfortunately both major and minor
> > were
> > used causing version 20.1 to be incompatible with 20.0.
> > 
> > This patch fixes the issue by switching from 2-part to 3-part ABI
> > version
> > numbers so that we can keep 20.0 as soname and using the final digits
> > to
> > identify the 20.x releases which are ABI compatible. This requires
> > changes
> > to both make and meson builds to handle the three-digit version and
> > shrink
> > it to 2-digit for soname.
> > 
> > Fixes: cba806e07d6f ("build: change ABI versioning to global")
> > 
> > Signed-off-by: Thomas Monjalon <
> > thomas@monjalon.net
> > >
> > Signed-off-by: Bruce Richardson <
> > bruce.richardson@intel.com
> > >
> > ---
> > 
> > This patch contains an alternative fix to that implied by the
> > previous patches:
> > http://patches.dpdk.org/patch/63726/
> > 
> > http://patches.dpdk.org/patch/63728/
> > 
> > 
> > ---
> >  ABI_VERSION         | 2 +-
> >  drivers/meson.build | 4 ++--
> >  lib/meson.build     | 4 ++--
> >  mk/rte.lib.mk       | 5 ++++-
> >  4 files changed, 9 insertions(+), 6 deletions(-)
> 
> Acked-by: Luca Boccassi <bluca@debian.org>
> 
> Thank you! I've set a reminder in my calendar for September to revert
> it :-)
> 
Lol, don't forget to put another reminder to fix things properly then too.
:-)

We also still need consensus in the community as to whether to take this
approach or to do a re-spin of 19.11. At this point, I'm swayed by your
arguments and think we should keep compatibility at the cost of a little
pain and weirdness in our .so filenames.

/Bruce

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH] build: fix soname info for 19.11 compatiblity
  2019-12-11 11:08  3%   ` Thomas Monjalon
@ 2019-12-11 11:14  0%     ` Bruce Richardson
  2019-12-11 11:19  0%       ` Ferruh Yigit
  0 siblings, 1 reply; 200+ results
From: Bruce Richardson @ 2019-12-11 11:14 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: Luca Boccassi, dev, ray.kinsella, ferruh.yigit

On Wed, Dec 11, 2019 at 12:08:25PM +0100, Thomas Monjalon wrote:
> 11/12/2019 12:04, Luca Boccassi:
> > On Wed, 2019-12-11 at 10:26 +0000, Bruce Richardson wrote:
> > > The soname for each stable ABI version should be just the ABI version
> > > major
> > > number without the minor number. Unfortunately both major and minor
> > > were
> > > used causing version 20.1 to be incompatible with 20.0.
> > > 
> > > This patch fixes the issue by switching from 2-part to 3-part ABI
> > > version
> > > numbers so that we can keep 20.0 as soname and using the final digits
> > > to
> > > identify the 20.x releases which are ABI compatible. This requires
> > > changes
> > > to both make and meson builds to handle the three-digit version and
> > > shrink
> > > it to 2-digit for soname.
> > > 
> > > Fixes: cba806e07d6f ("build: change ABI versioning to global")
> > > 
> > > Signed-off-by: Thomas Monjalon <
> > > thomas@monjalon.net
> > > >
> > > Signed-off-by: Bruce Richardson <
> > > bruce.richardson@intel.com
> > > >
> > > ---
> > > 
> > > This patch contains an alternative fix to that implied by the
> > > previous patches:
> > > http://patches.dpdk.org/patch/63726/
> > > 
> > > http://patches.dpdk.org/patch/63728/
> > > 
> > > 
> > > ---
> > >  ABI_VERSION         | 2 +-
> > >  drivers/meson.build | 4 ++--
> > >  lib/meson.build     | 4 ++--
> > >  mk/rte.lib.mk       | 5 ++++-
> > >  4 files changed, 9 insertions(+), 6 deletions(-)
> > 
> > Acked-by: Luca Boccassi <bluca@debian.org>
> > 
> > Thank you! I've set a reminder in my calendar for September to revert
> > it :-)
> 
> I don't think we need to revert it.
> The ABI version will have only 2 numbers (21.0).
> In makefile there is no change.
> What needs to be changed in meson?
> 
We need to remove the explicit use of so_version, and let meson just do the
right thing with the lib version. That being said, I can see about having
meson behave as make so that it will work even if we forget (i.e. even with
changed behaviour we should still remove the explicit soversion usage when
it's no longer needed).

/Bruce

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH] build: fix soname info for 19.11 compatiblity
  2019-12-11 10:26  5% [dpdk-dev] [PATCH] build: fix soname info for 19.11 compatiblity Bruce Richardson
  2019-12-11 11:04  0% ` Luca Boccassi
@ 2019-12-11 11:15  0% ` Ferruh Yigit
  2019-12-11 13:14  0%   ` Bruce Richardson
  2019-12-11 15:16 10% ` [dpdk-dev] [PATCH v2] " Bruce Richardson
  2019-12-12 11:58 10% ` [dpdk-dev] [PATCH v3] " Bruce Richardson
  3 siblings, 1 reply; 200+ results
From: Ferruh Yigit @ 2019-12-11 11:15 UTC (permalink / raw)
  To: Bruce Richardson, dev; +Cc: thomas, ray.kinsella, bluca

On 12/11/2019 10:26 AM, Bruce Richardson wrote:
> The soname for each stable ABI version should be just the ABI version major
> number without the minor number. Unfortunately both major and minor were
> used causing version 20.1 to be incompatible with 20.0.
> 
> This patch fixes the issue by switching from 2-part to 3-part ABI version
> numbers so that we can keep 20.0 as soname and using the final digits to
> identify the 20.x releases which are ABI compatible. This requires changes
> to both make and meson builds to handle the three-digit version and shrink
> it to 2-digit for soname.

What about following, does it makes file names better?

DPDK_20.02 (ABI_20.1):
 SONAME: .so.20.0
 library name: .so.20.1
 .so.20.0 --> .so.20.1
 .so --> .so.20.1


DPDK_20.05 (ABI_20.2):
 SONAME: .so.20.0
 library name: .so.20.2
 .so.20.0 --> .so.20.2
 .so --> .so.20.2


> 
> Fixes: cba806e07d6f ("build: change ABI versioning to global")
> 
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> ---
> 
> This patch contains an alternative fix to that implied by the previous patches:
> http://patches.dpdk.org/patch/63726/
> http://patches.dpdk.org/patch/63728/
> 
> ---
>  ABI_VERSION         | 2 +-
>  drivers/meson.build | 4 ++--
>  lib/meson.build     | 4 ++--
>  mk/rte.lib.mk       | 5 ++++-
>  4 files changed, 9 insertions(+), 6 deletions(-)
> 
> diff --git a/ABI_VERSION b/ABI_VERSION
> index 2e73f8d2a..fcc01369a 100644
> --- a/ABI_VERSION
> +++ b/ABI_VERSION
> @@ -1 +1 @@
> -20.1
> +20.0.1
> diff --git a/drivers/meson.build b/drivers/meson.build
> index 72eec4608..5f1d72071 100644
> --- a/drivers/meson.build
> +++ b/drivers/meson.build
> @@ -132,11 +132,11 @@ foreach class:dpdk_driver_classes
>  
>  			if is_experimental != 0
>  				lib_version = experimental_abi_version
> -				so_version = experimental_abi_version
>  			else
>  				lib_version = abi_version
> -				so_version = abi_version
>  			endif
> +			so_version = lib_version.split('.')
> +			so_version = so_version[0] + '.' + so_version[1]
>  
>  			# now build the static driver
>  			static_lib = static_library(lib_name,
> diff --git a/lib/meson.build b/lib/meson.build
> index 6ceb5e756..3b7dad348 100644
> --- a/lib/meson.build
> +++ b/lib/meson.build
> @@ -113,11 +113,11 @@ foreach l:libraries
>  
>  			if is_experimental != 0
>  				lib_version = experimental_abi_version
> -				so_version = experimental_abi_version
>  			else
>  				lib_version = abi_version
> -				so_version = abi_version
>  			endif
> +			so_version = lib_version.split('.')
> +			so_version = so_version[0] + '.' + so_version[1]
>  
>  			# first build static lib
>  			static_lib = static_library(libname,
> diff --git a/mk/rte.lib.mk b/mk/rte.lib.mk
> index 655a1b143..4b4267021 100644
> --- a/mk/rte.lib.mk
> +++ b/mk/rte.lib.mk
> @@ -19,6 +19,8 @@ LIBABIVER := 0.$(shell cat $(RTE_SRCDIR)/ABI_VERSION | tr -d '.')
>  endif
>  
>  ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
> +SOVER := $(basename $(LIBABIVER))
> +SONAME := $(patsubst %.a,%.so.$(SOVER),$(LIB))
>  LIB := $(patsubst %.a,%.so.$(LIBABIVER),$(LIB))
>  ifeq ($(EXTLIB_BUILD),n)
>  CPU_LDFLAGS += --version-script=$(SRCDIR)/$(EXPORT_MAP)
> @@ -74,7 +76,7 @@ NO_UNDEFINED := -z defs
>  endif
>  
>  O_TO_S = $(LD) -L$(RTE_SDK_BIN)/lib $(_CPU_LDFLAGS) $(EXTRA_LDFLAGS) \
> -	  -shared $(OBJS-y) $(NO_UNDEFINED) $(LDLIBS) -Wl,-soname,$(LIB) -o $(LIB)
> +	  -shared $(OBJS-y) $(NO_UNDEFINED) $(LDLIBS) -Wl,-soname,$(SONAME) -o $(LIB)
>  O_TO_S_STR = $(subst ','\'',$(O_TO_S)) #'# fix syntax highlight
>  O_TO_S_DISP = $(if $(V),"$(O_TO_S_STR)","  LD $(@)")
>  O_TO_S_DO = @set -e; \
> @@ -133,6 +135,7 @@ $(RTE_OUTPUT)/lib/$(LIB): $(LIB)
>  	$(Q)cp -f $(LIB) $(RTE_OUTPUT)/lib
>  ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
>  	$(Q)ln -s -f $< $(shell echo $@ | sed 's/\.so.*/.so/')
> +	$(Q)ln -s -f $< $(shell echo $@ | sed 's/\.so.*/.so.$(SOVER)/')
>  endif
>  
>  #
> 


^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH] build: fix soname info for 19.11 compatiblity
  2019-12-11 11:14  0%     ` Bruce Richardson
@ 2019-12-11 11:19  0%       ` Ferruh Yigit
  2019-12-12 11:07  0%         ` Ray Kinsella
  0 siblings, 1 reply; 200+ results
From: Ferruh Yigit @ 2019-12-11 11:19 UTC (permalink / raw)
  To: Bruce Richardson, Thomas Monjalon; +Cc: Luca Boccassi, dev, ray.kinsella

On 12/11/2019 11:14 AM, Bruce Richardson wrote:
> On Wed, Dec 11, 2019 at 12:08:25PM +0100, Thomas Monjalon wrote:
>> 11/12/2019 12:04, Luca Boccassi:
>>> On Wed, 2019-12-11 at 10:26 +0000, Bruce Richardson wrote:
>>>> The soname for each stable ABI version should be just the ABI version
>>>> major
>>>> number without the minor number. Unfortunately both major and minor
>>>> were
>>>> used causing version 20.1 to be incompatible with 20.0.
>>>>
>>>> This patch fixes the issue by switching from 2-part to 3-part ABI
>>>> version
>>>> numbers so that we can keep 20.0 as soname and using the final digits
>>>> to
>>>> identify the 20.x releases which are ABI compatible. This requires
>>>> changes
>>>> to both make and meson builds to handle the three-digit version and
>>>> shrink
>>>> it to 2-digit for soname.
>>>>
>>>> Fixes: cba806e07d6f ("build: change ABI versioning to global")
>>>>
>>>> Signed-off-by: Thomas Monjalon <
>>>> thomas@monjalon.net
>>>>>
>>>> Signed-off-by: Bruce Richardson <
>>>> bruce.richardson@intel.com
>>>>>
>>>> ---
>>>>
>>>> This patch contains an alternative fix to that implied by the
>>>> previous patches:
>>>> http://patches.dpdk.org/patch/63726/
>>>>
>>>> http://patches.dpdk.org/patch/63728/
>>>>
>>>>
>>>> ---
>>>>  ABI_VERSION         | 2 +-
>>>>  drivers/meson.build | 4 ++--
>>>>  lib/meson.build     | 4 ++--
>>>>  mk/rte.lib.mk       | 5 ++++-
>>>>  4 files changed, 9 insertions(+), 6 deletions(-)
>>>
>>> Acked-by: Luca Boccassi <bluca@debian.org>
>>>
>>> Thank you! I've set a reminder in my calendar for September to revert
>>> it :-)
>>
>> I don't think we need to revert it.
>> The ABI version will have only 2 numbers (21.0).
>> In makefile there is no change.
>> What needs to be changed in meson?
>>
> We need to remove the explicit use of so_version, and let meson just do the
> right thing with the lib version. That being said, I can see about having
> meson behave as make so that it will work even if we forget (i.e. even with
> changed behaviour we should still remove the explicit soversion usage when
> it's no longer needed).
> 

Current major become two digits, "20.0", I think we fix it to single digit,
"21", again in 20.11.

I suggest adding this to deprecation notice document, with 20.11 target, so it
can stay there and remind us the change.


^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH] build: fix soname info for 19.11 compatiblity
  2019-12-11 11:11  0%   ` Bruce Richardson
@ 2019-12-11 11:25  0%     ` Ferruh Yigit
  2019-12-12 11:14  0%     ` Ray Kinsella
  1 sibling, 0 replies; 200+ results
From: Ferruh Yigit @ 2019-12-11 11:25 UTC (permalink / raw)
  To: Bruce Richardson, Luca Boccassi; +Cc: dev, thomas, ray.kinsella

On 12/11/2019 11:11 AM, Bruce Richardson wrote:
> On Wed, Dec 11, 2019 at 11:04:01AM +0000, Luca Boccassi wrote:
>> On Wed, 2019-12-11 at 10:26 +0000, Bruce Richardson wrote:
>>> The soname for each stable ABI version should be just the ABI version
>>> major
>>> number without the minor number. Unfortunately both major and minor
>>> were
>>> used causing version 20.1 to be incompatible with 20.0.
>>>
>>> This patch fixes the issue by switching from 2-part to 3-part ABI
>>> version
>>> numbers so that we can keep 20.0 as soname and using the final digits
>>> to
>>> identify the 20.x releases which are ABI compatible. This requires
>>> changes
>>> to both make and meson builds to handle the three-digit version and
>>> shrink
>>> it to 2-digit for soname.
>>>
>>> Fixes: cba806e07d6f ("build: change ABI versioning to global")
>>>
>>> Signed-off-by: Thomas Monjalon <
>>> thomas@monjalon.net
>>>>
>>> Signed-off-by: Bruce Richardson <
>>> bruce.richardson@intel.com
>>>>
>>> ---
>>>
>>> This patch contains an alternative fix to that implied by the
>>> previous patches:
>>> http://patches.dpdk.org/patch/63726/
>>>
>>> http://patches.dpdk.org/patch/63728/
>>>
>>>
>>> ---
>>>  ABI_VERSION         | 2 +-
>>>  drivers/meson.build | 4 ++--
>>>  lib/meson.build     | 4 ++--
>>>  mk/rte.lib.mk       | 5 ++++-
>>>  4 files changed, 9 insertions(+), 6 deletions(-)
>>
>> Acked-by: Luca Boccassi <bluca@debian.org>
>>
>> Thank you! I've set a reminder in my calendar for September to revert
>> it :-)
>>
> Lol, don't forget to put another reminder to fix things properly then too.
> :-)
> 
> We also still need consensus in the community as to whether to take this
> approach or to do a re-spin of 19.11. At this point, I'm swayed by your
> arguments and think we should keep compatibility at the cost of a little
> pain and weirdness in our .so filenames.
> 

I was leaning towards 19.11.1 but Luca was convincing :) and I agree he has a
point, so no objection to this change from me.

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH] ethdev: add L2TPv3 header to flow API
  2019-12-10 20:32  0%     ` Ori Kam
@ 2019-12-11 11:36  0%       ` Sexton, Rory
  2019-12-11 13:30  0%         ` Ori Kam
  0 siblings, 1 reply; 200+ results
From: Sexton, Rory @ 2019-12-11 11:36 UTC (permalink / raw)
  To: Ori Kam, dev; +Cc: Zhang, Qi Z, Xing, Beilei, Adrien Mazarguil, Jagus, DariuszX

Hi Ori,

See my comments below.

Regards,
Rory

>> 
>>> One general question why do we want to support only v3 and not also v2?
>> l2tpv3 is more widely used as a tunneling protocol hence it's inclusion.
>> A specific example is the cable industry where DOCSIS cable traffic is 
>> encapsulated using depi and uepi protocols which both make use of 
>> l2tpv3 session ids.
>> Directing flows based on l2tpv3 can be very useful in these cases.
>> 
>
>I'm not saying that v3 is not used more, I just thought from looking at the spec that both can be supported and the only difference is the version, so matching on the version we will be able to support both versions.
>Your decision.
>

There is more difference between l2tpv2 and l2tpv3 than just the version number.
In L2TPv2 there exists a 16 bit Tunnel ID and 16 bit Session ID. This is changed to a 32 bit Session ID in L2TPv3
Please see difference in headers below for v2 and v3.
Due to the differences between v2 and v3 I don't think both can be supported with same flow item.

                                                          L2TPv2
    0...............................................15, 16......................................31
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |T|L|x|x|S|x|O|P|x|x|x|x|  Ver  |          Length (opt)                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           Tunnel ID                               |           Session ID                     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             Ns (opt)                               |             Nr (opt)                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      Offset Size (opt)                        |    Offset pad... (opt)               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                                                          L2TPv3
    0...............................................15, 16......................................31
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           Session ID                                                                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |               Cookie (optional, maximum 64 bits)...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                                                                                                    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

>> >> +/**
>> >> + * RTE_FLOW_ITEM_TYPE_L2TPV3.
>> >> + *
>> >> + * Matches a L2TPv3 header.
>> >> + */
>> >> +struct rte_flow_item_l2tpv3 {
>> >> +	rte_be32_t session_id; /**< Session ID. */ };
>> >
>> >Does it make sense that in future we will want to match on the T / L 
>> >/ ver /
>> Ns / Nr?
>> >
>> >Please also consider that any change will be ABI / API breakage, 
>> >which will
>> be allowed only next year.
>> >
>> 
>> I don't foresee us wanting to match on any of the other fields, T / L 
>> / ver / Ns/ Nr.
>> The session id would typically be the only field of interest in the 
>> l2tpv3 header.
>
> I think that adding all fields to the structure will solve the possible issue with adding matching later.
> Also and even more important you will be able to use it for creating the  raw_encap / raw_decap buffers.
>
>What do you think?

Based on the differences between v2 and v3 the only field of interest in l2tpv3 over IP is the Session ID.
I agree it would make sense to add all fields if we were implementing l2tpv2 however v2 would require a different implementation to v3 due to the differences between both Protocols.

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] How to manage new APIs added after major ABI release?
  2019-12-10 11:56  9% [dpdk-dev] How to manage new APIs added after major ABI release? Ferruh Yigit
  2019-12-10 12:04  9% ` Bruce Richardson
@ 2019-12-11 13:11  8% ` Neil Horman
  2019-12-11 13:29  7%   ` Thomas Monjalon
  2019-12-11 13:30  9%   ` Ferruh Yigit
  1 sibling, 2 replies; 200+ results
From: Neil Horman @ 2019-12-11 13:11 UTC (permalink / raw)
  To: Ferruh Yigit
  Cc: Kinsella, Ray, Thomas Monjalon, David Marchand, Luca Boccassi,
	Christian Ehrhardt, Timothy Redaelli, Kevin Traynor, dpdk-dev,
	Bruce Richardson, Laatz, Kevin, Andrew Rybchenko, Neil Horman

On Tue, Dec 10, 2019 at 11:56:28AM +0000, Ferruh Yigit wrote:
> Hi,
> 
> With new process, the major ABI releases will be compatible until it is
> deprecated (until next LTS for now),
> like current ABI version is 20 in DPDK_19.11 and DPDK versions until DPDK_20.11
> will be ABI compatible with this version.
> 
> But if we introduce a new API after major ABI, say in 20.02 release, are we
> allowed to break the ABI for that API before DPDK_20.11?
> 
> If we allow it break, following problem will be observed:
> Assume an application using .so.20.1 library, and using the new API introduced
> in 20.02, lets say foo(),
> but when application switches to .so.20.2 (released via DPDK_20.05), application
> will fail because of ABI breakage in foo().
> 
> I think it is fair that application expects forward compatibility in minor
> versions of a shared library.
> Like if application linked against .so.20.2, fair to expect .so.20.3, .so.20.4
> etc will work fine. I think currently only .so.20.0 is fully forward compatible.
> 
> If we all agree on this, we may need to tweak the process a little, but before
> diving into implementation details, I would like to be sure we are in same page.
> 
Yes, I agree with the assertion.  Once an ABI is fixed, it must be compatible
with all future minor releases subsequent to the fixing of that ABI, until the
next major update.  That is to say, once you release ABI_20, all minor updates
20.01, 20.02, etc must be compatible with ABI_20 until such time as ABI_21 is
released.

Neil

> 
> Thanks,
> ferruh
> 

^ permalink raw reply	[relevance 8%]

* Re: [dpdk-dev] [PATCH] build: fix soname info for 19.11 compatiblity
  2019-12-11 11:15  0% ` Ferruh Yigit
@ 2019-12-11 13:14  0%   ` Bruce Richardson
  0 siblings, 0 replies; 200+ results
From: Bruce Richardson @ 2019-12-11 13:14 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: dev, thomas, ray.kinsella, bluca

On Wed, Dec 11, 2019 at 11:15:29AM +0000, Ferruh Yigit wrote:
> On 12/11/2019 10:26 AM, Bruce Richardson wrote:
> > The soname for each stable ABI version should be just the ABI version major
> > number without the minor number. Unfortunately both major and minor were
> > used causing version 20.1 to be incompatible with 20.0.
> > 
> > This patch fixes the issue by switching from 2-part to 3-part ABI version
> > numbers so that we can keep 20.0 as soname and using the final digits to
> > identify the 20.x releases which are ABI compatible. This requires changes
> > to both make and meson builds to handle the three-digit version and shrink
> > it to 2-digit for soname.
> 
> What about following, does it makes file names better?
> 
> DPDK_20.02 (ABI_20.1):
>  SONAME: .so.20.0
>  library name: .so.20.1
>  .so.20.0 --> .so.20.1
>  .so --> .so.20.1
> 
> 
> DPDK_20.05 (ABI_20.2):
>  SONAME: .so.20.0
>  library name: .so.20.2
>  .so.20.0 --> .so.20.2
>  .so --> .so.20.2
> 
> 
Personally, I really don't like having symlinks for libraries with the same
"level" of version number, i.e. while linking from 20.0 -> 20.0.1 is fine,
linking from 20.1 to 20.0 seems wrong, and would also potentially cause
issues with having 19.11 installed in parallel to another version.

/Bruce

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] How to manage new APIs added after major ABI release?
  2019-12-11 13:11  8% ` Neil Horman
@ 2019-12-11 13:29  7%   ` Thomas Monjalon
  2019-12-11 13:30  9%   ` Ferruh Yigit
  1 sibling, 0 replies; 200+ results
From: Thomas Monjalon @ 2019-12-11 13:29 UTC (permalink / raw)
  To: Neil Horman, Ferruh Yigit
  Cc: Kinsella, Ray, David Marchand, Luca Boccassi, Christian Ehrhardt,
	Timothy Redaelli, Kevin Traynor, dpdk-dev, Bruce Richardson,
	Laatz, Kevin, Andrew Rybchenko, Neil Horman

11/12/2019 14:11, Neil Horman:
> On Tue, Dec 10, 2019 at 11:56:28AM +0000, Ferruh Yigit wrote:
> > Hi,
> > 
> > With new process, the major ABI releases will be compatible until it is
> > deprecated (until next LTS for now),
> > like current ABI version is 20 in DPDK_19.11 and DPDK versions until DPDK_20.11
> > will be ABI compatible with this version.
> > 
> > But if we introduce a new API after major ABI, say in 20.02 release, are we
> > allowed to break the ABI for that API before DPDK_20.11?
> > 
> > If we allow it break, following problem will be observed:
> > Assume an application using .so.20.1 library, and using the new API introduced
> > in 20.02, lets say foo(),
> > but when application switches to .so.20.2 (released via DPDK_20.05), application
> > will fail because of ABI breakage in foo().
> > 
> > I think it is fair that application expects forward compatibility in minor
> > versions of a shared library.
> > Like if application linked against .so.20.2, fair to expect .so.20.3, .so.20.4
> > etc will work fine. I think currently only .so.20.0 is fully forward compatible.
> > 
> > If we all agree on this, we may need to tweak the process a little, but before
> > diving into implementation details, I would like to be sure we are in same page.
> > 
> Yes, I agree with the assertion.  Once an ABI is fixed, it must be compatible
> with all future minor releases subsequent to the fixing of that ABI, until the
> next major update.  That is to say, once you release ABI_20, all minor updates
> 20.01, 20.02, etc must be compatible with ABI_20 until such time as ABI_21 is
> released.

The question of Ferruh was about compatibility of 20.2 vs 20.1,
given both are compatible with 20.0 of course.
The question makes sense if a new symbol is added in 20.1.
And yes I think the symbol added in a minor version must be kept
until the next major ABI.



^ permalink raw reply	[relevance 7%]

* Re: [dpdk-dev] [PATCH] ethdev: add L2TPv3 header to flow API
  2019-12-11 11:36  0%       ` Sexton, Rory
@ 2019-12-11 13:30  0%         ` Ori Kam
  2019-12-11 16:31  0%           ` Sexton, Rory
  0 siblings, 1 reply; 200+ results
From: Ori Kam @ 2019-12-11 13:30 UTC (permalink / raw)
  To: Sexton, Rory, dev
  Cc: Zhang, Qi Z, Xing, Beilei, Adrien Mazarguil, Jagus, DariuszX

Hi Rory,

PSB

> -----Original Message-----
> From: Sexton, Rory <rory.sexton@intel.com>
> Sent: Wednesday, December 11, 2019 1:36 PM
> To: Ori Kam <orika@mellanox.com>; dev@dpdk.org
> Cc: Zhang, Qi Z <qi.z.zhang@intel.com>; Xing, Beilei <beilei.xing@intel.com>;
> Adrien Mazarguil <adrien.mazarguil@6wind.com>; Jagus, DariuszX
> <dariuszx.jagus@intel.com>
> Subject: RE: [dpdk-dev] [PATCH] ethdev: add L2TPv3 header to flow API
> 
> Hi Ori,
> 
> See my comments below.
> 
> Regards,
> Rory
> 
> >>
> >>> One general question why do we want to support only v3 and not also
> v2?
> >> l2tpv3 is more widely used as a tunneling protocol hence it's inclusion.
> >> A specific example is the cable industry where DOCSIS cable traffic is
> >> encapsulated using depi and uepi protocols which both make use of
> >> l2tpv3 session ids.
> >> Directing flows based on l2tpv3 can be very useful in these cases.
> >>
> >
> >I'm not saying that v3 is not used more, I just thought from looking at the
> spec that both can be supported and the only difference is the version, so
> matching on the version we will be able to support both versions.
> >Your decision.
> >
> 
> There is more difference between l2tpv2 and l2tpv3 than just the version
> number.
> In L2TPv2 there exists a 16 bit Tunnel ID and 16 bit Session ID. This is changed
> to a 32 bit Session ID in L2TPv3
> Please see difference in headers below for v2 and v3.
> Due to the differences between v2 and v3 I don't think both can be
> supported with same flow item.
> 
>                                                           L2TPv2
>     0...............................................15, 16......................................31
>    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>    |T|L|x|x|S|x|O|P|x|x|x|x|  Ver  |          Length (opt)                  |
>    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>    |           Tunnel ID                               |           Session ID                     |
>    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>    |             Ns (opt)                               |             Nr (opt)                        |
>    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>    |      Offset Size (opt)                        |    Offset pad... (opt)               |
>    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> 
>                                                           L2TPv3
>     0...............................................15, 16......................................31
>    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>    |                           Session ID                                                                  |
>    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>    |               Cookie (optional, maximum 64 bits)...
>    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>                                                                                                                     |
>    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> 

Since we have the version, they can by using union,
But like I said your call.

> >> >> +/**
> >> >> + * RTE_FLOW_ITEM_TYPE_L2TPV3.
> >> >> + *
> >> >> + * Matches a L2TPv3 header.
> >> >> + */
> >> >> +struct rte_flow_item_l2tpv3 {
> >> >> +	rte_be32_t session_id; /**< Session ID. */ };
> >> >
> >> >Does it make sense that in future we will want to match on the T / L
> >> >/ ver /
> >> Ns / Nr?
> >> >
> >> >Please also consider that any change will be ABI / API breakage,
> >> >which will
> >> be allowed only next year.
> >> >
> >>
> >> I don't foresee us wanting to match on any of the other fields, T / L
> >> / ver / Ns/ Nr.
> >> The session id would typically be the only field of interest in the
> >> l2tpv3 header.
> >
> > I think that adding all fields to the structure will solve the possible issue
> with adding matching later.
> > Also and even more important you will be able to use it for creating the
> raw_encap / raw_decap buffers.
> >
> >What do you think?
> 
> Based on the differences between v2 and v3 the only field of interest in
> l2tpv3 over IP is the Session ID.
> I agree it would make sense to add all fields if we were implementing l2tpv2
> however v2 would require a different implementation to v3 due to the
> differences between both Protocols.

Even if we just support v3, I think that it is a good idea to add all fields of v3.
This will allow the use of the raw_encap / raw_decap actions.
Please also note that you didn't add the new item to  cmd_set_raw_parsed function.
this function is used in order to create raw_encap/ raw_decap encapsulations.

Best,
Ori


^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] How to manage new APIs added after major ABI release?
  2019-12-11 13:11  8% ` Neil Horman
  2019-12-11 13:29  7%   ` Thomas Monjalon
@ 2019-12-11 13:30  9%   ` Ferruh Yigit
  2019-12-11 14:34  8%     ` Neil Horman
  2019-12-11 15:02  9%     ` Thomas Monjalon
  1 sibling, 2 replies; 200+ results
From: Ferruh Yigit @ 2019-12-11 13:30 UTC (permalink / raw)
  To: Neil Horman
  Cc: Kinsella, Ray, Thomas Monjalon, David Marchand, Luca Boccassi,
	Christian Ehrhardt, Timothy Redaelli, Kevin Traynor, dpdk-dev,
	Bruce Richardson, Laatz, Kevin, Andrew Rybchenko, Neil Horman

On 12/11/2019 1:11 PM, Neil Horman wrote:
> On Tue, Dec 10, 2019 at 11:56:28AM +0000, Ferruh Yigit wrote:
>> Hi,
>>
>> With new process, the major ABI releases will be compatible until it is
>> deprecated (until next LTS for now),
>> like current ABI version is 20 in DPDK_19.11 and DPDK versions until DPDK_20.11
>> will be ABI compatible with this version.
>>
>> But if we introduce a new API after major ABI, say in 20.02 release, are we
>> allowed to break the ABI for that API before DPDK_20.11?
>>
>> If we allow it break, following problem will be observed:
>> Assume an application using .so.20.1 library, and using the new API introduced
>> in 20.02, lets say foo(),
>> but when application switches to .so.20.2 (released via DPDK_20.05), application
>> will fail because of ABI breakage in foo().
>>
>> I think it is fair that application expects forward compatibility in minor
>> versions of a shared library.
>> Like if application linked against .so.20.2, fair to expect .so.20.3, .so.20.4
>> etc will work fine. I think currently only .so.20.0 is fully forward compatible.
>>
>> If we all agree on this, we may need to tweak the process a little, but before
>> diving into implementation details, I would like to be sure we are in same page.
>>
> Yes, I agree with the assertion.  Once an ABI is fixed, it must be compatible
> with all future minor releases subsequent to the fixing of that ABI, until the
> next major update.  That is to say, once you release ABI_20, all minor updates
> 20.01, 20.02, etc must be compatible with ABI_20 until such time as ABI_21 is
> released.

There is a slight difference. All minor versions already compatible with ABI_20,
like: 20.01, 20.02, 20.03 are ABI compatible with 20.0 (which defines ABI_20).

Question is if 20.03 should be compatible with 20.02?

This can happen if a new API is introduced in 20.2 and ABI has broken for that
API in 20.3, so an ABI compatibility issue created between 20.03 & 20.02,
meanwhile both are compatible with ABI_20.

I can see two options:
a) New APIs are introduced only when we switch to new major ABI version. But if
we switch to longer (2 years) ABI compatibility, I think this is unacceptable to
wait up to two years to have (non experimental) APIs.

b) APIs added in minor version will be part of ABI_20 after that point and same
rules will apply to them. Like if and API has introduced in 20.2, it is not
allowed to be broken until next major ABI version.

Thanks,
ferruh


^ permalink raw reply	[relevance 9%]

* Re: [dpdk-dev] How to manage new APIs added after major ABI release?
  2019-12-10 14:36  8%     ` Bruce Richardson
                         ` (2 preceding siblings ...)
  2019-12-10 15:40  8%       ` Kinsella, Ray
@ 2019-12-11 13:32  4%       ` Neil Horman
  3 siblings, 0 replies; 200+ results
From: Neil Horman @ 2019-12-11 13:32 UTC (permalink / raw)
  To: Bruce Richardson
  Cc: Ferruh Yigit, Kinsella, Ray, Thomas Monjalon, David Marchand,
	Luca Boccassi, Christian Ehrhardt, Timothy Redaelli,
	Kevin Traynor, dpdk-dev, Laatz, Kevin, Andrew Rybchenko,
	Neil Horman

On Tue, Dec 10, 2019 at 02:36:43PM +0000, Bruce Richardson wrote:
> On Tue, Dec 10, 2019 at 12:40:53PM +0000, Ferruh Yigit wrote:
> > On 12/10/2019 12:04 PM, Bruce Richardson wrote:
> > > On Tue, Dec 10, 2019 at 11:56:28AM +0000, Ferruh Yigit wrote:
> > >> Hi,
> > >>
> > >> With new process, the major ABI releases will be compatible until it is
> > >> deprecated (until next LTS for now),
> > >> like current ABI version is 20 in DPDK_19.11 and DPDK versions until DPDK_20.11
> > >> will be ABI compatible with this version.
> > >>
> > >> But if we introduce a new API after major ABI, say in 20.02 release, are we
> > >> allowed to break the ABI for that API before DPDK_20.11?
> > >>
> > >> If we allow it break, following problem will be observed:
> > >> Assume an application using .so.20.1 library, and using the new API introduced
> > >> in 20.02, lets say foo(),
> > >> but when application switches to .so.20.2 (released via DPDK_20.05), application
> > >> will fail because of ABI breakage in foo().
> > >>
> > >> I think it is fair that application expects forward compatibility in minor
> > >> versions of a shared library.
> > >> Like if application linked against .so.20.2, fair to expect .so.20.3, .so.20.4
> > >> etc will work fine. I think currently only .so.20.0 is fully forward compatible.
> > >>
> > >> If we all agree on this, we may need to tweak the process a little, but before
> > >> diving into implementation details, I would like to be sure we are in same page.
> > >>
> > > 
> > > Well, any new API's generally come in as experimental, in which case
> > > changes are allowed, and breakage can be expected. If they are not
> > > experiemental, then the ABI policy applies to them in that they cannot
> > > change since they are part of the .21 ABI, even if that ABI is not fully
> > > complete yet. For any application only using stable, non-experimental
> > > functions, forward compatibility must be maintained IMHO.
> > > 
> > 
> > Talking about not experimental APIs, experimental ones free from the process.
> > 
> > And when and API added in 20.02 (ABI_20.1) it is kind of still ABI_20, because
> > it should be supported for following ABI_20.x, instead of calling it ABI_21, and
> > this minor tweak (and mind shift) in .map files can be our solution.
> 
> Related at what to do with adding versions between major ABI versions, when
> investigating with Kevin the ABI checking we have made an unpleasant
> discovery:
> 
> This minor version bumping from 20.0 to 20.1 has apparently already broken
> our ABI according to libabigail.
> 
> The Gory Details [skip to the end for suggestions to fix]
> ------------------------------------------------------------
> 
> The reason for this is that the soversion encoded in each library - whether
> built with meson or make - is the full 20.0 version, not just the major ABI
> .20 part. Then when apps link against DPDK, they actually encode the 20.0.
> 
> So what this means is that currently - using a make build as an example
> here - ldd on the latest head build gives:
> 
>  LD_LIBRARY_PATH=$(pwd)/x86_64-native-linux-gcc/lib ldd x86_64-native-linux-gcc/app/testpmd | head
>         linux-vdso.so.1 (0x00007fff6813d000)
>         librte_pmd_bond.so.20.1 => /home/bruce/dpdk.org/x86_64-native-linux-gcc/lib/librte_pmd_bond.so.20.1 (0x00007f36d723c000)
>         librte_pmd_dpaa.so.20.1 => /home/bruce/dpdk.org/x86_64-native-linux-gcc/lib/librte_pmd_dpaa.so.20.1 (0x00007f36d7229000)
>         librte_mempool_dpaa.so.20.1 => /home/bruce/dpdk.org/x86_64-native-linux-gcc/lib/librte_mempool_dpaa.so.20.1 (0x00007f36d7224000)
>         librte_pmd_ixgbe.so.20.1 => /home/bruce/dpdk.org/x86_64-native-linux-gcc/lib/librte_pmd_ixgbe.so.20.1 (0x00007f36d71ba000)
>         librte_pmd_i40e.so.20.1 => /home/bruce/dpdk.org/x86_64-native-linux-gcc/lib/librte_pmd_i40e.so.20.1 (0x00007f36d7126000)
>         librte_pmd_bnxt.so.20.1 => /home/bruce/dpdk.org/x86_64-native-linux-gcc/lib/librte_pmd_bnxt.so.20.1 (0x00007f36d70e5000)
>         librte_pmd_softnic.so.20.1 => /home/bruce/dpdk.org/x86_64-native-linux-gcc/lib/librte_pmd_softnic.so.20.1 (0x00007f36d70b7000)
>         librte_flow_classify.so.0.201 => /home/bruce/dpdk.org/x86_64-native-linux-gcc/lib/librte_flow_classify.so.0.201 (0x00007f36d70b1000)
>         librte_pipeline.so.20.1 => /home/bruce/dpdk.org/x86_64-native-linux-gcc/lib/librte_pipeline.so.20.1 (0x00007f36d7088000)
> ...
> 
> Similarly ldd on a 19.11 checkout gives:
> 
> LD_LIBRARY_PATH=$(pwd)/x86_64-native-linux-gcc_v19.11/lib ldd x86_64-native-linux-gcc_v19.11/app/testpmd | head
>         linux-vdso.so.1 (0x00007ffc2a964000)
>         librte_pmd_bond.so.20.0 => /home/bruce/dpdk.org/x86_64-native-linux-gcc_v19.11/lib/librte_pmd_bond.so.20.0 (0x00007fd4dc6b6000)
>         librte_pmd_dpaa.so.20.0 => /home/bruce/dpdk.org/x86_64-native-linux-gcc_v19.11/lib/librte_pmd_dpaa.so.20.0 (0x00007fd4dc6a3000)
>         librte_mempool_dpaa.so.20.0 => /home/bruce/dpdk.org/x86_64-native-linux-gcc_v19.11/lib/librte_mempool_dpaa.so.20.0 (0x00007fd4dc69e000)
>         librte_pmd_ixgbe.so.20.0 => /home/bruce/dpdk.org/x86_64-native-linux-gcc_v19.11/lib/librte_pmd_ixgbe.so.20.0 (0x00007fd4dc634000)
>         librte_pmd_i40e.so.20.0 => /home/bruce/dpdk.org/x86_64-native-linux-gcc_v19.11/lib/librte_pmd_i40e.so.20.0 (0x00007fd4dc5a0000)
>         librte_pmd_bnxt.so.20.0 => /home/bruce/dpdk.org/x86_64-native-linux-gcc_v19.11/lib/librte_pmd_bnxt.so.20.0 (0x00007fd4dc55d000)
>         librte_pmd_softnic.so.20.0 => /home/bruce/dpdk.org/x86_64-native-linux-gcc_v19.11/lib/librte_pmd_softnic.so.20.0 (0x00007fd4dc531000)
>         librte_flow_classify.so.0.200 => /home/bruce/dpdk.org/x86_64-native-linux-gcc_v19.11/lib/librte_flow_classify.so.0.200 (0x00007fd4dc52b000)
>         librte_pipeline.so.20.0 => /home/bruce/dpdk.org/x86_64-native-linux-gcc_v19.11/lib/librte_pipeline.so.20.0 (0x00007fd4dc502000)
> 
Whats going on here?  A 19.11 checkout should have DT_NEEDED encoded in
the scheme lib*.so.19.x, no?

> The final check - using the 19.11 compiled testpmd with the library path
> set to 20.02 versionned libs:
> 
> LD_LIBRARY_PATH=$(pwd)/x86_64-native-linux-gcc/lib ldd x86_64-native-linux-gcc_v19.11/app/testpmd | head
>         linux-vdso.so.1 (0x00007ffc711fc000)
>         librte_pmd_bond.so.20.0 => not found
>         librte_pmd_dpaa.so.20.0 => not found
>         librte_mempool_dpaa.so.20.0 => not found
>         librte_pmd_ixgbe.so.20.0 => not found
>         librte_pmd_i40e.so.20.0 => not found
>         librte_pmd_bnxt.so.20.0 => not found
>         librte_pmd_softnic.so.20.0 => not found
>         librte_flow_classify.so.0.200 => not found
>         librte_pipeline.so.20.0 => not found
> 
Shouldn't ldconfig fix that?  i.e. when you install libraries, you run ldconfig
and the various minor release libraries should be symlinks to the latest version
of the minor release.  That is to say, your library patch for, for example,
librte_pnd_bnxt should look like:
librte_pmd_bnxt.so.20.02
librte_pmd_bnxt.so.20 => librete_pmd_bnxt.so.20
librte_pmd_bnxt.so => librte_pmd_bnxt.so.20.02

Which will allow older built binaries to link at run time.

> Fixing This
> -----------
> 
> To fix this, we need to ensure that the SONAME remains constant across the
> releases. Therefore, I currently see two options:
> 
> 1. keep 20.0 as the version and soname across all releases in 2020, i.e.
>   just revert the ABIVERSION change patch. Trouble there is how to track
>   20.02 vs 20.05 etc. etc.
> 
> 2. remove the .0, .1 from the SONAMES stored in the libraries. This has the
>   advantage of keeping the existing planned schemes, but has the really big
>   downside of breaking ABI compatibility with anyone who has already
>   compiled with 19.11.
> 
> Personally, of the two options - unless someone can come up with a third
> option - I'd tend towards the second, fixing the builds to remove the .0 in
> the soname, and releasing that ASAP as 19.11.1 before 19.11 gets widespread
> adoption. Since this ABI stability is new, teething problems may be
> expected.
> 
> Thoughts and comments?
> /Bruce
> 
> BTW: For meson, the patch for option 2 is just to remove the so_version
> variable and all references to it from lib/meson.build and
> drivers/meson.build. Haven't looked into a "make" fix yet.
> 
> 

^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] How to manage new APIs added after major ABI release?
  2019-12-11 13:30  9%   ` Ferruh Yigit
@ 2019-12-11 14:34  8%     ` Neil Horman
  2019-12-11 15:29  4%       ` Ferruh Yigit
  2019-12-11 15:02  9%     ` Thomas Monjalon
  1 sibling, 1 reply; 200+ results
From: Neil Horman @ 2019-12-11 14:34 UTC (permalink / raw)
  To: Ferruh Yigit
  Cc: Kinsella, Ray, Thomas Monjalon, David Marchand, Luca Boccassi,
	Christian Ehrhardt, Timothy Redaelli, Kevin Traynor, dpdk-dev,
	Bruce Richardson, Laatz, Kevin, Andrew Rybchenko, Neil Horman

On Wed, Dec 11, 2019 at 01:30:07PM +0000, Ferruh Yigit wrote:
> On 12/11/2019 1:11 PM, Neil Horman wrote:
> > On Tue, Dec 10, 2019 at 11:56:28AM +0000, Ferruh Yigit wrote:
> >> Hi,
> >>
> >> With new process, the major ABI releases will be compatible until it is
> >> deprecated (until next LTS for now),
> >> like current ABI version is 20 in DPDK_19.11 and DPDK versions until DPDK_20.11
> >> will be ABI compatible with this version.
> >>
> >> But if we introduce a new API after major ABI, say in 20.02 release, are we
> >> allowed to break the ABI for that API before DPDK_20.11?
> >>
> >> If we allow it break, following problem will be observed:
> >> Assume an application using .so.20.1 library, and using the new API introduced
> >> in 20.02, lets say foo(),
> >> but when application switches to .so.20.2 (released via DPDK_20.05), application
> >> will fail because of ABI breakage in foo().
> >>
> >> I think it is fair that application expects forward compatibility in minor
> >> versions of a shared library.
> >> Like if application linked against .so.20.2, fair to expect .so.20.3, .so.20.4
> >> etc will work fine. I think currently only .so.20.0 is fully forward compatible.
> >>
> >> If we all agree on this, we may need to tweak the process a little, but before
> >> diving into implementation details, I would like to be sure we are in same page.
> >>
> > Yes, I agree with the assertion.  Once an ABI is fixed, it must be compatible
> > with all future minor releases subsequent to the fixing of that ABI, until the
> > next major update.  That is to say, once you release ABI_20, all minor updates
> > 20.01, 20.02, etc must be compatible with ABI_20 until such time as ABI_21 is
> > released.
> 
> There is a slight difference. All minor versions already compatible with ABI_20,
> like: 20.01, 20.02, 20.03 are ABI compatible with 20.0 (which defines ABI_20).
> 
> Question is if 20.03 should be compatible with 20.02?
> 
Yes, as long as that new API was _not_ introduced with the experimental tag,
then its part of the ABI.

Its less about defining ABI levels, and more about customer compatibility in my
mind.

Regardless of what policy we want to set, if we publish a symbol in a library,
unless we clearly mark it as being experimental/unstable, consumers of the
library might use it, and will expect it to be stable for the duragion of that
libraries major version.

Thats how consumers expect this to work.  For a given major release, all minor
releases should function in a simmilar fashion.  If we introduce a new feature
in a minor release, thats fine, but all subsequent minor releases need to
maintain that.

Neil

> This can happen if a new API is introduced in 20.2 and ABI has broken for that
> API in 20.3, so an ABI compatibility issue created between 20.03 & 20.02,
> meanwhile both are compatible with ABI_20.
> 
> I can see two options:
> a) New APIs are introduced only when we switch to new major ABI version. But if
> we switch to longer (2 years) ABI compatibility, I think this is unacceptable to
> wait up to two years to have (non experimental) APIs.
> 
> b) APIs added in minor version will be part of ABI_20 after that point and same
> rules will apply to them. Like if and API has introduced in 20.2, it is not
> allowed to be broken until next major ABI version.
> 
> Thanks,
> ferruh
> 
> 

^ permalink raw reply	[relevance 8%]

* Re: [dpdk-dev] How to manage new APIs added after major ABI release?
  2019-12-11 13:30  9%   ` Ferruh Yigit
  2019-12-11 14:34  8%     ` Neil Horman
@ 2019-12-11 15:02  9%     ` Thomas Monjalon
  2019-12-11 15:17  4%       ` Bruce Richardson
  2019-12-11 15:46  9%       ` Ferruh Yigit
  1 sibling, 2 replies; 200+ results
From: Thomas Monjalon @ 2019-12-11 15:02 UTC (permalink / raw)
  To: Ferruh Yigit
  Cc: Neil Horman, Kinsella, Ray, David Marchand, Luca Boccassi,
	Christian Ehrhardt, Timothy Redaelli, Kevin Traynor, dpdk-dev,
	Bruce Richardson, Laatz, Kevin, Andrew Rybchenko, Neil Horman

11/12/2019 14:30, Ferruh Yigit:
> On 12/11/2019 1:11 PM, Neil Horman wrote:
> > On Tue, Dec 10, 2019 at 11:56:28AM +0000, Ferruh Yigit wrote:
> >> Hi,
> >>
> >> With new process, the major ABI releases will be compatible until it is
> >> deprecated (until next LTS for now),
> >> like current ABI version is 20 in DPDK_19.11 and DPDK versions until DPDK_20.11
> >> will be ABI compatible with this version.
> >>
> >> But if we introduce a new API after major ABI, say in 20.02 release, are we
> >> allowed to break the ABI for that API before DPDK_20.11?
> >>
> >> If we allow it break, following problem will be observed:
> >> Assume an application using .so.20.1 library, and using the new API introduced
> >> in 20.02, lets say foo(),
> >> but when application switches to .so.20.2 (released via DPDK_20.05), application
> >> will fail because of ABI breakage in foo().
> >>
> >> I think it is fair that application expects forward compatibility in minor
> >> versions of a shared library.
> >> Like if application linked against .so.20.2, fair to expect .so.20.3, .so.20.4
> >> etc will work fine. I think currently only .so.20.0 is fully forward compatible.
> >>
> >> If we all agree on this, we may need to tweak the process a little, but before
> >> diving into implementation details, I would like to be sure we are in same page.
> >>
> > Yes, I agree with the assertion.  Once an ABI is fixed, it must be compatible
> > with all future minor releases subsequent to the fixing of that ABI, until the
> > next major update.  That is to say, once you release ABI_20, all minor updates
> > 20.01, 20.02, etc must be compatible with ABI_20 until such time as ABI_21 is
> > released.
> 
> There is a slight difference. All minor versions already compatible with ABI_20,
> like: 20.01, 20.02, 20.03 are ABI compatible with 20.0 (which defines ABI_20).
> 
> Question is if 20.03 should be compatible with 20.02?
> 
> This can happen if a new API is introduced in 20.2 and ABI has broken for that
> API in 20.3, so an ABI compatibility issue created between 20.03 & 20.02,
> meanwhile both are compatible with ABI_20.
> 
> I can see two options:
> a) New APIs are introduced only when we switch to new major ABI version. But if
> we switch to longer (2 years) ABI compatibility, I think this is unacceptable to
> wait up to two years to have (non experimental) APIs.

I agree we should allow to add a new stable API in the middle of an ABI lifecycle.

> b) APIs added in minor version will be part of ABI_20 after that point and same
> rules will apply to them. Like if and API has introduced in 20.2, it is not
> allowed to be broken until next major ABI version.

Yes I think it is compliant with the agreed policy.
Note that an app linked with ABI 20.2 won't be compatible with ABI 20.1,
though the reverse works.




^ permalink raw reply	[relevance 9%]

* [dpdk-dev] [PATCH v2] build: fix soname info for 19.11 compatiblity
  2019-12-11 10:26  5% [dpdk-dev] [PATCH] build: fix soname info for 19.11 compatiblity Bruce Richardson
  2019-12-11 11:04  0% ` Luca Boccassi
  2019-12-11 11:15  0% ` Ferruh Yigit
@ 2019-12-11 15:16 10% ` Bruce Richardson
  2019-12-12  8:27  0%   ` David Marchand
  2019-12-12 11:58 10% ` [dpdk-dev] [PATCH v3] " Bruce Richardson
  3 siblings, 1 reply; 200+ results
From: Bruce Richardson @ 2019-12-11 15:16 UTC (permalink / raw)
  To: dev; +Cc: thomas, ray.kinsella, ferruh.yigit, bluca, Bruce Richardson

The soname for each stable ABI version should be just the ABI version major
number without the minor number. Unfortunately both major and minor were
used causing version 20.1 to be incompatible with 20.0.

This patch fixes the issue by switching from 2-part to 3-part ABI version
numbers so that we can keep 20.0 as soname and using the final digits to
identify the 20.x releases which are ABI compatible. This requires changes
to both make and meson builds to handle the three-digit version and shrink
it to 2-digit for soname.

Fixes: cba806e07d6f ("build: change ABI versioning to global")

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---

V2: 
* adjusted the meson version to work correctly with both 2-part and
  3-part ABI versions, so it will work correctly even with no changes
  for a 21.x ABI version number
* adjusted the versions of the experimental libs so that they are
  consistent between meson and make, and also consistent with v19.11

---
 ABI_VERSION         |  2 +-
 config/meson.build  | 16 +++++++++++++---
 drivers/meson.build |  4 ++--
 lib/meson.build     |  4 ++--
 mk/rte.lib.mk       | 11 +++++++----
 5 files changed, 25 insertions(+), 12 deletions(-)

diff --git a/ABI_VERSION b/ABI_VERSION
index 2e73f8d2a..fcc01369a 100644
--- a/ABI_VERSION
+++ b/ABI_VERSION
@@ -1 +1 @@
-20.1
+20.0.1
diff --git a/config/meson.build b/config/meson.build
index 364a8d739..01911ecf9 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -20,9 +20,19 @@ pver = meson.project_version().split('.')
 major_version = '@0@.@1@'.format(pver.get(0), pver.get(1))
 abi_version = run_command(find_program('cat', 'more'),
 	abi_version_file).stdout().strip()
-# experimental libraries are versioned as 0.majorminor versions, e.g. 0.201
-ever = abi_version.split('.')
-experimental_abi_version = '0.@0@@1@'.format(ever.get(0), ever.get(1))
+
+# Regular libraries have the abi_version as the filename extension
+# and have the soname be all but the final part of the abi_version.
+# Experimental libraries have soname with '0.major'
+# and the filename suffix as 0.majorminor versions,
+# e.g. v20.1 => librte_stable.so.20.1, librte_experimental.so.0.201
+#    sonames => librte_stable.so.20, librte_experimental.so.0.20
+# e.g. v20.0.1 => librte_stable.so.20.0.1, librte_experimental.so.0.2001
+#      sonames => librte_stable.so.20.0, librte_experimental.so.0.200
+abi_va = abi_version.split('.')
+stable_so_version = abi_va.length() == 2 ? abi_va[0] : abi_va[0] + '.' + abi_va[1]
+experimental_abi_version = '0.' + ''.join(abi_va)
+experimental_so_version = '0.' + ''.join(stable_so_version.split('.'))
 
 # extract all version information into the build configuration
 dpdk_conf.set('RTE_VER_YEAR', pver.get(0).to_int())
diff --git a/drivers/meson.build b/drivers/meson.build
index 72eec4608..4b17662b7 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -132,10 +132,10 @@ foreach class:dpdk_driver_classes
 
 			if is_experimental != 0
 				lib_version = experimental_abi_version
-				so_version = experimental_abi_version
+				so_version = experimental_so_version
 			else
 				lib_version = abi_version
-				so_version = abi_version
+				so_version = stable_so_version
 			endif
 
 			# now build the static driver
diff --git a/lib/meson.build b/lib/meson.build
index 6ceb5e756..0af3efab2 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -113,10 +113,10 @@ foreach l:libraries
 
 			if is_experimental != 0
 				lib_version = experimental_abi_version
-				so_version = experimental_abi_version
+				so_version = experimental_so_version
 			else
 				lib_version = abi_version
-				so_version = abi_version
+				so_version = stable_so_version
 			endif
 
 			# first build static lib
diff --git a/mk/rte.lib.mk b/mk/rte.lib.mk
index 655a1b143..8ab852a3c 100644
--- a/mk/rte.lib.mk
+++ b/mk/rte.lib.mk
@@ -11,14 +11,16 @@ EXTLIB_BUILD ?= n
 # VPATH contains at least SRCDIR
 VPATH += $(SRCDIR)
 
-ifneq ($(shell grep -s "^DPDK_" $(SRCDIR)/$(EXPORT_MAP)),)
 LIBABIVER := $(shell cat $(RTE_SRCDIR)/ABI_VERSION)
-else ifeq ($(LIBABIVER),)
+SOVER := $(basename $(LIBABIVER))
+ifeq ($(shell grep -s "^DPDK_" $(SRCDIR)/$(EXPORT_MAP)),)
 # EXPERIMENTAL ABI is versioned as 0.major+minor, e.g. 0.201 for 20.1 ABI
-LIBABIVER := 0.$(shell cat $(RTE_SRCDIR)/ABI_VERSION | tr -d '.')
+LIBABIVER := 0.$(shell echo $(LIBABIVER) | tr -d '.')
+SOVER := 0.$(shell echo $(SOVER) | tr -d '.')
 endif
 
 ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
+SONAME := $(patsubst %.a,%.so.$(SOVER),$(LIB))
 LIB := $(patsubst %.a,%.so.$(LIBABIVER),$(LIB))
 ifeq ($(EXTLIB_BUILD),n)
 CPU_LDFLAGS += --version-script=$(SRCDIR)/$(EXPORT_MAP)
@@ -74,7 +76,7 @@ NO_UNDEFINED := -z defs
 endif
 
 O_TO_S = $(LD) -L$(RTE_SDK_BIN)/lib $(_CPU_LDFLAGS) $(EXTRA_LDFLAGS) \
-	  -shared $(OBJS-y) $(NO_UNDEFINED) $(LDLIBS) -Wl,-soname,$(LIB) -o $(LIB)
+	  -shared $(OBJS-y) $(NO_UNDEFINED) $(LDLIBS) -Wl,-soname,$(SONAME) -o $(LIB)
 O_TO_S_STR = $(subst ','\'',$(O_TO_S)) #'# fix syntax highlight
 O_TO_S_DISP = $(if $(V),"$(O_TO_S_STR)","  LD $(@)")
 O_TO_S_DO = @set -e; \
@@ -133,6 +135,7 @@ $(RTE_OUTPUT)/lib/$(LIB): $(LIB)
 	$(Q)cp -f $(LIB) $(RTE_OUTPUT)/lib
 ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
 	$(Q)ln -s -f $< $(shell echo $@ | sed 's/\.so.*/.so/')
+	$(Q)ln -s -f $< $(shell echo $@ | sed 's/\.so.*/.so.$(SOVER)/')
 endif
 
 #
-- 
2.23.0


^ permalink raw reply	[relevance 10%]

* Re: [dpdk-dev] How to manage new APIs added after major ABI release?
  2019-12-11 15:02  9%     ` Thomas Monjalon
@ 2019-12-11 15:17  4%       ` Bruce Richardson
  2019-12-11 15:46  9%       ` Ferruh Yigit
  1 sibling, 0 replies; 200+ results
From: Bruce Richardson @ 2019-12-11 15:17 UTC (permalink / raw)
  To: Thomas Monjalon
  Cc: Ferruh Yigit, Neil Horman, Kinsella, Ray, David Marchand,
	Luca Boccassi, Christian Ehrhardt, Timothy Redaelli,
	Kevin Traynor, dpdk-dev, Laatz, Kevin, Andrew Rybchenko,
	Neil Horman

On Wed, Dec 11, 2019 at 04:02:16PM +0100, Thomas Monjalon wrote:
> 11/12/2019 14:30, Ferruh Yigit:
> > On 12/11/2019 1:11 PM, Neil Horman wrote:
> > > On Tue, Dec 10, 2019 at 11:56:28AM +0000, Ferruh Yigit wrote:
> > >> Hi,
> > >>
> > >> With new process, the major ABI releases will be compatible until it is
> > >> deprecated (until next LTS for now),
> > >> like current ABI version is 20 in DPDK_19.11 and DPDK versions until DPDK_20.11
> > >> will be ABI compatible with this version.
> > >>
> > >> But if we introduce a new API after major ABI, say in 20.02 release, are we
> > >> allowed to break the ABI for that API before DPDK_20.11?
> > >>
> > >> If we allow it break, following problem will be observed:
> > >> Assume an application using .so.20.1 library, and using the new API introduced
> > >> in 20.02, lets say foo(),
> > >> but when application switches to .so.20.2 (released via DPDK_20.05), application
> > >> will fail because of ABI breakage in foo().
> > >>
> > >> I think it is fair that application expects forward compatibility in minor
> > >> versions of a shared library.
> > >> Like if application linked against .so.20.2, fair to expect .so.20.3, .so.20.4
> > >> etc will work fine. I think currently only .so.20.0 is fully forward compatible.
> > >>
> > >> If we all agree on this, we may need to tweak the process a little, but before
> > >> diving into implementation details, I would like to be sure we are in same page.
> > >>
> > > Yes, I agree with the assertion.  Once an ABI is fixed, it must be compatible
> > > with all future minor releases subsequent to the fixing of that ABI, until the
> > > next major update.  That is to say, once you release ABI_20, all minor updates
> > > 20.01, 20.02, etc must be compatible with ABI_20 until such time as ABI_21 is
> > > released.
> > 
> > There is a slight difference. All minor versions already compatible with ABI_20,
> > like: 20.01, 20.02, 20.03 are ABI compatible with 20.0 (which defines ABI_20).
> > 
> > Question is if 20.03 should be compatible with 20.02?
> > 
> > This can happen if a new API is introduced in 20.2 and ABI has broken for that
> > API in 20.3, so an ABI compatibility issue created between 20.03 & 20.02,
> > meanwhile both are compatible with ABI_20.
> > 
> > I can see two options:
> > a) New APIs are introduced only when we switch to new major ABI version. But if
> > we switch to longer (2 years) ABI compatibility, I think this is unacceptable to
> > wait up to two years to have (non experimental) APIs.
> 
> I agree we should allow to add a new stable API in the middle of an ABI lifecycle.
> 
> > b) APIs added in minor version will be part of ABI_20 after that point and same
> > rules will apply to them. Like if and API has introduced in 20.2, it is not
> > allowed to be broken until next major ABI version.
> 
> Yes I think it is compliant with the agreed policy.
> Note that an app linked with ABI 20.2 won't be compatible with ABI 20.1,
> though the reverse works.
>
Which I think is fine, as it is the way most people would expect it to
work. 

^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] How to manage new APIs added after major ABI release?
  2019-12-11 14:34  8%     ` Neil Horman
@ 2019-12-11 15:29  4%       ` Ferruh Yigit
  0 siblings, 0 replies; 200+ results
From: Ferruh Yigit @ 2019-12-11 15:29 UTC (permalink / raw)
  To: Neil Horman
  Cc: Kinsella, Ray, Thomas Monjalon, David Marchand, Luca Boccassi,
	Christian Ehrhardt, Timothy Redaelli, Kevin Traynor, dpdk-dev,
	Bruce Richardson, Laatz, Kevin, Andrew Rybchenko, Neil Horman

On 12/11/2019 2:34 PM, Neil Horman wrote:
> On Wed, Dec 11, 2019 at 01:30:07PM +0000, Ferruh Yigit wrote:
>> On 12/11/2019 1:11 PM, Neil Horman wrote:
>>> On Tue, Dec 10, 2019 at 11:56:28AM +0000, Ferruh Yigit wrote:
>>>> Hi,
>>>>
>>>> With new process, the major ABI releases will be compatible until it is
>>>> deprecated (until next LTS for now),
>>>> like current ABI version is 20 in DPDK_19.11 and DPDK versions until DPDK_20.11
>>>> will be ABI compatible with this version.
>>>>
>>>> But if we introduce a new API after major ABI, say in 20.02 release, are we
>>>> allowed to break the ABI for that API before DPDK_20.11?
>>>>
>>>> If we allow it break, following problem will be observed:
>>>> Assume an application using .so.20.1 library, and using the new API introduced
>>>> in 20.02, lets say foo(),
>>>> but when application switches to .so.20.2 (released via DPDK_20.05), application
>>>> will fail because of ABI breakage in foo().
>>>>
>>>> I think it is fair that application expects forward compatibility in minor
>>>> versions of a shared library.
>>>> Like if application linked against .so.20.2, fair to expect .so.20.3, .so.20.4
>>>> etc will work fine. I think currently only .so.20.0 is fully forward compatible.
>>>>
>>>> If we all agree on this, we may need to tweak the process a little, but before
>>>> diving into implementation details, I would like to be sure we are in same page.
>>>>
>>> Yes, I agree with the assertion.  Once an ABI is fixed, it must be compatible
>>> with all future minor releases subsequent to the fixing of that ABI, until the
>>> next major update.  That is to say, once you release ABI_20, all minor updates
>>> 20.01, 20.02, etc must be compatible with ABI_20 until such time as ABI_21 is
>>> released.
>>
>> There is a slight difference. All minor versions already compatible with ABI_20,
>> like: 20.01, 20.02, 20.03 are ABI compatible with 20.0 (which defines ABI_20).
>>
>> Question is if 20.03 should be compatible with 20.02?
>>
> Yes, as long as that new API was _not_ introduced with the experimental tag,
> then its part of the ABI.
> 
> Its less about defining ABI levels, and more about customer compatibility in my
> mind.
> 
> Regardless of what policy we want to set, if we publish a symbol in a library,
> unless we clearly mark it as being experimental/unstable, consumers of the
> library might use it, and will expect it to be stable for the duragion of that
> libraries major version.
> 
> Thats how consumers expect this to work.  For a given major release, all minor
> releases should function in a simmilar fashion.  If we introduce a new feature
> in a minor release, thats fine, but all subsequent minor releases need to
> maintain that.

+1, thanks.

> 
> Neil
> 
>> This can happen if a new API is introduced in 20.2 and ABI has broken for that
>> API in 20.3, so an ABI compatibility issue created between 20.03 & 20.02,
>> meanwhile both are compatible with ABI_20.
>>
>> I can see two options:
>> a) New APIs are introduced only when we switch to new major ABI version. But if
>> we switch to longer (2 years) ABI compatibility, I think this is unacceptable to
>> wait up to two years to have (non experimental) APIs.
>>
>> b) APIs added in minor version will be part of ABI_20 after that point and same
>> rules will apply to them. Like if and API has introduced in 20.2, it is not
>> allowed to be broken until next major ABI version.
>>
>> Thanks,
>> ferruh
>>
>>


^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] How to manage new APIs added after major ABI release?
  2019-12-11 15:02  9%     ` Thomas Monjalon
  2019-12-11 15:17  4%       ` Bruce Richardson
@ 2019-12-11 15:46  9%       ` Ferruh Yigit
  2019-12-11 15:55  4%         ` Bruce Richardson
  1 sibling, 1 reply; 200+ results
From: Ferruh Yigit @ 2019-12-11 15:46 UTC (permalink / raw)
  To: Thomas Monjalon
  Cc: Neil Horman, Kinsella, Ray, David Marchand, Luca Boccassi,
	Christian Ehrhardt, Timothy Redaelli, Kevin Traynor, dpdk-dev,
	Bruce Richardson, Laatz, Kevin, Andrew Rybchenko, Neil Horman

On 12/11/2019 3:02 PM, Thomas Monjalon wrote:
> 11/12/2019 14:30, Ferruh Yigit:
>> On 12/11/2019 1:11 PM, Neil Horman wrote:
>>> On Tue, Dec 10, 2019 at 11:56:28AM +0000, Ferruh Yigit wrote:
>>>> Hi,
>>>>
>>>> With new process, the major ABI releases will be compatible until it is
>>>> deprecated (until next LTS for now),
>>>> like current ABI version is 20 in DPDK_19.11 and DPDK versions until DPDK_20.11
>>>> will be ABI compatible with this version.
>>>>
>>>> But if we introduce a new API after major ABI, say in 20.02 release, are we
>>>> allowed to break the ABI for that API before DPDK_20.11?
>>>>
>>>> If we allow it break, following problem will be observed:
>>>> Assume an application using .so.20.1 library, and using the new API introduced
>>>> in 20.02, lets say foo(),
>>>> but when application switches to .so.20.2 (released via DPDK_20.05), application
>>>> will fail because of ABI breakage in foo().
>>>>
>>>> I think it is fair that application expects forward compatibility in minor
>>>> versions of a shared library.
>>>> Like if application linked against .so.20.2, fair to expect .so.20.3, .so.20.4
>>>> etc will work fine. I think currently only .so.20.0 is fully forward compatible.
>>>>
>>>> If we all agree on this, we may need to tweak the process a little, but before
>>>> diving into implementation details, I would like to be sure we are in same page.
>>>>
>>> Yes, I agree with the assertion.  Once an ABI is fixed, it must be compatible
>>> with all future minor releases subsequent to the fixing of that ABI, until the
>>> next major update.  That is to say, once you release ABI_20, all minor updates
>>> 20.01, 20.02, etc must be compatible with ABI_20 until such time as ABI_21 is
>>> released.
>>
>> There is a slight difference. All minor versions already compatible with ABI_20,
>> like: 20.01, 20.02, 20.03 are ABI compatible with 20.0 (which defines ABI_20).
>>
>> Question is if 20.03 should be compatible with 20.02?
>>
>> This can happen if a new API is introduced in 20.2 and ABI has broken for that
>> API in 20.3, so an ABI compatibility issue created between 20.03 & 20.02,
>> meanwhile both are compatible with ABI_20.
>>
>> I can see two options:
>> a) New APIs are introduced only when we switch to new major ABI version. But if
>> we switch to longer (2 years) ABI compatibility, I think this is unacceptable to
>> wait up to two years to have (non experimental) APIs.
> 
> I agree we should allow to add a new stable API in the middle of an ABI lifecycle.
> 
>> b) APIs added in minor version will be part of ABI_20 after that point and same
>> rules will apply to them. Like if and API has introduced in 20.2, it is not
>> allowed to be broken until next major ABI version.
> 
> Yes I think it is compliant with the agreed policy.

So I think two minor changes are required in the process to reflect this,
1) In ABI policy [1], it mentions in minor release both ABI_20 and ABI_21 can
exist together, also in graph it says for minor versions:
"v21 symbols are added and v20 symbols are modified, support for v20 ABI continues."
I am not sure if we can call the symbols added in minor versions as v21 ABI,
because it implies ABI compatibility is not required for them.

2) In ABI versioning [2], documented as .map files will have 'DPDK_20' and
'DPDK_21' blocks.
But instead, I think they should have 'DPDK_20.0', 'DPDK_20.1', ... blocks, and
when major ABI version changed they all can be flattened to 'DPDK_21.0'.
For example we can't do ABI versioning between 20.2 & 20.3 if we don't have
these blocks.
Current block names in .map files are already defined as 'DPDK_20.0', what we
need to do is update the document to use 'DPDK_20.x' for the symbols added in
minor version and follow that process.


[1]
https://doc.dpdk.org/guides/contributing/abi_policy.html#the-dpdk-abi-policy

[2]
https://doc.dpdk.org/guides/contributing/abi_versioning.html#examples-of-abi-macro-use

> Note that an app linked with ABI 20.2 won't be compatible with ABI 20.1,
> though the reverse works.
> 
> 
> 


^ permalink raw reply	[relevance 9%]

* Re: [dpdk-dev] How to manage new APIs added after major ABI release?
  2019-12-11 15:46  9%       ` Ferruh Yigit
@ 2019-12-11 15:55  4%         ` Bruce Richardson
  2019-12-11 16:30  9%           ` Ferruh Yigit
  0 siblings, 1 reply; 200+ results
From: Bruce Richardson @ 2019-12-11 15:55 UTC (permalink / raw)
  To: Ferruh Yigit
  Cc: Thomas Monjalon, Neil Horman, Kinsella, Ray, David Marchand,
	Luca Boccassi, Christian Ehrhardt, Timothy Redaelli,
	Kevin Traynor, dpdk-dev, Laatz, Kevin, Andrew Rybchenko,
	Neil Horman

On Wed, Dec 11, 2019 at 03:46:10PM +0000, Ferruh Yigit wrote:
> On 12/11/2019 3:02 PM, Thomas Monjalon wrote:
> > 11/12/2019 14:30, Ferruh Yigit:
> >> On 12/11/2019 1:11 PM, Neil Horman wrote:
> >>> On Tue, Dec 10, 2019 at 11:56:28AM +0000, Ferruh Yigit wrote:
> >>>> Hi,
> >>>>
> >>>> With new process, the major ABI releases will be compatible until it is
> >>>> deprecated (until next LTS for now),
> >>>> like current ABI version is 20 in DPDK_19.11 and DPDK versions until DPDK_20.11
> >>>> will be ABI compatible with this version.
> >>>>
> >>>> But if we introduce a new API after major ABI, say in 20.02 release, are we
> >>>> allowed to break the ABI for that API before DPDK_20.11?
> >>>>
> >>>> If we allow it break, following problem will be observed:
> >>>> Assume an application using .so.20.1 library, and using the new API introduced
> >>>> in 20.02, lets say foo(),
> >>>> but when application switches to .so.20.2 (released via DPDK_20.05), application
> >>>> will fail because of ABI breakage in foo().
> >>>>
> >>>> I think it is fair that application expects forward compatibility in minor
> >>>> versions of a shared library.
> >>>> Like if application linked against .so.20.2, fair to expect .so.20.3, .so.20.4
> >>>> etc will work fine. I think currently only .so.20.0 is fully forward compatible.
> >>>>
> >>>> If we all agree on this, we may need to tweak the process a little, but before
> >>>> diving into implementation details, I would like to be sure we are in same page.
> >>>>
> >>> Yes, I agree with the assertion.  Once an ABI is fixed, it must be compatible
> >>> with all future minor releases subsequent to the fixing of that ABI, until the
> >>> next major update.  That is to say, once you release ABI_20, all minor updates
> >>> 20.01, 20.02, etc must be compatible with ABI_20 until such time as ABI_21 is
> >>> released.
> >>
> >> There is a slight difference. All minor versions already compatible with ABI_20,
> >> like: 20.01, 20.02, 20.03 are ABI compatible with 20.0 (which defines ABI_20).
> >>
> >> Question is if 20.03 should be compatible with 20.02?
> >>
> >> This can happen if a new API is introduced in 20.2 and ABI has broken for that
> >> API in 20.3, so an ABI compatibility issue created between 20.03 & 20.02,
> >> meanwhile both are compatible with ABI_20.
> >>
> >> I can see two options:
> >> a) New APIs are introduced only when we switch to new major ABI version. But if
> >> we switch to longer (2 years) ABI compatibility, I think this is unacceptable to
> >> wait up to two years to have (non experimental) APIs.
> > 
> > I agree we should allow to add a new stable API in the middle of an ABI lifecycle.
> > 
> >> b) APIs added in minor version will be part of ABI_20 after that point and same
> >> rules will apply to them. Like if and API has introduced in 20.2, it is not
> >> allowed to be broken until next major ABI version.
> > 
> > Yes I think it is compliant with the agreed policy.
> 
> So I think two minor changes are required in the process to reflect this,
> 1) In ABI policy [1], it mentions in minor release both ABI_20 and ABI_21 can
> exist together, also in graph it says for minor versions:
> "v21 symbols are added and v20 symbols are modified, support for v20 ABI continues."
> I am not sure if we can call the symbols added in minor versions as v21 ABI,
> because it implies ABI compatibility is not required for them.
> 
> 2) In ABI versioning [2], documented as .map files will have 'DPDK_20' and
> 'DPDK_21' blocks.
> But instead, I think they should have 'DPDK_20.0', 'DPDK_20.1', ... blocks, and
> when major ABI version changed they all can be flattened to 'DPDK_21.0'.
> For example we can't do ABI versioning between 20.2 & 20.3 if we don't have
> these blocks.
> Current block names in .map files are already defined as 'DPDK_20.0', what we
> need to do is update the document to use 'DPDK_20.x' for the symbols added in
> minor version and follow that process.
> 

What do we really gain from making such a change from the policy? I think
it will work fine as-is, with putting all new symbols in the DPDK_21
section. Whatever way you look at it, the functions will be forward but not
backward compatible, which is all that really matters.

/Bruce

^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] How to manage new APIs added after major ABI release?
  2019-12-11 15:55  4%         ` Bruce Richardson
@ 2019-12-11 16:30  9%           ` Ferruh Yigit
  0 siblings, 0 replies; 200+ results
From: Ferruh Yigit @ 2019-12-11 16:30 UTC (permalink / raw)
  To: Bruce Richardson
  Cc: Thomas Monjalon, Neil Horman, Kinsella, Ray, David Marchand,
	Luca Boccassi, Christian Ehrhardt, Timothy Redaelli,
	Kevin Traynor, dpdk-dev, Laatz, Kevin, Andrew Rybchenko,
	Neil Horman

On 12/11/2019 3:55 PM, Bruce Richardson wrote:
> On Wed, Dec 11, 2019 at 03:46:10PM +0000, Ferruh Yigit wrote:
>> On 12/11/2019 3:02 PM, Thomas Monjalon wrote:
>>> 11/12/2019 14:30, Ferruh Yigit:
>>>> On 12/11/2019 1:11 PM, Neil Horman wrote:
>>>>> On Tue, Dec 10, 2019 at 11:56:28AM +0000, Ferruh Yigit wrote:
>>>>>> Hi,
>>>>>>
>>>>>> With new process, the major ABI releases will be compatible until it is
>>>>>> deprecated (until next LTS for now),
>>>>>> like current ABI version is 20 in DPDK_19.11 and DPDK versions until DPDK_20.11
>>>>>> will be ABI compatible with this version.
>>>>>>
>>>>>> But if we introduce a new API after major ABI, say in 20.02 release, are we
>>>>>> allowed to break the ABI for that API before DPDK_20.11?
>>>>>>
>>>>>> If we allow it break, following problem will be observed:
>>>>>> Assume an application using .so.20.1 library, and using the new API introduced
>>>>>> in 20.02, lets say foo(),
>>>>>> but when application switches to .so.20.2 (released via DPDK_20.05), application
>>>>>> will fail because of ABI breakage in foo().
>>>>>>
>>>>>> I think it is fair that application expects forward compatibility in minor
>>>>>> versions of a shared library.
>>>>>> Like if application linked against .so.20.2, fair to expect .so.20.3, .so.20.4
>>>>>> etc will work fine. I think currently only .so.20.0 is fully forward compatible.
>>>>>>
>>>>>> If we all agree on this, we may need to tweak the process a little, but before
>>>>>> diving into implementation details, I would like to be sure we are in same page.
>>>>>>
>>>>> Yes, I agree with the assertion.  Once an ABI is fixed, it must be compatible
>>>>> with all future minor releases subsequent to the fixing of that ABI, until the
>>>>> next major update.  That is to say, once you release ABI_20, all minor updates
>>>>> 20.01, 20.02, etc must be compatible with ABI_20 until such time as ABI_21 is
>>>>> released.
>>>>
>>>> There is a slight difference. All minor versions already compatible with ABI_20,
>>>> like: 20.01, 20.02, 20.03 are ABI compatible with 20.0 (which defines ABI_20).
>>>>
>>>> Question is if 20.03 should be compatible with 20.02?
>>>>
>>>> This can happen if a new API is introduced in 20.2 and ABI has broken for that
>>>> API in 20.3, so an ABI compatibility issue created between 20.03 & 20.02,
>>>> meanwhile both are compatible with ABI_20.
>>>>
>>>> I can see two options:
>>>> a) New APIs are introduced only when we switch to new major ABI version. But if
>>>> we switch to longer (2 years) ABI compatibility, I think this is unacceptable to
>>>> wait up to two years to have (non experimental) APIs.
>>>
>>> I agree we should allow to add a new stable API in the middle of an ABI lifecycle.
>>>
>>>> b) APIs added in minor version will be part of ABI_20 after that point and same
>>>> rules will apply to them. Like if and API has introduced in 20.2, it is not
>>>> allowed to be broken until next major ABI version.
>>>
>>> Yes I think it is compliant with the agreed policy.
>>
>> So I think two minor changes are required in the process to reflect this,
>> 1) In ABI policy [1], it mentions in minor release both ABI_20 and ABI_21 can
>> exist together, also in graph it says for minor versions:
>> "v21 symbols are added and v20 symbols are modified, support for v20 ABI continues."
>> I am not sure if we can call the symbols added in minor versions as v21 ABI,
>> because it implies ABI compatibility is not required for them.
>>
>> 2) In ABI versioning [2], documented as .map files will have 'DPDK_20' and
>> 'DPDK_21' blocks.
>> But instead, I think they should have 'DPDK_20.0', 'DPDK_20.1', ... blocks, and
>> when major ABI version changed they all can be flattened to 'DPDK_21.0'.
>> For example we can't do ABI versioning between 20.2 & 20.3 if we don't have
>> these blocks.
>> Current block names in .map files are already defined as 'DPDK_20.0', what we
>> need to do is update the document to use 'DPDK_20.x' for the symbols added in
>> minor version and follow that process.
>>
> 
> What do we really gain from making such a change from the policy? I think
> it will work fine as-is, with putting all new symbols in the DPDK_21
> section. Whatever way you look at it, the functions will be forward but not
> backward compatible, which is all that really matters.
> 

As mentioned above it allows us ABI versioning between minor versions.

Also clarifies the intention, how current process puts can be read as ABI_21
APIs can be changed until 21 becomes supported ABI version. (because only ABI_20
is ABI compatible), so the question I asked in this thread no needed to be asked
and will be obvious.

^ permalink raw reply	[relevance 9%]

* Re: [dpdk-dev] [PATCH] ethdev: add L2TPv3 header to flow API
  2019-12-11 13:30  0%         ` Ori Kam
@ 2019-12-11 16:31  0%           ` Sexton, Rory
  2019-12-12 13:38  0%             ` Sexton, Rory
  0 siblings, 1 reply; 200+ results
From: Sexton, Rory @ 2019-12-11 16:31 UTC (permalink / raw)
  To: Ori Kam, dev; +Cc: Zhang, Qi Z, Xing, Beilei, Adrien Mazarguil, Jagus, DariuszX

Hi Ori,

See comments below.

Regards,
Rory

> > > > > > +/**
> > > > > > + * RTE_FLOW_ITEM_TYPE_L2TPV3.
> > > > > > + *
> > > > > > + * Matches a L2TPv3 header.
> > > > > > + */
> > > > > > +struct rte_flow_item_l2tpv3 {
> > > > > > +	rte_be32_t session_id; /**< Session ID. */ };
> > > > >
> > > > >Does it make sense that in future we will want to match on the T / 
> > > > >L / ver /
> > > > Ns / Nr?
> > > > >
> > > > >Please also consider that any change will be ABI / API breakage, 
> > > > >which will
> > > > >be allowed only next year.
> > > > >
> > > >
> > > > I don't foresee us wanting to match on any of the other fields, T / 
> > > > L / ver / Ns/ Nr.
> > > > The session id would typically be the only field of interest in the
> > > > l2tpv3 header.
> > >
> > > I think that adding all fields to the structure will solve the 
> > > possible issue
> > with adding matching later.
> > > Also and even more important you will be able to use it for creating 
> > > the
> > raw_encap / raw_decap buffers.
> > >
> > >What do you think?
> > 
> > Based on the differences between v2 and v3 the only field of interest 
> > in
> > l2tpv3 over IP is the Session ID.
> > I agree it would make sense to add all fields if we were implementing 
> > l2tpv2 however v2 would require a different implementation to v3 due 
> > to the differences between both Protocols.
>
> Even if we just support v3, I think that it is a good idea to add all fields of v3. 
> This will allow the use of the raw_encap / raw_decap actions.
> Please also note that you didn't add the new item to  cmd_set_raw_parsed function.
> this function is used in order to create raw_encap/ raw_decap encapsulations.

I think the confusion here is based on the fact that there are 2 separate types of l2tpv3.
- l2tpv3 over UDP, which is very similar to l2tpv2 with only change being 16 bit Tunnel ID 
  and 16 bit Session ID changing to 32 bit Session ID. All other fields remain (T/L/Ver/Ns/Nr).
- l2tpv3 over IP is another type of l2tpv3 that is carried over IP rather than UDP and as such
  the message format is entirely different and consists of just a 32 bit Session ID. The other
  fields mentioned above do not exist at all in this l2tpv3 header.

This patch was targeted at creating a flow to handle l2tpv3 over IP exclusively. This is why
the Session ID is the only field in the flow item.

I can add the item to cmd_set_raw_parsed function.

^ permalink raw reply	[relevance 0%]

* [dpdk-dev] [PATCH v4 0/3] Add ABI compatibility checks to the meson build
    2019-12-03 11:03  8%   ` David Marchand
@ 2019-12-11 18:21  8%   ` Kevin Laatz
  2019-12-11 18:21 21%     ` [dpdk-dev] [PATCH v4 2/3] build: add abi checks to meson Kevin Laatz
                       ` (3 more replies)
  1 sibling, 4 replies; 200+ results
From: Kevin Laatz @ 2019-12-11 18:21 UTC (permalink / raw)
  To: dev; +Cc: thomas, david.marchand, bruce.richardson, ray.kinsella, Kevin Laatz

With the recent changes made to stabilize ABI versioning in DPDK, it will
become increasingly important to check patches for ABI compatibility. We
propose adding the ABI compatibility checking to be done as part of the
build.

The advantages to adding the ABI compatibility checking to the build are
two-fold. Firstly, developers can easily check their patches to make sure
they don’t break the ABI without adding any extra steps. Secondly, it
makes the integration into existing CI seamless since there are no extra
scripts to make the CI run. The build will run as usual and if an
incompatibility is detected in the ABI, the build will fail and show the
incompatibility. As an added bonus, enabling the ABI compatibility checks
does not impact the build speed.

The proposed solution works as follows:
1. Generate the ABI dump of the baseline. This can be done with the new
   script added in this RFC. This step will only need to be done when the
   ABI version changes (so once a year) and can be added to master so it
   exists by default. This step can be skipped if the dump files for the
   baseline already exist.
2. Build with meson. If there is an ABI incompatibility, the build will
   fail and print the incompatibility information.

The patches accompanying this RFC add the ABI dump file generating script,
the meson option required to enable/disable the checks, and the required
meson changes to run the compatibility checks during the build.

Note: This patch set depends on: http://patches.dpdk.org/patch/63765/.
The generated .dump files in this patch set are based on the changes in the
patch "build: fix soname info for 19.11 compatibility". If a decision is
made to use a different format for the sonames, then a v5 of this set will
be required as the .dump files will need to be regenerated.

---
v2:
  - Rebased on master for 19.11.
  - Moved the experimental syms checks next to the abi checks. This also
    removed the dependency on the experimental checks from the shared
    build.
  - General cleanup.

v3:
  - Fixed typo in meson option name in buildtools/meson.build.

v4:
  - removed commits 1 and 2 from the patch set since they are not needed
    as part of this change
  - squash commits 3,4,5,6 into a single commit
  - changes meson option from type boolean to feature
  - update travis packages
  - move check for windows to earlier in build
  - add abignore file to suppress experimental functions
  - make the directories we store dump files in hidden
  - add .dump files for v20.0 ABI to patch set

Kevin Laatz (3):
  build: add dump files for v20.0 ABI
  build: add abi checks to meson
  build: clean up experimental syms check

 .travis.yml                                   |    9 +-
 buildtools/dpdk.abignore                      |    2 +
 buildtools/meson.build                        |    3 +
 config/meson.build                            |   10 +
 devtools/gen-abi-dump.sh                      |   24 +
 drivers/.abi/librte_bus_dpaa.dump             | 5303 ++++++++++++++
 drivers/.abi/librte_bus_fslmc.dump            | 5084 +++++++++++++
 drivers/.abi/librte_bus_ifpga.dump            |  973 +++
 drivers/.abi/librte_bus_pci.dump              |  835 +++
 drivers/.abi/librte_bus_vdev.dump             |  408 ++
 drivers/.abi/librte_bus_vmbus.dump            |  918 +++
 drivers/.abi/librte_common_cpt.dump           |   36 +
 drivers/.abi/librte_common_dpaax.dump         |  177 +
 drivers/.abi/librte_common_octeontx.dump      |   77 +
 drivers/.abi/librte_common_octeontx2.dump     |  988 +++
 drivers/.abi/librte_mempool_bucket.dump       |   15 +
 drivers/.abi/librte_mempool_dpaa.dump         |  323 +
 drivers/.abi/librte_mempool_dpaa2.dump        |  484 ++
 drivers/.abi/librte_mempool_octeontx.dump     |   22 +
 drivers/.abi/librte_mempool_octeontx2.dump    |  643 ++
 drivers/.abi/librte_mempool_ring.dump         |   15 +
 drivers/.abi/librte_mempool_stack.dump        |   16 +
 drivers/.abi/librte_pmd_af_packet.dump        |   22 +
 drivers/.abi/librte_pmd_af_xdp.dump           |   23 +
 drivers/.abi/librte_pmd_ark.dump              |   26 +
 drivers/.abi/librte_pmd_atlantic.dump         | 1296 ++++
 drivers/.abi/librte_pmd_avp.dump              |   26 +
 drivers/.abi/librte_pmd_axgbe.dump            |   27 +
 .../.abi/librte_pmd_bbdev_fpga_lte_fec.dump   |   74 +
 drivers/.abi/librte_pmd_bbdev_null.dump       |   17 +
 drivers/.abi/librte_pmd_bbdev_turbo_sw.dump   |   17 +
 drivers/.abi/librte_pmd_bnx2x.dump            |   28 +
 drivers/.abi/librte_pmd_bnxt.dump             | 3499 +++++++++
 drivers/.abi/librte_pmd_bond.dump             | 3586 +++++++++
 drivers/.abi/librte_pmd_caam_jr.dump          |   47 +
 drivers/.abi/librte_pmd_ccp.dump              | 1870 +++++
 drivers/.abi/librte_pmd_crypto_scheduler.dump | 1473 ++++
 drivers/.abi/librte_pmd_cxgbe.dump            |   27 +
 drivers/.abi/librte_pmd_dpaa.dump             | 2929 ++++++++
 drivers/.abi/librte_pmd_dpaa2.dump            | 3319 +++++++++
 drivers/.abi/librte_pmd_dpaa2_event.dump      |   36 +
 drivers/.abi/librte_pmd_dpaa2_sec.dump        | 1511 ++++
 drivers/.abi/librte_pmd_dpaa_event.dump       |   32 +
 drivers/.abi/librte_pmd_dpaa_sec.dump         | 1459 ++++
 drivers/.abi/librte_pmd_dsw_event.dump        |   23 +
 drivers/.abi/librte_pmd_e1000.dump            | 3414 +++++++++
 drivers/.abi/librte_pmd_ena.dump              |   32 +
 drivers/.abi/librte_pmd_enetc.dump            |   27 +
 drivers/.abi/librte_pmd_enic.dump             | 3282 +++++++++
 drivers/.abi/librte_pmd_failsafe.dump         | 3162 ++++++++
 drivers/.abi/librte_pmd_fm10k.dump            |  894 +++
 drivers/.abi/librte_pmd_hinic.dump            | 3110 ++++++++
 drivers/.abi/librte_pmd_hns3.dump             |   28 +
 drivers/.abi/librte_pmd_i40e.dump             | 3553 +++++++++
 drivers/.abi/librte_pmd_iavf.dump             |   71 +
 drivers/.abi/librte_pmd_ice.dump              | 6395 +++++++++++++++++
 drivers/.abi/librte_pmd_ifc.dump              |   24 +
 drivers/.abi/librte_pmd_ixgbe.dump            | 3369 +++++++++
 drivers/.abi/librte_pmd_kni.dump              |   22 +
 drivers/.abi/librte_pmd_liquidio.dump         |   27 +
 drivers/.abi/librte_pmd_memif.dump            |   27 +
 drivers/.abi/librte_pmd_netvsc.dump           |   28 +
 drivers/.abi/librte_pmd_nfp.dump              |   27 +
 drivers/.abi/librte_pmd_nitrox.dump           |   19 +
 drivers/.abi/librte_pmd_null.dump             |   22 +
 drivers/.abi/librte_pmd_null_crypto.dump      | 1317 ++++
 drivers/.abi/librte_pmd_octeontx.dump         |   49 +
 drivers/.abi/librte_pmd_octeontx2.dump        | 3140 ++++++++
 drivers/.abi/librte_pmd_octeontx2_crypto.dump |   28 +
 drivers/.abi/librte_pmd_octeontx2_event.dump  |   29 +
 .../.abi/librte_pmd_octeontx_compress.dump    |   25 +
 drivers/.abi/librte_pmd_octeontx_crypto.dump  |   28 +
 drivers/.abi/librte_pmd_octeontx_event.dump   |   36 +
 drivers/.abi/librte_pmd_opdl_event.dump       |   28 +
 drivers/.abi/librte_pmd_openssl.dump          | 1315 ++++
 drivers/.abi/librte_pmd_pcap.dump             |   23 +
 drivers/.abi/librte_pmd_pfe.dump              |   41 +
 drivers/.abi/librte_pmd_qat.dump              |  118 +
 drivers/.abi/librte_pmd_qede.dump             |   46 +
 drivers/.abi/librte_pmd_ring.dump             |  142 +
 drivers/.abi/librte_pmd_sfc.dump              | 3905 ++++++++++
 drivers/.abi/librte_pmd_skeleton_event.dump   |   25 +
 drivers/.abi/librte_pmd_softnic.dump          | 5523 ++++++++++++++
 drivers/.abi/librte_pmd_sw_event.dump         |   28 +
 drivers/.abi/librte_pmd_tap.dump              |   26 +
 drivers/.abi/librte_pmd_thunderx.dump         |   28 +
 drivers/.abi/librte_pmd_vdev_netvsc.dump      |   22 +
 drivers/.abi/librte_pmd_vhost.dump            |   57 +
 drivers/.abi/librte_pmd_virtio.dump           | 3808 ++++++++++
 drivers/.abi/librte_pmd_virtio_crypto.dump    | 1419 ++++
 drivers/.abi/librte_pmd_vmxnet3.dump          |   27 +
 drivers/.abi/librte_pmd_zlib.dump             | 1035 +++
 drivers/.abi/librte_rawdev_dpaa2_cmdif.dump   |   32 +
 drivers/.abi/librte_rawdev_dpaa2_qdma.dump    |  185 +
 drivers/.abi/librte_rawdev_ioat.dump          |   19 +
 drivers/.abi/librte_rawdev_ntb.dump           |  772 ++
 drivers/.abi/librte_rawdev_octeontx2_dma.dump |   23 +
 drivers/.abi/librte_rawdev_skeleton.dump      |   21 +
 drivers/meson.build                           |   34 +-
 lib/.abi/librte_acl.dump                      |  329 +
 lib/.abi/librte_bbdev.dump                    | 1789 +++++
 lib/.abi/librte_bitratestats.dump             |   85 +
 lib/.abi/librte_bpf.dump                      |  280 +
 lib/.abi/librte_cfgfile.dump                  |  188 +
 lib/.abi/librte_cmdline.dump                  |  728 ++
 lib/.abi/librte_compressdev.dump              | 1249 ++++
 lib/.abi/librte_cryptodev.dump                | 1806 +++++
 lib/.abi/librte_distributor.dump              |  627 ++
 lib/.abi/librte_eal.dump                      | 3330 +++++++++
 lib/.abi/librte_efd.dump                      |  319 +
 lib/.abi/librte_ethdev.dump                   | 5272 ++++++++++++++
 lib/.abi/librte_eventdev.dump                 | 5520 ++++++++++++++
 lib/.abi/librte_fib.dump                      |  327 +
 lib/.abi/librte_flow_classify.dump            | 1054 +++
 lib/.abi/librte_gro.dump                      |  428 ++
 lib/.abi/librte_gso.dump                      |  402 ++
 lib/.abi/librte_hash.dump                     |  578 ++
 lib/.abi/librte_ip_frag.dump                  |  814 +++
 lib/.abi/librte_ipsec.dump                    | 1269 ++++
 lib/.abi/librte_jobstats.dump                 |  197 +
 lib/.abi/librte_kni.dump                      |  657 ++
 lib/.abi/librte_kvargs.dump                   |   98 +
 lib/.abi/librte_latencystats.dump             |  427 ++
 lib/.abi/librte_lpm.dump                      |  330 +
 lib/.abi/librte_mbuf.dump                     |  746 ++
 lib/.abi/librte_member.dump                   |  216 +
 lib/.abi/librte_mempool.dump                  |  764 ++
 lib/.abi/librte_meter.dump                    |  197 +
 lib/.abi/librte_metrics.dump                  |  102 +
 lib/.abi/librte_net.dump                      |  489 ++
 lib/.abi/librte_pci.dump                      |   85 +
 lib/.abi/librte_pdump.dump                    |  339 +
 lib/.abi/librte_pipeline.dump                 | 1795 +++++
 lib/.abi/librte_port.dump                     |  567 ++
 lib/.abi/librte_power.dump                    |  490 ++
 lib/.abi/librte_rawdev.dump                   |  840 +++
 lib/.abi/librte_rcu.dump                      |  218 +
 lib/.abi/librte_reorder.dump                  |  455 ++
 lib/.abi/librte_rib.dump                      |  556 ++
 lib/.abi/librte_ring.dump                     |  285 +
 lib/.abi/librte_sched.dump                    | 1108 +++
 lib/.abi/librte_security.dump                 | 1125 +++
 lib/.abi/librte_stack.dump                    |  183 +
 lib/.abi/librte_table.dump                    |  544 ++
 lib/.abi/librte_telemetry.dump                |  122 +
 lib/.abi/librte_timer.dump                    |  322 +
 lib/.abi/librte_vhost.dump                    | 1624 +++++
 lib/meson.build                               |   34 +-
 meson.build                                   |    4 +
 meson_options.txt                             |    2 +
 150 files changed, 129912 insertions(+), 22 deletions(-)
 create mode 100644 buildtools/dpdk.abignore
 create mode 100755 devtools/gen-abi-dump.sh
 create mode 100644 drivers/.abi/librte_bus_dpaa.dump
 create mode 100644 drivers/.abi/librte_bus_fslmc.dump
 create mode 100644 drivers/.abi/librte_bus_ifpga.dump
 create mode 100644 drivers/.abi/librte_bus_pci.dump
 create mode 100644 drivers/.abi/librte_bus_vdev.dump
 create mode 100644 drivers/.abi/librte_bus_vmbus.dump
 create mode 100644 drivers/.abi/librte_common_cpt.dump
 create mode 100644 drivers/.abi/librte_common_dpaax.dump
 create mode 100644 drivers/.abi/librte_common_octeontx.dump
 create mode 100644 drivers/.abi/librte_common_octeontx2.dump
 create mode 100644 drivers/.abi/librte_mempool_bucket.dump
 create mode 100644 drivers/.abi/librte_mempool_dpaa.dump
 create mode 100644 drivers/.abi/librte_mempool_dpaa2.dump
 create mode 100644 drivers/.abi/librte_mempool_octeontx.dump
 create mode 100644 drivers/.abi/librte_mempool_octeontx2.dump
 create mode 100644 drivers/.abi/librte_mempool_ring.dump
 create mode 100644 drivers/.abi/librte_mempool_stack.dump
 create mode 100644 drivers/.abi/librte_pmd_af_packet.dump
 create mode 100644 drivers/.abi/librte_pmd_af_xdp.dump
 create mode 100644 drivers/.abi/librte_pmd_ark.dump
 create mode 100644 drivers/.abi/librte_pmd_atlantic.dump
 create mode 100644 drivers/.abi/librte_pmd_avp.dump
 create mode 100644 drivers/.abi/librte_pmd_axgbe.dump
 create mode 100644 drivers/.abi/librte_pmd_bbdev_fpga_lte_fec.dump
 create mode 100644 drivers/.abi/librte_pmd_bbdev_null.dump
 create mode 100644 drivers/.abi/librte_pmd_bbdev_turbo_sw.dump
 create mode 100644 drivers/.abi/librte_pmd_bnx2x.dump
 create mode 100644 drivers/.abi/librte_pmd_bnxt.dump
 create mode 100644 drivers/.abi/librte_pmd_bond.dump
 create mode 100644 drivers/.abi/librte_pmd_caam_jr.dump
 create mode 100644 drivers/.abi/librte_pmd_ccp.dump
 create mode 100644 drivers/.abi/librte_pmd_crypto_scheduler.dump
 create mode 100644 drivers/.abi/librte_pmd_cxgbe.dump
 create mode 100644 drivers/.abi/librte_pmd_dpaa.dump
 create mode 100644 drivers/.abi/librte_pmd_dpaa2.dump
 create mode 100644 drivers/.abi/librte_pmd_dpaa2_event.dump
 create mode 100644 drivers/.abi/librte_pmd_dpaa2_sec.dump
 create mode 100644 drivers/.abi/librte_pmd_dpaa_event.dump
 create mode 100644 drivers/.abi/librte_pmd_dpaa_sec.dump
 create mode 100644 drivers/.abi/librte_pmd_dsw_event.dump
 create mode 100644 drivers/.abi/librte_pmd_e1000.dump
 create mode 100644 drivers/.abi/librte_pmd_ena.dump
 create mode 100644 drivers/.abi/librte_pmd_enetc.dump
 create mode 100644 drivers/.abi/librte_pmd_enic.dump
 create mode 100644 drivers/.abi/librte_pmd_failsafe.dump
 create mode 100644 drivers/.abi/librte_pmd_fm10k.dump
 create mode 100644 drivers/.abi/librte_pmd_hinic.dump
 create mode 100644 drivers/.abi/librte_pmd_hns3.dump
 create mode 100644 drivers/.abi/librte_pmd_i40e.dump
 create mode 100644 drivers/.abi/librte_pmd_iavf.dump
 create mode 100644 drivers/.abi/librte_pmd_ice.dump
 create mode 100644 drivers/.abi/librte_pmd_ifc.dump
 create mode 100644 drivers/.abi/librte_pmd_ixgbe.dump
 create mode 100644 drivers/.abi/librte_pmd_kni.dump
 create mode 100644 drivers/.abi/librte_pmd_liquidio.dump
 create mode 100644 drivers/.abi/librte_pmd_memif.dump
 create mode 100644 drivers/.abi/librte_pmd_netvsc.dump
 create mode 100644 drivers/.abi/librte_pmd_nfp.dump
 create mode 100644 drivers/.abi/librte_pmd_nitrox.dump
 create mode 100644 drivers/.abi/librte_pmd_null.dump
 create mode 100644 drivers/.abi/librte_pmd_null_crypto.dump
 create mode 100644 drivers/.abi/librte_pmd_octeontx.dump
 create mode 100644 drivers/.abi/librte_pmd_octeontx2.dump
 create mode 100644 drivers/.abi/librte_pmd_octeontx2_crypto.dump
 create mode 100644 drivers/.abi/librte_pmd_octeontx2_event.dump
 create mode 100644 drivers/.abi/librte_pmd_octeontx_compress.dump
 create mode 100644 drivers/.abi/librte_pmd_octeontx_crypto.dump
 create mode 100644 drivers/.abi/librte_pmd_octeontx_event.dump
 create mode 100644 drivers/.abi/librte_pmd_opdl_event.dump
 create mode 100644 drivers/.abi/librte_pmd_openssl.dump
 create mode 100644 drivers/.abi/librte_pmd_pcap.dump
 create mode 100644 drivers/.abi/librte_pmd_pfe.dump
 create mode 100644 drivers/.abi/librte_pmd_qat.dump
 create mode 100644 drivers/.abi/librte_pmd_qede.dump
 create mode 100644 drivers/.abi/librte_pmd_ring.dump
 create mode 100644 drivers/.abi/librte_pmd_sfc.dump
 create mode 100644 drivers/.abi/librte_pmd_skeleton_event.dump
 create mode 100644 drivers/.abi/librte_pmd_softnic.dump
 create mode 100644 drivers/.abi/librte_pmd_sw_event.dump
 create mode 100644 drivers/.abi/librte_pmd_tap.dump
 create mode 100644 drivers/.abi/librte_pmd_thunderx.dump
 create mode 100644 drivers/.abi/librte_pmd_vdev_netvsc.dump
 create mode 100644 drivers/.abi/librte_pmd_vhost.dump
 create mode 100644 drivers/.abi/librte_pmd_virtio.dump
 create mode 100644 drivers/.abi/librte_pmd_virtio_crypto.dump
 create mode 100644 drivers/.abi/librte_pmd_vmxnet3.dump
 create mode 100644 drivers/.abi/librte_pmd_zlib.dump
 create mode 100644 drivers/.abi/librte_rawdev_dpaa2_cmdif.dump
 create mode 100644 drivers/.abi/librte_rawdev_dpaa2_qdma.dump
 create mode 100644 drivers/.abi/librte_rawdev_ioat.dump
 create mode 100644 drivers/.abi/librte_rawdev_ntb.dump
 create mode 100644 drivers/.abi/librte_rawdev_octeontx2_dma.dump
 create mode 100644 drivers/.abi/librte_rawdev_skeleton.dump
 create mode 100644 lib/.abi/librte_acl.dump
 create mode 100644 lib/.abi/librte_bbdev.dump
 create mode 100644 lib/.abi/librte_bitratestats.dump
 create mode 100644 lib/.abi/librte_bpf.dump
 create mode 100644 lib/.abi/librte_cfgfile.dump
 create mode 100644 lib/.abi/librte_cmdline.dump
 create mode 100644 lib/.abi/librte_compressdev.dump
 create mode 100644 lib/.abi/librte_cryptodev.dump
 create mode 100644 lib/.abi/librte_distributor.dump
 create mode 100644 lib/.abi/librte_eal.dump
 create mode 100644 lib/.abi/librte_efd.dump
 create mode 100644 lib/.abi/librte_ethdev.dump
 create mode 100644 lib/.abi/librte_eventdev.dump
 create mode 100644 lib/.abi/librte_fib.dump
 create mode 100644 lib/.abi/librte_flow_classify.dump
 create mode 100644 lib/.abi/librte_gro.dump
 create mode 100644 lib/.abi/librte_gso.dump
 create mode 100644 lib/.abi/librte_hash.dump
 create mode 100644 lib/.abi/librte_ip_frag.dump
 create mode 100644 lib/.abi/librte_ipsec.dump
 create mode 100644 lib/.abi/librte_jobstats.dump
 create mode 100644 lib/.abi/librte_kni.dump
 create mode 100644 lib/.abi/librte_kvargs.dump
 create mode 100644 lib/.abi/librte_latencystats.dump
 create mode 100644 lib/.abi/librte_lpm.dump
 create mode 100644 lib/.abi/librte_mbuf.dump
 create mode 100644 lib/.abi/librte_member.dump
 create mode 100644 lib/.abi/librte_mempool.dump
 create mode 100644 lib/.abi/librte_meter.dump
 create mode 100644 lib/.abi/librte_metrics.dump
 create mode 100644 lib/.abi/librte_net.dump
 create mode 100644 lib/.abi/librte_pci.dump
 create mode 100644 lib/.abi/librte_pdump.dump
 create mode 100644 lib/.abi/librte_pipeline.dump
 create mode 100644 lib/.abi/librte_port.dump
 create mode 100644 lib/.abi/librte_power.dump
 create mode 100644 lib/.abi/librte_rawdev.dump
 create mode 100644 lib/.abi/librte_rcu.dump
 create mode 100644 lib/.abi/librte_reorder.dump
 create mode 100644 lib/.abi/librte_rib.dump
 create mode 100644 lib/.abi/librte_ring.dump
 create mode 100644 lib/.abi/librte_sched.dump
 create mode 100644 lib/.abi/librte_security.dump
 create mode 100644 lib/.abi/librte_stack.dump
 create mode 100644 lib/.abi/librte_table.dump
 create mode 100644 lib/.abi/librte_telemetry.dump
 create mode 100644 lib/.abi/librte_timer.dump
 create mode 100644 lib/.abi/librte_vhost.dump

-- 
2.17.1


^ permalink raw reply	[relevance 8%]

* [dpdk-dev] [PATCH v4 2/3] build: add abi checks to meson
  2019-12-11 18:21  8%   ` [dpdk-dev] [PATCH v4 0/3] " Kevin Laatz
@ 2019-12-11 18:21 21%     ` Kevin Laatz
  2019-12-11 18:21  3%     ` [dpdk-dev] [PATCH v4 3/3] build: clean up experimental syms check Kevin Laatz
                       ` (2 subsequent siblings)
  3 siblings, 0 replies; 200+ results
From: Kevin Laatz @ 2019-12-11 18:21 UTC (permalink / raw)
  To: dev; +Cc: thomas, david.marchand, bruce.richardson, ray.kinsella, Kevin Laatz

This patch adds a script to generate ABI dump files. These files will be
required to perform ABI compatibility checks during the build later in the
patchset. This script should be run on a DPDK version with a stable ABI.

Since this is a tool designed for human use, we simplify it to just work
off a whole build directory, taking the parameter of the builddir and
generating the lib|drivers/abi dir. This is hardcoded into the script since
the meson build expects the .dump files in these directories.

The running of the scripts can be enabled/disabled using the new meson
option added in this patch.  If enabled, the lib and drivers .so files will
be compared against any existing ABI dump files in lib|drivers/abi of the
source directory. If there are any incompatibilities, the build will fail
and display the incompatibility.

Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>

---
v2:
  - fixed conditional around abi check custom target
v3:
  - fix typo in meson option name
v4:
  - squash commits 3,4,5,6 into a single commit
  - changes meson option from type boolean to feature
  - update travis packages
  - move check for windows to earlier in build
  - add abignore file to suppress experimental functions
  - make the directories we store dump files in hidden
---
 .travis.yml              |  9 +++++++--
 buildtools/dpdk.abignore |  2 ++
 buildtools/meson.build   |  3 +++
 config/meson.build       | 10 ++++++++++
 devtools/gen-abi-dump.sh | 24 ++++++++++++++++++++++++
 drivers/meson.build      | 13 +++++++++++++
 lib/meson.build          | 13 +++++++++++++
 meson.build              |  4 ++++
 meson_options.txt        |  2 ++
 9 files changed, 78 insertions(+), 2 deletions(-)
 create mode 100644 buildtools/dpdk.abignore
 create mode 100755 devtools/gen-abi-dump.sh

diff --git a/.travis.yml b/.travis.yml
index 8f90d06f2..c5654a530 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -21,7 +21,7 @@ aarch64_packages: &aarch64_packages
 
 extra_packages: &extra_packages
   - *required_packages
-  - [libbsd-dev, libpcap-dev, libcrypto++-dev, libjansson4]
+  - [libbsd-dev, libpcap-dev, libcrypto++-dev, libjansson4, abigail-tools]
 
 build_32b_packages: &build_32b_packages
   - *required_packages
@@ -115,6 +115,11 @@ matrix:
       apt:
         packages:
           - *extra_packages
-
+  - env: DEF_LIB="static" OPTS="-Dcompat_checks=enabled -Dbuildtype=debug" EXTRA_PACKAGES=1
+    compiler: gcc
+    addons:
+      apt:
+        packages:
+          - *extra_packages
 
 script: ./.ci/${TRAVIS_OS_NAME}-build.sh
diff --git a/buildtools/dpdk.abignore b/buildtools/dpdk.abignore
new file mode 100644
index 000000000..b866b7f26
--- /dev/null
+++ b/buildtools/dpdk.abignore
@@ -0,0 +1,2 @@
+[suppress_function]
+        symbol_version = EXPERIMENTAL
diff --git a/buildtools/meson.build b/buildtools/meson.build
index 6ef2c5721..378f8d07e 100644
--- a/buildtools/meson.build
+++ b/buildtools/meson.build
@@ -7,6 +7,9 @@ pmdinfo = find_program('gen-pmdinfo-cfile.sh')
 
 check_experimental_syms = find_program('check-experimental-syms.sh')
 
+abidiff = find_program('abidiff', required: compat_checks)
+abignore = files('dpdk.abignore')
+
 # set up map-to-def script using python, either built-in or external
 python3 = import('python').find_installation(required: false)
 if python3.found()
diff --git a/config/meson.build b/config/meson.build
index 01911ecf9..ea680af33 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -34,6 +34,16 @@ stable_so_version = abi_va.length() == 2 ? abi_va[0] : abi_va[0] + '.' + abi_va[
 experimental_abi_version = '0.' + ''.join(abi_va)
 experimental_so_version = '0.' + ''.join(stable_so_version.split('.'))
 
+# compatibility checks not available on windows
+compat_checks = disabler()
+if not is_windows
+	compat_checks = get_option('compat_checks')
+endif
+
+if not get_option('debug') and compat_checks.enabled()
+	error('Build type must have debug symbols when compat_checks=enabled')
+endif
+
 # extract all version information into the build configuration
 dpdk_conf.set('RTE_VER_YEAR', pver.get(0).to_int())
 dpdk_conf.set('RTE_VER_MONTH', pver.get(1).to_int())
diff --git a/devtools/gen-abi-dump.sh b/devtools/gen-abi-dump.sh
new file mode 100755
index 000000000..bc6eac8c8
--- /dev/null
+++ b/devtools/gen-abi-dump.sh
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+builddir=$1
+
+if [ -z "$builddir" ] ; then
+	echo "Usage: $(basename $0) build_dir"
+	exit 1
+fi
+
+if [ ! -d "$builddir" ] ; then
+	echo "Error: build directory, '$builddir', doesn't exist"
+	exit 1
+fi
+
+for d in lib drivers ; do
+	mkdir -p $d/.abi
+
+	for f in $builddir/$d/*.so* ; do
+		test -L "$f" && continue
+
+		libname=$(basename $f)
+		abidw --out-file $d/.abi/${libname%.so*}.dump $f || exit 1
+	done
+done
diff --git a/drivers/meson.build b/drivers/meson.build
index 4b17662b7..db58a67b9 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -196,6 +196,19 @@ foreach class:dpdk_driver_classes
 					include_directories: includes,
 					dependencies: static_deps)
 
+			if abidiff.found()
+				custom_target('lib' + lib_name + '.abi_chk',
+					command: [abidiff, '--no-added-syms',
+						'--suppr', abignore,
+						files('.abi/lib' + lib_name + '.dump'),
+						'@INPUT@'],
+					input: shared_lib,
+					output: 'lib' + lib_name + '.abi_chk',
+					capture: true,
+					install: false,
+					build_by_default: is_experimental == 0)
+			endif
+
 			dpdk_drivers += static_lib
 
 			set_variable('shared_@0@'.format(lib_name), shared_dep)
diff --git a/lib/meson.build b/lib/meson.build
index 0af3efab2..f0aba6635 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -180,6 +180,19 @@ foreach l:libraries
 					include_directories: includes,
 					dependencies: shared_deps)
 
+			if abidiff.found()
+				custom_target(dir_name + '.abi_chk',
+					command: [abidiff, '--no-added-syms',
+						'--suppr', abignore,
+						files('.abi/' + dir_name + '.dump'),
+						'@INPUT@'],
+					input: shared_lib,
+					output: dir_name + '.abi_chk',
+					capture: true,
+					install: false,
+					build_by_default: is_experimental == 0)
+			endif
+
 			dpdk_libraries = [shared_lib] + dpdk_libraries
 			dpdk_static_libraries = [static_lib] + dpdk_static_libraries
 		endif # sources.length() > 0
diff --git a/meson.build b/meson.build
index b7ae9c8d9..e840ccea7 100644
--- a/meson.build
+++ b/meson.build
@@ -128,3 +128,7 @@ foreach drv:dpdk_drvs_disabled
 	output_message += drv + ':\t' + reason + '\n\t'
 endforeach
 message(output_message + '\n')
+
+if compat_checks.auto() and not get_option('debug')
+	warning('Build type must be have debug symbols to run compatibility checks!\n')
+endif
diff --git a/meson_options.txt b/meson_options.txt
index bc369d06c..0c651cef3 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -1,5 +1,7 @@
 # Please keep these options sorted alphabetically.
 
+option('compat_checks', type: 'feature', value: 'auto',
+	description: 'Enable abi compatibility checks and experimental syms checks to run during the build. This requires debug build to be enabled.')
 option('disable_drivers', type: 'string', value: '',
 	description: 'Comma-separated list of drivers to explicitly disable.')
 option('drivers_install_subdir', type: 'string', value: 'dpdk/pmds-<VERSION>',
-- 
2.17.1


^ permalink raw reply	[relevance 21%]

* [dpdk-dev] [PATCH v4 3/3] build: clean up experimental syms check
  2019-12-11 18:21  8%   ` [dpdk-dev] [PATCH v4 0/3] " Kevin Laatz
  2019-12-11 18:21 21%     ` [dpdk-dev] [PATCH v4 2/3] build: add abi checks to meson Kevin Laatz
@ 2019-12-11 18:21  3%     ` Kevin Laatz
       [not found]         ` <20191211182147.19355-2-kevin.laatz@intel.com>
  2019-12-13 14:02  8%     ` [dpdk-dev] [PATCH v5 0/3] Add ABI compatibility checks to the meson build Kevin Laatz
  3 siblings, 0 replies; 200+ results
From: Kevin Laatz @ 2019-12-11 18:21 UTC (permalink / raw)
  To: dev; +Cc: thomas, david.marchand, bruce.richardson, ray.kinsella, Kevin Laatz

This patch cleans up the meson build files in lib and drivers by moving the
custom target for checking the experimental syms next to the abi compat
checks. This also removes the dependency on the check for the shared build,
which was not required by anything, but was only added to force the
experimental syms check run.

Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
---
 drivers/meson.build | 21 +++++++++++----------
 lib/meson.build     | 21 +++++++++++----------
 2 files changed, 22 insertions(+), 20 deletions(-)

diff --git a/drivers/meson.build b/drivers/meson.build
index db58a67b9..4f4c93b73 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -163,15 +163,6 @@ foreach class:dpdk_driver_classes
 					'-Wl,/implib:lib\\' + implib]
 			else
 				lk_args = ['-Wl,--version-script=' + version_map]
-				# on unix systems check the output of the
-				# experimental syms script, using it as a
-				# dependency of the .so build
-				lk_deps += custom_target(lib_name + '.exp_chk',
-					command: [check_experimental_syms,
-						version_map, '@INPUT@'],
-					capture: true,
-					input: static_lib,
-					output: lib_name + '.exp_chk')
 			endif
 
 			shared_lib = shared_library(lib_name,
@@ -181,7 +172,6 @@ foreach class:dpdk_driver_classes
 				dependencies: shared_deps,
 				c_args: cflags,
 				link_args: lk_args,
-				link_depends: lk_deps,
 				version: lib_version,
 				soversion: so_version,
 				install: true,
@@ -197,6 +187,17 @@ foreach class:dpdk_driver_classes
 					dependencies: static_deps)
 
 			if abidiff.found()
+				# on unix systems check the output of the
+				# experimental syms script
+				custom_target(lib_name + '.exp_chk',
+					command: [check_experimental_syms,
+						version_map, '@INPUT@'],
+					capture: true,
+					input: static_lib,
+					output: lib_name + '.exp_chk',
+					install: false,
+					build_by_default: true)
+
 				custom_target('lib' + lib_name + '.abi_chk',
 					command: [abidiff, '--no-added-syms',
 						'--suppr', abignore,
diff --git a/lib/meson.build b/lib/meson.build
index f0aba6635..b0f915969 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -154,15 +154,6 @@ foreach l:libraries
 					'-Wl,/implib:lib\\' + implib]
 			else
 				lk_args = ['-Wl,--version-script=' + version_map]
-				# on unix systems check the output of the
-				# experimental syms script, using it as a
-				# dependency of the .so build
-				lk_deps += custom_target(name + '.exp_chk',
-					command: [check_experimental_syms,
-						version_map, '@INPUT@'],
-					capture: true,
-					input: static_lib,
-					output: name + '.exp_chk')
 			endif
 
 			shared_lib = shared_library(libname,
@@ -172,7 +163,6 @@ foreach l:libraries
 					dependencies: shared_deps,
 					include_directories: includes,
 					link_args: lk_args,
-					link_depends: lk_deps,
 					version: lib_version,
 					soversion: so_version,
 					install: true)
@@ -181,6 +171,17 @@ foreach l:libraries
 					dependencies: shared_deps)
 
 			if abidiff.found()
+				# on unix systems check the output of the
+				# experimental syms script
+				custom_target(name + '.exp_chk',
+					command: [check_experimental_syms,
+						version_map, '@INPUT@'],
+					capture: true,
+					input: static_lib,
+					output: name + '.exp_chk',
+					install: false,
+					build_by_default: true)
+
 				custom_target(dir_name + '.abi_chk',
 					command: [abidiff, '--no-added-syms',
 						'--suppr', abignore,
-- 
2.17.1


^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] RFC - adding filter to packet capture API
  2019-12-09 13:41  0% ` Ananyev, Konstantin
  2019-12-09 16:49  0%   ` Stephen Hemminger
@ 2019-12-11 20:13  0%   ` Morten Brørup
  1 sibling, 0 replies; 200+ results
From: Morten Brørup @ 2019-12-11 20:13 UTC (permalink / raw)
  To: Ananyev, Konstantin, Stephen Hemminger, Ray Kinsella; +Cc: dev

> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Ananyev, Konstantin
> Sent: Monday, December 9, 2019 2:42 PM 
> 
> > In the process of updating packet capture to take a filter program, there
> > is one open question about API/ABI.
> >
> > The example is:
> >
> > int
> > rte_pdump_enable(uint16_t port, uint16_t queue, uint32_t flags,
> > 		struct rte_ring *ring,
> > 		struct rte_mempool *mp,
> > 		void *filter);
> >
> > For the new version want to add ability to pass a BPF (classic) program
> > from libcap. This is described in most pcap API's as "struct
> bpf_program".
> >
> > The filter parameter was left as a placeholder, but in typical YAGNI
> > fashion. When we do need to use it, it is not going to work out.
> >
> > Since the existing filter argument was never used, there are a bunch
> > of options (in order from best to worse).
> >
> > 1. Introduce new API which takes a filter.
> >
> > int
> > rte_pdump_enable_bpf(uint16_t port, uint16_t queue, uint32_t flags,
> > 		struct rte_ring *ring,
> > 		struct rte_mempool *mp,
> > 		const struct bpf_program *filter);
> >
> > The old API is just the same as calling new API with NULL as filter.
> > This solution is safe but adds minor bloat.
> >
> > 2. Use API versioning.  This solves the ABI problem but it is still
> >    an API breakage since program that was passing junk would still
> >    not compile.
> >
> > 3. Change the function signature of existing API. This risks breaking
> >    at compile time some program that was passing some other value.
> >    Similarly, a program could have passed garbage, we never checked.
> >
> > 4. Keep existing function signature, but be type unsafe.
> >    This keeps API, but still is ABI breakage for programs that passed
> >    garbage. Plus C is unsafe enough already.
> >
> 
> My preference is probably #4, with some extra changes:
> make actual type for 'filter' be determined by flags,
> something like:
> 
> enum {
>         RTE_PDUMP_FLAG_RX = 1,  /* receive direction */
>         RTE_PDUMP_FLAG_TX = 2,  /* transmit direction */
> +      RTE_PDUMP_FLAG_CBPF = 4, /* filter points to struct bpf_program */
>         /* both receive and transmit directions */
>         RTE_PDUMP_FLAG_RXTX = (RTE_PDUMP_FLAG_RX|RTE_PDUMP_FLAG_TX)
> };
> 

I like Konstantin's idea of providing the filter type as a flag, as it still leaves the filter parameter open for other filter types in the future. It also allows using the existing pdump_request structure (and associated client/server infrastructure) as is.

And I appreciate very much that name of the flag explicitly indicates that the filter type is cBPF (not just BPF, which in librte_bpf actually means eBPF).
Did I mention that I hate the use of the name "BPF" instead of "eBPF", because "BPF" used to mean what is today also known as "cBPF"...


Med venlig hilsen / kind regards
- Morten Brørup


^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH v2] build: fix soname info for 19.11 compatiblity
  2019-12-11 15:16 10% ` [dpdk-dev] [PATCH v2] " Bruce Richardson
@ 2019-12-12  8:27  0%   ` David Marchand
  2019-12-12  8:57  0%     ` Ferruh Yigit
  0 siblings, 1 reply; 200+ results
From: David Marchand @ 2019-12-12  8:27 UTC (permalink / raw)
  To: Bruce Richardson
  Cc: dev, Thomas Monjalon, Kinsella, Ray, Yigit, Ferruh, Luca Boccassi

Hello Bruce,

On Wed, Dec 11, 2019 at 4:16 PM Bruce Richardson
<bruce.richardson@intel.com> wrote:
>
> The soname for each stable ABI version should be just the ABI version major
> number without the minor number. Unfortunately both major and minor were
> used causing version 20.1 to be incompatible with 20.0.
>
> This patch fixes the issue by switching from 2-part to 3-part ABI version
> numbers so that we can keep 20.0 as soname and using the final digits to
> identify the 20.x releases which are ABI compatible. This requires changes
> to both make and meson builds to handle the three-digit version and shrink
> it to 2-digit for soname.
>
> Fixes: cba806e07d6f ("build: change ABI versioning to global")
>
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>

There is an issue with the ethtool example.

  INSTALL-APP server
  INSTALL-MAP server.map
cat: /home/dmarchan/dpdk/examples/ethtool/lib/ABI_VERSION: No such
file or directory
  CC rte_ethtool.o
  LD librte_ethtool.so.0.
  INSTALL-LIB librte_ethtool.so.0.
gmake[3]: stat:
/home/dmarchan/builds/i686-native-linux-gcc+shared+debug+default/examples/ethtool/lib/i686-native-linux-gcc/lib/librte_ethtool.so.0.:
Too many levels of symbolic links
== ethtool-app


-- 
David Marchand


^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH v4 1/3] build: add dump files for v20.0 ABI
       [not found]         ` <20191211182147.19355-2-kevin.laatz@intel.com>
@ 2019-12-12  8:43  4%       ` David Marchand
  2019-12-12  9:36  8%         ` David Marchand
  2019-12-12  9:45  4%         ` Laatz, Kevin
  0 siblings, 2 replies; 200+ results
From: David Marchand @ 2019-12-12  8:43 UTC (permalink / raw)
  To: Kevin Laatz, dev; +Cc: thomas, bruce.richardson, ray.kinsella



On 11/12/2019 19:21, Kevin Laatz wrote:
> This patch adds the .dump files generated for the v20.0 ABI. These files
> will be used to compare the ABI during the meson build when the
> compat_checks meson is enabled. If there is a mismatch between the .dump
> files (the baseline, ie. current stable ABI version) and the code being
> compiled, then abidiff will report an error and the build will fail.
> 
> The .dump files are stored in the drivers/.abi and lib/.abi directories.
> The directories are hidden to reduce clutter in the respective directories
> and also to discourage changing these files since they should not be
> modified.
> 
> Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
> ---
>  drivers/.abi/librte_bus_dpaa.dump             | 5303 ++++++++++++++
>  drivers/.abi/librte_bus_fslmc.dump            | 5084 +++++++++++++
>  drivers/.abi/librte_bus_ifpga.dump            |  973 +++
>  drivers/.abi/librte_bus_pci.dump              |  835 +++
>  drivers/.abi/librte_bus_vdev.dump             |  408 ++
>  drivers/.abi/librte_bus_vmbus.dump            |  918 +++
>  drivers/.abi/librte_common_cpt.dump           |   36 +
>  drivers/.abi/librte_common_dpaax.dump         |  177 +
>  drivers/.abi/librte_common_octeontx.dump      |   77 +
>  drivers/.abi/librte_common_octeontx2.dump     |  988 +++
>  drivers/.abi/librte_mempool_bucket.dump       |   15 +
>  drivers/.abi/librte_mempool_dpaa.dump         |  323 +
>  drivers/.abi/librte_mempool_dpaa2.dump        |  484 ++
>  drivers/.abi/librte_mempool_octeontx.dump     |   22 +
>  drivers/.abi/librte_mempool_octeontx2.dump    |  643 ++
>  drivers/.abi/librte_mempool_ring.dump         |   15 +
>  drivers/.abi/librte_mempool_stack.dump        |   16 +
>  drivers/.abi/librte_pmd_af_packet.dump        |   22 +
>  drivers/.abi/librte_pmd_af_xdp.dump           |   23 +
>  drivers/.abi/librte_pmd_ark.dump              |   26 +
>  drivers/.abi/librte_pmd_atlantic.dump         | 1296 ++++
>  drivers/.abi/librte_pmd_avp.dump              |   26 +
>  drivers/.abi/librte_pmd_axgbe.dump            |   27 +
>  .../.abi/librte_pmd_bbdev_fpga_lte_fec.dump   |   74 +
>  drivers/.abi/librte_pmd_bbdev_null.dump       |   17 +
>  drivers/.abi/librte_pmd_bbdev_turbo_sw.dump   |   17 +
>  drivers/.abi/librte_pmd_bnx2x.dump            |   28 +
>  drivers/.abi/librte_pmd_bnxt.dump             | 3499 +++++++++
>  drivers/.abi/librte_pmd_bond.dump             | 3586 +++++++++
>  drivers/.abi/librte_pmd_caam_jr.dump          |   47 +
>  drivers/.abi/librte_pmd_ccp.dump              | 1870 +++++
>  drivers/.abi/librte_pmd_crypto_scheduler.dump | 1473 ++++
>  drivers/.abi/librte_pmd_cxgbe.dump            |   27 +
>  drivers/.abi/librte_pmd_dpaa.dump             | 2929 ++++++++
>  drivers/.abi/librte_pmd_dpaa2.dump            | 3319 +++++++++
>  drivers/.abi/librte_pmd_dpaa2_event.dump      |   36 +
>  drivers/.abi/librte_pmd_dpaa2_sec.dump        | 1511 ++++
>  drivers/.abi/librte_pmd_dpaa_event.dump       |   32 +
>  drivers/.abi/librte_pmd_dpaa_sec.dump         | 1459 ++++
>  drivers/.abi/librte_pmd_dsw_event.dump        |   23 +
>  drivers/.abi/librte_pmd_e1000.dump            | 3414 +++++++++
>  drivers/.abi/librte_pmd_ena.dump              |   32 +
>  drivers/.abi/librte_pmd_enetc.dump            |   27 +
>  drivers/.abi/librte_pmd_enic.dump             | 3282 +++++++++
>  drivers/.abi/librte_pmd_failsafe.dump         | 3162 ++++++++
>  drivers/.abi/librte_pmd_fm10k.dump            |  894 +++
>  drivers/.abi/librte_pmd_hinic.dump            | 3110 ++++++++
>  drivers/.abi/librte_pmd_hns3.dump             |   28 +
>  drivers/.abi/librte_pmd_i40e.dump             | 3553 +++++++++
>  drivers/.abi/librte_pmd_iavf.dump             |   71 +
>  drivers/.abi/librte_pmd_ice.dump              | 6395 +++++++++++++++++
>  drivers/.abi/librte_pmd_ifc.dump              |   24 +
>  drivers/.abi/librte_pmd_ixgbe.dump            | 3369 +++++++++
>  drivers/.abi/librte_pmd_kni.dump              |   22 +
>  drivers/.abi/librte_pmd_liquidio.dump         |   27 +
>  drivers/.abi/librte_pmd_memif.dump            |   27 +
>  drivers/.abi/librte_pmd_netvsc.dump           |   28 +
>  drivers/.abi/librte_pmd_nfp.dump              |   27 +
>  drivers/.abi/librte_pmd_nitrox.dump           |   19 +
>  drivers/.abi/librte_pmd_null.dump             |   22 +
>  drivers/.abi/librte_pmd_null_crypto.dump      | 1317 ++++
>  drivers/.abi/librte_pmd_octeontx.dump         |   49 +
>  drivers/.abi/librte_pmd_octeontx2.dump        | 3140 ++++++++
>  drivers/.abi/librte_pmd_octeontx2_crypto.dump |   28 +
>  drivers/.abi/librte_pmd_octeontx2_event.dump  |   29 +
>  .../.abi/librte_pmd_octeontx_compress.dump    |   25 +
>  drivers/.abi/librte_pmd_octeontx_crypto.dump  |   28 +
>  drivers/.abi/librte_pmd_octeontx_event.dump   |   36 +
>  drivers/.abi/librte_pmd_opdl_event.dump       |   28 +
>  drivers/.abi/librte_pmd_openssl.dump          | 1315 ++++
>  drivers/.abi/librte_pmd_pcap.dump             |   23 +
>  drivers/.abi/librte_pmd_pfe.dump              |   41 +
>  drivers/.abi/librte_pmd_qat.dump              |  118 +
>  drivers/.abi/librte_pmd_qede.dump             |   46 +
>  drivers/.abi/librte_pmd_ring.dump             |  142 +
>  drivers/.abi/librte_pmd_sfc.dump              | 3905 ++++++++++
>  drivers/.abi/librte_pmd_skeleton_event.dump   |   25 +
>  drivers/.abi/librte_pmd_softnic.dump          | 5523 ++++++++++++++
>  drivers/.abi/librte_pmd_sw_event.dump         |   28 +
>  drivers/.abi/librte_pmd_tap.dump              |   26 +
>  drivers/.abi/librte_pmd_thunderx.dump         |   28 +
>  drivers/.abi/librte_pmd_vdev_netvsc.dump      |   22 +
>  drivers/.abi/librte_pmd_vhost.dump            |   57 +
>  drivers/.abi/librte_pmd_virtio.dump           | 3808 ++++++++++
>  drivers/.abi/librte_pmd_virtio_crypto.dump    | 1419 ++++
>  drivers/.abi/librte_pmd_vmxnet3.dump          |   27 +
>  drivers/.abi/librte_pmd_zlib.dump             | 1035 +++
>  drivers/.abi/librte_rawdev_dpaa2_cmdif.dump   |   32 +
>  drivers/.abi/librte_rawdev_dpaa2_qdma.dump    |  185 +
>  drivers/.abi/librte_rawdev_ioat.dump          |   19 +
>  drivers/.abi/librte_rawdev_ntb.dump           |  772 ++
>  drivers/.abi/librte_rawdev_octeontx2_dma.dump |   23 +
>  drivers/.abi/librte_rawdev_skeleton.dump      |   21 +
>  lib/.abi/librte_acl.dump                      |  329 +
>  lib/.abi/librte_bbdev.dump                    | 1789 +++++
>  lib/.abi/librte_bitratestats.dump             |   85 +
>  lib/.abi/librte_bpf.dump                      |  280 +
>  lib/.abi/librte_cfgfile.dump                  |  188 +
>  lib/.abi/librte_cmdline.dump                  |  728 ++
>  lib/.abi/librte_compressdev.dump              | 1249 ++++
>  lib/.abi/librte_cryptodev.dump                | 1806 +++++
>  lib/.abi/librte_distributor.dump              |  627 ++
>  lib/.abi/librte_eal.dump                      | 3330 +++++++++
>  lib/.abi/librte_efd.dump                      |  319 +
>  lib/.abi/librte_ethdev.dump                   | 5272 ++++++++++++++
>  lib/.abi/librte_eventdev.dump                 | 5520 ++++++++++++++
>  lib/.abi/librte_fib.dump                      |  327 +
>  lib/.abi/librte_flow_classify.dump            | 1054 +++
>  lib/.abi/librte_gro.dump                      |  428 ++
>  lib/.abi/librte_gso.dump                      |  402 ++
>  lib/.abi/librte_hash.dump                     |  578 ++
>  lib/.abi/librte_ip_frag.dump                  |  814 +++
>  lib/.abi/librte_ipsec.dump                    | 1269 ++++
>  lib/.abi/librte_jobstats.dump                 |  197 +
>  lib/.abi/librte_kni.dump                      |  657 ++
>  lib/.abi/librte_kvargs.dump                   |   98 +
>  lib/.abi/librte_latencystats.dump             |  427 ++
>  lib/.abi/librte_lpm.dump                      |  330 +
>  lib/.abi/librte_mbuf.dump                     |  746 ++
>  lib/.abi/librte_member.dump                   |  216 +
>  lib/.abi/librte_mempool.dump                  |  764 ++
>  lib/.abi/librte_meter.dump                    |  197 +
>  lib/.abi/librte_metrics.dump                  |  102 +
>  lib/.abi/librte_net.dump                      |  489 ++
>  lib/.abi/librte_pci.dump                      |   85 +
>  lib/.abi/librte_pdump.dump                    |  339 +
>  lib/.abi/librte_pipeline.dump                 | 1795 +++++
>  lib/.abi/librte_port.dump                     |  567 ++
>  lib/.abi/librte_power.dump                    |  490 ++
>  lib/.abi/librte_rawdev.dump                   |  840 +++
>  lib/.abi/librte_rcu.dump                      |  218 +
>  lib/.abi/librte_reorder.dump                  |  455 ++
>  lib/.abi/librte_rib.dump                      |  556 ++
>  lib/.abi/librte_ring.dump                     |  285 +
>  lib/.abi/librte_sched.dump                    | 1108 +++
>  lib/.abi/librte_security.dump                 | 1125 +++
>  lib/.abi/librte_stack.dump                    |  183 +
>  lib/.abi/librte_table.dump                    |  544 ++
>  lib/.abi/librte_telemetry.dump                |  122 +
>  lib/.abi/librte_timer.dump                    |  322 +
>  lib/.abi/librte_vhost.dump                    | 1624 +++++
>  141 files changed, 129812 insertions(+)
This mail did not make it to the list, I suppose because of its size
(Thomas?).

You missed some drivers, which makes my tests fail right away:

$ for file in $(find lib/ drivers/ -name "*.map")
do
  pattern=$(basename ${file/_version.map})
  [ $(find lib/ drivers/ -name "*$pattern*.dump" |wc -l) = 0 ] ||
    continue
  echo $file
done

drivers/common/mvep/rte_common_mvep_version.map
drivers/crypto/snow3g/rte_pmd_snow3g_version.map
drivers/crypto/mvsam/rte_pmd_mvsam_version.map
drivers/crypto/kasumi/rte_pmd_kasumi_version.map
drivers/crypto/aesni_gcm/rte_pmd_aesni_gcm_version.map
drivers/crypto/aesni_mb/rte_pmd_aesni_mb_version.map
drivers/crypto/armv8/rte_pmd_armv8_version.map
drivers/crypto/zuc/rte_pmd_zuc_version.map
drivers/compress/isal/rte_pmd_isal_version.map
drivers/raw/ifpga/rte_rawdev_ifpga_version.map
drivers/net/szedata2/rte_pmd_szedata2_version.map
drivers/net/nfb/rte_pmd_nfb_version.map
drivers/net/mlx4/rte_pmd_mlx4_version.map
drivers/net/mvpp2/rte_pmd_mvpp2_version.map
drivers/net/ipn3ke/rte_pmd_ipn3ke_version.map
drivers/net/mlx5/rte_pmd_mlx5_version.map
drivers/net/mvneta/rte_pmd_mvneta_version.map


I will try to fix this and test it further later today.


-- 
David Marchand


^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] [PATCH v2] build: fix soname info for 19.11 compatiblity
  2019-12-12  8:27  0%   ` David Marchand
@ 2019-12-12  8:57  0%     ` Ferruh Yigit
  2019-12-12 11:44  0%       ` Bruce Richardson
  0 siblings, 1 reply; 200+ results
From: Ferruh Yigit @ 2019-12-12  8:57 UTC (permalink / raw)
  To: David Marchand, Bruce Richardson
  Cc: dev, Thomas Monjalon, Kinsella, Ray, Luca Boccassi

On 12/12/2019 8:27 AM, David Marchand wrote:
> Hello Bruce,
> 
> On Wed, Dec 11, 2019 at 4:16 PM Bruce Richardson
> <bruce.richardson@intel.com> wrote:
>>
>> The soname for each stable ABI version should be just the ABI version major
>> number without the minor number. Unfortunately both major and minor were
>> used causing version 20.1 to be incompatible with 20.0.
>>
>> This patch fixes the issue by switching from 2-part to 3-part ABI version
>> numbers so that we can keep 20.0 as soname and using the final digits to
>> identify the 20.x releases which are ABI compatible. This requires changes
>> to both make and meson builds to handle the three-digit version and shrink
>> it to 2-digit for soname.
>>
>> Fixes: cba806e07d6f ("build: change ABI versioning to global")
>>
>> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
>> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> 
> There is an issue with the ethtool example.
> 
>   INSTALL-APP server
>   INSTALL-MAP server.map
> cat: /home/dmarchan/dpdk/examples/ethtool/lib/ABI_VERSION: No such
> file or directory
>   CC rte_ethtool.o
>   LD librte_ethtool.so.0.
>   INSTALL-LIB librte_ethtool.so.0.
> gmake[3]: stat:
> /home/dmarchan/builds/i686-native-linux-gcc+shared+debug+default/examples/ethtool/lib/i686-native-linux-gcc/lib/librte_ethtool.so.0.:
> Too many levels of symbolic links
> == ethtool-app
> 
> 

It is linking against itself, in 'examples/ethtool/lib/build/lib':
librte_ethtool.so -> librte_ethtool.so.0.
librte_ethtool.so.0. -> librte_ethtool.so.0.

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH v4 1/3] build: add dump files for v20.0 ABI
  2019-12-12  8:43  4%       ` [dpdk-dev] [PATCH v4 1/3] build: add dump files for v20.0 ABI David Marchand
@ 2019-12-12  9:36  8%         ` David Marchand
  2019-12-12  9:45  4%           ` Laatz, Kevin
  2019-12-12  9:45  4%         ` Laatz, Kevin
  1 sibling, 1 reply; 200+ results
From: David Marchand @ 2019-12-12  9:36 UTC (permalink / raw)
  To: Kevin Laatz, dev; +Cc: Thomas Monjalon, Bruce Richardson, Kinsella, Ray

On Thu, Dec 12, 2019 at 9:43 AM David Marchand
<david.marchand@redhat.com> wrote:
> You missed some drivers, which makes my tests fail right away:
>
> $ for file in $(find lib/ drivers/ -name "*.map")
> do
>   pattern=$(basename ${file/_version.map})
>   [ $(find lib/ drivers/ -name "*$pattern*.dump" |wc -l) = 0 ] ||
>     continue
>   echo $file
> done
>
> drivers/common/mvep/rte_common_mvep_version.map
> drivers/crypto/snow3g/rte_pmd_snow3g_version.map
> drivers/crypto/mvsam/rte_pmd_mvsam_version.map
> drivers/crypto/kasumi/rte_pmd_kasumi_version.map
> drivers/crypto/aesni_gcm/rte_pmd_aesni_gcm_version.map
> drivers/crypto/aesni_mb/rte_pmd_aesni_mb_version.map
> drivers/crypto/armv8/rte_pmd_armv8_version.map
> drivers/crypto/zuc/rte_pmd_zuc_version.map
> drivers/compress/isal/rte_pmd_isal_version.map
> drivers/raw/ifpga/rte_rawdev_ifpga_version.map
> drivers/net/szedata2/rte_pmd_szedata2_version.map
> drivers/net/nfb/rte_pmd_nfb_version.map
> drivers/net/mlx4/rte_pmd_mlx4_version.map
> drivers/net/mvpp2/rte_pmd_mvpp2_version.map
> drivers/net/ipn3ke/rte_pmd_ipn3ke_version.map
> drivers/net/mlx5/rte_pmd_mlx5_version.map
> drivers/net/mvneta/rte_pmd_mvneta_version.map
>
>
> I will try to fix this and test it further later today.

Could you have a look at:
https://travis-ci.com/david-marchand/dpdk/jobs/266421340

[13/2156] Generating librte_kvargs.abi...hk with a meson_exe.py custom command.
FAILED: /usr/local/bin/meson --internal exe --capture
lib/librte_kvargs.abi_chk -- /usr/bin/abidiff --no-added-syms --suppr
../buildtools/dpdk.abignore ../lib/.abi/librte_kvargs.dump
lib/librte_kvargs.so.20.0.1
/usr/bin/abidiff: unrecognized option: --no-added-syms
try the --help option for more information
[13/2156] Compiling C object 'lib/76b5...librte_eal_common_eal_common_dev.c.o'.
ninja: build stopped: subcommand failed.


Thanks.

-- 
David Marchand


^ permalink raw reply	[relevance 8%]

* Re: [dpdk-dev] [PATCH v4 1/3] build: add dump files for v20.0 ABI
  2019-12-12  8:43  4%       ` [dpdk-dev] [PATCH v4 1/3] build: add dump files for v20.0 ABI David Marchand
  2019-12-12  9:36  8%         ` David Marchand
@ 2019-12-12  9:45  4%         ` Laatz, Kevin
  1 sibling, 0 replies; 200+ results
From: Laatz, Kevin @ 2019-12-12  9:45 UTC (permalink / raw)
  To: David Marchand, dev; +Cc: thomas, bruce.richardson, ray.kinsella


On 12/12/2019 08:43, David Marchand wrote:
>
> On 11/12/2019 19:21, Kevin Laatz wrote:
>> This patch adds the .dump files generated for the v20.0 ABI. These files
>> will be used to compare the ABI during the meson build when the
>> compat_checks meson is enabled. If there is a mismatch between the .dump
>> files (the baseline, ie. current stable ABI version) and the code being
>> compiled, then abidiff will report an error and the build will fail.
>>
>> The .dump files are stored in the drivers/.abi and lib/.abi directories.
>> The directories are hidden to reduce clutter in the respective directories
>> and also to discourage changing these files since they should not be
>> modified.
>>
>> Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
>> ---
>>   drivers/.abi/librte_bus_dpaa.dump             | 5303 ++++++++++++++
>>   drivers/.abi/librte_bus_fslmc.dump            | 5084 +++++++++++++
>>   drivers/.abi/librte_bus_ifpga.dump            |  973 +++
>>   drivers/.abi/librte_bus_pci.dump              |  835 +++
>>   drivers/.abi/librte_bus_vdev.dump             |  408 ++
>>   drivers/.abi/librte_bus_vmbus.dump            |  918 +++
>>   drivers/.abi/librte_common_cpt.dump           |   36 +
>>   drivers/.abi/librte_common_dpaax.dump         |  177 +
>>   drivers/.abi/librte_common_octeontx.dump      |   77 +
>>   drivers/.abi/librte_common_octeontx2.dump     |  988 +++
>>   drivers/.abi/librte_mempool_bucket.dump       |   15 +
>>   drivers/.abi/librte_mempool_dpaa.dump         |  323 +
>>   drivers/.abi/librte_mempool_dpaa2.dump        |  484 ++
>>   drivers/.abi/librte_mempool_octeontx.dump     |   22 +
>>   drivers/.abi/librte_mempool_octeontx2.dump    |  643 ++
>>   drivers/.abi/librte_mempool_ring.dump         |   15 +
>>   drivers/.abi/librte_mempool_stack.dump        |   16 +
>>   drivers/.abi/librte_pmd_af_packet.dump        |   22 +
>>   drivers/.abi/librte_pmd_af_xdp.dump           |   23 +
>>   drivers/.abi/librte_pmd_ark.dump              |   26 +
>>   drivers/.abi/librte_pmd_atlantic.dump         | 1296 ++++
>>   drivers/.abi/librte_pmd_avp.dump              |   26 +
>>   drivers/.abi/librte_pmd_axgbe.dump            |   27 +
>>   .../.abi/librte_pmd_bbdev_fpga_lte_fec.dump   |   74 +
>>   drivers/.abi/librte_pmd_bbdev_null.dump       |   17 +
>>   drivers/.abi/librte_pmd_bbdev_turbo_sw.dump   |   17 +
>>   drivers/.abi/librte_pmd_bnx2x.dump            |   28 +
>>   drivers/.abi/librte_pmd_bnxt.dump             | 3499 +++++++++
>>   drivers/.abi/librte_pmd_bond.dump             | 3586 +++++++++
>>   drivers/.abi/librte_pmd_caam_jr.dump          |   47 +
>>   drivers/.abi/librte_pmd_ccp.dump              | 1870 +++++
>>   drivers/.abi/librte_pmd_crypto_scheduler.dump | 1473 ++++
>>   drivers/.abi/librte_pmd_cxgbe.dump            |   27 +
>>   drivers/.abi/librte_pmd_dpaa.dump             | 2929 ++++++++
>>   drivers/.abi/librte_pmd_dpaa2.dump            | 3319 +++++++++
>>   drivers/.abi/librte_pmd_dpaa2_event.dump      |   36 +
>>   drivers/.abi/librte_pmd_dpaa2_sec.dump        | 1511 ++++
>>   drivers/.abi/librte_pmd_dpaa_event.dump       |   32 +
>>   drivers/.abi/librte_pmd_dpaa_sec.dump         | 1459 ++++
>>   drivers/.abi/librte_pmd_dsw_event.dump        |   23 +
>>   drivers/.abi/librte_pmd_e1000.dump            | 3414 +++++++++
>>   drivers/.abi/librte_pmd_ena.dump              |   32 +
>>   drivers/.abi/librte_pmd_enetc.dump            |   27 +
>>   drivers/.abi/librte_pmd_enic.dump             | 3282 +++++++++
>>   drivers/.abi/librte_pmd_failsafe.dump         | 3162 ++++++++
>>   drivers/.abi/librte_pmd_fm10k.dump            |  894 +++
>>   drivers/.abi/librte_pmd_hinic.dump            | 3110 ++++++++
>>   drivers/.abi/librte_pmd_hns3.dump             |   28 +
>>   drivers/.abi/librte_pmd_i40e.dump             | 3553 +++++++++
>>   drivers/.abi/librte_pmd_iavf.dump             |   71 +
>>   drivers/.abi/librte_pmd_ice.dump              | 6395 +++++++++++++++++
>>   drivers/.abi/librte_pmd_ifc.dump              |   24 +
>>   drivers/.abi/librte_pmd_ixgbe.dump            | 3369 +++++++++
>>   drivers/.abi/librte_pmd_kni.dump              |   22 +
>>   drivers/.abi/librte_pmd_liquidio.dump         |   27 +
>>   drivers/.abi/librte_pmd_memif.dump            |   27 +
>>   drivers/.abi/librte_pmd_netvsc.dump           |   28 +
>>   drivers/.abi/librte_pmd_nfp.dump              |   27 +
>>   drivers/.abi/librte_pmd_nitrox.dump           |   19 +
>>   drivers/.abi/librte_pmd_null.dump             |   22 +
>>   drivers/.abi/librte_pmd_null_crypto.dump      | 1317 ++++
>>   drivers/.abi/librte_pmd_octeontx.dump         |   49 +
>>   drivers/.abi/librte_pmd_octeontx2.dump        | 3140 ++++++++
>>   drivers/.abi/librte_pmd_octeontx2_crypto.dump |   28 +
>>   drivers/.abi/librte_pmd_octeontx2_event.dump  |   29 +
>>   .../.abi/librte_pmd_octeontx_compress.dump    |   25 +
>>   drivers/.abi/librte_pmd_octeontx_crypto.dump  |   28 +
>>   drivers/.abi/librte_pmd_octeontx_event.dump   |   36 +
>>   drivers/.abi/librte_pmd_opdl_event.dump       |   28 +
>>   drivers/.abi/librte_pmd_openssl.dump          | 1315 ++++
>>   drivers/.abi/librte_pmd_pcap.dump             |   23 +
>>   drivers/.abi/librte_pmd_pfe.dump              |   41 +
>>   drivers/.abi/librte_pmd_qat.dump              |  118 +
>>   drivers/.abi/librte_pmd_qede.dump             |   46 +
>>   drivers/.abi/librte_pmd_ring.dump             |  142 +
>>   drivers/.abi/librte_pmd_sfc.dump              | 3905 ++++++++++
>>   drivers/.abi/librte_pmd_skeleton_event.dump   |   25 +
>>   drivers/.abi/librte_pmd_softnic.dump          | 5523 ++++++++++++++
>>   drivers/.abi/librte_pmd_sw_event.dump         |   28 +
>>   drivers/.abi/librte_pmd_tap.dump              |   26 +
>>   drivers/.abi/librte_pmd_thunderx.dump         |   28 +
>>   drivers/.abi/librte_pmd_vdev_netvsc.dump      |   22 +
>>   drivers/.abi/librte_pmd_vhost.dump            |   57 +
>>   drivers/.abi/librte_pmd_virtio.dump           | 3808 ++++++++++
>>   drivers/.abi/librte_pmd_virtio_crypto.dump    | 1419 ++++
>>   drivers/.abi/librte_pmd_vmxnet3.dump          |   27 +
>>   drivers/.abi/librte_pmd_zlib.dump             | 1035 +++
>>   drivers/.abi/librte_rawdev_dpaa2_cmdif.dump   |   32 +
>>   drivers/.abi/librte_rawdev_dpaa2_qdma.dump    |  185 +
>>   drivers/.abi/librte_rawdev_ioat.dump          |   19 +
>>   drivers/.abi/librte_rawdev_ntb.dump           |  772 ++
>>   drivers/.abi/librte_rawdev_octeontx2_dma.dump |   23 +
>>   drivers/.abi/librte_rawdev_skeleton.dump      |   21 +
>>   lib/.abi/librte_acl.dump                      |  329 +
>>   lib/.abi/librte_bbdev.dump                    | 1789 +++++
>>   lib/.abi/librte_bitratestats.dump             |   85 +
>>   lib/.abi/librte_bpf.dump                      |  280 +
>>   lib/.abi/librte_cfgfile.dump                  |  188 +
>>   lib/.abi/librte_cmdline.dump                  |  728 ++
>>   lib/.abi/librte_compressdev.dump              | 1249 ++++
>>   lib/.abi/librte_cryptodev.dump                | 1806 +++++
>>   lib/.abi/librte_distributor.dump              |  627 ++
>>   lib/.abi/librte_eal.dump                      | 3330 +++++++++
>>   lib/.abi/librte_efd.dump                      |  319 +
>>   lib/.abi/librte_ethdev.dump                   | 5272 ++++++++++++++
>>   lib/.abi/librte_eventdev.dump                 | 5520 ++++++++++++++
>>   lib/.abi/librte_fib.dump                      |  327 +
>>   lib/.abi/librte_flow_classify.dump            | 1054 +++
>>   lib/.abi/librte_gro.dump                      |  428 ++
>>   lib/.abi/librte_gso.dump                      |  402 ++
>>   lib/.abi/librte_hash.dump                     |  578 ++
>>   lib/.abi/librte_ip_frag.dump                  |  814 +++
>>   lib/.abi/librte_ipsec.dump                    | 1269 ++++
>>   lib/.abi/librte_jobstats.dump                 |  197 +
>>   lib/.abi/librte_kni.dump                      |  657 ++
>>   lib/.abi/librte_kvargs.dump                   |   98 +
>>   lib/.abi/librte_latencystats.dump             |  427 ++
>>   lib/.abi/librte_lpm.dump                      |  330 +
>>   lib/.abi/librte_mbuf.dump                     |  746 ++
>>   lib/.abi/librte_member.dump                   |  216 +
>>   lib/.abi/librte_mempool.dump                  |  764 ++
>>   lib/.abi/librte_meter.dump                    |  197 +
>>   lib/.abi/librte_metrics.dump                  |  102 +
>>   lib/.abi/librte_net.dump                      |  489 ++
>>   lib/.abi/librte_pci.dump                      |   85 +
>>   lib/.abi/librte_pdump.dump                    |  339 +
>>   lib/.abi/librte_pipeline.dump                 | 1795 +++++
>>   lib/.abi/librte_port.dump                     |  567 ++
>>   lib/.abi/librte_power.dump                    |  490 ++
>>   lib/.abi/librte_rawdev.dump                   |  840 +++
>>   lib/.abi/librte_rcu.dump                      |  218 +
>>   lib/.abi/librte_reorder.dump                  |  455 ++
>>   lib/.abi/librte_rib.dump                      |  556 ++
>>   lib/.abi/librte_ring.dump                     |  285 +
>>   lib/.abi/librte_sched.dump                    | 1108 +++
>>   lib/.abi/librte_security.dump                 | 1125 +++
>>   lib/.abi/librte_stack.dump                    |  183 +
>>   lib/.abi/librte_table.dump                    |  544 ++
>>   lib/.abi/librte_telemetry.dump                |  122 +
>>   lib/.abi/librte_timer.dump                    |  322 +
>>   lib/.abi/librte_vhost.dump                    | 1624 +++++
>>   141 files changed, 129812 insertions(+)
> This mail did not make it to the list, I suppose because of its size
> (Thomas?).

Yes, it was due to its size :(

Any suggested ways to send this instead? Maybe split drivers and lib 
into separate patches? What's the max size?

>
> You missed some drivers, which makes my tests fail right away:
>
> $ for file in $(find lib/ drivers/ -name "*.map")
> do
>    pattern=$(basename ${file/_version.map})
>    [ $(find lib/ drivers/ -name "*$pattern*.dump" |wc -l) = 0 ] ||
>      continue
>    echo $file
> done
>
> drivers/common/mvep/rte_common_mvep_version.map
> drivers/crypto/snow3g/rte_pmd_snow3g_version.map
> drivers/crypto/mvsam/rte_pmd_mvsam_version.map
> drivers/crypto/kasumi/rte_pmd_kasumi_version.map
> drivers/crypto/aesni_gcm/rte_pmd_aesni_gcm_version.map
> drivers/crypto/aesni_mb/rte_pmd_aesni_mb_version.map
> drivers/crypto/armv8/rte_pmd_armv8_version.map
> drivers/crypto/zuc/rte_pmd_zuc_version.map
> drivers/compress/isal/rte_pmd_isal_version.map
> drivers/raw/ifpga/rte_rawdev_ifpga_version.map
> drivers/net/szedata2/rte_pmd_szedata2_version.map
> drivers/net/nfb/rte_pmd_nfb_version.map
> drivers/net/mlx4/rte_pmd_mlx4_version.map
> drivers/net/mvpp2/rte_pmd_mvpp2_version.map
> drivers/net/ipn3ke/rte_pmd_ipn3ke_version.map
> drivers/net/mlx5/rte_pmd_mlx5_version.map
> drivers/net/mvneta/rte_pmd_mvneta_version.map
>
>
> I will try to fix this and test it further later today.

Will try to get the build working with all and can re-spin the patch.



^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] [PATCH v4 1/3] build: add dump files for v20.0 ABI
  2019-12-12  9:36  8%         ` David Marchand
@ 2019-12-12  9:45  4%           ` Laatz, Kevin
  0 siblings, 0 replies; 200+ results
From: Laatz, Kevin @ 2019-12-12  9:45 UTC (permalink / raw)
  To: David Marchand, dev; +Cc: Thomas Monjalon, Bruce Richardson, Kinsella, Ray

On 12/12/2019 09:36, David Marchand wrote:
> On Thu, Dec 12, 2019 at 9:43 AM David Marchand
> <david.marchand@redhat.com> wrote:
>> You missed some drivers, which makes my tests fail right away:
>>
>> $ for file in $(find lib/ drivers/ -name "*.map")
>> do
>>    pattern=$(basename ${file/_version.map})
>>    [ $(find lib/ drivers/ -name "*$pattern*.dump" |wc -l) = 0 ] ||
>>      continue
>>    echo $file
>> done
>>
>> drivers/common/mvep/rte_common_mvep_version.map
>> drivers/crypto/snow3g/rte_pmd_snow3g_version.map
>> drivers/crypto/mvsam/rte_pmd_mvsam_version.map
>> drivers/crypto/kasumi/rte_pmd_kasumi_version.map
>> drivers/crypto/aesni_gcm/rte_pmd_aesni_gcm_version.map
>> drivers/crypto/aesni_mb/rte_pmd_aesni_mb_version.map
>> drivers/crypto/armv8/rte_pmd_armv8_version.map
>> drivers/crypto/zuc/rte_pmd_zuc_version.map
>> drivers/compress/isal/rte_pmd_isal_version.map
>> drivers/raw/ifpga/rte_rawdev_ifpga_version.map
>> drivers/net/szedata2/rte_pmd_szedata2_version.map
>> drivers/net/nfb/rte_pmd_nfb_version.map
>> drivers/net/mlx4/rte_pmd_mlx4_version.map
>> drivers/net/mvpp2/rte_pmd_mvpp2_version.map
>> drivers/net/ipn3ke/rte_pmd_ipn3ke_version.map
>> drivers/net/mlx5/rte_pmd_mlx5_version.map
>> drivers/net/mvneta/rte_pmd_mvneta_version.map
>>
>>
>> I will try to fix this and test it further later today.
> Could you have a look at:
> https://travis-ci.com/david-marchand/dpdk/jobs/266421340

Sure, will have a look

>
> [13/2156] Generating librte_kvargs.abi...hk with a meson_exe.py custom command.
> FAILED: /usr/local/bin/meson --internal exe --capture
> lib/librte_kvargs.abi_chk -- /usr/bin/abidiff --no-added-syms --suppr
> ../buildtools/dpdk.abignore ../lib/.abi/librte_kvargs.dump
> lib/librte_kvargs.so.20.0.1
> /usr/bin/abidiff: unrecognized option: --no-added-syms
> try the --help option for more information
> [13/2156] Compiling C object 'lib/76b5...librte_eal_common_eal_common_dev.c.o'.
> ninja: build stopped: subcommand failed.
>
>
> Thanks.
>

^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] How to manage new APIs added after major ABI release?
  2019-12-10 14:36  8%     ` Bruce Richardson
  2019-12-10 15:03  7%       ` Luca Boccassi
  2019-12-10 15:04  4%       ` Ferruh Yigit
@ 2019-12-10 15:40  8%       ` Kinsella, Ray
  2019-12-11 13:32  4%       ` Neil Horman
  3 siblings, 0 replies; 200+ results
From: Kinsella, Ray @ 2019-12-10 15:40 UTC (permalink / raw)
  To: Richardson, Bruce, Yigit, Ferruh
  Cc: Thomas Monjalon, David Marchand, Luca Boccassi,
	Christian Ehrhardt, Timothy Redaelli, Kevin Traynor, dpdk-dev,
	Laatz, Kevin, Andrew Rybchenko, Neil Horman



> -----Original Message-----
> From: Bruce Richardson <bruce.richardson@intel.com>
> Sent: Tuesday 10 December 2019 14:37
> To: Yigit, Ferruh <ferruh.yigit@intel.com>
> Cc: Kinsella, Ray <ray.kinsella@intel.com>; Thomas Monjalon
> <thomas@monjalon.net>; David Marchand <david.marchand@redhat.com>; Luca
> Boccassi <bluca@debian.org>; Christian Ehrhardt
> <christian.ehrhardt@canonical.com>; Timothy Redaelli
> <tredaelli@redhat.com>; Kevin Traynor <ktraynor@redhat.com>; dpdk-dev
> <dev@dpdk.org>; Laatz, Kevin <kevin.laatz@intel.com>; Andrew Rybchenko
> <arybchenko@solarflare.com>; Neil Horman <nhorman@redhat.com>
> Subject: Re: How to manage new APIs added after major ABI release?
> 
> On Tue, Dec 10, 2019 at 12:40:53PM +0000, Ferruh Yigit wrote:
> > On 12/10/2019 12:04 PM, Bruce Richardson wrote:
> > > On Tue, Dec 10, 2019 at 11:56:28AM +0000, Ferruh Yigit wrote:
> > >> Hi,
> > >>
> > >> With new process, the major ABI releases will be compatible until
> > >> it is deprecated (until next LTS for now), like current ABI
> version
> > >> is 20 in DPDK_19.11 and DPDK versions until DPDK_20.11 will be ABI
> > >> compatible with this version.
> > >>
> > >> But if we introduce a new API after major ABI, say in 20.02
> > >> release, are we allowed to break the ABI for that API before
> DPDK_20.11?
> > >>
> > >> If we allow it break, following problem will be observed:
> > >> Assume an application using .so.20.1 library, and using the new
> API
> > >> introduced in 20.02, lets say foo(), but when application switches
> > >> to .so.20.2 (released via DPDK_20.05), application will fail
> > >> because of ABI breakage in foo().
> > >>
> > >> I think it is fair that application expects forward compatibility
> > >> in minor versions of a shared library.
> > >> Like if application linked against .so.20.2, fair to expect
> > >> .so.20.3, .so.20.4 etc will work fine. I think currently only
> .so.20.0 is fully forward compatible.
> > >>
> > >> If we all agree on this, we may need to tweak the process a
> little,
> > >> but before diving into implementation details, I would like to be
> sure we are in same page.
> > >>
> > >
> > > Well, any new API's generally come in as experimental, in which
> case
> > > changes are allowed, and breakage can be expected. If they are not
> > > experiemental, then the ABI policy applies to them in that they
> > > cannot change since they are part of the .21 ABI, even if that ABI
> > > is not fully complete yet. For any application only using stable,
> > > non-experimental functions, forward compatibility must be
> maintained IMHO.
> > >
> >
> > Talking about not experimental APIs, experimental ones free from the
> process.
> >
> > And when and API added in 20.02 (ABI_20.1) it is kind of still
> ABI_20,
> > because it should be supported for following ABI_20.x, instead of
> > calling it ABI_21, and this minor tweak (and mind shift) in .map
> files can be our solution.
> 
> Related at what to do with adding versions between major ABI versions,
> when investigating with Kevin the ABI checking we have made an
> unpleasant
> discovery:
> 
> This minor version bumping from 20.0 to 20.1 has apparently already
> broken our ABI according to libabigail.
> 
> The Gory Details [skip to the end for suggestions to fix]
> ------------------------------------------------------------
> 
> The reason for this is that the soversion encoded in each library -
> whether built with meson or make - is the full 20.0 version, not just
> the major ABI
> .20 part. Then when apps link against DPDK, they actually encode the
> 20.0.
> 
> So what this means is that currently - using a make build as an example
> here - ldd on the latest head build gives:
> 
>  LD_LIBRARY_PATH=$(pwd)/x86_64-native-linux-gcc/lib ldd x86_64-native-
> linux-gcc/app/testpmd | head
>         linux-vdso.so.1 (0x00007fff6813d000)
>         librte_pmd_bond.so.20.1 => /home/bruce/dpdk.org/x86_64-native-
> linux-gcc/lib/librte_pmd_bond.so.20.1 (0x00007f36d723c000)
>         librte_pmd_dpaa.so.20.1 => /home/bruce/dpdk.org/x86_64-native-
> linux-gcc/lib/librte_pmd_dpaa.so.20.1 (0x00007f36d7229000)
>         librte_mempool_dpaa.so.20.1 => /home/bruce/dpdk.org/x86_64-
> native-linux-gcc/lib/librte_mempool_dpaa.so.20.1 (0x00007f36d7224000)
>         librte_pmd_ixgbe.so.20.1 => /home/bruce/dpdk.org/x86_64-native-
> linux-gcc/lib/librte_pmd_ixgbe.so.20.1 (0x00007f36d71ba000)
>         librte_pmd_i40e.so.20.1 => /home/bruce/dpdk.org/x86_64-native-
> linux-gcc/lib/librte_pmd_i40e.so.20.1 (0x00007f36d7126000)
>         librte_pmd_bnxt.so.20.1 => /home/bruce/dpdk.org/x86_64-native-
> linux-gcc/lib/librte_pmd_bnxt.so.20.1 (0x00007f36d70e5000)
>         librte_pmd_softnic.so.20.1 => /home/bruce/dpdk.org/x86_64-
> native-linux-gcc/lib/librte_pmd_softnic.so.20.1 (0x00007f36d70b7000)
>         librte_flow_classify.so.0.201 => /home/bruce/dpdk.org/x86_64-
> native-linux-gcc/lib/librte_flow_classify.so.0.201 (0x00007f36d70b1000)
>         librte_pipeline.so.20.1 => /home/bruce/dpdk.org/x86_64-native-
> linux-gcc/lib/librte_pipeline.so.20.1 (0x00007f36d7088000) ...
> 
> Similarly ldd on a 19.11 checkout gives:
> 
> LD_LIBRARY_PATH=$(pwd)/x86_64-native-linux-gcc_v19.11/lib ldd x86_64-
> native-linux-gcc_v19.11/app/testpmd | head
>         linux-vdso.so.1 (0x00007ffc2a964000)
>         librte_pmd_bond.so.20.0 => /home/bruce/dpdk.org/x86_64-native-
> linux-gcc_v19.11/lib/librte_pmd_bond.so.20.0 (0x00007fd4dc6b6000)
>         librte_pmd_dpaa.so.20.0 => /home/bruce/dpdk.org/x86_64-native-
> linux-gcc_v19.11/lib/librte_pmd_dpaa.so.20.0 (0x00007fd4dc6a3000)
>         librte_mempool_dpaa.so.20.0 => /home/bruce/dpdk.org/x86_64-
> native-linux-gcc_v19.11/lib/librte_mempool_dpaa.so.20.0
> (0x00007fd4dc69e000)
>         librte_pmd_ixgbe.so.20.0 => /home/bruce/dpdk.org/x86_64-native-
> linux-gcc_v19.11/lib/librte_pmd_ixgbe.so.20.0 (0x00007fd4dc634000)
>         librte_pmd_i40e.so.20.0 => /home/bruce/dpdk.org/x86_64-native-
> linux-gcc_v19.11/lib/librte_pmd_i40e.so.20.0 (0x00007fd4dc5a0000)
>         librte_pmd_bnxt.so.20.0 => /home/bruce/dpdk.org/x86_64-native-
> linux-gcc_v19.11/lib/librte_pmd_bnxt.so.20.0 (0x00007fd4dc55d000)
>         librte_pmd_softnic.so.20.0 => /home/bruce/dpdk.org/x86_64-
> native-linux-gcc_v19.11/lib/librte_pmd_softnic.so.20.0
> (0x00007fd4dc531000)
>         librte_flow_classify.so.0.200 => /home/bruce/dpdk.org/x86_64-
> native-linux-gcc_v19.11/lib/librte_flow_classify.so.0.200
> (0x00007fd4dc52b000)
>         librte_pipeline.so.20.0 => /home/bruce/dpdk.org/x86_64-native-
> linux-gcc_v19.11/lib/librte_pipeline.so.20.0 (0x00007fd4dc502000)
> 
> The final check - using the 19.11 compiled testpmd with the library
> path set to 20.02 versionned libs:
> 
> LD_LIBRARY_PATH=$(pwd)/x86_64-native-linux-gcc/lib ldd x86_64-native-
> linux-gcc_v19.11/app/testpmd | head
>         linux-vdso.so.1 (0x00007ffc711fc000)
>         librte_pmd_bond.so.20.0 => not found
>         librte_pmd_dpaa.so.20.0 => not found
>         librte_mempool_dpaa.so.20.0 => not found
>         librte_pmd_ixgbe.so.20.0 => not found
>         librte_pmd_i40e.so.20.0 => not found
>         librte_pmd_bnxt.so.20.0 => not found
>         librte_pmd_softnic.so.20.0 => not found
>         librte_flow_classify.so.0.200 => not found
>         librte_pipeline.so.20.0 => not found
> 
> Fixing This
> -----------
> 
> To fix this, we need to ensure that the SONAME remains constant across
> the releases. Therefore, I currently see two options:
> 
> 1. keep 20.0 as the version and soname across all releases in 2020,
> i.e.
>   just revert the ABIVERSION change patch. Trouble there is how to
> track
>   20.02 vs 20.05 etc. etc.
> 
> 2. remove the .0, .1 from the SONAMES stored in the libraries. This has
> the
>   advantage of keeping the existing planned schemes, but has the really
> big
>   downside of breaking ABI compatibility with anyone who has already
>   compiled with 19.11.
> 
> Personally, of the two options - unless someone can come up with a
> third option - I'd tend towards the second, fixing the builds to remove
> the .0 in the soname, and releasing that ASAP as 19.11.1 before 19.11
> gets widespread adoption. Since this ABI stability is new, teething
> problems may be expected.
> 
> Thoughts and comments?
> /Bruce
> 
> BTW: For meson, the patch for option 2 is just to remove the so_version
> variable and all references to it from lib/meson.build and
> drivers/meson.build. Haven't looked into a "make" fix yet.

From the DPDK ABI Version Document ...

A library's soname. is typically used to provide backward compatibility information about a given library, describing the lowest common denominator ABI supported by the library. The soname or logical name for the library, is typically comprised of the library's name and major version e.g. librte_eal.so.20

https://doc.dpdk.org/guides/contributing/abi_versioning.html






^ permalink raw reply	[relevance 8%]

* Re: [dpdk-dev] How to manage new APIs added after major ABI release?
  2019-12-10 16:32  4%             ` Bruce Richardson
@ 2019-12-10 17:01  4%               ` Kinsella, Ray
  2019-12-10 17:04  8%               ` Thomas Monjalon
  1 sibling, 0 replies; 200+ results
From: Kinsella, Ray @ 2019-12-10 17:01 UTC (permalink / raw)
  To: Richardson, Bruce, Luca Boccassi
  Cc: Yigit, Ferruh, Thomas Monjalon, David Marchand,
	Christian Ehrhardt, Timothy Redaelli, Kevin Traynor, dpdk-dev,
	Laatz, Kevin, Andrew Rybchenko, Neil Horman

First, good find, much kudos.
To fix, I tend to agree with Bruce.

The SONAME should be comprised of the library name and the major version number, period.
As described in the DPDK documentation.

I too would be concerned about our forgetting to make the change in 20.11.

Also, what would happen when DPDK 20.05 roles around.
In DPDK 20.05's case the SONAME would still be 20.0
However the library file name would be stamped libeal_20.2.so ... 

Better to drop the minor version to avoid any ambiguity.
I would suggest a respin of DPDK 19.11 to fix.

Ray K

> -----Original Message-----
> From: Bruce Richardson <bruce.richardson@intel.com>
> Sent: Tuesday 10 December 2019 16:32
> To: Luca Boccassi <bluca@debian.org>
> Cc: Yigit, Ferruh <ferruh.yigit@intel.com>; Kinsella, Ray
> <ray.kinsella@intel.com>; Thomas Monjalon <thomas@monjalon.net>; David
> Marchand <david.marchand@redhat.com>; Christian Ehrhardt
> <christian.ehrhardt@canonical.com>; Timothy Redaelli
> <tredaelli@redhat.com>; Kevin Traynor <ktraynor@redhat.com>; dpdk-dev
> <dev@dpdk.org>; Laatz, Kevin <kevin.laatz@intel.com>; Andrew Rybchenko
> <arybchenko@solarflare.com>; Neil Horman <nhorman@redhat.com>
> Subject: Re: [dpdk-dev] How to manage new APIs added after major ABI
> release?
> 
> On Tue, Dec 10, 2019 at 04:20:41PM +0000, Luca Boccassi wrote:
> > On Tue, 2019-12-10 at 15:46 +0000, Bruce Richardson wrote:
> > > On Tue, Dec 10, 2019 at 03:03:51PM +0000, Luca Boccassi wrote:
> > > > On Tue, 2019-12-10 at 14:36 +0000, Bruce Richardson wrote:
> > > > > On Tue, Dec 10, 2019 at 12:40:53PM +0000, Ferruh Yigit wrote:
> > > > > > On 12/10/2019 12:04 PM, Bruce Richardson wrote:
> > > > > > > On Tue, Dec 10, 2019 at 11:56:28AM +0000, Ferruh Yigit
> wrote:
> > > > > > > > Hi,
> > > > > > > >
> > > > > > > > With new process, the major ABI releases will be
> > > > > > > > compatible until it is deprecated (until next LTS for
> > > > > > > > now), like current ABI version is 20 in DPDK_19.11 and
> > > > > > > > DPDK versions until DPDK_20.11 will be ABI compatible
> with
> > > > > > > > this version.
> > > > > > > >
> > > > > > > > But if we introduce a new API after major ABI, say in
> > > > > > > > 20.02 release, are we allowed to break the ABI for that
> > > > > > > > API before DPDK_20.11?
> > > > > > > >
> > > > > > > > If we allow it break, following problem will be observed:
> > > > > > > > Assume an application using .so.20.1 library, and using
> > > > > > > > the new API introduced in 20.02, lets say foo(), but when
> > > > > > > > application switches to .so.20.2 (released via
> > > > > > > > DPDK_20.05), application will fail because of ABI
> breakage
> > > > > > > > in foo().
> > > > > > > >
> > > > > > > > I think it is fair that application expects forward
> > > > > > > > compatibility in minor versions of a shared library.
> > > > > > > > Like if application linked against .so.20.2, fair to
> > > > > > > > expect .so.20.3, .so.20.4 etc will work fine. I think
> > > > > > > > currently only .so.20.0 is fully forward compatible.
> > > > > > > >
> > > > > > > > If we all agree on this, we may need to tweak the process
> > > > > > > > a little, but before diving into implementation details,
> I
> > > > > > > > would like to be sure we are in same page.
> > > > > > > >
> > > > > > >
> > > > > > > Well, any new API's generally come in as experimental, in
> > > > > > > which case changes are allowed, and breakage can be
> > > > > > > expected. If they are not experiemental, then the ABI
> policy
> > > > > > > applies to them in that they cannot change since they are
> > > > > > > part of the .21 ABI, even if that ABI is not fully complete
> > > > > > > yet. For any application only using stable, non-
> > > > > > > experimental functions, forward compatibility must be
> > > > > > > maintained IMHO.
> > > > > > >
> > > > > >
> > > > > > Talking about not experimental APIs, experimental ones free
> > > > > > from the process.
> > > > > >
> > > > > > And when and API added in 20.02 (ABI_20.1) it is kind of
> still
> > > > > > ABI_20, because it should be supported for following
> ABI_20.x,
> > > > > > instead of calling it ABI_21, and this minor tweak (and mind
> > > > > > shift) in .map files can be our solution.
> > > > >
> > > > > Related at what to do with adding versions between major ABI
> > > > > versions, when investigating with Kevin the ABI checking we
> have
> > > > > made an unpleasant
> > > > > discovery:
> > > > >
> > > > > This minor version bumping from 20.0 to 20.1 has apparently
> > > > > already broken our ABI according to libabigail.
> > > > >
> > > > > The Gory Details [skip to the end for suggestions to fix]
> > > > > ------------------------------------------------------------
> > > > >
> > > > > The reason for this is that the soversion encoded in each
> > > > > library
> > > > > -
> > > > > whether
> > > > > built with meson or make - is the full 20.0 version, not just
> > > > > the major ABI
> > > > > .20 part. Then when apps link against DPDK, they actually
> encode
> > > > > the 20.0.
> > > > >
> > > > > So what this means is that currently - using a make build as an
> > > > > example here - ldd on the latest head build gives:
> > > > >
> > > > >  LD_LIBRARY_PATH=$(pwd)/x86_64-native-linux-gcc/lib ldd x86_64-
> > > > > native-linux-gcc/app/testpmd | head
> > > > >         linux-vdso.so.1 (0x00007fff6813d000)
> > > > >         librte_pmd_bond.so.20.1 => /home/bruce/dpdk.org/x86_64-
> > > > > native-linux-gcc/lib/librte_pmd_bond.so.20.1
> (0x00007f36d723c000)
> > > > >         librte_pmd_dpaa.so.20.1 => /home/bruce/dpdk.org/x86_64-
> > > > > native-linux-gcc/lib/librte_pmd_dpaa.so.20.1
> (0x00007f36d7229000)
> > > > >         librte_mempool_dpaa.so.20.1 =>
> > > > > /home/bruce/dpdk.org/x86_64-
> > > > > native-linux-gcc/lib/librte_mempool_dpaa.so.20.1
> > > > > (0x00007f36d7224000)
> > > > >         librte_pmd_ixgbe.so.20.1 =>
> /home/bruce/dpdk.org/x86_64-
> > > > > native-linux-gcc/lib/librte_pmd_ixgbe.so.20.1
> > > > > (0x00007f36d71ba000)
> > > > >         librte_pmd_i40e.so.20.1 => /home/bruce/dpdk.org/x86_64-
> > > > > native-linux-gcc/lib/librte_pmd_i40e.so.20.1
> (0x00007f36d7126000)
> > > > >         librte_pmd_bnxt.so.20.1 => /home/bruce/dpdk.org/x86_64-
> > > > > native-linux-gcc/lib/librte_pmd_bnxt.so.20.1
> (0x00007f36d70e5000)
> > > > >         librte_pmd_softnic.so.20.1 =>
> > > > > /home/bruce/dpdk.org/x86_64-
> > > > > native-linux-gcc/lib/librte_pmd_softnic.so.20.1
> > > > > (0x00007f36d70b7000)
> > > > >         librte_flow_classify.so.0.201 =>
> > > > > /home/bruce/dpdk.org/x86_64-
> > > > > native-linux-gcc/lib/librte_flow_classify.so.0.201
> > > > > (0x00007f36d70b1000)
> > > > >         librte_pipeline.so.20.1 => /home/bruce/dpdk.org/x86_64-
> > > > > native-linux-gcc/lib/librte_pipeline.so.20.1
> > > > > (0x00007f36d7088000) ...
> > > > >
> > > > > Similarly ldd on a 19.11 checkout gives:
> > > > >
> > > > > LD_LIBRARY_PATH=$(pwd)/x86_64-native-linux-gcc_v19.11/lib ldd
> > > > > x86_64-
> > > > > native-linux-gcc_v19.11/app/testpmd | head
> > > > >         linux-vdso.so.1 (0x00007ffc2a964000)
> > > > >         librte_pmd_bond.so.20.0 => /home/bruce/dpdk.org/x86_64-
> > > > > native-linux-gcc_v19.11/lib/librte_pmd_bond.so.20.0
> > > > > (0x00007fd4dc6b6000)
> > > > >         librte_pmd_dpaa.so.20.0 => /home/bruce/dpdk.org/x86_64-
> > > > > native-linux-gcc_v19.11/lib/librte_pmd_dpaa.so.20.0
> > > > > (0x00007fd4dc6a3000)
> > > > >         librte_mempool_dpaa.so.20.0 =>
> > > > > /home/bruce/dpdk.org/x86_64-
> > > > > native-linux-gcc_v19.11/lib/librte_mempool_dpaa.so.20.0
> > > > > (0x00007fd4dc69e000)
> > > > >         librte_pmd_ixgbe.so.20.0 =>
> /home/bruce/dpdk.org/x86_64-
> > > > > native-linux-gcc_v19.11/lib/librte_pmd_ixgbe.so.20.0
> > > > > (0x00007fd4dc634000)
> > > > >         librte_pmd_i40e.so.20.0 => /home/bruce/dpdk.org/x86_64-
> > > > > native-linux-gcc_v19.11/lib/librte_pmd_i40e.so.20.0
> > > > > (0x00007fd4dc5a0000)
> > > > >         librte_pmd_bnxt.so.20.0 => /home/bruce/dpdk.org/x86_64-
> > > > > native-linux-gcc_v19.11/lib/librte_pmd_bnxt.so.20.0
> > > > > (0x00007fd4dc55d000)
> > > > >         librte_pmd_softnic.so.20.0 =>
> > > > > /home/bruce/dpdk.org/x86_64-
> > > > > native-linux-gcc_v19.11/lib/librte_pmd_softnic.so.20.0
> > > > > (0x00007fd4dc531000)
> > > > >         librte_flow_classify.so.0.200 =>
> > > > > /home/bruce/dpdk.org/x86_64-
> > > > > native-linux-gcc_v19.11/lib/librte_flow_classify.so.0.200
> > > > > (0x00007fd4dc52b000)
> > > > >         librte_pipeline.so.20.0 => /home/bruce/dpdk.org/x86_64-
> > > > > native-linux-gcc_v19.11/lib/librte_pipeline.so.20.0
> > > > > (0x00007fd4dc502000)
> > > > >
> > > > > The final check - using the 19.11 compiled testpmd with the
> > > > > library path set to 20.02 versionned libs:
> > > > >
> > > > > LD_LIBRARY_PATH=$(pwd)/x86_64-native-linux-gcc/lib ldd x86_64-
> > > > > native-
> > > > > linux-gcc_v19.11/app/testpmd | head
> > > > >         linux-vdso.so.1 (0x00007ffc711fc000)
> > > > >         librte_pmd_bond.so.20.0 => not found
> > > > >         librte_pmd_dpaa.so.20.0 => not found
> > > > >         librte_mempool_dpaa.so.20.0 => not found
> > > > >         librte_pmd_ixgbe.so.20.0 => not found
> > > > >         librte_pmd_i40e.so.20.0 => not found
> > > > >         librte_pmd_bnxt.so.20.0 => not found
> > > > >         librte_pmd_softnic.so.20.0 => not found
> > > > >         librte_flow_classify.so.0.200 => not found
> > > > >         librte_pipeline.so.20.0 => not found
> > > > >
> > > > > Fixing This
> > > > > -----------
> > > > >
> > > > > To fix this, we need to ensure that the SONAME remains constant
> > > > > across the releases. Therefore, I currently see two options:
> > > > >
> > > > > 1. keep 20.0 as the version and soname across all releases in
> > > > > 2020, i.e.
> > > > >   just revert the ABIVERSION change patch. Trouble there is how
> > > > > to track
> > > > >   20.02 vs 20.05 etc. etc.
> > > > >
> > > > > 2. remove the .0, .1 from the SONAMES stored in the libraries.
> > > > > This
> > > > > has the
> > > > >   advantage of keeping the existing planned schemes, but has
> the
> > > > > really big
> > > > >   downside of breaking ABI compatibility with anyone who has
> > > > > already
> > > > >   compiled with 19.11.
> > > > >
> > > > > Personally, of the two options - unless someone can come up
> with
> > > > > a third option - I'd tend towards the second, fixing the builds
> > > > > to remove the
> > > > > .0 in
> > > > > the soname, and releasing that ASAP as 19.11.1 before 19.11
> gets
> > > > > widespread adoption. Since this ABI stability is new, teething
> > > > > problems may be expected.
> > > > >
> > > > > Thoughts and comments?
> > > > > /Bruce
> > > > >
> > > > > BTW: For meson, the patch for option 2 is just to remove the
> > > > > so_version variable and all references to it from
> > > > > lib/meson.build and drivers/meson.build. Haven't looked into a
> > > > > "make" fix yet.
> > > >
> > > > Hi,
> > > >
> > > > With libtool and its (arguably arcane) format, only the first
> > > > digit is the ABI current version and gets encoded in the elf
> > > > header. The other digits can be used to track compatible minor
> > > > increments, and are mostly ignored. On the system a symlink
> > > > libfoo.so.major -> libfoo.so.major.minor is added.
> > > >
> > > > Eg:
> > > >
> > > > $ readelf -d /usr/lib/x86_64-linux-gnu/libzmq.so.5.2.3 | grep
> > > > SONAME
> > > >  0x000000000000000e (SONAME)             Library soname:
> > > > [libzmq.so.5]
> > > > $ ls -l /usr/lib/x86_64-linux-gnu/libzmq.so.5
> > > > lrwxrwxrwx 1 root root 15 Dec 31  2014 /usr/lib/x86_64-linux-
> > > > gnu/libzmq.so.5 -> libzmq.so.5.2.3
> > > >
> > > > Can we do the same? Not sure what the right incantation is for
> > > > Meson, but it should be possibly.
> > > >
> > >
> > > That's essentially option 2, and it's still an ABI break because
> > > existing
> > > builds of 19.11 have the soname will the full version number in it.
> > > The
> > > default behaviour for meson is exactly how you described it, except
> > > that
> > > previously we needed more exact control over the version info (for
> > > your
> > > dpdk-specific versions in the sonames) and so overrode the
> soversion
> > > explicitly. The fix for meson is to remove this overriding i.e.
> > > remove
> > > "soversion:" parameter for each shared_library() call.
> > >
> > >
> > > > Also, we should leave the current at 20.0 - let's not break
> > > > compatibility already, please :-)
> > > >
> > >
> > > If we do this, maybe we can use 20.0.1 and 20.0.2 version numbers?
> >
> > Yes, that's what I meant - IMHO we should just take the hit and use
> the
> > slightly weird 20.0 format until next year, and add a third digit for
> > compatible updates. Then for v21 we can drop it.
> >
> My concern with that is us forgetting, because we'll put in place hacks
> to
> have the soversion be the first two numbers of the version. Then we
> need to
> remember to remove those hacks before 20.11 goes out or we'll end up
> with
> 21.0 being the soversion again.
> 
> For that reason, I'd rather see us fix it now before 19.11 gets widely
> adopted.
> 
> /Bruce

^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] [PATCH] build: fix soname info for 19.11 compatiblity
  2019-12-11 11:19  0%       ` Ferruh Yigit
@ 2019-12-12 11:07  0%         ` Ray Kinsella
  0 siblings, 0 replies; 200+ results
From: Ray Kinsella @ 2019-12-12 11:07 UTC (permalink / raw)
  To: dev



On 11/12/2019 11:19, Ferruh Yigit wrote:
> On 12/11/2019 11:14 AM, Bruce Richardson wrote:
>> On Wed, Dec 11, 2019 at 12:08:25PM +0100, Thomas Monjalon wrote:
>>> 11/12/2019 12:04, Luca Boccassi:
>>>> On Wed, 2019-12-11 at 10:26 +0000, Bruce Richardson wrote:
>>>>> The soname for each stable ABI version should be just the ABI version
>>>>> major
>>>>> number without the minor number. Unfortunately both major and minor
>>>>> were
>>>>> used causing version 20.1 to be incompatible with 20.0.
>>>>>
>>>>> This patch fixes the issue by switching from 2-part to 3-part ABI
>>>>> version
>>>>> numbers so that we can keep 20.0 as soname and using the final digits
>>>>> to
>>>>> identify the 20.x releases which are ABI compatible. This requires
>>>>> changes
>>>>> to both make and meson builds to handle the three-digit version and
>>>>> shrink
>>>>> it to 2-digit for soname.
>>>>>
>>>>> Fixes: cba806e07d6f ("build: change ABI versioning to global")
>>>>>
>>>>> Signed-off-by: Thomas Monjalon <
>>>>> thomas@monjalon.net
>>>>>>
>>>>> Signed-off-by: Bruce Richardson <
>>>>> bruce.richardson@intel.com
>>>>>>
>>>>> ---
>>>>>
>>>>> This patch contains an alternative fix to that implied by the
>>>>> previous patches:
>>>>> http://patches.dpdk.org/patch/63726/
>>>>>
>>>>> http://patches.dpdk.org/patch/63728/
>>>>>
>>>>>
>>>>> ---
>>>>>  ABI_VERSION         | 2 +-
>>>>>  drivers/meson.build | 4 ++--
>>>>>  lib/meson.build     | 4 ++--
>>>>>  mk/rte.lib.mk       | 5 ++++-
>>>>>  4 files changed, 9 insertions(+), 6 deletions(-)
>>>>
>>>> Acked-by: Luca Boccassi <bluca@debian.org>
>>>>
>>>> Thank you! I've set a reminder in my calendar for September to revert
>>>> it :-)
>>>
>>> I don't think we need to revert it.
>>> The ABI version will have only 2 numbers (21.0).
>>> In makefile there is no change.
>>> What needs to be changed in meson?
>>>
>> We need to remove the explicit use of so_version, and let meson just do the
>> right thing with the lib version. That being said, I can see about having
>> meson behave as make so that it will work even if we forget (i.e. even with
>> changed behaviour we should still remove the explicit soversion usage when
>> it's no longer needed).
>>
> 
> Current major become two digits, "20.0", I think we fix it to single digit,
> "21", again in 20.11.
> 
> I suggest adding this to deprecation notice document, with 20.11 target, so it
> can stay there and remind us the change.
> 
+1, we do.

So name, should be comprised of the library name and the major version only.

Ray K

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH] build: fix soname info for 19.11 compatiblity
  2019-12-11 11:11  0%   ` Bruce Richardson
  2019-12-11 11:25  0%     ` Ferruh Yigit
@ 2019-12-12 11:14  0%     ` Ray Kinsella
  2019-12-12 13:58  0%       ` Luca Boccassi
  1 sibling, 1 reply; 200+ results
From: Ray Kinsella @ 2019-12-12 11:14 UTC (permalink / raw)
  To: Bruce Richardson, Luca Boccassi; +Cc: dev, thomas, ray.kinsella, ferruh.yigit



On 11/12/2019 11:11, Bruce Richardson wrote:
> On Wed, Dec 11, 2019 at 11:04:01AM +0000, Luca Boccassi wrote:
>> On Wed, 2019-12-11 at 10:26 +0000, Bruce Richardson wrote:
>>> The soname for each stable ABI version should be just the ABI version
>>> major
>>> number without the minor number. Unfortunately both major and minor
>>> were
>>> used causing version 20.1 to be incompatible with 20.0.
>>>
>>> This patch fixes the issue by switching from 2-part to 3-part ABI
>>> version
>>> numbers so that we can keep 20.0 as soname and using the final digits
>>> to
>>> identify the 20.x releases which are ABI compatible. This requires
>>> changes
>>> to both make and meson builds to handle the three-digit version and
>>> shrink
>>> it to 2-digit for soname.
>>>
>>> Fixes: cba806e07d6f ("build: change ABI versioning to global")
>>>
>>> Signed-off-by: Thomas Monjalon <
>>> thomas@monjalon.net
>>>>
>>> Signed-off-by: Bruce Richardson <
>>> bruce.richardson@intel.com
>>>>
>>> ---
>>>
>>> This patch contains an alternative fix to that implied by the
>>> previous patches:
>>> http://patches.dpdk.org/patch/63726/
>>>
>>> http://patches.dpdk.org/patch/63728/
>>>
>>>
>>> ---
>>>  ABI_VERSION         | 2 +-
>>>  drivers/meson.build | 4 ++--
>>>  lib/meson.build     | 4 ++--
>>>  mk/rte.lib.mk       | 5 ++++-
>>>  4 files changed, 9 insertions(+), 6 deletions(-)
>>
>> Acked-by: Luca Boccassi <bluca@debian.org>
>>
>> Thank you! I've set a reminder in my calendar for September to revert
>> it :-)
>>
> Lol, don't forget to put another reminder to fix things properly then too.
> :-)
> 
> We also still need consensus in the community as to whether to take this
> approach or to do a re-spin of 19.11. At this point, I'm swayed by your
> arguments and think we should keep compatibility at the cost of a little
> pain and weirdness in our .so filenames.
> 
> /Bruce
>

My vote would be for a respin.
We don't yet know what challenges the weirdness or pain will be.
Why we would bother for the sake of a respin?

Ray K

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH v2] build: fix soname info for 19.11 compatiblity
  2019-12-12  8:57  0%     ` Ferruh Yigit
@ 2019-12-12 11:44  0%       ` Bruce Richardson
  2019-12-12 11:59  0%         ` Bruce Richardson
  0 siblings, 1 reply; 200+ results
From: Bruce Richardson @ 2019-12-12 11:44 UTC (permalink / raw)
  To: Ferruh Yigit
  Cc: David Marchand, dev, Thomas Monjalon, Kinsella, Ray, Luca Boccassi

On Thu, Dec 12, 2019 at 08:57:50AM +0000, Ferruh Yigit wrote:
> On 12/12/2019 8:27 AM, David Marchand wrote:
> > Hello Bruce,
> > 
> > On Wed, Dec 11, 2019 at 4:16 PM Bruce Richardson
> > <bruce.richardson@intel.com> wrote:
> >>
> >> The soname for each stable ABI version should be just the ABI version major
> >> number without the minor number. Unfortunately both major and minor were
> >> used causing version 20.1 to be incompatible with 20.0.
> >>
> >> This patch fixes the issue by switching from 2-part to 3-part ABI version
> >> numbers so that we can keep 20.0 as soname and using the final digits to
> >> identify the 20.x releases which are ABI compatible. This requires changes
> >> to both make and meson builds to handle the three-digit version and shrink
> >> it to 2-digit for soname.
> >>
> >> Fixes: cba806e07d6f ("build: change ABI versioning to global")
> >>
> >> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> >> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> > 
> > There is an issue with the ethtool example.
> > 
> >   INSTALL-APP server
> >   INSTALL-MAP server.map
> > cat: /home/dmarchan/dpdk/examples/ethtool/lib/ABI_VERSION: No such
> > file or directory
> >   CC rte_ethtool.o
> >   LD librte_ethtool.so.0.
> >   INSTALL-LIB librte_ethtool.so.0.
> > gmake[3]: stat:
> > /home/dmarchan/builds/i686-native-linux-gcc+shared+debug+default/examples/ethtool/lib/i686-native-linux-gcc/lib/librte_ethtool.so.0.:
> > Too many levels of symbolic links
> > == ethtool-app
> > 
> > 
> 
> It is linking against itself, in 'examples/ethtool/lib/build/lib':
> librte_ethtool.so -> librte_ethtool.so.0.
> librte_ethtool.so.0. -> librte_ethtool.so.0.

Yes. The issue is that this patch doesn't correct account for external libs
using their own version numbers. The trivial fix for this, which I'll add
in v3 is to make two small changes:

1. Use ?= rather than := when assigning to LIBABIVER in rte.lib.mk
2. Change the LIBABIVER in ethtool/lib to "1.0" rather than "1", since the
code assumes that we have more than a single digit in our version numbers.

Question: Do we need to officially support external libs using our build
system?

* If no (because we assume nobody uses it or otherwise), then we use the two
one-line fixes above and job done.
* If yes, then the makefile logic needs further work to support the case of
having an arbitrary version number. Also, we need to look into the whole
experimental detection logic, as that would probably not apply for external
libs.

/Bruce

PS: No need to ask this question for meson, as there is no assumption that
end user apps use any part of our build systems for their apps - it's
managed through pkg-config only.

^ permalink raw reply	[relevance 0%]

* [dpdk-dev] [PATCH v3] build: fix soname info for 19.11 compatiblity
  2019-12-11 10:26  5% [dpdk-dev] [PATCH] build: fix soname info for 19.11 compatiblity Bruce Richardson
                   ` (2 preceding siblings ...)
  2019-12-11 15:16 10% ` [dpdk-dev] [PATCH v2] " Bruce Richardson
@ 2019-12-12 11:58 10% ` Bruce Richardson
  2019-12-12 12:30  0%   ` Ray Kinsella
                     ` (5 more replies)
  3 siblings, 6 replies; 200+ results
From: Bruce Richardson @ 2019-12-12 11:58 UTC (permalink / raw)
  To: dev; +Cc: thomas, ray.kinsella, ferruh.yigit, bluca, Bruce Richardson

The soname for each stable ABI version should be just the ABI version major
number without the minor number. Unfortunately both major and minor were
used causing version 20.1 to be incompatible with 20.0.

This patch fixes the issue by switching from 2-part to 3-part ABI version
numbers so that we can keep 20.0 as soname and using the final digits to
identify the 20.x releases which are ABI compatible. This requires changes
to both make and meson builds to handle the three-digit version and shrink
it to 2-digit for soname.

The final fix needed in this patch is to adjust the library version number
for the ethtool example library, which needs to be upped to 2-digits, as
external libraries using the DPDK build system also use the logic in this
file.

Fixes: cba806e07d6f ("build: change ABI versioning to global")

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---

V3:
* fixed issues with building ethtool example app.
V2:
* adjusted the meson version to work correctly with both 2-part and
  3-part ABI versions, so it will work correctly even with no changes
  for a 21.x ABI version number
* adjusted the versions of the experimental libs so that they are
  consistent between meson and make, and also consistent with v19.11

---
 ABI_VERSION                   |  2 +-
 config/meson.build            | 16 +++++++++++++---
 drivers/meson.build           |  4 ++--
 examples/ethtool/lib/Makefile |  2 +-
 lib/meson.build               |  4 ++--
 mk/rte.lib.mk                 | 13 ++++++++-----
 6 files changed, 27 insertions(+), 14 deletions(-)

diff --git a/ABI_VERSION b/ABI_VERSION
index 2e73f8d2a..fcc01369a 100644
--- a/ABI_VERSION
+++ b/ABI_VERSION
@@ -1 +1 @@
-20.1
+20.0.1
diff --git a/config/meson.build b/config/meson.build
index 364a8d739..01911ecf9 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -20,9 +20,19 @@ pver = meson.project_version().split('.')
 major_version = '@0@.@1@'.format(pver.get(0), pver.get(1))
 abi_version = run_command(find_program('cat', 'more'),
 	abi_version_file).stdout().strip()
-# experimental libraries are versioned as 0.majorminor versions, e.g. 0.201
-ever = abi_version.split('.')
-experimental_abi_version = '0.@0@@1@'.format(ever.get(0), ever.get(1))
+
+# Regular libraries have the abi_version as the filename extension
+# and have the soname be all but the final part of the abi_version.
+# Experimental libraries have soname with '0.major'
+# and the filename suffix as 0.majorminor versions,
+# e.g. v20.1 => librte_stable.so.20.1, librte_experimental.so.0.201
+#    sonames => librte_stable.so.20, librte_experimental.so.0.20
+# e.g. v20.0.1 => librte_stable.so.20.0.1, librte_experimental.so.0.2001
+#      sonames => librte_stable.so.20.0, librte_experimental.so.0.200
+abi_va = abi_version.split('.')
+stable_so_version = abi_va.length() == 2 ? abi_va[0] : abi_va[0] + '.' + abi_va[1]
+experimental_abi_version = '0.' + ''.join(abi_va)
+experimental_so_version = '0.' + ''.join(stable_so_version.split('.'))
 
 # extract all version information into the build configuration
 dpdk_conf.set('RTE_VER_YEAR', pver.get(0).to_int())
diff --git a/drivers/meson.build b/drivers/meson.build
index 72eec4608..4b17662b7 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -132,10 +132,10 @@ foreach class:dpdk_driver_classes
 
 			if is_experimental != 0
 				lib_version = experimental_abi_version
-				so_version = experimental_abi_version
+				so_version = experimental_so_version
 			else
 				lib_version = abi_version
-				so_version = abi_version
+				so_version = stable_so_version
 			endif
 
 			# now build the static driver
diff --git a/examples/ethtool/lib/Makefile b/examples/ethtool/lib/Makefile
index 9da7dc3ba..649474127 100644
--- a/examples/ethtool/lib/Makefile
+++ b/examples/ethtool/lib/Makefile
@@ -18,7 +18,7 @@ endif
 # library name
 LIB = librte_ethtool.a
 
-LIBABIVER := 1
+LIBABIVER := 0.1
 
 # all source are stored in SRC-Y
 SRCS-y := rte_ethtool.c
diff --git a/lib/meson.build b/lib/meson.build
index 6ceb5e756..0af3efab2 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -113,10 +113,10 @@ foreach l:libraries
 
 			if is_experimental != 0
 				lib_version = experimental_abi_version
-				so_version = experimental_abi_version
+				so_version = experimental_so_version
 			else
 				lib_version = abi_version
-				so_version = abi_version
+				so_version = stable_so_version
 			endif
 
 			# first build static lib
diff --git a/mk/rte.lib.mk b/mk/rte.lib.mk
index 655a1b143..b1a8372cc 100644
--- a/mk/rte.lib.mk
+++ b/mk/rte.lib.mk
@@ -11,14 +11,16 @@ EXTLIB_BUILD ?= n
 # VPATH contains at least SRCDIR
 VPATH += $(SRCDIR)
 
-ifneq ($(shell grep -s "^DPDK_" $(SRCDIR)/$(EXPORT_MAP)),)
-LIBABIVER := $(shell cat $(RTE_SRCDIR)/ABI_VERSION)
-else ifeq ($(LIBABIVER),)
+LIBABIVER ?= $(shell cat $(RTE_SRCDIR)/ABI_VERSION)
+SOVER := $(basename $(LIBABIVER))
+ifeq ($(shell grep -s "^DPDK_" $(SRCDIR)/$(EXPORT_MAP)),)
 # EXPERIMENTAL ABI is versioned as 0.major+minor, e.g. 0.201 for 20.1 ABI
-LIBABIVER := 0.$(shell cat $(RTE_SRCDIR)/ABI_VERSION | tr -d '.')
+LIBABIVER := 0.$(shell echo $(LIBABIVER) | tr -d '.')
+SOVER := 0.$(shell echo $(SOVER) | tr -d '.')
 endif
 
 ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
+SONAME := $(patsubst %.a,%.so.$(SOVER),$(LIB))
 LIB := $(patsubst %.a,%.so.$(LIBABIVER),$(LIB))
 ifeq ($(EXTLIB_BUILD),n)
 CPU_LDFLAGS += --version-script=$(SRCDIR)/$(EXPORT_MAP)
@@ -74,7 +76,7 @@ NO_UNDEFINED := -z defs
 endif
 
 O_TO_S = $(LD) -L$(RTE_SDK_BIN)/lib $(_CPU_LDFLAGS) $(EXTRA_LDFLAGS) \
-	  -shared $(OBJS-y) $(NO_UNDEFINED) $(LDLIBS) -Wl,-soname,$(LIB) -o $(LIB)
+	  -shared $(OBJS-y) $(NO_UNDEFINED) $(LDLIBS) -Wl,-soname,$(SONAME) -o $(LIB)
 O_TO_S_STR = $(subst ','\'',$(O_TO_S)) #'# fix syntax highlight
 O_TO_S_DISP = $(if $(V),"$(O_TO_S_STR)","  LD $(@)")
 O_TO_S_DO = @set -e; \
@@ -133,6 +135,7 @@ $(RTE_OUTPUT)/lib/$(LIB): $(LIB)
 	$(Q)cp -f $(LIB) $(RTE_OUTPUT)/lib
 ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
 	$(Q)ln -s -f $< $(shell echo $@ | sed 's/\.so.*/.so/')
+	$(Q)ln -s -f $< $(shell echo $@ | sed 's/\.so.*/.so.$(SOVER)/')
 endif
 
 #
-- 
2.23.0


^ permalink raw reply	[relevance 10%]

* Re: [dpdk-dev] [PATCH v2] build: fix soname info for 19.11 compatiblity
  2019-12-12 11:44  0%       ` Bruce Richardson
@ 2019-12-12 11:59  0%         ` Bruce Richardson
  2019-12-12 13:41  0%           ` Thomas Monjalon
  0 siblings, 1 reply; 200+ results
From: Bruce Richardson @ 2019-12-12 11:59 UTC (permalink / raw)
  To: Ferruh Yigit
  Cc: David Marchand, dev, Thomas Monjalon, Kinsella, Ray, Luca Boccassi

On Thu, Dec 12, 2019 at 11:44:51AM +0000, Bruce Richardson wrote:
> On Thu, Dec 12, 2019 at 08:57:50AM +0000, Ferruh Yigit wrote:
> > On 12/12/2019 8:27 AM, David Marchand wrote:
> > > Hello Bruce,
> > > 
> > > On Wed, Dec 11, 2019 at 4:16 PM Bruce Richardson
> > > <bruce.richardson@intel.com> wrote:
> > >>
> > >> The soname for each stable ABI version should be just the ABI version major
> > >> number without the minor number. Unfortunately both major and minor were
> > >> used causing version 20.1 to be incompatible with 20.0.
> > >>
> > >> This patch fixes the issue by switching from 2-part to 3-part ABI version
> > >> numbers so that we can keep 20.0 as soname and using the final digits to
> > >> identify the 20.x releases which are ABI compatible. This requires changes
> > >> to both make and meson builds to handle the three-digit version and shrink
> > >> it to 2-digit for soname.
> > >>
> > >> Fixes: cba806e07d6f ("build: change ABI versioning to global")
> > >>
> > >> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> > >> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> > > 
> > > There is an issue with the ethtool example.
> > > 
> > >   INSTALL-APP server
> > >   INSTALL-MAP server.map
> > > cat: /home/dmarchan/dpdk/examples/ethtool/lib/ABI_VERSION: No such
> > > file or directory
> > >   CC rte_ethtool.o
> > >   LD librte_ethtool.so.0.
> > >   INSTALL-LIB librte_ethtool.so.0.
> > > gmake[3]: stat:
> > > /home/dmarchan/builds/i686-native-linux-gcc+shared+debug+default/examples/ethtool/lib/i686-native-linux-gcc/lib/librte_ethtool.so.0.:
> > > Too many levels of symbolic links
> > > == ethtool-app
> > > 
> > > 
> > 
> > It is linking against itself, in 'examples/ethtool/lib/build/lib':
> > librte_ethtool.so -> librte_ethtool.so.0.
> > librte_ethtool.so.0. -> librte_ethtool.so.0.
> 
> Yes. The issue is that this patch doesn't correct account for external libs
> using their own version numbers. The trivial fix for this, which I'll add
> in v3 is to make two small changes:
> 
> 1. Use ?= rather than := when assigning to LIBABIVER in rte.lib.mk
> 2. Change the LIBABIVER in ethtool/lib to "1.0" rather than "1", since the
> code assumes that we have more than a single digit in our version numbers.
> 
> Question: Do we need to officially support external libs using our build
> system?
> 
> * If no (because we assume nobody uses it or otherwise), then we use the two
> one-line fixes above and job done.
> * If yes, then the makefile logic needs further work to support the case of
> having an arbitrary version number. Also, we need to look into the whole
> experimental detection logic, as that would probably not apply for external
> libs.
> 
> /Bruce
> 
Patch v3 now sent, on the assumption that the answer is "no", or the answer
is "yes, but we can fix that later" :-)

^ permalink raw reply	[relevance 0%]

* [dpdk-dev] DPDK Release Status Meeting 12/12/2019
@ 2019-12-12 12:27  4% Ferruh Yigit
  0 siblings, 0 replies; 200+ results
From: Ferruh Yigit @ 2019-12-12 12:27 UTC (permalink / raw)
  To: dpdk-dev; +Cc: Thomas Monjalon

Minutes 12 December 2019
------------------------

Agenda:
* Release Dates
* Subtrees
* OvS

Participants:
* Arm
* Debian/Microsoft
* Intel
* Marvell
* Mellanox
* NXP
* Red Hat


Release Dates
-------------

* v20.02 dates:
  * Proposal/V1 deadline passed, it was on Wednesday 11 December 2019
  * Integration/Merge/RC1:	Wednesday 15 January 2020
  * Release:			Friday 14 February 2020

  * Reminder for 20.02 roadmaps from contributors,
    Marvell & arm already sent, waiting from other contributors.


Subtrees
--------

* main
  * Working on ABI breakage issue with high priority
    * Consensus is not have 19.11.1 to fix it, but workaround it and live
      with this workaround for ABI_20 lifetime
  * David is reviewing ABI tooling patches

* next-net
  * Nothing much in both backlog and the repo
  * 'ionic' PMD reviewed, licensing needs to be clarified

* next-net-crypto
  * eventmode to ipsec-secgw patchset will be reviewed this week
  * Need to clarify CPU crypto patchset status, also Akhil will start a
    discussion to clarify the techboard working group decision on matter
  * For Intel crypto PMDs, the external dependent libraries are switching to
    single "Intel IPSec Multi-buffer library" opensource library:
    * https://github.com/intel/intel-ipsec-mb
  * octeontx inline ipsec patchset is in the queue
  * there is a crypto unit test update, all PMD maintainers should be aware of
    these changes
    * https://patches.dpdk.org/patch/63788/

* next-net-eventdev
  * no update

* next-net-virtio
  * Working on virtio vdpa driver, new version
    * Move vdpa related code to a common folder discussion not clarified yet.

* LTS

  * 17.11.10
    * Some patches already backported, targeting January for release

  * 18.11.6
    * Another batch of patches backported
    * Will send list of backport failed patches which is growing
    * May have -rc mid next week
      * Yunan will check if it can be validated if -rc is out next week


OvS
---

* There was OvS conference this week, videos will be available later:
  http://www.openvswitch.org/support/ovscon2019/



DPDK Release Status Meetings
============================

The DPDK Release Status Meeting is intended for DPDK Committers to discuss
the status of the master tree and sub-trees, and for project managers to
track progress or milestone dates.

The meeting occurs on Thursdays at 8:30 UTC. If you wish to attend just
send an email to "John McNamara <john.mcnamara@intel.com>" for the invite.

^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] [PATCH v3] build: fix soname info for 19.11 compatiblity
  2019-12-12 11:58 10% ` [dpdk-dev] [PATCH v3] " Bruce Richardson
@ 2019-12-12 12:30  0%   ` Ray Kinsella
  2019-12-12 13:02  3%     ` Bruce Richardson
  2019-12-12 14:45  0%   ` Ferruh Yigit
                     ` (4 subsequent siblings)
  5 siblings, 1 reply; 200+ results
From: Ray Kinsella @ 2019-12-12 12:30 UTC (permalink / raw)
  To: Bruce Richardson, dev; +Cc: thomas, ray.kinsella, ferruh.yigit, bluca



On 12/12/2019 11:58, Bruce Richardson wrote:
> The soname for each stable ABI version should be just the ABI version major
> number without the minor number. Unfortunately both major and minor were
> used causing version 20.1 to be incompatible with 20.0.
> 
> This patch fixes the issue by switching from 2-part to 3-part ABI version
> numbers so that we can keep 20.0 as soname and using the final digits to
> identify the 20.x releases which are ABI compatible. This requires changes
> to both make and meson builds to handle the three-digit version and shrink
> it to 2-digit for soname.
> 
> The final fix needed in this patch is to adjust the library version number
> for the ethtool example library, which needs to be upped to 2-digits, as
> external libraries using the DPDK build system also use the logic in this
> file.
> 
> Fixes: cba806e07d6f ("build: change ABI versioning to global")
> 
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> ---
> 
> V3:
> * fixed issues with building ethtool example app.
> V2:
> * adjusted the meson version to work correctly with both 2-part and
>   3-part ABI versions, so it will work correctly even with no changes
>   for a 21.x ABI version number
> * adjusted the versions of the experimental libs so that they are
>   consistent between meson and make, and also consistent with v19.11
> 
> ---
>  ABI_VERSION                   |  2 +-
>  config/meson.build            | 16 +++++++++++++---
>  drivers/meson.build           |  4 ++--
>  examples/ethtool/lib/Makefile |  2 +-
>  lib/meson.build               |  4 ++--
>  mk/rte.lib.mk                 | 13 ++++++++-----
>  6 files changed, 27 insertions(+), 14 deletions(-)
> 
> diff --git a/ABI_VERSION b/ABI_VERSION
> index 2e73f8d2a..fcc01369a 100644
> --- a/ABI_VERSION
> +++ b/ABI_VERSION
> @@ -1 +1 @@
> -20.1
> +20.0.1
> diff --git a/config/meson.build b/config/meson.build
> index 364a8d739..01911ecf9 100644
> --- a/config/meson.build
> +++ b/config/meson.build
> @@ -20,9 +20,19 @@ pver = meson.project_version().split('.')
>  major_version = '@0@.@1@'.format(pver.get(0), pver.get(1))
>  abi_version = run_command(find_program('cat', 'more'),
>  	abi_version_file).stdout().strip()
> -# experimental libraries are versioned as 0.majorminor versions, e.g. 0.201
> -ever = abi_version.split('.')
> -experimental_abi_version = '0.@0@@1@'.format(ever.get(0), ever.get(1))
> +
> +# Regular libraries have the abi_version as the filename extension
> +# and have the soname be all but the final part of the abi_version.
> +# Experimental libraries have soname with '0.major'
> +# and the filename suffix as 0.majorminor versions,
> +# e.g. v20.1 => librte_stable.so.20.1, librte_experimental.so.0.201
> +#    sonames => librte_stable.so.20, librte_experimental.so.0.20
> +# e.g. v20.0.1 => librte_stable.so.20.0.1, librte_experimental.so.0.2001
> +#      sonames => librte_stable.so.20.0, librte_experimental.so.0.200
> +abi_va = abi_version.split('.')
> +stable_so_version = abi_va.length() == 2 ? abi_va[0] : abi_va[0] + '.' + abi_va[1]
> +experimental_abi_version = '0.' + ''.join(abi_va)
> +experimental_so_version = '0.' + ''.join(stable_so_version.split('.'))
>  
>  # extract all version information into the build configuration
>  dpdk_conf.set('RTE_VER_YEAR', pver.get(0).to_int())
> diff --git a/drivers/meson.build b/drivers/meson.build
> index 72eec4608..4b17662b7 100644
> --- a/drivers/meson.build
> +++ b/drivers/meson.build
> @@ -132,10 +132,10 @@ foreach class:dpdk_driver_classes
>  
>  			if is_experimental != 0
>  				lib_version = experimental_abi_version
> -				so_version = experimental_abi_version
> +				so_version = experimental_so_version
>  			else
>  				lib_version = abi_version
> -				so_version = abi_version
> +				so_version = stable_so_version
>  			endif
>  
>  			# now build the static driver
> diff --git a/examples/ethtool/lib/Makefile b/examples/ethtool/lib/Makefile
> index 9da7dc3ba..649474127 100644
> --- a/examples/ethtool/lib/Makefile
> +++ b/examples/ethtool/lib/Makefile
> @@ -18,7 +18,7 @@ endif
>  # library name
>  LIB = librte_ethtool.a
>  
> -LIBABIVER := 1
> +LIBABIVER := 0.1
>  
>  # all source are stored in SRC-Y
>  SRCS-y := rte_ethtool.c
> diff --git a/lib/meson.build b/lib/meson.build
> index 6ceb5e756..0af3efab2 100644
> --- a/lib/meson.build
> +++ b/lib/meson.build
> @@ -113,10 +113,10 @@ foreach l:libraries
>  
>  			if is_experimental != 0
>  				lib_version = experimental_abi_version
> -				so_version = experimental_abi_version
> +				so_version = experimental_so_version
>  			else
>  				lib_version = abi_version
> -				so_version = abi_version
> +				so_version = stable_so_version
>  			endif
>  
>  			# first build static lib
> diff --git a/mk/rte.lib.mk b/mk/rte.lib.mk
> index 655a1b143..b1a8372cc 100644
> --- a/mk/rte.lib.mk
> +++ b/mk/rte.lib.mk
> @@ -11,14 +11,16 @@ EXTLIB_BUILD ?= n
>  # VPATH contains at least SRCDIR
>  VPATH += $(SRCDIR)
>  
> -ifneq ($(shell grep -s "^DPDK_" $(SRCDIR)/$(EXPORT_MAP)),)
> -LIBABIVER := $(shell cat $(RTE_SRCDIR)/ABI_VERSION)
> -else ifeq ($(LIBABIVER),)
> +LIBABIVER ?= $(shell cat $(RTE_SRCDIR)/ABI_VERSION)
> +SOVER := $(basename $(LIBABIVER))
> +ifeq ($(shell grep -s "^DPDK_" $(SRCDIR)/$(EXPORT_MAP)),)
>  # EXPERIMENTAL ABI is versioned as 0.major+minor, e.g. 0.201 for 20.1 ABI
> -LIBABIVER := 0.$(shell cat $(RTE_SRCDIR)/ABI_VERSION | tr -d '.')
> +LIBABIVER := 0.$(shell echo $(LIBABIVER) | tr -d '.')
> +SOVER := 0.$(shell echo $(SOVER) | tr -d '.')
>  endif
>  
>  ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
> +SONAME := $(patsubst %.a,%.so.$(SOVER),$(LIB))
>  LIB := $(patsubst %.a,%.so.$(LIBABIVER),$(LIB))
>  ifeq ($(EXTLIB_BUILD),n)
>  CPU_LDFLAGS += --version-script=$(SRCDIR)/$(EXPORT_MAP)
> @@ -74,7 +76,7 @@ NO_UNDEFINED := -z defs
>  endif
>  
>  O_TO_S = $(LD) -L$(RTE_SDK_BIN)/lib $(_CPU_LDFLAGS) $(EXTRA_LDFLAGS) \
> -	  -shared $(OBJS-y) $(NO_UNDEFINED) $(LDLIBS) -Wl,-soname,$(LIB) -o $(LIB)
> +	  -shared $(OBJS-y) $(NO_UNDEFINED) $(LDLIBS) -Wl,-soname,$(SONAME) -o $(LIB)
>  O_TO_S_STR = $(subst ','\'',$(O_TO_S)) #'# fix syntax highlight
>  O_TO_S_DISP = $(if $(V),"$(O_TO_S_STR)","  LD $(@)")
>  O_TO_S_DO = @set -e; \
> @@ -133,6 +135,7 @@ $(RTE_OUTPUT)/lib/$(LIB): $(LIB)
>  	$(Q)cp -f $(LIB) $(RTE_OUTPUT)/lib
>  ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
>  	$(Q)ln -s -f $< $(shell echo $@ | sed 's/\.so.*/.so/')
> +	$(Q)ln -s -f $< $(shell echo $@ | sed 's/\.so.*/.so.$(SOVER)/')
>  endif
>  
>  #
> 

My input is still the same, I think a respin to fix v19.11 is preferable.
However this patch does fix the issue.

V19.11
[root@silpixa00396680 build]# readelf -d ./lib/librte_eal.so.20.0 | grep SONAME
11: 0x000000000000000e (SONAME)             Library soname: [librte_eal.so.20.0]

HEAD
[root@silpixa00396680 build]# readelf -d ./lib/librte_eal.so.20.1 | grep SONAME
11: 0x000000000000000e (SONAME)             Library soname: [librte_eal.so.20.1]

HEAD + FIX
[root@silpixa00396680 build]# readelf -d ./lib/librte_eal.so.20.0.1 | grep SONAME
11: 0x000000000000000e (SONAME)             Library soname: [librte_eal.so.20.0]

Thanks,

Ray K

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH v3] build: fix soname info for 19.11 compatiblity
  2019-12-12 12:30  0%   ` Ray Kinsella
@ 2019-12-12 13:02  3%     ` Bruce Richardson
  2019-12-12 15:25  0%       ` Ray Kinsella
  0 siblings, 1 reply; 200+ results
From: Bruce Richardson @ 2019-12-12 13:02 UTC (permalink / raw)
  To: Ray Kinsella; +Cc: dev, thomas, ray.kinsella, ferruh.yigit, bluca

On Thu, Dec 12, 2019 at 12:30:19PM +0000, Ray Kinsella wrote:
> 
> 
> On 12/12/2019 11:58, Bruce Richardson wrote:
> > The soname for each stable ABI version should be just the ABI version major
> > number without the minor number. Unfortunately both major and minor were
> > used causing version 20.1 to be incompatible with 20.0.
> > 
> > This patch fixes the issue by switching from 2-part to 3-part ABI version
> > numbers so that we can keep 20.0 as soname and using the final digits to
> > identify the 20.x releases which are ABI compatible. This requires changes
> > to both make and meson builds to handle the three-digit version and shrink
> > it to 2-digit for soname.
> > 
> > The final fix needed in this patch is to adjust the library version number
> > for the ethtool example library, which needs to be upped to 2-digits, as
> > external libraries using the DPDK build system also use the logic in this
> > file.
> > 
> > Fixes: cba806e07d6f ("build: change ABI versioning to global")
> > 
> > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> > ---
> > 
> > V3:
> > * fixed issues with building ethtool example app.
> > V2:
> > * adjusted the meson version to work correctly with both 2-part and
> >   3-part ABI versions, so it will work correctly even with no changes
> >   for a 21.x ABI version number
> > * adjusted the versions of the experimental libs so that they are
> >   consistent between meson and make, and also consistent with v19.11
> > 
> > ---
> >  ABI_VERSION                   |  2 +-
> >  config/meson.build            | 16 +++++++++++++---
> >  drivers/meson.build           |  4 ++--
> >  examples/ethtool/lib/Makefile |  2 +-
> >  lib/meson.build               |  4 ++--
> >  mk/rte.lib.mk                 | 13 ++++++++-----
> >  6 files changed, 27 insertions(+), 14 deletions(-)
> > 
> > diff --git a/ABI_VERSION b/ABI_VERSION
> > index 2e73f8d2a..fcc01369a 100644
> > --- a/ABI_VERSION
> > +++ b/ABI_VERSION
> > @@ -1 +1 @@
> > -20.1
> > +20.0.1
> > diff --git a/config/meson.build b/config/meson.build
> > index 364a8d739..01911ecf9 100644
> > --- a/config/meson.build
> > +++ b/config/meson.build
> > @@ -20,9 +20,19 @@ pver = meson.project_version().split('.')
> >  major_version = '@0@.@1@'.format(pver.get(0), pver.get(1))
> >  abi_version = run_command(find_program('cat', 'more'),
> >  	abi_version_file).stdout().strip()
> > -# experimental libraries are versioned as 0.majorminor versions, e.g. 0.201
> > -ever = abi_version.split('.')
> > -experimental_abi_version = '0.@0@@1@'.format(ever.get(0), ever.get(1))
> > +
> > +# Regular libraries have the abi_version as the filename extension
> > +# and have the soname be all but the final part of the abi_version.
> > +# Experimental libraries have soname with '0.major'
> > +# and the filename suffix as 0.majorminor versions,
> > +# e.g. v20.1 => librte_stable.so.20.1, librte_experimental.so.0.201
> > +#    sonames => librte_stable.so.20, librte_experimental.so.0.20
> > +# e.g. v20.0.1 => librte_stable.so.20.0.1, librte_experimental.so.0.2001
> > +#      sonames => librte_stable.so.20.0, librte_experimental.so.0.200
> > +abi_va = abi_version.split('.')
> > +stable_so_version = abi_va.length() == 2 ? abi_va[0] : abi_va[0] + '.' + abi_va[1]
> > +experimental_abi_version = '0.' + ''.join(abi_va)
> > +experimental_so_version = '0.' + ''.join(stable_so_version.split('.'))
> >  
> >  # extract all version information into the build configuration
> >  dpdk_conf.set('RTE_VER_YEAR', pver.get(0).to_int())
> > diff --git a/drivers/meson.build b/drivers/meson.build
> > index 72eec4608..4b17662b7 100644
> > --- a/drivers/meson.build
> > +++ b/drivers/meson.build
> > @@ -132,10 +132,10 @@ foreach class:dpdk_driver_classes
> >  
> >  			if is_experimental != 0
> >  				lib_version = experimental_abi_version
> > -				so_version = experimental_abi_version
> > +				so_version = experimental_so_version
> >  			else
> >  				lib_version = abi_version
> > -				so_version = abi_version
> > +				so_version = stable_so_version
> >  			endif
> >  
> >  			# now build the static driver
> > diff --git a/examples/ethtool/lib/Makefile b/examples/ethtool/lib/Makefile
> > index 9da7dc3ba..649474127 100644
> > --- a/examples/ethtool/lib/Makefile
> > +++ b/examples/ethtool/lib/Makefile
> > @@ -18,7 +18,7 @@ endif
> >  # library name
> >  LIB = librte_ethtool.a
> >  
> > -LIBABIVER := 1
> > +LIBABIVER := 0.1
> >  
> >  # all source are stored in SRC-Y
> >  SRCS-y := rte_ethtool.c
> > diff --git a/lib/meson.build b/lib/meson.build
> > index 6ceb5e756..0af3efab2 100644
> > --- a/lib/meson.build
> > +++ b/lib/meson.build
> > @@ -113,10 +113,10 @@ foreach l:libraries
> >  
> >  			if is_experimental != 0
> >  				lib_version = experimental_abi_version
> > -				so_version = experimental_abi_version
> > +				so_version = experimental_so_version
> >  			else
> >  				lib_version = abi_version
> > -				so_version = abi_version
> > +				so_version = stable_so_version
> >  			endif
> >  
> >  			# first build static lib
> > diff --git a/mk/rte.lib.mk b/mk/rte.lib.mk
> > index 655a1b143..b1a8372cc 100644
> > --- a/mk/rte.lib.mk
> > +++ b/mk/rte.lib.mk
> > @@ -11,14 +11,16 @@ EXTLIB_BUILD ?= n
> >  # VPATH contains at least SRCDIR
> >  VPATH += $(SRCDIR)
> >  
> > -ifneq ($(shell grep -s "^DPDK_" $(SRCDIR)/$(EXPORT_MAP)),)
> > -LIBABIVER := $(shell cat $(RTE_SRCDIR)/ABI_VERSION)
> > -else ifeq ($(LIBABIVER),)
> > +LIBABIVER ?= $(shell cat $(RTE_SRCDIR)/ABI_VERSION)
> > +SOVER := $(basename $(LIBABIVER))
> > +ifeq ($(shell grep -s "^DPDK_" $(SRCDIR)/$(EXPORT_MAP)),)
> >  # EXPERIMENTAL ABI is versioned as 0.major+minor, e.g. 0.201 for 20.1 ABI
> > -LIBABIVER := 0.$(shell cat $(RTE_SRCDIR)/ABI_VERSION | tr -d '.')
> > +LIBABIVER := 0.$(shell echo $(LIBABIVER) | tr -d '.')
> > +SOVER := 0.$(shell echo $(SOVER) | tr -d '.')
> >  endif
> >  
> >  ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
> > +SONAME := $(patsubst %.a,%.so.$(SOVER),$(LIB))
> >  LIB := $(patsubst %.a,%.so.$(LIBABIVER),$(LIB))
> >  ifeq ($(EXTLIB_BUILD),n)
> >  CPU_LDFLAGS += --version-script=$(SRCDIR)/$(EXPORT_MAP)
> > @@ -74,7 +76,7 @@ NO_UNDEFINED := -z defs
> >  endif
> >  
> >  O_TO_S = $(LD) -L$(RTE_SDK_BIN)/lib $(_CPU_LDFLAGS) $(EXTRA_LDFLAGS) \
> > -	  -shared $(OBJS-y) $(NO_UNDEFINED) $(LDLIBS) -Wl,-soname,$(LIB) -o $(LIB)
> > +	  -shared $(OBJS-y) $(NO_UNDEFINED) $(LDLIBS) -Wl,-soname,$(SONAME) -o $(LIB)
> >  O_TO_S_STR = $(subst ','\'',$(O_TO_S)) #'# fix syntax highlight
> >  O_TO_S_DISP = $(if $(V),"$(O_TO_S_STR)","  LD $(@)")
> >  O_TO_S_DO = @set -e; \
> > @@ -133,6 +135,7 @@ $(RTE_OUTPUT)/lib/$(LIB): $(LIB)
> >  	$(Q)cp -f $(LIB) $(RTE_OUTPUT)/lib
> >  ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
> >  	$(Q)ln -s -f $< $(shell echo $@ | sed 's/\.so.*/.so/')
> > +	$(Q)ln -s -f $< $(shell echo $@ | sed 's/\.so.*/.so.$(SOVER)/')
> >  endif
> >  
> >  #
> > 
> 
> My input is still the same, I think a respin to fix v19.11 is preferable.
> However this patch does fix the issue.
> 
> V19.11
> [root@silpixa00396680 build]# readelf -d ./lib/librte_eal.so.20.0 | grep SONAME
> 11: 0x000000000000000e (SONAME)             Library soname: [librte_eal.so.20.0]
> 
> HEAD
> [root@silpixa00396680 build]# readelf -d ./lib/librte_eal.so.20.1 | grep SONAME
> 11: 0x000000000000000e (SONAME)             Library soname: [librte_eal.so.20.1]
> 

Just FYI, a better test than this should be to check ABI version 21.0,
which will be used for 20.11. Version 20.1 is not going to be used in a
production release if we take this fix.

/Bruce

^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] [PATCH v2] build: fix soname info for 19.11 compatiblity
  2019-12-12 11:59  0%         ` Bruce Richardson
@ 2019-12-12 13:41  0%           ` Thomas Monjalon
  0 siblings, 0 replies; 200+ results
From: Thomas Monjalon @ 2019-12-12 13:41 UTC (permalink / raw)
  To: Bruce Richardson
  Cc: Ferruh Yigit, David Marchand, dev, Kinsella, Ray, Luca Boccassi

12/12/2019 12:59, Bruce Richardson:
> On Thu, Dec 12, 2019 at 11:44:51AM +0000, Bruce Richardson wrote:
> > On Thu, Dec 12, 2019 at 08:57:50AM +0000, Ferruh Yigit wrote:
> > > On 12/12/2019 8:27 AM, David Marchand wrote:
> > > > Hello Bruce,
> > > > 
> > > > On Wed, Dec 11, 2019 at 4:16 PM Bruce Richardson
> > > > <bruce.richardson@intel.com> wrote:
> > > >>
> > > >> The soname for each stable ABI version should be just the ABI version major
> > > >> number without the minor number. Unfortunately both major and minor were
> > > >> used causing version 20.1 to be incompatible with 20.0.
> > > >>
> > > >> This patch fixes the issue by switching from 2-part to 3-part ABI version
> > > >> numbers so that we can keep 20.0 as soname and using the final digits to
> > > >> identify the 20.x releases which are ABI compatible. This requires changes
> > > >> to both make and meson builds to handle the three-digit version and shrink
> > > >> it to 2-digit for soname.
> > > >>
> > > >> Fixes: cba806e07d6f ("build: change ABI versioning to global")
> > > >>
> > > >> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> > > >> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> > > > 
> > > > There is an issue with the ethtool example.
> > > > 
> > > >   INSTALL-APP server
> > > >   INSTALL-MAP server.map
> > > > cat: /home/dmarchan/dpdk/examples/ethtool/lib/ABI_VERSION: No such
> > > > file or directory
> > > >   CC rte_ethtool.o
> > > >   LD librte_ethtool.so.0.
> > > >   INSTALL-LIB librte_ethtool.so.0.
> > > > gmake[3]: stat:
> > > > /home/dmarchan/builds/i686-native-linux-gcc+shared+debug+default/examples/ethtool/lib/i686-native-linux-gcc/lib/librte_ethtool.so.0.:
> > > > Too many levels of symbolic links
> > > > == ethtool-app
> > > > 
> > > > 
> > > 
> > > It is linking against itself, in 'examples/ethtool/lib/build/lib':
> > > librte_ethtool.so -> librte_ethtool.so.0.
> > > librte_ethtool.so.0. -> librte_ethtool.so.0.
> > 
> > Yes. The issue is that this patch doesn't correct account for external libs
> > using their own version numbers. The trivial fix for this, which I'll add
> > in v3 is to make two small changes:
> > 
> > 1. Use ?= rather than := when assigning to LIBABIVER in rte.lib.mk
> > 2. Change the LIBABIVER in ethtool/lib to "1.0" rather than "1", since the
> > code assumes that we have more than a single digit in our version numbers.
> > 
> > Question: Do we need to officially support external libs using our build
> > system?
> > 
> > * If no (because we assume nobody uses it or otherwise), then we use the two
> > one-line fixes above and job done.
> > * If yes, then the makefile logic needs further work to support the case of
> > having an arbitrary version number. Also, we need to look into the whole
> > experimental detection logic, as that would probably not apply for external
> > libs.
> > 
> > /Bruce
> > 
> Patch v3 now sent, on the assumption that the answer is "no", or the answer
> is "yes, but we can fix that later" :-)

Yes, that's reasonnable.



^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH] ethdev: add L2TPv3 header to flow API
  2019-12-11 16:31  0%           ` Sexton, Rory
@ 2019-12-12 13:38  0%             ` Sexton, Rory
  0 siblings, 0 replies; 200+ results
From: Sexton, Rory @ 2019-12-12 13:38 UTC (permalink / raw)
  To: Sexton, Rory, Ori Kam, dev
  Cc: Zhang, Qi Z, Xing, Beilei, Adrien Mazarguil, Jagus, DariuszX

Hi Ori,

Let me rework the patch to make it clearer that this is supporting new flow type for l2tpv3 over IP, rather than l2tpv2/v3 over UDP which is how you interpreted it.
Will take into account all your feedback. Please review v2 once I submit.

Regards,
Rory

-----Original Message-----
From: dev <dev-bounces@dpdk.org> On Behalf Of Sexton, Rory
Sent: Wednesday, December 11, 2019 4:31 PM
To: Ori Kam <orika@mellanox.com>; dev@dpdk.org
Cc: Zhang, Qi Z <qi.z.zhang@intel.com>; Xing, Beilei <beilei.xing@intel.com>; Adrien Mazarguil <adrien.mazarguil@6wind.com>; Jagus, DariuszX <dariuszx.jagus@intel.com>
Subject: Re: [dpdk-dev] [PATCH] ethdev: add L2TPv3 header to flow API

Hi Ori,

See comments below.

Regards,
Rory

> > > > > > +/**
> > > > > > + * RTE_FLOW_ITEM_TYPE_L2TPV3.
> > > > > > + *
> > > > > > + * Matches a L2TPv3 header.
> > > > > > + */
> > > > > > +struct rte_flow_item_l2tpv3 {
> > > > > > +	rte_be32_t session_id; /**< Session ID. */ };
> > > > >
> > > > >Does it make sense that in future we will want to match on the 
> > > > >T / L / ver /
> > > > Ns / Nr?
> > > > >
> > > > >Please also consider that any change will be ABI / API 
> > > > >breakage, which will be allowed only next year.
> > > > >
> > > >
> > > > I don't foresee us wanting to match on any of the other fields, 
> > > > T / L / ver / Ns/ Nr.
> > > > The session id would typically be the only field of interest in 
> > > > the
> > > > l2tpv3 header.
> > >
> > > I think that adding all fields to the structure will solve the 
> > > possible issue
> > with adding matching later.
> > > Also and even more important you will be able to use it for 
> > > creating the
> > raw_encap / raw_decap buffers.
> > >
> > >What do you think?
> > 
> > Based on the differences between v2 and v3 the only field of 
> > interest in
> > l2tpv3 over IP is the Session ID.
> > I agree it would make sense to add all fields if we were 
> > implementing
> > l2tpv2 however v2 would require a different implementation to v3 due 
> > to the differences between both Protocols.
>
> Even if we just support v3, I think that it is a good idea to add all fields of v3. 
> This will allow the use of the raw_encap / raw_decap actions.
> Please also note that you didn't add the new item to  cmd_set_raw_parsed function.
> this function is used in order to create raw_encap/ raw_decap encapsulations.

I think the confusion here is based on the fact that there are 2 separate types of l2tpv3.
- l2tpv3 over UDP, which is very similar to l2tpv2 with only change being 16 bit Tunnel ID
  and 16 bit Session ID changing to 32 bit Session ID. All other fields remain (T/L/Ver/Ns/Nr).
- l2tpv3 over IP is another type of l2tpv3 that is carried over IP rather than UDP and as such
  the message format is entirely different and consists of just a 32 bit Session ID. The other
  fields mentioned above do not exist at all in this l2tpv3 header.

This patch was targeted at creating a flow to handle l2tpv3 over IP exclusively. This is why the Session ID is the only field in the flow item.

I can add the item to cmd_set_raw_parsed function.

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH] build: fix soname info for 19.11 compatiblity
  2019-12-12 11:14  0%     ` Ray Kinsella
@ 2019-12-12 13:58  0%       ` Luca Boccassi
  2019-12-12 14:05  0%         ` Ray Kinsella
  0 siblings, 1 reply; 200+ results
From: Luca Boccassi @ 2019-12-12 13:58 UTC (permalink / raw)
  To: Ray Kinsella, Bruce Richardson; +Cc: dev, thomas, ray.kinsella, ferruh.yigit

On Thu, 2019-12-12 at 11:14 +0000, Ray Kinsella wrote:
> 
> On 11/12/2019 11:11, Bruce Richardson wrote:
> > On Wed, Dec 11, 2019 at 11:04:01AM +0000, Luca Boccassi wrote:
> > > On Wed, 2019-12-11 at 10:26 +0000, Bruce Richardson wrote:
> > > > The soname for each stable ABI version should be just the ABI
> > > > version
> > > > major
> > > > number without the minor number. Unfortunately both major and
> > > > minor
> > > > were
> > > > used causing version 20.1 to be incompatible with 20.0.
> > > > 
> > > > This patch fixes the issue by switching from 2-part to 3-part
> > > > ABI
> > > > version
> > > > numbers so that we can keep 20.0 as soname and using the final
> > > > digits
> > > > to
> > > > identify the 20.x releases which are ABI compatible. This
> > > > requires
> > > > changes
> > > > to both make and meson builds to handle the three-digit version
> > > > and
> > > > shrink
> > > > it to 2-digit for soname.
> > > > 
> > > > Fixes: cba806e07d6f ("build: change ABI versioning to global")
> > > > 
> > > > Signed-off-by: Thomas Monjalon <
> > > > thomas@monjalon.net
> > > > 
> > > > 
> > > > Signed-off-by: Bruce Richardson <
> > > > bruce.richardson@intel.com
> > > > 
> > > > 
> > > > ---
> > > > 
> > > > This patch contains an alternative fix to that implied by the
> > > > previous patches:
> > > > http://patches.dpdk.org/patch/63726/
> > > > 
> > > > 
> > > > http://patches.dpdk.org/patch/63728/
> > > > 
> > > > 
> > > > 
> > > > ---
> > > >  ABI_VERSION         | 2 +-
> > > >  drivers/meson.build | 4 ++--
> > > >  lib/meson.build     | 4 ++--
> > > >  mk/rte.lib.mk       | 5 ++++-
> > > >  4 files changed, 9 insertions(+), 6 deletions(-)
> > > 
> > > Acked-by: Luca Boccassi <
> > > bluca@debian.org
> > > >
> > > 
> > > Thank you! I've set a reminder in my calendar for September to
> > > revert
> > > it :-)
> > > 
> > 
> > Lol, don't forget to put another reminder to fix things properly
> > then too.
> > :-)
> > 
> > We also still need consensus in the community as to whether to take
> > this
> > approach or to do a re-spin of 19.11. At this point, I'm swayed by
> > your
> > arguments and think we should keep compatibility at the cost of a
> > little
> > pain and weirdness in our .so filenames.
> > 
> > /Bruce
> > 
> 
> My vote would be for a respin.
> We don't yet know what challenges the weirdness or pain will be.
> Why we would bother for the sake of a respin?
> 
> Ray K

We already uploaded 19.11 to Debian last week, which means the tarball
is in the archive and it's hashsummed and signed:

http://deb.debian.org/debian/pool/main/d/dpdk/dpdk_19.11.orig.tar.xz

(it's in experimental, but the archive is the same)

A respin at this point would make my life not impossible, but quite
difficult.

IMHO respins are acceptable within a few hours - two weeks later it's
no longer a respin, it's a new version :-)

-- 
Kind regards,
Luca Boccassi

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH] build: fix soname info for 19.11 compatiblity
  2019-12-12 13:58  0%       ` Luca Boccassi
@ 2019-12-12 14:05  0%         ` Ray Kinsella
  2019-12-12 15:08  4%           ` Bruce Richardson
  0 siblings, 1 reply; 200+ results
From: Ray Kinsella @ 2019-12-12 14:05 UTC (permalink / raw)
  To: Luca Boccassi, Bruce Richardson; +Cc: dev, thomas, ray.kinsella, ferruh.yigit



On 12/12/2019 13:58, Luca Boccassi wrote:
> On Thu, 2019-12-12 at 11:14 +0000, Ray Kinsella wrote:
>>
>> On 11/12/2019 11:11, Bruce Richardson wrote:
>>> On Wed, Dec 11, 2019 at 11:04:01AM +0000, Luca Boccassi wrote:
>>>> On Wed, 2019-12-11 at 10:26 +0000, Bruce Richardson wrote:
>>>>> The soname for each stable ABI version should be just the ABI
>>>>> version
>>>>> major
>>>>> number without the minor number. Unfortunately both major and
>>>>> minor
>>>>> were
>>>>> used causing version 20.1 to be incompatible with 20.0.
>>>>>
>>>>> This patch fixes the issue by switching from 2-part to 3-part
>>>>> ABI
>>>>> version
>>>>> numbers so that we can keep 20.0 as soname and using the final
>>>>> digits
>>>>> to
>>>>> identify the 20.x releases which are ABI compatible. This
>>>>> requires
>>>>> changes
>>>>> to both make and meson builds to handle the three-digit version
>>>>> and
>>>>> shrink
>>>>> it to 2-digit for soname.
>>>>>
>>>>> Fixes: cba806e07d6f ("build: change ABI versioning to global")
>>>>>
>>>>> Signed-off-by: Thomas Monjalon <
>>>>> thomas@monjalon.net
>>>>>
>>>>>
>>>>> Signed-off-by: Bruce Richardson <
>>>>> bruce.richardson@intel.com
>>>>>
>>>>>
>>>>> ---
>>>>>
>>>>> This patch contains an alternative fix to that implied by the
>>>>> previous patches:
>>>>> http://patches.dpdk.org/patch/63726/
>>>>>
>>>>>
>>>>> http://patches.dpdk.org/patch/63728/
>>>>>
>>>>>
>>>>>
>>>>> ---
>>>>>  ABI_VERSION         | 2 +-
>>>>>  drivers/meson.build | 4 ++--
>>>>>  lib/meson.build     | 4 ++--
>>>>>  mk/rte.lib.mk       | 5 ++++-
>>>>>  4 files changed, 9 insertions(+), 6 deletions(-)
>>>>
>>>> Acked-by: Luca Boccassi <
>>>> bluca@debian.org
>>>>>
>>>>
>>>> Thank you! I've set a reminder in my calendar for September to
>>>> revert
>>>> it :-)
>>>>
>>>
>>> Lol, don't forget to put another reminder to fix things properly
>>> then too.
>>> :-)
>>>
>>> We also still need consensus in the community as to whether to take
>>> this
>>> approach or to do a re-spin of 19.11. At this point, I'm swayed by
>>> your
>>> arguments and think we should keep compatibility at the cost of a
>>> little
>>> pain and weirdness in our .so filenames.
>>>
>>> /Bruce
>>>
>>
>> My vote would be for a respin.
>> We don't yet know what challenges the weirdness or pain will be.
>> Why we would bother for the sake of a respin?
>>
>> Ray K
> 
> We already uploaded 19.11 to Debian last week, which means the tarball
> is in the archive and it's hashsummed and signed:
> 
> http://deb.debian.org/debian/pool/main/d/dpdk/dpdk_19.11.orig.tar.xz
> 
> (it's in experimental, but the archive is the same)
> 
> A respin at this point would make my life not impossible, but quite
> difficult.
> 
> IMHO respins are acceptable within a few hours - two weeks later it's
> no longer a respin, it's a new version :-)
> 

Understood, we are stretching the acceptable terms of a re-spin.

If the version that is in the archive fundamentally broken, what are you going to do.
This is not a relatively easy circumstance that we can simply fix it with an apt-get update.

Is there precedent for pulling and re-releasing something that is broken in this way?

Ray K

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH v3] build: fix soname info for 19.11 compatiblity
  2019-12-12 11:58 10% ` [dpdk-dev] [PATCH v3] " Bruce Richardson
  2019-12-12 12:30  0%   ` Ray Kinsella
@ 2019-12-12 14:45  0%   ` Ferruh Yigit
  2019-12-12 16:34  0%   ` Ray Kinsella
                     ` (3 subsequent siblings)
  5 siblings, 0 replies; 200+ results
From: Ferruh Yigit @ 2019-12-12 14:45 UTC (permalink / raw)
  To: Bruce Richardson, dev; +Cc: thomas, ray.kinsella, bluca

On 12/12/2019 11:58 AM, Bruce Richardson wrote:
> The soname for each stable ABI version should be just the ABI version major
> number without the minor number. Unfortunately both major and minor were
> used causing version 20.1 to be incompatible with 20.0.
> 
> This patch fixes the issue by switching from 2-part to 3-part ABI version
> numbers so that we can keep 20.0 as soname and using the final digits to
> identify the 20.x releases which are ABI compatible. This requires changes
> to both make and meson builds to handle the three-digit version and shrink
> it to 2-digit for soname.
> 
> The final fix needed in this patch is to adjust the library version number
> for the ethtool example library, which needs to be upped to 2-digits, as
> external libraries using the DPDK build system also use the logic in this
> file.
> 
> Fixes: cba806e07d6f ("build: change ABI versioning to global")
> 
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>

Tested-by: Ferruh Yigit <ferruh.yigit@intel.com>

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH] build: fix soname info for 19.11 compatiblity
  2019-12-12 14:05  0%         ` Ray Kinsella
@ 2019-12-12 15:08  4%           ` Bruce Richardson
  0 siblings, 0 replies; 200+ results
From: Bruce Richardson @ 2019-12-12 15:08 UTC (permalink / raw)
  To: Ray Kinsella; +Cc: Luca Boccassi, dev, thomas, ray.kinsella, ferruh.yigit

On Thu, Dec 12, 2019 at 02:05:44PM +0000, Ray Kinsella wrote:
> 
> 
> On 12/12/2019 13:58, Luca Boccassi wrote:
> > On Thu, 2019-12-12 at 11:14 +0000, Ray Kinsella wrote:
> >>
> >> On 11/12/2019 11:11, Bruce Richardson wrote:
> >>> On Wed, Dec 11, 2019 at 11:04:01AM +0000, Luca Boccassi wrote:
> >>>> On Wed, 2019-12-11 at 10:26 +0000, Bruce Richardson wrote:
> >>>>> The soname for each stable ABI version should be just the ABI
> >>>>> version
> >>>>> major
> >>>>> number without the minor number. Unfortunately both major and
> >>>>> minor
> >>>>> were
> >>>>> used causing version 20.1 to be incompatible with 20.0.
> >>>>>
> >>>>> This patch fixes the issue by switching from 2-part to 3-part
> >>>>> ABI
> >>>>> version
> >>>>> numbers so that we can keep 20.0 as soname and using the final
> >>>>> digits
> >>>>> to
> >>>>> identify the 20.x releases which are ABI compatible. This
> >>>>> requires
> >>>>> changes
> >>>>> to both make and meson builds to handle the three-digit version
> >>>>> and
> >>>>> shrink
> >>>>> it to 2-digit for soname.
> >>>>>
> >>>>> Fixes: cba806e07d6f ("build: change ABI versioning to global")
> >>>>>
> >>>>> Signed-off-by: Thomas Monjalon <
> >>>>> thomas@monjalon.net
> >>>>>
> >>>>>
> >>>>> Signed-off-by: Bruce Richardson <
> >>>>> bruce.richardson@intel.com
> >>>>>
> >>>>>
> >>>>> ---
> >>>>>
> >>>>> This patch contains an alternative fix to that implied by the
> >>>>> previous patches:
> >>>>> http://patches.dpdk.org/patch/63726/
> >>>>>
> >>>>>
> >>>>> http://patches.dpdk.org/patch/63728/
> >>>>>
> >>>>>
> >>>>>
> >>>>> ---
> >>>>>  ABI_VERSION         | 2 +-
> >>>>>  drivers/meson.build | 4 ++--
> >>>>>  lib/meson.build     | 4 ++--
> >>>>>  mk/rte.lib.mk       | 5 ++++-
> >>>>>  4 files changed, 9 insertions(+), 6 deletions(-)
> >>>>
> >>>> Acked-by: Luca Boccassi <
> >>>> bluca@debian.org
> >>>>>
> >>>>
> >>>> Thank you! I've set a reminder in my calendar for September to
> >>>> revert
> >>>> it :-)
> >>>>
> >>>
> >>> Lol, don't forget to put another reminder to fix things properly
> >>> then too.
> >>> :-)
> >>>
> >>> We also still need consensus in the community as to whether to take
> >>> this
> >>> approach or to do a re-spin of 19.11. At this point, I'm swayed by
> >>> your
> >>> arguments and think we should keep compatibility at the cost of a
> >>> little
> >>> pain and weirdness in our .so filenames.
> >>>
> >>> /Bruce
> >>>
> >>
> >> My vote would be for a respin.
> >> We don't yet know what challenges the weirdness or pain will be.
> >> Why we would bother for the sake of a respin?
> >>
> >> Ray K
> > 
> > We already uploaded 19.11 to Debian last week, which means the tarball
> > is in the archive and it's hashsummed and signed:
> > 
> > http://deb.debian.org/debian/pool/main/d/dpdk/dpdk_19.11.orig.tar.xz
> > 
> > (it's in experimental, but the archive is the same)
> > 
> > A respin at this point would make my life not impossible, but quite
> > difficult.
> > 
> > IMHO respins are acceptable within a few hours - two weeks later it's
> > no longer a respin, it's a new version :-)
> > 
> 
> Understood, we are stretching the acceptable terms of a re-spin.
> 
> If the version that is in the archive fundamentally broken, what are you going to do.
> This is not a relatively easy circumstance that we can simply fix it with an apt-get update.
> 
> Is there precedent for pulling and re-releasing something that is broken in this way?
> 
The thing is that our existing package is not fundamentally broken, it just
has a wrong ABI version, which we can work around with a non-massive
amount of work. Given we have a fix that avoids any respinning, I see no
reason not just to go with it, and keep our ABI compatibility promise.

And I, too, have already uploaded a new build recipe, including package
checksums, to the FreeBSD ports collection. Respinning would be awkward
there too.

/Bruce

^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] [PATCH v3] build: fix soname info for 19.11 compatiblity
  2019-12-12 13:02  3%     ` Bruce Richardson
@ 2019-12-12 15:25  0%       ` Ray Kinsella
  2019-12-12 15:34  0%         ` Bruce Richardson
  0 siblings, 1 reply; 200+ results
From: Ray Kinsella @ 2019-12-12 15:25 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: dev, thomas, ray.kinsella, ferruh.yigit, bluca



On 12/12/2019 13:02, Bruce Richardson wrote:
> On Thu, Dec 12, 2019 at 12:30:19PM +0000, Ray Kinsella wrote:
>>
>>
>> On 12/12/2019 11:58, Bruce Richardson wrote:
>>> The soname for each stable ABI version should be just the ABI version major
>>> number without the minor number. Unfortunately both major and minor were
>>> used causing version 20.1 to be incompatible with 20.0.
>>>
>>> This patch fixes the issue by switching from 2-part to 3-part ABI version
>>> numbers so that we can keep 20.0 as soname and using the final digits to
>>> identify the 20.x releases which are ABI compatible. This requires changes
>>> to both make and meson builds to handle the three-digit version and shrink
>>> it to 2-digit for soname.
>>>
>>> The final fix needed in this patch is to adjust the library version number
>>> for the ethtool example library, which needs to be upped to 2-digits, as
>>> external libraries using the DPDK build system also use the logic in this
>>> file.
>>>
>>> Fixes: cba806e07d6f ("build: change ABI versioning to global")
>>>
>>> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
>>> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
>>> ---
>>>
>>> V3:
>>> * fixed issues with building ethtool example app.
>>> V2:
>>> * adjusted the meson version to work correctly with both 2-part and
>>>   3-part ABI versions, so it will work correctly even with no changes
>>>   for a 21.x ABI version number
>>> * adjusted the versions of the experimental libs so that they are
>>>   consistent between meson and make, and also consistent with v19.11
>>>
>>> ---
>>>  ABI_VERSION                   |  2 +-
>>>  config/meson.build            | 16 +++++++++++++---
>>>  drivers/meson.build           |  4 ++--
>>>  examples/ethtool/lib/Makefile |  2 +-
>>>  lib/meson.build               |  4 ++--
>>>  mk/rte.lib.mk                 | 13 ++++++++-----
>>>  6 files changed, 27 insertions(+), 14 deletions(-)
>>>
>>> diff --git a/ABI_VERSION b/ABI_VERSION
>>> index 2e73f8d2a..fcc01369a 100644
>>> --- a/ABI_VERSION
>>> +++ b/ABI_VERSION
>>> @@ -1 +1 @@
>>> -20.1
>>> +20.0.1
>>> diff --git a/config/meson.build b/config/meson.build
>>> index 364a8d739..01911ecf9 100644
>>> --- a/config/meson.build
>>> +++ b/config/meson.build
>>> @@ -20,9 +20,19 @@ pver = meson.project_version().split('.')
>>>  major_version = '@0@.@1@'.format(pver.get(0), pver.get(1))
>>>  abi_version = run_command(find_program('cat', 'more'),
>>>  	abi_version_file).stdout().strip()
>>> -# experimental libraries are versioned as 0.majorminor versions, e.g. 0.201
>>> -ever = abi_version.split('.')
>>> -experimental_abi_version = '0.@0@@1@'.format(ever.get(0), ever.get(1))
>>> +
>>> +# Regular libraries have the abi_version as the filename extension
>>> +# and have the soname be all but the final part of the abi_version.
>>> +# Experimental libraries have soname with '0.major'
>>> +# and the filename suffix as 0.majorminor versions,
>>> +# e.g. v20.1 => librte_stable.so.20.1, librte_experimental.so.0.201
>>> +#    sonames => librte_stable.so.20, librte_experimental.so.0.20
>>> +# e.g. v20.0.1 => librte_stable.so.20.0.1, librte_experimental.so.0.2001
>>> +#      sonames => librte_stable.so.20.0, librte_experimental.so.0.200
>>> +abi_va = abi_version.split('.')
>>> +stable_so_version = abi_va.length() == 2 ? abi_va[0] : abi_va[0] + '.' + abi_va[1]
>>> +experimental_abi_version = '0.' + ''.join(abi_va)
>>> +experimental_so_version = '0.' + ''.join(stable_so_version.split('.'))
>>>  
>>>  # extract all version information into the build configuration
>>>  dpdk_conf.set('RTE_VER_YEAR', pver.get(0).to_int())
>>> diff --git a/drivers/meson.build b/drivers/meson.build
>>> index 72eec4608..4b17662b7 100644
>>> --- a/drivers/meson.build
>>> +++ b/drivers/meson.build
>>> @@ -132,10 +132,10 @@ foreach class:dpdk_driver_classes
>>>  
>>>  			if is_experimental != 0
>>>  				lib_version = experimental_abi_version
>>> -				so_version = experimental_abi_version
>>> +				so_version = experimental_so_version
>>>  			else
>>>  				lib_version = abi_version
>>> -				so_version = abi_version
>>> +				so_version = stable_so_version
>>>  			endif
>>>  
>>>  			# now build the static driver
>>> diff --git a/examples/ethtool/lib/Makefile b/examples/ethtool/lib/Makefile
>>> index 9da7dc3ba..649474127 100644
>>> --- a/examples/ethtool/lib/Makefile
>>> +++ b/examples/ethtool/lib/Makefile
>>> @@ -18,7 +18,7 @@ endif
>>>  # library name
>>>  LIB = librte_ethtool.a
>>>  
>>> -LIBABIVER := 1
>>> +LIBABIVER := 0.1
>>>  
>>>  # all source are stored in SRC-Y
>>>  SRCS-y := rte_ethtool.c
>>> diff --git a/lib/meson.build b/lib/meson.build
>>> index 6ceb5e756..0af3efab2 100644
>>> --- a/lib/meson.build
>>> +++ b/lib/meson.build
>>> @@ -113,10 +113,10 @@ foreach l:libraries
>>>  
>>>  			if is_experimental != 0
>>>  				lib_version = experimental_abi_version
>>> -				so_version = experimental_abi_version
>>> +				so_version = experimental_so_version
>>>  			else
>>>  				lib_version = abi_version
>>> -				so_version = abi_version
>>> +				so_version = stable_so_version
>>>  			endif
>>>  
>>>  			# first build static lib
>>> diff --git a/mk/rte.lib.mk b/mk/rte.lib.mk
>>> index 655a1b143..b1a8372cc 100644
>>> --- a/mk/rte.lib.mk
>>> +++ b/mk/rte.lib.mk
>>> @@ -11,14 +11,16 @@ EXTLIB_BUILD ?= n
>>>  # VPATH contains at least SRCDIR
>>>  VPATH += $(SRCDIR)
>>>  
>>> -ifneq ($(shell grep -s "^DPDK_" $(SRCDIR)/$(EXPORT_MAP)),)
>>> -LIBABIVER := $(shell cat $(RTE_SRCDIR)/ABI_VERSION)
>>> -else ifeq ($(LIBABIVER),)
>>> +LIBABIVER ?= $(shell cat $(RTE_SRCDIR)/ABI_VERSION)
>>> +SOVER := $(basename $(LIBABIVER))
>>> +ifeq ($(shell grep -s "^DPDK_" $(SRCDIR)/$(EXPORT_MAP)),)
>>>  # EXPERIMENTAL ABI is versioned as 0.major+minor, e.g. 0.201 for 20.1 ABI
>>> -LIBABIVER := 0.$(shell cat $(RTE_SRCDIR)/ABI_VERSION | tr -d '.')
>>> +LIBABIVER := 0.$(shell echo $(LIBABIVER) | tr -d '.')
>>> +SOVER := 0.$(shell echo $(SOVER) | tr -d '.')
>>>  endif
>>>  
>>>  ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
>>> +SONAME := $(patsubst %.a,%.so.$(SOVER),$(LIB))
>>>  LIB := $(patsubst %.a,%.so.$(LIBABIVER),$(LIB))
>>>  ifeq ($(EXTLIB_BUILD),n)
>>>  CPU_LDFLAGS += --version-script=$(SRCDIR)/$(EXPORT_MAP)
>>> @@ -74,7 +76,7 @@ NO_UNDEFINED := -z defs
>>>  endif
>>>  
>>>  O_TO_S = $(LD) -L$(RTE_SDK_BIN)/lib $(_CPU_LDFLAGS) $(EXTRA_LDFLAGS) \
>>> -	  -shared $(OBJS-y) $(NO_UNDEFINED) $(LDLIBS) -Wl,-soname,$(LIB) -o $(LIB)
>>> +	  -shared $(OBJS-y) $(NO_UNDEFINED) $(LDLIBS) -Wl,-soname,$(SONAME) -o $(LIB)
>>>  O_TO_S_STR = $(subst ','\'',$(O_TO_S)) #'# fix syntax highlight
>>>  O_TO_S_DISP = $(if $(V),"$(O_TO_S_STR)","  LD $(@)")
>>>  O_TO_S_DO = @set -e; \
>>> @@ -133,6 +135,7 @@ $(RTE_OUTPUT)/lib/$(LIB): $(LIB)
>>>  	$(Q)cp -f $(LIB) $(RTE_OUTPUT)/lib
>>>  ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
>>>  	$(Q)ln -s -f $< $(shell echo $@ | sed 's/\.so.*/.so/')
>>> +	$(Q)ln -s -f $< $(shell echo $@ | sed 's/\.so.*/.so.$(SOVER)/')
>>>  endif
>>>  
>>>  #
>>>
>>
>> My input is still the same, I think a respin to fix v19.11 is preferable.
>> However this patch does fix the issue.
>>
>> V19.11
>> [root@silpixa00396680 build]# readelf -d ./lib/librte_eal.so.20.0 | grep SONAME
>> 11: 0x000000000000000e (SONAME)             Library soname: [librte_eal.so.20.0]
>>
>> HEAD
>> [root@silpixa00396680 build]# readelf -d ./lib/librte_eal.so.20.1 | grep SONAME
>> 11: 0x000000000000000e (SONAME)             Library soname: [librte_eal.so.20.1]
>>
> 
> Just FYI, a better test than this should be to check ABI version 21.0,
> which will be used for 20.11. 
> Version 20.1 is not going to be used in a
> production release if we take this fix.

I don't follow this point?

> 
> /Bruce
> 

Building DPDK v19.11 TestPMD, and tried to run it against the HEAD shared Libs.

[root@silpixa00396680 build.head]# ldd app/dpdk-testpmd.v19.11
        linux-vdso.so.1 (0x00007ffcf828c000)
        libm.so.6 => /lib64/libm.so.6 (0x00007f9aad937000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f9aad930000)
        libnuma.so.1 => /lib64/libnuma.so.1 (0x00007f9aad922000)
        librte_ethdev.so.20.0 => not found
        librte_eal.so.20.0 => not found
        librte_kvargs.so.20.0 => not found
        librte_net.so.20.0 => not found
        librte_mbuf.so.20.0 => not found
        librte_mempool.so.20.0 => not found
        librte_ring.so.20.0 => not found
        librte_meter.so.20.0 => not found


After applying the fix ...

[root@silpixa00396680 build.head]# ldd app/dpdk-testpmd.v19.11
        linux-vdso.so.1 (0x00007ffc0e5c0000)
        libm.so.6 => /lib64/libm.so.6 (0x00007f656ef9f000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f656ef98000)
        libnuma.so.1 => /lib64/libnuma.so.1 (0x00007f656ef8a000)
        librte_ethdev.so.20.0 => /root/src/dpdk/build.head/app/../lib/librte_ethdev.so.20.0 (0x00007f656eee6000)
        librte_eal.so.20.0 => /root/src/dpdk/build.head/app/../lib/librte_eal.so.20.0 (0x00007f656ee02000)
        librte_kvargs.so.20.0 => /root/src/dpdk/build.head/app/../lib/librte_kvargs.so.20.0 (0x00007f656edfd000)
        librte_net.so.20.0 => /root/src/dpdk/build.head/app/../lib/librte_net.so.20.0 (0x00007f656edf4000)
        librte_mbuf.so.20.0 => /root/src/dpdk/build.head/app/../lib/librte_mbuf.so.20.0 (0x00007f656ede8000)
        librte_mempool.so.20.0 => /root/src/dpdk/build.head/app/../lib/librte_mempool.so.20.0 (0x00007f656eddf000)
        librte_ring.so.20.0 => /root/src/dpdk/build.head/app/../lib/librte_ring.so.20.0 (0x00007f656edda000)

I updated ABI_VERSION to 20.0.2 etc, and all was still OK.

Ray K



^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH v3] build: fix soname info for 19.11 compatiblity
  2019-12-12 15:25  0%       ` Ray Kinsella
@ 2019-12-12 15:34  0%         ` Bruce Richardson
  0 siblings, 0 replies; 200+ results
From: Bruce Richardson @ 2019-12-12 15:34 UTC (permalink / raw)
  To: Ray Kinsella; +Cc: dev, thomas, ray.kinsella, ferruh.yigit, bluca

On Thu, Dec 12, 2019 at 03:25:12PM +0000, Ray Kinsella wrote:
> 
> 
> On 12/12/2019 13:02, Bruce Richardson wrote:
> > On Thu, Dec 12, 2019 at 12:30:19PM +0000, Ray Kinsella wrote:
> >>
> >>
> >> On 12/12/2019 11:58, Bruce Richardson wrote:
> >>> The soname for each stable ABI version should be just the ABI version major
> >>> number without the minor number. Unfortunately both major and minor were
> >>> used causing version 20.1 to be incompatible with 20.0.
> >>>
> >>> This patch fixes the issue by switching from 2-part to 3-part ABI version
> >>> numbers so that we can keep 20.0 as soname and using the final digits to
> >>> identify the 20.x releases which are ABI compatible. This requires changes
> >>> to both make and meson builds to handle the three-digit version and shrink
> >>> it to 2-digit for soname.
> >>>
> >>> The final fix needed in this patch is to adjust the library version number
> >>> for the ethtool example library, which needs to be upped to 2-digits, as
> >>> external libraries using the DPDK build system also use the logic in this
> >>> file.
> >>>
> >>> Fixes: cba806e07d6f ("build: change ABI versioning to global")
> >>>
> >>> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> >>> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> >>> ---
> >>>
> >>> V3:
> >>> * fixed issues with building ethtool example app.
> >>> V2:
> >>> * adjusted the meson version to work correctly with both 2-part and
> >>>   3-part ABI versions, so it will work correctly even with no changes
> >>>   for a 21.x ABI version number
> >>> * adjusted the versions of the experimental libs so that they are
> >>>   consistent between meson and make, and also consistent with v19.11
> >>>
> >>> ---
> >>>  ABI_VERSION                   |  2 +-
> >>>  config/meson.build            | 16 +++++++++++++---
> >>>  drivers/meson.build           |  4 ++--
> >>>  examples/ethtool/lib/Makefile |  2 +-
> >>>  lib/meson.build               |  4 ++--
> >>>  mk/rte.lib.mk                 | 13 ++++++++-----
> >>>  6 files changed, 27 insertions(+), 14 deletions(-)
> >>>
> >>> diff --git a/ABI_VERSION b/ABI_VERSION
> >>> index 2e73f8d2a..fcc01369a 100644
> >>> --- a/ABI_VERSION
> >>> +++ b/ABI_VERSION
> >>> @@ -1 +1 @@
> >>> -20.1
> >>> +20.0.1
> >>> diff --git a/config/meson.build b/config/meson.build
> >>> index 364a8d739..01911ecf9 100644
> >>> --- a/config/meson.build
> >>> +++ b/config/meson.build
> >>> @@ -20,9 +20,19 @@ pver = meson.project_version().split('.')
> >>>  major_version = '@0@.@1@'.format(pver.get(0), pver.get(1))
> >>>  abi_version = run_command(find_program('cat', 'more'),
> >>>  	abi_version_file).stdout().strip()
> >>> -# experimental libraries are versioned as 0.majorminor versions, e.g. 0.201
> >>> -ever = abi_version.split('.')
> >>> -experimental_abi_version = '0.@0@@1@'.format(ever.get(0), ever.get(1))
> >>> +
> >>> +# Regular libraries have the abi_version as the filename extension
> >>> +# and have the soname be all but the final part of the abi_version.
> >>> +# Experimental libraries have soname with '0.major'
> >>> +# and the filename suffix as 0.majorminor versions,
> >>> +# e.g. v20.1 => librte_stable.so.20.1, librte_experimental.so.0.201
> >>> +#    sonames => librte_stable.so.20, librte_experimental.so.0.20
> >>> +# e.g. v20.0.1 => librte_stable.so.20.0.1, librte_experimental.so.0.2001
> >>> +#      sonames => librte_stable.so.20.0, librte_experimental.so.0.200
> >>> +abi_va = abi_version.split('.')
> >>> +stable_so_version = abi_va.length() == 2 ? abi_va[0] : abi_va[0] + '.' + abi_va[1]
> >>> +experimental_abi_version = '0.' + ''.join(abi_va)
> >>> +experimental_so_version = '0.' + ''.join(stable_so_version.split('.'))
> >>>  
> >>>  # extract all version information into the build configuration
> >>>  dpdk_conf.set('RTE_VER_YEAR', pver.get(0).to_int())
> >>> diff --git a/drivers/meson.build b/drivers/meson.build
> >>> index 72eec4608..4b17662b7 100644
> >>> --- a/drivers/meson.build
> >>> +++ b/drivers/meson.build
> >>> @@ -132,10 +132,10 @@ foreach class:dpdk_driver_classes
> >>>  
> >>>  			if is_experimental != 0
> >>>  				lib_version = experimental_abi_version
> >>> -				so_version = experimental_abi_version
> >>> +				so_version = experimental_so_version
> >>>  			else
> >>>  				lib_version = abi_version
> >>> -				so_version = abi_version
> >>> +				so_version = stable_so_version
> >>>  			endif
> >>>  
> >>>  			# now build the static driver
> >>> diff --git a/examples/ethtool/lib/Makefile b/examples/ethtool/lib/Makefile
> >>> index 9da7dc3ba..649474127 100644
> >>> --- a/examples/ethtool/lib/Makefile
> >>> +++ b/examples/ethtool/lib/Makefile
> >>> @@ -18,7 +18,7 @@ endif
> >>>  # library name
> >>>  LIB = librte_ethtool.a
> >>>  
> >>> -LIBABIVER := 1
> >>> +LIBABIVER := 0.1
> >>>  
> >>>  # all source are stored in SRC-Y
> >>>  SRCS-y := rte_ethtool.c
> >>> diff --git a/lib/meson.build b/lib/meson.build
> >>> index 6ceb5e756..0af3efab2 100644
> >>> --- a/lib/meson.build
> >>> +++ b/lib/meson.build
> >>> @@ -113,10 +113,10 @@ foreach l:libraries
> >>>  
> >>>  			if is_experimental != 0
> >>>  				lib_version = experimental_abi_version
> >>> -				so_version = experimental_abi_version
> >>> +				so_version = experimental_so_version
> >>>  			else
> >>>  				lib_version = abi_version
> >>> -				so_version = abi_version
> >>> +				so_version = stable_so_version
> >>>  			endif
> >>>  
> >>>  			# first build static lib
> >>> diff --git a/mk/rte.lib.mk b/mk/rte.lib.mk
> >>> index 655a1b143..b1a8372cc 100644
> >>> --- a/mk/rte.lib.mk
> >>> +++ b/mk/rte.lib.mk
> >>> @@ -11,14 +11,16 @@ EXTLIB_BUILD ?= n
> >>>  # VPATH contains at least SRCDIR
> >>>  VPATH += $(SRCDIR)
> >>>  
> >>> -ifneq ($(shell grep -s "^DPDK_" $(SRCDIR)/$(EXPORT_MAP)),)
> >>> -LIBABIVER := $(shell cat $(RTE_SRCDIR)/ABI_VERSION)
> >>> -else ifeq ($(LIBABIVER),)
> >>> +LIBABIVER ?= $(shell cat $(RTE_SRCDIR)/ABI_VERSION)
> >>> +SOVER := $(basename $(LIBABIVER))
> >>> +ifeq ($(shell grep -s "^DPDK_" $(SRCDIR)/$(EXPORT_MAP)),)
> >>>  # EXPERIMENTAL ABI is versioned as 0.major+minor, e.g. 0.201 for 20.1 ABI
> >>> -LIBABIVER := 0.$(shell cat $(RTE_SRCDIR)/ABI_VERSION | tr -d '.')
> >>> +LIBABIVER := 0.$(shell echo $(LIBABIVER) | tr -d '.')
> >>> +SOVER := 0.$(shell echo $(SOVER) | tr -d '.')
> >>>  endif
> >>>  
> >>>  ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
> >>> +SONAME := $(patsubst %.a,%.so.$(SOVER),$(LIB))
> >>>  LIB := $(patsubst %.a,%.so.$(LIBABIVER),$(LIB))
> >>>  ifeq ($(EXTLIB_BUILD),n)
> >>>  CPU_LDFLAGS += --version-script=$(SRCDIR)/$(EXPORT_MAP)
> >>> @@ -74,7 +76,7 @@ NO_UNDEFINED := -z defs
> >>>  endif
> >>>  
> >>>  O_TO_S = $(LD) -L$(RTE_SDK_BIN)/lib $(_CPU_LDFLAGS) $(EXTRA_LDFLAGS) \
> >>> -	  -shared $(OBJS-y) $(NO_UNDEFINED) $(LDLIBS) -Wl,-soname,$(LIB) -o $(LIB)
> >>> +	  -shared $(OBJS-y) $(NO_UNDEFINED) $(LDLIBS) -Wl,-soname,$(SONAME) -o $(LIB)
> >>>  O_TO_S_STR = $(subst ','\'',$(O_TO_S)) #'# fix syntax highlight
> >>>  O_TO_S_DISP = $(if $(V),"$(O_TO_S_STR)","  LD $(@)")
> >>>  O_TO_S_DO = @set -e; \
> >>> @@ -133,6 +135,7 @@ $(RTE_OUTPUT)/lib/$(LIB): $(LIB)
> >>>  	$(Q)cp -f $(LIB) $(RTE_OUTPUT)/lib
> >>>  ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
> >>>  	$(Q)ln -s -f $< $(shell echo $@ | sed 's/\.so.*/.so/')
> >>> +	$(Q)ln -s -f $< $(shell echo $@ | sed 's/\.so.*/.so.$(SOVER)/')
> >>>  endif
> >>>  
> >>>  #
> >>>
> >>
> >> My input is still the same, I think a respin to fix v19.11 is preferable.
> >> However this patch does fix the issue.
> >>
> >> V19.11
> >> [root@silpixa00396680 build]# readelf -d ./lib/librte_eal.so.20.0 | grep SONAME
> >> 11: 0x000000000000000e (SONAME)             Library soname: [librte_eal.so.20.0]
> >>
> >> HEAD
> >> [root@silpixa00396680 build]# readelf -d ./lib/librte_eal.so.20.1 | grep SONAME
> >> 11: 0x000000000000000e (SONAME)             Library soname: [librte_eal.so.20.1]
> >>
> > 
> > Just FYI, a better test than this should be to check ABI version 21.0,
> > which will be used for 20.11. 
> > Version 20.1 is not going to be used in a
> > production release if we take this fix.
> 
> I don't follow this point?
> 
Reading back, I can see why, I completely missed what you were saying. My
bad, sorry!

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH v3] build: fix soname info for 19.11 compatiblity
  2019-12-12 11:58 10% ` [dpdk-dev] [PATCH v3] " Bruce Richardson
  2019-12-12 12:30  0%   ` Ray Kinsella
  2019-12-12 14:45  0%   ` Ferruh Yigit
@ 2019-12-12 16:34  0%   ` Ray Kinsella
  2019-12-13 11:38  0%   ` Neil Horman
                     ` (2 subsequent siblings)
  5 siblings, 0 replies; 200+ results
From: Ray Kinsella @ 2019-12-12 16:34 UTC (permalink / raw)
  To: Bruce Richardson, dev; +Cc: thomas, ray.kinsella, ferruh.yigit, bluca



On 12/12/2019 11:58, Bruce Richardson wrote:
> The soname for each stable ABI version should be just the ABI version major
> number without the minor number. Unfortunately both major and minor were
> used causing version 20.1 to be incompatible with 20.0.
> 
> This patch fixes the issue by switching from 2-part to 3-part ABI version
> numbers so that we can keep 20.0 as soname and using the final digits to
> identify the 20.x releases which are ABI compatible. This requires changes
> to both make and meson builds to handle the three-digit version and shrink
> it to 2-digit for soname.
> 
> The final fix needed in this patch is to adjust the library version number
> for the ethtool example library, which needs to be upped to 2-digits, as
> external libraries using the DPDK build system also use the logic in this
> file.
> 
> Fixes: cba806e07d6f ("build: change ABI versioning to global")
> 
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> ---
> 
> V3:
> * fixed issues with building ethtool example app.
> V2:
> * adjusted the meson version to work correctly with both 2-part and
>   3-part ABI versions, so it will work correctly even with no changes
>   for a 21.x ABI version number
> * adjusted the versions of the experimental libs so that they are
>   consistent between meson and make, and also consistent with v19.11
> 
> ---
>  ABI_VERSION                   |  2 +-
>  config/meson.build            | 16 +++++++++++++---
>  drivers/meson.build           |  4 ++--
>  examples/ethtool/lib/Makefile |  2 +-
>  lib/meson.build               |  4 ++--
>  mk/rte.lib.mk                 | 13 ++++++++-----
>  6 files changed, 27 insertions(+), 14 deletions(-)
> 
> diff --git a/ABI_VERSION b/ABI_VERSION
> index 2e73f8d2a..fcc01369a 100644
> --- a/ABI_VERSION
> +++ b/ABI_VERSION
> @@ -1 +1 @@
> -20.1
> +20.0.1
> diff --git a/config/meson.build b/config/meson.build
> index 364a8d739..01911ecf9 100644
> --- a/config/meson.build
> +++ b/config/meson.build
> @@ -20,9 +20,19 @@ pver = meson.project_version().split('.')
>  major_version = '@0@.@1@'.format(pver.get(0), pver.get(1))
>  abi_version = run_command(find_program('cat', 'more'),
>  	abi_version_file).stdout().strip()
> -# experimental libraries are versioned as 0.majorminor versions, e.g. 0.201
> -ever = abi_version.split('.')
> -experimental_abi_version = '0.@0@@1@'.format(ever.get(0), ever.get(1))
> +
> +# Regular libraries have the abi_version as the filename extension
> +# and have the soname be all but the final part of the abi_version.
> +# Experimental libraries have soname with '0.major'
> +# and the filename suffix as 0.majorminor versions,
> +# e.g. v20.1 => librte_stable.so.20.1, librte_experimental.so.0.201
> +#    sonames => librte_stable.so.20, librte_experimental.so.0.20
> +# e.g. v20.0.1 => librte_stable.so.20.0.1, librte_experimental.so.0.2001
> +#      sonames => librte_stable.so.20.0, librte_experimental.so.0.200
> +abi_va = abi_version.split('.')
> +stable_so_version = abi_va.length() == 2 ? abi_va[0] : abi_va[0] + '.' + abi_va[1]
> +experimental_abi_version = '0.' + ''.join(abi_va)
> +experimental_so_version = '0.' + ''.join(stable_so_version.split('.'))
>  
>  # extract all version information into the build configuration
>  dpdk_conf.set('RTE_VER_YEAR', pver.get(0).to_int())
> diff --git a/drivers/meson.build b/drivers/meson.build
> index 72eec4608..4b17662b7 100644
> --- a/drivers/meson.build
> +++ b/drivers/meson.build
> @@ -132,10 +132,10 @@ foreach class:dpdk_driver_classes
>  
>  			if is_experimental != 0
>  				lib_version = experimental_abi_version
> -				so_version = experimental_abi_version
> +				so_version = experimental_so_version
>  			else
>  				lib_version = abi_version
> -				so_version = abi_version
> +				so_version = stable_so_version
>  			endif
>  
>  			# now build the static driver
> diff --git a/examples/ethtool/lib/Makefile b/examples/ethtool/lib/Makefile
> index 9da7dc3ba..649474127 100644
> --- a/examples/ethtool/lib/Makefile
> +++ b/examples/ethtool/lib/Makefile
> @@ -18,7 +18,7 @@ endif
>  # library name
>  LIB = librte_ethtool.a
>  
> -LIBABIVER := 1
> +LIBABIVER := 0.1
>  
>  # all source are stored in SRC-Y
>  SRCS-y := rte_ethtool.c
> diff --git a/lib/meson.build b/lib/meson.build
> index 6ceb5e756..0af3efab2 100644
> --- a/lib/meson.build
> +++ b/lib/meson.build
> @@ -113,10 +113,10 @@ foreach l:libraries
>  
>  			if is_experimental != 0
>  				lib_version = experimental_abi_version
> -				so_version = experimental_abi_version
> +				so_version = experimental_so_version
>  			else
>  				lib_version = abi_version
> -				so_version = abi_version
> +				so_version = stable_so_version
>  			endif
>  
>  			# first build static lib
> diff --git a/mk/rte.lib.mk b/mk/rte.lib.mk
> index 655a1b143..b1a8372cc 100644
> --- a/mk/rte.lib.mk
> +++ b/mk/rte.lib.mk
> @@ -11,14 +11,16 @@ EXTLIB_BUILD ?= n
>  # VPATH contains at least SRCDIR
>  VPATH += $(SRCDIR)
>  
> -ifneq ($(shell grep -s "^DPDK_" $(SRCDIR)/$(EXPORT_MAP)),)
> -LIBABIVER := $(shell cat $(RTE_SRCDIR)/ABI_VERSION)
> -else ifeq ($(LIBABIVER),)
> +LIBABIVER ?= $(shell cat $(RTE_SRCDIR)/ABI_VERSION)
> +SOVER := $(basename $(LIBABIVER))
> +ifeq ($(shell grep -s "^DPDK_" $(SRCDIR)/$(EXPORT_MAP)),)
>  # EXPERIMENTAL ABI is versioned as 0.major+minor, e.g. 0.201 for 20.1 ABI
> -LIBABIVER := 0.$(shell cat $(RTE_SRCDIR)/ABI_VERSION | tr -d '.')
> +LIBABIVER := 0.$(shell echo $(LIBABIVER) | tr -d '.')
> +SOVER := 0.$(shell echo $(SOVER) | tr -d '.')
>  endif
>  
>  ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
> +SONAME := $(patsubst %.a,%.so.$(SOVER),$(LIB))
>  LIB := $(patsubst %.a,%.so.$(LIBABIVER),$(LIB))
>  ifeq ($(EXTLIB_BUILD),n)
>  CPU_LDFLAGS += --version-script=$(SRCDIR)/$(EXPORT_MAP)
> @@ -74,7 +76,7 @@ NO_UNDEFINED := -z defs
>  endif
>  
>  O_TO_S = $(LD) -L$(RTE_SDK_BIN)/lib $(_CPU_LDFLAGS) $(EXTRA_LDFLAGS) \
> -	  -shared $(OBJS-y) $(NO_UNDEFINED) $(LDLIBS) -Wl,-soname,$(LIB) -o $(LIB)
> +	  -shared $(OBJS-y) $(NO_UNDEFINED) $(LDLIBS) -Wl,-soname,$(SONAME) -o $(LIB)
>  O_TO_S_STR = $(subst ','\'',$(O_TO_S)) #'# fix syntax highlight
>  O_TO_S_DISP = $(if $(V),"$(O_TO_S_STR)","  LD $(@)")
>  O_TO_S_DO = @set -e; \
> @@ -133,6 +135,7 @@ $(RTE_OUTPUT)/lib/$(LIB): $(LIB)
>  	$(Q)cp -f $(LIB) $(RTE_OUTPUT)/lib
>  ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
>  	$(Q)ln -s -f $< $(shell echo $@ | sed 's/\.so.*/.so/')
> +	$(Q)ln -s -f $< $(shell echo $@ | sed 's/\.so.*/.so.$(SOVER)/')
>  endif
>  
>  #
> 
Tested-by: Ray Kinsella <mdr@ashroe.eu>

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [dpdk-stable] [PATCH] drivers/net: fix mlx* glue libraries ABI version
  2019-12-04 10:05  8% [dpdk-dev] [PATCH] drivers/net: fix mlx* glue libraries ABI version David Marchand
@ 2019-12-12 22:17  7% ` Thomas Monjalon
  0 siblings, 0 replies; 200+ results
From: Thomas Monjalon @ 2019-12-12 22:17 UTC (permalink / raw)
  To: David Marchand
  Cc: stable, dev, Matan Azrad, Shahaf Shuler, Viacheslav Ovsiienko,
	rasland, bluca

04/12/2019 11:05, David Marchand:
> Those libraries have been missed when switching to global ABI version.

The versioning of the glue libraries are for compatibility checks
between the PMD and its dependency (rdma-core) packaged as a plugin,
called glue library.

This versioning is updated when there is a change in the verbs glue
interface, in order to avoid issues in case of PMD and glue
updated separately with a non-compatible version.
I don't think the mlx glue libraries are part of the ABI policy
which acts at the application level.

Am I missing something?



^ permalink raw reply	[relevance 7%]

* Re: [dpdk-dev] [PATCH v3] build: fix soname info for 19.11 compatiblity
  2019-12-12 11:58 10% ` [dpdk-dev] [PATCH v3] " Bruce Richardson
                     ` (2 preceding siblings ...)
  2019-12-12 16:34  0%   ` Ray Kinsella
@ 2019-12-13 11:38  0%   ` Neil Horman
  2019-12-16 11:21  3%   ` Laatz, Kevin
  2019-12-19 12:42  0%   ` David Marchand
  5 siblings, 0 replies; 200+ results
From: Neil Horman @ 2019-12-13 11:38 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: dev, thomas, ray.kinsella, ferruh.yigit, bluca

On Thu, Dec 12, 2019 at 11:58:26AM +0000, Bruce Richardson wrote:
> The soname for each stable ABI version should be just the ABI version major
> number without the minor number. Unfortunately both major and minor were
> used causing version 20.1 to be incompatible with 20.0.
> 
> This patch fixes the issue by switching from 2-part to 3-part ABI version
> numbers so that we can keep 20.0 as soname and using the final digits to
> identify the 20.x releases which are ABI compatible. This requires changes
> to both make and meson builds to handle the three-digit version and shrink
> it to 2-digit for soname.
> 
> The final fix needed in this patch is to adjust the library version number
> for the ethtool example library, which needs to be upped to 2-digits, as
> external libraries using the DPDK build system also use the logic in this
> file.
> 
> Fixes: cba806e07d6f ("build: change ABI versioning to global")
> 
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> ---
> 
> V3:
> * fixed issues with building ethtool example app.
> V2:
> * adjusted the meson version to work correctly with both 2-part and
>   3-part ABI versions, so it will work correctly even with no changes
>   for a 21.x ABI version number
> * adjusted the versions of the experimental libs so that they are
>   consistent between meson and make, and also consistent with v19.11
> 
> ---
>  ABI_VERSION                   |  2 +-
>  config/meson.build            | 16 +++++++++++++---
>  drivers/meson.build           |  4 ++--
>  examples/ethtool/lib/Makefile |  2 +-
>  lib/meson.build               |  4 ++--
>  mk/rte.lib.mk                 | 13 ++++++++-----
>  6 files changed, 27 insertions(+), 14 deletions(-)
> 
> diff --git a/ABI_VERSION b/ABI_VERSION
> index 2e73f8d2a..fcc01369a 100644
> --- a/ABI_VERSION
> +++ b/ABI_VERSION
> @@ -1 +1 @@
> -20.1
> +20.0.1
> diff --git a/config/meson.build b/config/meson.build
> index 364a8d739..01911ecf9 100644
> --- a/config/meson.build
> +++ b/config/meson.build
> @@ -20,9 +20,19 @@ pver = meson.project_version().split('.')
>  major_version = '@0@.@1@'.format(pver.get(0), pver.get(1))
>  abi_version = run_command(find_program('cat', 'more'),
>  	abi_version_file).stdout().strip()
> -# experimental libraries are versioned as 0.majorminor versions, e.g. 0.201
> -ever = abi_version.split('.')
> -experimental_abi_version = '0.@0@@1@'.format(ever.get(0), ever.get(1))
> +
> +# Regular libraries have the abi_version as the filename extension
> +# and have the soname be all but the final part of the abi_version.
> +# Experimental libraries have soname with '0.major'
> +# and the filename suffix as 0.majorminor versions,
> +# e.g. v20.1 => librte_stable.so.20.1, librte_experimental.so.0.201
> +#    sonames => librte_stable.so.20, librte_experimental.so.0.20
> +# e.g. v20.0.1 => librte_stable.so.20.0.1, librte_experimental.so.0.2001
> +#      sonames => librte_stable.so.20.0, librte_experimental.so.0.200
> +abi_va = abi_version.split('.')
> +stable_so_version = abi_va.length() == 2 ? abi_va[0] : abi_va[0] + '.' + abi_va[1]
> +experimental_abi_version = '0.' + ''.join(abi_va)
> +experimental_so_version = '0.' + ''.join(stable_so_version.split('.'))
>  
>  # extract all version information into the build configuration
>  dpdk_conf.set('RTE_VER_YEAR', pver.get(0).to_int())
> diff --git a/drivers/meson.build b/drivers/meson.build
> index 72eec4608..4b17662b7 100644
> --- a/drivers/meson.build
> +++ b/drivers/meson.build
> @@ -132,10 +132,10 @@ foreach class:dpdk_driver_classes
>  
>  			if is_experimental != 0
>  				lib_version = experimental_abi_version
> -				so_version = experimental_abi_version
> +				so_version = experimental_so_version
>  			else
>  				lib_version = abi_version
> -				so_version = abi_version
> +				so_version = stable_so_version
>  			endif
>  
>  			# now build the static driver
> diff --git a/examples/ethtool/lib/Makefile b/examples/ethtool/lib/Makefile
> index 9da7dc3ba..649474127 100644
> --- a/examples/ethtool/lib/Makefile
> +++ b/examples/ethtool/lib/Makefile
> @@ -18,7 +18,7 @@ endif
>  # library name
>  LIB = librte_ethtool.a
>  
> -LIBABIVER := 1
> +LIBABIVER := 0.1
>  
>  # all source are stored in SRC-Y
>  SRCS-y := rte_ethtool.c
> diff --git a/lib/meson.build b/lib/meson.build
> index 6ceb5e756..0af3efab2 100644
> --- a/lib/meson.build
> +++ b/lib/meson.build
> @@ -113,10 +113,10 @@ foreach l:libraries
>  
>  			if is_experimental != 0
>  				lib_version = experimental_abi_version
> -				so_version = experimental_abi_version
> +				so_version = experimental_so_version
>  			else
>  				lib_version = abi_version
> -				so_version = abi_version
> +				so_version = stable_so_version
>  			endif
>  
>  			# first build static lib
> diff --git a/mk/rte.lib.mk b/mk/rte.lib.mk
> index 655a1b143..b1a8372cc 100644
> --- a/mk/rte.lib.mk
> +++ b/mk/rte.lib.mk
> @@ -11,14 +11,16 @@ EXTLIB_BUILD ?= n
>  # VPATH contains at least SRCDIR
>  VPATH += $(SRCDIR)
>  
> -ifneq ($(shell grep -s "^DPDK_" $(SRCDIR)/$(EXPORT_MAP)),)
> -LIBABIVER := $(shell cat $(RTE_SRCDIR)/ABI_VERSION)
> -else ifeq ($(LIBABIVER),)
> +LIBABIVER ?= $(shell cat $(RTE_SRCDIR)/ABI_VERSION)
> +SOVER := $(basename $(LIBABIVER))
> +ifeq ($(shell grep -s "^DPDK_" $(SRCDIR)/$(EXPORT_MAP)),)
>  # EXPERIMENTAL ABI is versioned as 0.major+minor, e.g. 0.201 for 20.1 ABI
> -LIBABIVER := 0.$(shell cat $(RTE_SRCDIR)/ABI_VERSION | tr -d '.')
> +LIBABIVER := 0.$(shell echo $(LIBABIVER) | tr -d '.')
> +SOVER := 0.$(shell echo $(SOVER) | tr -d '.')
>  endif
>  
>  ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
> +SONAME := $(patsubst %.a,%.so.$(SOVER),$(LIB))
>  LIB := $(patsubst %.a,%.so.$(LIBABIVER),$(LIB))
>  ifeq ($(EXTLIB_BUILD),n)
>  CPU_LDFLAGS += --version-script=$(SRCDIR)/$(EXPORT_MAP)
> @@ -74,7 +76,7 @@ NO_UNDEFINED := -z defs
>  endif
>  
>  O_TO_S = $(LD) -L$(RTE_SDK_BIN)/lib $(_CPU_LDFLAGS) $(EXTRA_LDFLAGS) \
> -	  -shared $(OBJS-y) $(NO_UNDEFINED) $(LDLIBS) -Wl,-soname,$(LIB) -o $(LIB)
> +	  -shared $(OBJS-y) $(NO_UNDEFINED) $(LDLIBS) -Wl,-soname,$(SONAME) -o $(LIB)
>  O_TO_S_STR = $(subst ','\'',$(O_TO_S)) #'# fix syntax highlight
>  O_TO_S_DISP = $(if $(V),"$(O_TO_S_STR)","  LD $(@)")
>  O_TO_S_DO = @set -e; \
> @@ -133,6 +135,7 @@ $(RTE_OUTPUT)/lib/$(LIB): $(LIB)
>  	$(Q)cp -f $(LIB) $(RTE_OUTPUT)/lib
>  ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
>  	$(Q)ln -s -f $< $(shell echo $@ | sed 's/\.so.*/.so/')
> +	$(Q)ln -s -f $< $(shell echo $@ | sed 's/\.so.*/.so.$(SOVER)/')
>  endif
>  
>  #
> -- 
> 2.23.0
> 
> 
Acked-by: Neil Horman <nhorman@tuxdriver.com>

^ permalink raw reply	[relevance 0%]

* [dpdk-dev] [PATCH v5 0/3] Add ABI compatibility checks to the meson build
  2019-12-11 18:21  8%   ` [dpdk-dev] [PATCH v4 0/3] " Kevin Laatz
                       ` (2 preceding siblings ...)
       [not found]         ` <20191211182147.19355-2-kevin.laatz@intel.com>
@ 2019-12-13 14:02  8%     ` Kevin Laatz
  2019-12-13 14:03 21%       ` [dpdk-dev] [PATCH v5 2/3] build: add abi checks to meson Kevin Laatz
                         ` (2 more replies)
  3 siblings, 3 replies; 200+ results
From: Kevin Laatz @ 2019-12-13 14:02 UTC (permalink / raw)
  To: dev
  Cc: thomas, david.marchand, bruce.richardson, ray.kinsella, tdu, zr,
	cernay, Kevin Laatz

With the recent changes made to stabilize ABI versioning in DPDK, it will
become increasingly important to check patches for ABI compatibility. We
propose adding the ABI compatibility checking to be done as part of the
build.

The advantages to adding the ABI compatibility checking to the build are
two-fold. Firstly, developers can easily check their patches to make sure
they don’t break the ABI without adding any extra steps. Secondly, it
makes the integration into existing CI seamless since there are no extra
scripts to make the CI run. The build will run as usual and if an
incompatibility is detected in the ABI, the build will fail and show the
incompatibility. As an added bonus, enabling the ABI compatibility checks
does not impact the build speed.

The proposed solution works as follows:
1. Generate the ABI dump of the baseline. This can be done with the new
   script added in this set. This step will only need to be done when the
   ABI version changes (so once a year) and can be added to master so it
   exists by default. This step can be skipped if the dump files for the
   baseline already exist.
2. Build with meson. If there is an ABI incompatibility, the build will
   fail and print the incompatibility information.

The patches in this set include the ABI dump file generating script, the
dump files for drivers and libs, the meson option required to
enable/disable the checks, and the required meson changes to run the
compatibility checks during the build.

Note: This patch set depends on: http://patches.dpdk.org/patch/63765/.  The
generated .dump files in this patch set are based on the changes in the
patch "build: fix soname info for 19.11 compatibility". If a decision is
made to use a different format for the sonames, then a new version of this
patch set will be required as the .dump files will need to be regenerated.

Note: The following driver dump files are not included in these patches:
	common/mvep:    missing dependency, "libmusdk"
        net/mvneta:     missing dependency, "libmusdk"
        net/mvpp2:      missing dependency, "libmusdk"
        net/nfb:        missing dependency, "libnfb"
        crypto/mvsam:   missing dependency, "libmusdk"

They have not been included as I do not have access to these dependencies.
Please feel free to add them if you can! (Maintainers of the above Cc'ed).

---
v2:
  - Rebased on master for 19.11.
  - Moved the experimental syms checks next to the abi checks. This also
    removed the dependency on the experimental checks from the shared
    build.
  - General cleanup.

v3:
  - Fixed typo in meson option name in buildtools/meson.build.

v4:
  - removed commits 1 and 2 from the patch set since they are not needed
    as part of this change
  - squash commits 3,4,5,6 into a single commit
  - changes meson option from type boolean to feature
  - update travis packages
  - move check for windows to earlier in build
  - add abignore file to suppress experimental functions
  - make the directories we store dump files in hidden
  - add .dump files for v20.0 ABI to patch set

v5:
  - added more drivers' dump files
  - removed travis build with abi checks until the issues are resolved.

Kevin Laatz (3):
  build: add dump files for v20.0 ABI
  build: add abi checks to meson
  build: clean up experimental syms check

 buildtools/dpdk.abignore                      |    2 +
 buildtools/meson.build                        |    3 +
 config/meson.build                            |   10 +
 devtools/gen-abi-dump.sh                      |   24 +
 drivers/.abi/librte_bus_dpaa.dump             | 5303 ++++++++++++++
 drivers/.abi/librte_bus_fslmc.dump            | 5084 +++++++++++++
 drivers/.abi/librte_bus_ifpga.dump            |  972 +++
 drivers/.abi/librte_bus_pci.dump              |  834 +++
 drivers/.abi/librte_bus_vdev.dump             |  408 ++
 drivers/.abi/librte_bus_vmbus.dump            |  918 +++
 drivers/.abi/librte_common_cpt.dump           |   36 +
 drivers/.abi/librte_common_dpaax.dump         |  177 +
 drivers/.abi/librte_common_octeontx.dump      |   77 +
 drivers/.abi/librte_common_octeontx2.dump     |  988 +++
 drivers/.abi/librte_mempool_bucket.dump       |   15 +
 drivers/.abi/librte_mempool_dpaa.dump         |  323 +
 drivers/.abi/librte_mempool_dpaa2.dump        |  484 ++
 drivers/.abi/librte_mempool_octeontx.dump     |   22 +
 drivers/.abi/librte_mempool_octeontx2.dump    |  643 ++
 drivers/.abi/librte_mempool_ring.dump         |   15 +
 drivers/.abi/librte_mempool_stack.dump        |   16 +
 drivers/.abi/librte_pmd_aesni_gcm.dump        | 1315 ++++
 drivers/.abi/librte_pmd_aesni_mb.dump         | 1315 ++++
 drivers/.abi/librte_pmd_af_packet.dump        |   22 +
 drivers/.abi/librte_pmd_af_xdp.dump           |   23 +
 drivers/.abi/librte_pmd_ark.dump              |   26 +
 drivers/.abi/librte_pmd_atlantic.dump         | 1296 ++++
 drivers/.abi/librte_pmd_avp.dump              |   26 +
 drivers/.abi/librte_pmd_axgbe.dump            |   27 +
 .../.abi/librte_pmd_bbdev_fpga_lte_fec.dump   |   74 +
 drivers/.abi/librte_pmd_bbdev_null.dump       |   17 +
 drivers/.abi/librte_pmd_bbdev_turbo_sw.dump   |   17 +
 drivers/.abi/librte_pmd_bnx2x.dump            |   28 +
 drivers/.abi/librte_pmd_bnxt.dump             | 3499 +++++++++
 drivers/.abi/librte_pmd_bond.dump             | 3586 +++++++++
 drivers/.abi/librte_pmd_caam_jr.dump          |   47 +
 drivers/.abi/librte_pmd_ccp.dump              | 1870 +++++
 drivers/.abi/librte_pmd_crypto_scheduler.dump | 1473 ++++
 drivers/.abi/librte_pmd_cxgbe.dump            |   27 +
 drivers/.abi/librte_pmd_dpaa.dump             | 2929 ++++++++
 drivers/.abi/librte_pmd_dpaa2.dump            | 3319 +++++++++
 drivers/.abi/librte_pmd_dpaa2_event.dump      |   36 +
 drivers/.abi/librte_pmd_dpaa2_sec.dump        | 1511 ++++
 drivers/.abi/librte_pmd_dpaa_event.dump       |   32 +
 drivers/.abi/librte_pmd_dpaa_sec.dump         | 1459 ++++
 drivers/.abi/librte_pmd_dsw_event.dump        |   23 +
 drivers/.abi/librte_pmd_e1000.dump            | 3414 +++++++++
 drivers/.abi/librte_pmd_ena.dump              |   32 +
 drivers/.abi/librte_pmd_enetc.dump            |   27 +
 drivers/.abi/librte_pmd_enic.dump             | 3282 +++++++++
 drivers/.abi/librte_pmd_failsafe.dump         | 3162 ++++++++
 drivers/.abi/librte_pmd_fm10k.dump            |  894 +++
 drivers/.abi/librte_pmd_hinic.dump            | 3110 ++++++++
 drivers/.abi/librte_pmd_hns3.dump             |   28 +
 drivers/.abi/librte_pmd_i40e.dump             | 3553 +++++++++
 drivers/.abi/librte_pmd_iavf.dump             |   71 +
 drivers/.abi/librte_pmd_ice.dump              | 6395 +++++++++++++++++
 drivers/.abi/librte_pmd_ifc.dump              |   24 +
 drivers/.abi/librte_pmd_ipn3ke.dump           | 3581 +++++++++
 drivers/.abi/librte_pmd_isal.dump             | 1038 +++
 drivers/.abi/librte_pmd_ixgbe.dump            | 3369 +++++++++
 drivers/.abi/librte_pmd_kasumi.dump           |   41 +
 drivers/.abi/librte_pmd_kni.dump              |   22 +
 drivers/.abi/librte_pmd_liquidio.dump         |   27 +
 drivers/.abi/librte_pmd_memif.dump            |   27 +
 drivers/.abi/librte_pmd_mlx4.dump             | 2207 ++++++
 drivers/.abi/librte_pmd_mlx5.dump             | 2155 ++++++
 drivers/.abi/librte_pmd_netvsc.dump           |   28 +
 drivers/.abi/librte_pmd_nfp.dump              |   27 +
 drivers/.abi/librte_pmd_nitrox.dump           |   19 +
 drivers/.abi/librte_pmd_null.dump             |   22 +
 drivers/.abi/librte_pmd_null_crypto.dump      | 1317 ++++
 drivers/.abi/librte_pmd_octeontx.dump         |   49 +
 drivers/.abi/librte_pmd_octeontx2.dump        | 3140 ++++++++
 drivers/.abi/librte_pmd_octeontx2_crypto.dump |   28 +
 drivers/.abi/librte_pmd_octeontx2_event.dump  |   29 +
 .../.abi/librte_pmd_octeontx_compress.dump    |   26 +
 drivers/.abi/librte_pmd_octeontx_crypto.dump  |   28 +
 drivers/.abi/librte_pmd_octeontx_event.dump   |   36 +
 drivers/.abi/librte_pmd_opdl_event.dump       |   28 +
 drivers/.abi/librte_pmd_openssl.dump          | 1315 ++++
 drivers/.abi/librte_pmd_pcap.dump             |   23 +
 drivers/.abi/librte_pmd_pfe.dump              |   41 +
 drivers/.abi/librte_pmd_qat.dump              |  119 +
 drivers/.abi/librte_pmd_qede.dump             |   46 +
 drivers/.abi/librte_pmd_ring.dump             |  142 +
 drivers/.abi/librte_pmd_sfc.dump              | 3910 ++++++++++
 drivers/.abi/librte_pmd_skeleton_event.dump   |   25 +
 drivers/.abi/librte_pmd_snow3g.dump           | 1424 ++++
 drivers/.abi/librte_pmd_softnic.dump          | 5523 ++++++++++++++
 drivers/.abi/librte_pmd_sw_event.dump         |   28 +
 drivers/.abi/librte_pmd_szedata2.dump         |   28 +
 drivers/.abi/librte_pmd_tap.dump              |   26 +
 drivers/.abi/librte_pmd_thunderx.dump         |   28 +
 drivers/.abi/librte_pmd_vdev_netvsc.dump      |   22 +
 drivers/.abi/librte_pmd_vhost.dump            |   57 +
 drivers/.abi/librte_pmd_virtio.dump           | 3808 ++++++++++
 drivers/.abi/librte_pmd_virtio_crypto.dump    | 1419 ++++
 drivers/.abi/librte_pmd_vmxnet3.dump          |   27 +
 drivers/.abi/librte_pmd_zlib.dump             | 1035 +++
 drivers/.abi/librte_pmd_zuc.dump              | 1315 ++++
 drivers/.abi/librte_rawdev_dpaa2_cmdif.dump   |   32 +
 drivers/.abi/librte_rawdev_dpaa2_qdma.dump    |  185 +
 drivers/.abi/librte_rawdev_ifpga.dump         |  779 ++
 drivers/.abi/librte_rawdev_ioat.dump          |   19 +
 drivers/.abi/librte_rawdev_ntb.dump           |  771 ++
 drivers/.abi/librte_rawdev_octeontx2_dma.dump |   23 +
 drivers/.abi/librte_rawdev_skeleton.dump      |   21 +
 drivers/meson.build                           |   34 +-
 lib/.abi/librte_acl.dump                      |  329 +
 lib/.abi/librte_bbdev.dump                    | 1789 +++++
 lib/.abi/librte_bitratestats.dump             |   85 +
 lib/.abi/librte_bpf.dump                      |  280 +
 lib/.abi/librte_cfgfile.dump                  |  188 +
 lib/.abi/librte_cmdline.dump                  |  728 ++
 lib/.abi/librte_compressdev.dump              | 1249 ++++
 lib/.abi/librte_cryptodev.dump                | 1806 +++++
 lib/.abi/librte_distributor.dump              |  627 ++
 lib/.abi/librte_eal.dump                      | 3329 +++++++++
 lib/.abi/librte_efd.dump                      |  319 +
 lib/.abi/librte_ethdev.dump                   | 5272 ++++++++++++++
 lib/.abi/librte_eventdev.dump                 | 5519 ++++++++++++++
 lib/.abi/librte_fib.dump                      |  327 +
 lib/.abi/librte_flow_classify.dump            | 1054 +++
 lib/.abi/librte_gro.dump                      |  428 ++
 lib/.abi/librte_gso.dump                      |  402 ++
 lib/.abi/librte_hash.dump                     |  578 ++
 lib/.abi/librte_ip_frag.dump                  |  813 +++
 lib/.abi/librte_ipsec.dump                    | 1269 ++++
 lib/.abi/librte_jobstats.dump                 |  197 +
 lib/.abi/librte_kni.dump                      |  657 ++
 lib/.abi/librte_kvargs.dump                   |   98 +
 lib/.abi/librte_latencystats.dump             |  427 ++
 lib/.abi/librte_lpm.dump                      |  330 +
 lib/.abi/librte_mbuf.dump                     |  745 ++
 lib/.abi/librte_member.dump                   |  216 +
 lib/.abi/librte_mempool.dump                  |  763 ++
 lib/.abi/librte_meter.dump                    |  197 +
 lib/.abi/librte_metrics.dump                  |  102 +
 lib/.abi/librte_net.dump                      |  489 ++
 lib/.abi/librte_pci.dump                      |   85 +
 lib/.abi/librte_pdump.dump                    |  339 +
 lib/.abi/librte_pipeline.dump                 | 1795 +++++
 lib/.abi/librte_port.dump                     |  567 ++
 lib/.abi/librte_power.dump                    |  490 ++
 lib/.abi/librte_rawdev.dump                   |  839 +++
 lib/.abi/librte_rcu.dump                      |  217 +
 lib/.abi/librte_reorder.dump                  |  455 ++
 lib/.abi/librte_rib.dump                      |  556 ++
 lib/.abi/librte_ring.dump                     |  284 +
 lib/.abi/librte_sched.dump                    | 1108 +++
 lib/.abi/librte_security.dump                 | 1125 +++
 lib/.abi/librte_stack.dump                    |  183 +
 lib/.abi/librte_table.dump                    |  544 ++
 lib/.abi/librte_telemetry.dump                |  122 +
 lib/.abi/librte_timer.dump                    |  321 +
 lib/.abi/librte_vhost.dump                    | 1629 +++++
 lib/meson.build                               |   34 +-
 meson.build                                   |    4 +
 meson_options.txt                             |    2 +
 160 files changed, 145103 insertions(+), 20 deletions(-)
 create mode 100644 buildtools/dpdk.abignore
 create mode 100755 devtools/gen-abi-dump.sh
 create mode 100644 drivers/.abi/librte_bus_dpaa.dump
 create mode 100644 drivers/.abi/librte_bus_fslmc.dump
 create mode 100644 drivers/.abi/librte_bus_ifpga.dump
 create mode 100644 drivers/.abi/librte_bus_pci.dump
 create mode 100644 drivers/.abi/librte_bus_vdev.dump
 create mode 100644 drivers/.abi/librte_bus_vmbus.dump
 create mode 100644 drivers/.abi/librte_common_cpt.dump
 create mode 100644 drivers/.abi/librte_common_dpaax.dump
 create mode 100644 drivers/.abi/librte_common_octeontx.dump
 create mode 100644 drivers/.abi/librte_common_octeontx2.dump
 create mode 100644 drivers/.abi/librte_mempool_bucket.dump
 create mode 100644 drivers/.abi/librte_mempool_dpaa.dump
 create mode 100644 drivers/.abi/librte_mempool_dpaa2.dump
 create mode 100644 drivers/.abi/librte_mempool_octeontx.dump
 create mode 100644 drivers/.abi/librte_mempool_octeontx2.dump
 create mode 100644 drivers/.abi/librte_mempool_ring.dump
 create mode 100644 drivers/.abi/librte_mempool_stack.dump
 create mode 100644 drivers/.abi/librte_pmd_aesni_gcm.dump
 create mode 100644 drivers/.abi/librte_pmd_aesni_mb.dump
 create mode 100644 drivers/.abi/librte_pmd_af_packet.dump
 create mode 100644 drivers/.abi/librte_pmd_af_xdp.dump
 create mode 100644 drivers/.abi/librte_pmd_ark.dump
 create mode 100644 drivers/.abi/librte_pmd_atlantic.dump
 create mode 100644 drivers/.abi/librte_pmd_avp.dump
 create mode 100644 drivers/.abi/librte_pmd_axgbe.dump
 create mode 100644 drivers/.abi/librte_pmd_bbdev_fpga_lte_fec.dump
 create mode 100644 drivers/.abi/librte_pmd_bbdev_null.dump
 create mode 100644 drivers/.abi/librte_pmd_bbdev_turbo_sw.dump
 create mode 100644 drivers/.abi/librte_pmd_bnx2x.dump
 create mode 100644 drivers/.abi/librte_pmd_bnxt.dump
 create mode 100644 drivers/.abi/librte_pmd_bond.dump
 create mode 100644 drivers/.abi/librte_pmd_caam_jr.dump
 create mode 100644 drivers/.abi/librte_pmd_ccp.dump
 create mode 100644 drivers/.abi/librte_pmd_crypto_scheduler.dump
 create mode 100644 drivers/.abi/librte_pmd_cxgbe.dump
 create mode 100644 drivers/.abi/librte_pmd_dpaa.dump
 create mode 100644 drivers/.abi/librte_pmd_dpaa2.dump
 create mode 100644 drivers/.abi/librte_pmd_dpaa2_event.dump
 create mode 100644 drivers/.abi/librte_pmd_dpaa2_sec.dump
 create mode 100644 drivers/.abi/librte_pmd_dpaa_event.dump
 create mode 100644 drivers/.abi/librte_pmd_dpaa_sec.dump
 create mode 100644 drivers/.abi/librte_pmd_dsw_event.dump
 create mode 100644 drivers/.abi/librte_pmd_e1000.dump
 create mode 100644 drivers/.abi/librte_pmd_ena.dump
 create mode 100644 drivers/.abi/librte_pmd_enetc.dump
 create mode 100644 drivers/.abi/librte_pmd_enic.dump
 create mode 100644 drivers/.abi/librte_pmd_failsafe.dump
 create mode 100644 drivers/.abi/librte_pmd_fm10k.dump
 create mode 100644 drivers/.abi/librte_pmd_hinic.dump
 create mode 100644 drivers/.abi/librte_pmd_hns3.dump
 create mode 100644 drivers/.abi/librte_pmd_i40e.dump
 create mode 100644 drivers/.abi/librte_pmd_iavf.dump
 create mode 100644 drivers/.abi/librte_pmd_ice.dump
 create mode 100644 drivers/.abi/librte_pmd_ifc.dump
 create mode 100644 drivers/.abi/librte_pmd_ipn3ke.dump
 create mode 100644 drivers/.abi/librte_pmd_isal.dump
 create mode 100644 drivers/.abi/librte_pmd_ixgbe.dump
 create mode 100644 drivers/.abi/librte_pmd_kasumi.dump
 create mode 100644 drivers/.abi/librte_pmd_kni.dump
 create mode 100644 drivers/.abi/librte_pmd_liquidio.dump
 create mode 100644 drivers/.abi/librte_pmd_memif.dump
 create mode 100644 drivers/.abi/librte_pmd_mlx4.dump
 create mode 100644 drivers/.abi/librte_pmd_mlx5.dump
 create mode 100644 drivers/.abi/librte_pmd_netvsc.dump
 create mode 100644 drivers/.abi/librte_pmd_nfp.dump
 create mode 100644 drivers/.abi/librte_pmd_nitrox.dump
 create mode 100644 drivers/.abi/librte_pmd_null.dump
 create mode 100644 drivers/.abi/librte_pmd_null_crypto.dump
 create mode 100644 drivers/.abi/librte_pmd_octeontx.dump
 create mode 100644 drivers/.abi/librte_pmd_octeontx2.dump
 create mode 100644 drivers/.abi/librte_pmd_octeontx2_crypto.dump
 create mode 100644 drivers/.abi/librte_pmd_octeontx2_event.dump
 create mode 100644 drivers/.abi/librte_pmd_octeontx_compress.dump
 create mode 100644 drivers/.abi/librte_pmd_octeontx_crypto.dump
 create mode 100644 drivers/.abi/librte_pmd_octeontx_event.dump
 create mode 100644 drivers/.abi/librte_pmd_opdl_event.dump
 create mode 100644 drivers/.abi/librte_pmd_openssl.dump
 create mode 100644 drivers/.abi/librte_pmd_pcap.dump
 create mode 100644 drivers/.abi/librte_pmd_pfe.dump
 create mode 100644 drivers/.abi/librte_pmd_qat.dump
 create mode 100644 drivers/.abi/librte_pmd_qede.dump
 create mode 100644 drivers/.abi/librte_pmd_ring.dump
 create mode 100644 drivers/.abi/librte_pmd_sfc.dump
 create mode 100644 drivers/.abi/librte_pmd_skeleton_event.dump
 create mode 100644 drivers/.abi/librte_pmd_snow3g.dump
 create mode 100644 drivers/.abi/librte_pmd_softnic.dump
 create mode 100644 drivers/.abi/librte_pmd_sw_event.dump
 create mode 100644 drivers/.abi/librte_pmd_szedata2.dump
 create mode 100644 drivers/.abi/librte_pmd_tap.dump
 create mode 100644 drivers/.abi/librte_pmd_thunderx.dump
 create mode 100644 drivers/.abi/librte_pmd_vdev_netvsc.dump
 create mode 100644 drivers/.abi/librte_pmd_vhost.dump
 create mode 100644 drivers/.abi/librte_pmd_virtio.dump
 create mode 100644 drivers/.abi/librte_pmd_virtio_crypto.dump
 create mode 100644 drivers/.abi/librte_pmd_vmxnet3.dump
 create mode 100644 drivers/.abi/librte_pmd_zlib.dump
 create mode 100644 drivers/.abi/librte_pmd_zuc.dump
 create mode 100644 drivers/.abi/librte_rawdev_dpaa2_cmdif.dump
 create mode 100644 drivers/.abi/librte_rawdev_dpaa2_qdma.dump
 create mode 100644 drivers/.abi/librte_rawdev_ifpga.dump
 create mode 100644 drivers/.abi/librte_rawdev_ioat.dump
 create mode 100644 drivers/.abi/librte_rawdev_ntb.dump
 create mode 100644 drivers/.abi/librte_rawdev_octeontx2_dma.dump
 create mode 100644 drivers/.abi/librte_rawdev_skeleton.dump
 create mode 100644 lib/.abi/librte_acl.dump
 create mode 100644 lib/.abi/librte_bbdev.dump
 create mode 100644 lib/.abi/librte_bitratestats.dump
 create mode 100644 lib/.abi/librte_bpf.dump
 create mode 100644 lib/.abi/librte_cfgfile.dump
 create mode 100644 lib/.abi/librte_cmdline.dump
 create mode 100644 lib/.abi/librte_compressdev.dump
 create mode 100644 lib/.abi/librte_cryptodev.dump
 create mode 100644 lib/.abi/librte_distributor.dump
 create mode 100644 lib/.abi/librte_eal.dump
 create mode 100644 lib/.abi/librte_efd.dump
 create mode 100644 lib/.abi/librte_ethdev.dump
 create mode 100644 lib/.abi/librte_eventdev.dump
 create mode 100644 lib/.abi/librte_fib.dump
 create mode 100644 lib/.abi/librte_flow_classify.dump
 create mode 100644 lib/.abi/librte_gro.dump
 create mode 100644 lib/.abi/librte_gso.dump
 create mode 100644 lib/.abi/librte_hash.dump
 create mode 100644 lib/.abi/librte_ip_frag.dump
 create mode 100644 lib/.abi/librte_ipsec.dump
 create mode 100644 lib/.abi/librte_jobstats.dump
 create mode 100644 lib/.abi/librte_kni.dump
 create mode 100644 lib/.abi/librte_kvargs.dump
 create mode 100644 lib/.abi/librte_latencystats.dump
 create mode 100644 lib/.abi/librte_lpm.dump
 create mode 100644 lib/.abi/librte_mbuf.dump
 create mode 100644 lib/.abi/librte_member.dump
 create mode 100644 lib/.abi/librte_mempool.dump
 create mode 100644 lib/.abi/librte_meter.dump
 create mode 100644 lib/.abi/librte_metrics.dump
 create mode 100644 lib/.abi/librte_net.dump
 create mode 100644 lib/.abi/librte_pci.dump
 create mode 100644 lib/.abi/librte_pdump.dump
 create mode 100644 lib/.abi/librte_pipeline.dump
 create mode 100644 lib/.abi/librte_port.dump
 create mode 100644 lib/.abi/librte_power.dump
 create mode 100644 lib/.abi/librte_rawdev.dump
 create mode 100644 lib/.abi/librte_rcu.dump
 create mode 100644 lib/.abi/librte_reorder.dump
 create mode 100644 lib/.abi/librte_rib.dump
 create mode 100644 lib/.abi/librte_ring.dump
 create mode 100644 lib/.abi/librte_sched.dump
 create mode 100644 lib/.abi/librte_security.dump
 create mode 100644 lib/.abi/librte_stack.dump
 create mode 100644 lib/.abi/librte_table.dump
 create mode 100644 lib/.abi/librte_telemetry.dump
 create mode 100644 lib/.abi/librte_timer.dump
 create mode 100644 lib/.abi/librte_vhost.dump

-- 
2.17.1


^ permalink raw reply	[relevance 8%]

* [dpdk-dev] [PATCH v5 2/3] build: add abi checks to meson
  2019-12-13 14:02  8%     ` [dpdk-dev] [PATCH v5 0/3] Add ABI compatibility checks to the meson build Kevin Laatz
@ 2019-12-13 14:03 21%       ` Kevin Laatz
  2019-12-13 14:03  3%       ` [dpdk-dev] [PATCH v5 3/3] build: clean up experimental syms check Kevin Laatz
  2019-12-13 16:40  8%       ` [dpdk-dev] [PATCH v6 00/11] Add ABI compatibility checks to the meson build Kevin Laatz
  2 siblings, 0 replies; 200+ results
From: Kevin Laatz @ 2019-12-13 14:03 UTC (permalink / raw)
  To: dev
  Cc: thomas, david.marchand, bruce.richardson, ray.kinsella, tdu, zr,
	cernay, Kevin Laatz

This patch adds a script to generate ABI dump files. These files will be
required to perform ABI compatibility checks during the build later in the
patchset. This script should be run on a DPDK version with a stable ABI.

Since this is a tool designed for human use, we simplify it to just work
off a whole build directory, taking the parameter of the builddir and
generating the lib|drivers/abi dir. This is hardcoded into the script since
the meson build expects the .dump files in these directories.

The running of the scripts can be enabled/disabled using the new meson
option added in this patch.  If enabled, the lib and drivers .so files will
be compared against any existing ABI dump files in lib|drivers/abi of the
source directory. If there are any incompatibilities, the build will fail
and display the incompatibility.

Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>

---
v2:
  - fixed conditional around abi check custom target
  - fixed conditional around abi check custom target
v3:
  - fix typo in meson option name
v4:
  - squash commits 3,4,5,6 into a single commit
  - changes meson option from type boolean to feature
  - update travis packages
  - move check for windows to earlier in build
  - add abignore file to suppress experimental functions
  - make the directories we store dump files in hidden
v5:
  - remove travis build with abi checks. This can be added as a separate
    patch once the issue are fixed.
---
 buildtools/dpdk.abignore |  2 ++
 buildtools/meson.build   |  3 +++
 config/meson.build       | 10 ++++++++++
 devtools/gen-abi-dump.sh | 24 ++++++++++++++++++++++++
 drivers/meson.build      | 13 +++++++++++++
 lib/meson.build          | 13 +++++++++++++
 meson.build              |  4 ++++
 meson_options.txt        |  2 ++
 8 files changed, 71 insertions(+)
 create mode 100644 buildtools/dpdk.abignore
 create mode 100755 devtools/gen-abi-dump.sh

diff --git a/buildtools/dpdk.abignore b/buildtools/dpdk.abignore
new file mode 100644
index 000000000..b866b7f26
--- /dev/null
+++ b/buildtools/dpdk.abignore
@@ -0,0 +1,2 @@
+[suppress_function]
+        symbol_version = EXPERIMENTAL
diff --git a/buildtools/meson.build b/buildtools/meson.build
index 6ef2c5721..378f8d07e 100644
--- a/buildtools/meson.build
+++ b/buildtools/meson.build
@@ -7,6 +7,9 @@ pmdinfo = find_program('gen-pmdinfo-cfile.sh')
 
 check_experimental_syms = find_program('check-experimental-syms.sh')
 
+abidiff = find_program('abidiff', required: compat_checks)
+abignore = files('dpdk.abignore')
+
 # set up map-to-def script using python, either built-in or external
 python3 = import('python').find_installation(required: false)
 if python3.found()
diff --git a/config/meson.build b/config/meson.build
index 01911ecf9..ea680af33 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -34,6 +34,16 @@ stable_so_version = abi_va.length() == 2 ? abi_va[0] : abi_va[0] + '.' + abi_va[
 experimental_abi_version = '0.' + ''.join(abi_va)
 experimental_so_version = '0.' + ''.join(stable_so_version.split('.'))
 
+# compatibility checks not available on windows
+compat_checks = disabler()
+if not is_windows
+	compat_checks = get_option('compat_checks')
+endif
+
+if not get_option('debug') and compat_checks.enabled()
+	error('Build type must have debug symbols when compat_checks=enabled')
+endif
+
 # extract all version information into the build configuration
 dpdk_conf.set('RTE_VER_YEAR', pver.get(0).to_int())
 dpdk_conf.set('RTE_VER_MONTH', pver.get(1).to_int())
diff --git a/devtools/gen-abi-dump.sh b/devtools/gen-abi-dump.sh
new file mode 100755
index 000000000..bc6eac8c8
--- /dev/null
+++ b/devtools/gen-abi-dump.sh
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+builddir=$1
+
+if [ -z "$builddir" ] ; then
+	echo "Usage: $(basename $0) build_dir"
+	exit 1
+fi
+
+if [ ! -d "$builddir" ] ; then
+	echo "Error: build directory, '$builddir', doesn't exist"
+	exit 1
+fi
+
+for d in lib drivers ; do
+	mkdir -p $d/.abi
+
+	for f in $builddir/$d/*.so* ; do
+		test -L "$f" && continue
+
+		libname=$(basename $f)
+		abidw --out-file $d/.abi/${libname%.so*}.dump $f || exit 1
+	done
+done
diff --git a/drivers/meson.build b/drivers/meson.build
index 4b17662b7..db58a67b9 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -196,6 +196,19 @@ foreach class:dpdk_driver_classes
 					include_directories: includes,
 					dependencies: static_deps)
 
+			if abidiff.found()
+				custom_target('lib' + lib_name + '.abi_chk',
+					command: [abidiff, '--no-added-syms',
+						'--suppr', abignore,
+						files('.abi/lib' + lib_name + '.dump'),
+						'@INPUT@'],
+					input: shared_lib,
+					output: 'lib' + lib_name + '.abi_chk',
+					capture: true,
+					install: false,
+					build_by_default: is_experimental == 0)
+			endif
+
 			dpdk_drivers += static_lib
 
 			set_variable('shared_@0@'.format(lib_name), shared_dep)
diff --git a/lib/meson.build b/lib/meson.build
index 0af3efab2..f0aba6635 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -180,6 +180,19 @@ foreach l:libraries
 					include_directories: includes,
 					dependencies: shared_deps)
 
+			if abidiff.found()
+				custom_target(dir_name + '.abi_chk',
+					command: [abidiff, '--no-added-syms',
+						'--suppr', abignore,
+						files('.abi/' + dir_name + '.dump'),
+						'@INPUT@'],
+					input: shared_lib,
+					output: dir_name + '.abi_chk',
+					capture: true,
+					install: false,
+					build_by_default: is_experimental == 0)
+			endif
+
 			dpdk_libraries = [shared_lib] + dpdk_libraries
 			dpdk_static_libraries = [static_lib] + dpdk_static_libraries
 		endif # sources.length() > 0
diff --git a/meson.build b/meson.build
index b7ae9c8d9..e840ccea7 100644
--- a/meson.build
+++ b/meson.build
@@ -128,3 +128,7 @@ foreach drv:dpdk_drvs_disabled
 	output_message += drv + ':\t' + reason + '\n\t'
 endforeach
 message(output_message + '\n')
+
+if compat_checks.auto() and not get_option('debug')
+	warning('Build type must be have debug symbols to run compatibility checks!\n')
+endif
diff --git a/meson_options.txt b/meson_options.txt
index bc369d06c..0c651cef3 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -1,5 +1,7 @@
 # Please keep these options sorted alphabetically.
 
+option('compat_checks', type: 'feature', value: 'auto',
+	description: 'Enable abi compatibility checks and experimental syms checks to run during the build. This requires debug build to be enabled.')
 option('disable_drivers', type: 'string', value: '',
 	description: 'Comma-separated list of drivers to explicitly disable.')
 option('drivers_install_subdir', type: 'string', value: 'dpdk/pmds-<VERSION>',
-- 
2.17.1


^ permalink raw reply	[relevance 21%]

* [dpdk-dev] [PATCH v5 3/3] build: clean up experimental syms check
  2019-12-13 14:02  8%     ` [dpdk-dev] [PATCH v5 0/3] Add ABI compatibility checks to the meson build Kevin Laatz
  2019-12-13 14:03 21%       ` [dpdk-dev] [PATCH v5 2/3] build: add abi checks to meson Kevin Laatz
@ 2019-12-13 14:03  3%       ` Kevin Laatz
  2019-12-13 16:40  8%       ` [dpdk-dev] [PATCH v6 00/11] Add ABI compatibility checks to the meson build Kevin Laatz
  2 siblings, 0 replies; 200+ results
From: Kevin Laatz @ 2019-12-13 14:03 UTC (permalink / raw)
  To: dev
  Cc: thomas, david.marchand, bruce.richardson, ray.kinsella, tdu, zr,
	cernay, Kevin Laatz

This patch cleans up the meson build files in lib and drivers by moving the
custom target for checking the experimental syms next to the abi compat
checks. This also removes the dependency on the check for the shared build,
which was not required by anything, but was only added to force the
experimental syms check run.

Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
---
 drivers/meson.build | 21 +++++++++++----------
 lib/meson.build     | 21 +++++++++++----------
 2 files changed, 22 insertions(+), 20 deletions(-)

diff --git a/drivers/meson.build b/drivers/meson.build
index db58a67b9..4f4c93b73 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -163,15 +163,6 @@ foreach class:dpdk_driver_classes
 					'-Wl,/implib:lib\\' + implib]
 			else
 				lk_args = ['-Wl,--version-script=' + version_map]
-				# on unix systems check the output of the
-				# experimental syms script, using it as a
-				# dependency of the .so build
-				lk_deps += custom_target(lib_name + '.exp_chk',
-					command: [check_experimental_syms,
-						version_map, '@INPUT@'],
-					capture: true,
-					input: static_lib,
-					output: lib_name + '.exp_chk')
 			endif
 
 			shared_lib = shared_library(lib_name,
@@ -181,7 +172,6 @@ foreach class:dpdk_driver_classes
 				dependencies: shared_deps,
 				c_args: cflags,
 				link_args: lk_args,
-				link_depends: lk_deps,
 				version: lib_version,
 				soversion: so_version,
 				install: true,
@@ -197,6 +187,17 @@ foreach class:dpdk_driver_classes
 					dependencies: static_deps)
 
 			if abidiff.found()
+				# on unix systems check the output of the
+				# experimental syms script
+				custom_target(lib_name + '.exp_chk',
+					command: [check_experimental_syms,
+						version_map, '@INPUT@'],
+					capture: true,
+					input: static_lib,
+					output: lib_name + '.exp_chk',
+					install: false,
+					build_by_default: true)
+
 				custom_target('lib' + lib_name + '.abi_chk',
 					command: [abidiff, '--no-added-syms',
 						'--suppr', abignore,
diff --git a/lib/meson.build b/lib/meson.build
index f0aba6635..b0f915969 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -154,15 +154,6 @@ foreach l:libraries
 					'-Wl,/implib:lib\\' + implib]
 			else
 				lk_args = ['-Wl,--version-script=' + version_map]
-				# on unix systems check the output of the
-				# experimental syms script, using it as a
-				# dependency of the .so build
-				lk_deps += custom_target(name + '.exp_chk',
-					command: [check_experimental_syms,
-						version_map, '@INPUT@'],
-					capture: true,
-					input: static_lib,
-					output: name + '.exp_chk')
 			endif
 
 			shared_lib = shared_library(libname,
@@ -172,7 +163,6 @@ foreach l:libraries
 					dependencies: shared_deps,
 					include_directories: includes,
 					link_args: lk_args,
-					link_depends: lk_deps,
 					version: lib_version,
 					soversion: so_version,
 					install: true)
@@ -181,6 +171,17 @@ foreach l:libraries
 					dependencies: shared_deps)
 
 			if abidiff.found()
+				# on unix systems check the output of the
+				# experimental syms script
+				custom_target(name + '.exp_chk',
+					command: [check_experimental_syms,
+						version_map, '@INPUT@'],
+					capture: true,
+					input: static_lib,
+					output: name + '.exp_chk',
+					install: false,
+					build_by_default: true)
+
 				custom_target(dir_name + '.abi_chk',
 					command: [abidiff, '--no-added-syms',
 						'--suppr', abignore,
-- 
2.17.1


^ permalink raw reply	[relevance 3%]

* [dpdk-dev] [PATCH v6 00/11] Add ABI compatibility checks to the meson build
  2019-12-13 14:02  8%     ` [dpdk-dev] [PATCH v5 0/3] Add ABI compatibility checks to the meson build Kevin Laatz
  2019-12-13 14:03 21%       ` [dpdk-dev] [PATCH v5 2/3] build: add abi checks to meson Kevin Laatz
  2019-12-13 14:03  3%       ` [dpdk-dev] [PATCH v5 3/3] build: clean up experimental syms check Kevin Laatz
@ 2019-12-13 16:40  8%       ` Kevin Laatz
  2019-12-13 16:41  7%         ` [dpdk-dev] [PATCH v6 01/11] lib: add dump files for v20.0 ABI Kevin Laatz
                           ` (11 more replies)
  2 siblings, 12 replies; 200+ results
From: Kevin Laatz @ 2019-12-13 16:40 UTC (permalink / raw)
  To: dev
  Cc: thomas, david.marchand, bruce.richardson, ray.kinsella, tdu, zr,
	cernay, Kevin Laatz

With the recent changes made to stabilize ABI versioning in DPDK, it will
become increasingly important to check patches for ABI compatibility. We
propose adding the ABI compatibility checking to be done as part of the
build.

The advantages to adding the ABI compatibility checking to the build are
two-fold. Firstly, developers can easily check their patches to make sure
they don’t break the ABI without adding any extra steps. Secondly, it
makes the integration into existing CI seamless since there are no extra
scripts to make the CI run. The build will run as usual and if an
incompatibility is detected in the ABI, the build will fail and show the
incompatibility. As an added bonus, enabling the ABI compatibility checks
does not impact the build speed.

The proposed solution works as follows:
1. Generate the ABI dump of the baseline. This can be done with the new
   script added in this set. This step will only need to be done when the
   ABI version changes (so once a year) and can be added to master so it
   exists by default. This step can be skipped if the dump files for the
   baseline already exist.
2. Build with meson. If there is an ABI incompatibility, the build will
   fail and print the incompatibility information.

The patches in this set include the ABI dump file generating script, the
dump files for drivers and libs, the meson option required to
enable/disable the checks, and the required meson changes to run the
compatibility checks during the build.

Note: This patch set depends on: http://patches.dpdk.org/patch/63765/.  The
generated .dump files in this patch set are based on the changes in the
patch "build: fix soname info for 19.11 compatibility". If a decision is
made to use a different format for the sonames, then a new version of this
patch set will be required as the .dump files will need to be regenerated.

Note: The following driver dump files are not included in these patches:
	common/mvep:    missing dependency, "libmusdk"
        net/mvneta:     missing dependency, "libmusdk"
        net/mvpp2:      missing dependency, "libmusdk"
        net/nfb:        missing dependency, "libnfb"
        crypto/mvsam:   missing dependency, "libmusdk"

They have not been included as I do not have access to these dependencies.
Please feel free to add them if you can! (Maintainers of the above Cc'ed).

---
v2:
  - Rebased on master for 19.11.
  - Moved the experimental syms checks next to the abi checks. This also
    removed the dependency on the experimental checks from the shared
    build.
  - General cleanup.

v3:
  - Fixed typo in meson option name in buildtools/meson.build.

v4:
  - removed commits 1 and 2 from the patch set since they are not needed
    as part of this change
  - squash commits 3,4,5,6 into a single commit
  - changes meson option from type boolean to feature
  - update travis packages
  - move check for windows to earlier in build
  - add abignore file to suppress experimental functions
  - make the directories we store dump files in hidden
  - add .dump files for v20.0 ABI to patch set

v5:
  - added more drivers' dump files
  - removed travis build with abi checks until the issues are resolved.

v6:
  - split up patch with dump files as it was too big for the ML

Kevin Laatz (11):
  lib: add dump files for v20.0 ABI
  drivers/bus: add dump files for v20.0 ABI
  drivers/mempool: add dump files for v20.0 ABI
  drivers/common: add dump files for v20.0 ABI
  drivers/raw: add dump files for v20.0 ABI
  drivers/crypto: add dump files for v20.0 ABI
  drivers/compress: add dump files for v20.0 ABI
  drivers/net: add dump files for v20.0 ABI
  drivers/net/intel: add dump files for v20.0 ABI
  build: add abi checks to meson
  build: clean up experimental syms check

 buildtools/dpdk.abignore                      |    2 +
 buildtools/meson.build                        |    3 +
 config/meson.build                            |   10 +
 devtools/gen-abi-dump.sh                      |   24 +
 drivers/.abi/librte_bus_dpaa.dump             | 5303 ++++++++++++++
 drivers/.abi/librte_bus_fslmc.dump            | 5084 +++++++++++++
 drivers/.abi/librte_bus_ifpga.dump            |  972 +++
 drivers/.abi/librte_bus_pci.dump              |  834 +++
 drivers/.abi/librte_bus_vdev.dump             |  408 ++
 drivers/.abi/librte_bus_vmbus.dump            |  918 +++
 drivers/.abi/librte_common_cpt.dump           |   36 +
 drivers/.abi/librte_common_dpaax.dump         |  177 +
 drivers/.abi/librte_common_octeontx.dump      |   77 +
 drivers/.abi/librte_common_octeontx2.dump     |  988 +++
 drivers/.abi/librte_mempool_bucket.dump       |   15 +
 drivers/.abi/librte_mempool_dpaa.dump         |  323 +
 drivers/.abi/librte_mempool_dpaa2.dump        |  484 ++
 drivers/.abi/librte_mempool_octeontx.dump     |   22 +
 drivers/.abi/librte_mempool_octeontx2.dump    |  643 ++
 drivers/.abi/librte_mempool_ring.dump         |   15 +
 drivers/.abi/librte_mempool_stack.dump        |   16 +
 drivers/.abi/librte_pmd_aesni_gcm.dump        | 1315 ++++
 drivers/.abi/librte_pmd_aesni_mb.dump         | 1315 ++++
 drivers/.abi/librte_pmd_af_packet.dump        |   22 +
 drivers/.abi/librte_pmd_af_xdp.dump           |   23 +
 drivers/.abi/librte_pmd_ark.dump              |   26 +
 drivers/.abi/librte_pmd_atlantic.dump         | 1296 ++++
 drivers/.abi/librte_pmd_avp.dump              |   26 +
 drivers/.abi/librte_pmd_axgbe.dump            |   27 +
 .../.abi/librte_pmd_bbdev_fpga_lte_fec.dump   |   74 +
 drivers/.abi/librte_pmd_bbdev_null.dump       |   17 +
 drivers/.abi/librte_pmd_bbdev_turbo_sw.dump   |   17 +
 drivers/.abi/librte_pmd_bnx2x.dump            |   28 +
 drivers/.abi/librte_pmd_bnxt.dump             | 3499 +++++++++
 drivers/.abi/librte_pmd_bond.dump             | 3586 +++++++++
 drivers/.abi/librte_pmd_caam_jr.dump          |   47 +
 drivers/.abi/librte_pmd_ccp.dump              | 1870 +++++
 drivers/.abi/librte_pmd_crypto_scheduler.dump | 1473 ++++
 drivers/.abi/librte_pmd_cxgbe.dump            |   27 +
 drivers/.abi/librte_pmd_dpaa.dump             | 2929 ++++++++
 drivers/.abi/librte_pmd_dpaa2.dump            | 3319 +++++++++
 drivers/.abi/librte_pmd_dpaa2_event.dump      |   36 +
 drivers/.abi/librte_pmd_dpaa2_sec.dump        | 1511 ++++
 drivers/.abi/librte_pmd_dpaa_event.dump       |   32 +
 drivers/.abi/librte_pmd_dpaa_sec.dump         | 1459 ++++
 drivers/.abi/librte_pmd_dsw_event.dump        |   23 +
 drivers/.abi/librte_pmd_e1000.dump            | 3414 +++++++++
 drivers/.abi/librte_pmd_ena.dump              |   32 +
 drivers/.abi/librte_pmd_enetc.dump            |   27 +
 drivers/.abi/librte_pmd_enic.dump             | 3282 +++++++++
 drivers/.abi/librte_pmd_failsafe.dump         | 3162 ++++++++
 drivers/.abi/librte_pmd_fm10k.dump            |  894 +++
 drivers/.abi/librte_pmd_hinic.dump            | 3110 ++++++++
 drivers/.abi/librte_pmd_hns3.dump             |   28 +
 drivers/.abi/librte_pmd_i40e.dump             | 3553 +++++++++
 drivers/.abi/librte_pmd_iavf.dump             |   71 +
 drivers/.abi/librte_pmd_ice.dump              | 6395 +++++++++++++++++
 drivers/.abi/librte_pmd_ifc.dump              |   24 +
 drivers/.abi/librte_pmd_ipn3ke.dump           | 3581 +++++++++
 drivers/.abi/librte_pmd_isal.dump             | 1038 +++
 drivers/.abi/librte_pmd_ixgbe.dump            | 3369 +++++++++
 drivers/.abi/librte_pmd_kasumi.dump           |   41 +
 drivers/.abi/librte_pmd_kni.dump              |   22 +
 drivers/.abi/librte_pmd_lio.dump              |   11 +
 drivers/.abi/librte_pmd_liquidio.dump         |   27 +
 drivers/.abi/librte_pmd_memif.dump            |   27 +
 drivers/.abi/librte_pmd_mlx4.dump             | 2207 ++++++
 drivers/.abi/librte_pmd_mlx5.dump             | 2155 ++++++
 drivers/.abi/librte_pmd_netvsc.dump           |   28 +
 drivers/.abi/librte_pmd_nfp.dump              |   27 +
 drivers/.abi/librte_pmd_nitrox.dump           |   19 +
 drivers/.abi/librte_pmd_null.dump             |   22 +
 drivers/.abi/librte_pmd_null_crypto.dump      | 1317 ++++
 drivers/.abi/librte_pmd_octeontx.dump         |   49 +
 drivers/.abi/librte_pmd_octeontx2.dump        | 3140 ++++++++
 drivers/.abi/librte_pmd_octeontx2_crypto.dump |   28 +
 drivers/.abi/librte_pmd_octeontx2_event.dump  |   29 +
 .../.abi/librte_pmd_octeontx_compress.dump    |   26 +
 drivers/.abi/librte_pmd_octeontx_crypto.dump  |   28 +
 drivers/.abi/librte_pmd_octeontx_event.dump   |   36 +
 drivers/.abi/librte_pmd_octeontx_ssovf.dump   |   16 +
 drivers/.abi/librte_pmd_octeontx_zip.dump     |   12 +
 drivers/.abi/librte_pmd_opdl_event.dump       |   28 +
 drivers/.abi/librte_pmd_openssl.dump          | 1315 ++++
 drivers/.abi/librte_pmd_pcap.dump             |   23 +
 drivers/.abi/librte_pmd_pfe.dump              |   41 +
 drivers/.abi/librte_pmd_qat.dump              |  119 +
 drivers/.abi/librte_pmd_qede.dump             |   46 +
 drivers/.abi/librte_pmd_ring.dump             |  142 +
 drivers/.abi/librte_pmd_sfc.dump              | 3910 ++++++++++
 drivers/.abi/librte_pmd_sfc_efx.dump          |   12 +
 drivers/.abi/librte_pmd_skeleton_event.dump   |   25 +
 drivers/.abi/librte_pmd_snow3g.dump           | 1424 ++++
 drivers/.abi/librte_pmd_softnic.dump          | 5523 ++++++++++++++
 drivers/.abi/librte_pmd_sw_event.dump         |   28 +
 drivers/.abi/librte_pmd_szedata2.dump         |   28 +
 drivers/.abi/librte_pmd_tap.dump              |   26 +
 drivers/.abi/librte_pmd_thunderx.dump         |   28 +
 drivers/.abi/librte_pmd_thunderx_nicvf.dump   |   12 +
 drivers/.abi/librte_pmd_vdev_netvsc.dump      |   22 +
 drivers/.abi/librte_pmd_vhost.dump            |   57 +
 drivers/.abi/librte_pmd_virtio.dump           | 3808 ++++++++++
 drivers/.abi/librte_pmd_virtio_crypto.dump    | 1419 ++++
 drivers/.abi/librte_pmd_vmxnet3.dump          |   27 +
 drivers/.abi/librte_pmd_vmxnet3_uio.dump      |   11 +
 drivers/.abi/librte_pmd_zlib.dump             | 1035 +++
 drivers/.abi/librte_pmd_zuc.dump              | 1315 ++++
 drivers/.abi/librte_rawdev_dpaa2_cmdif.dump   |   32 +
 drivers/.abi/librte_rawdev_dpaa2_qdma.dump    |  185 +
 drivers/.abi/librte_rawdev_ifpga.dump         |  779 ++
 drivers/.abi/librte_rawdev_ioat.dump          |   19 +
 drivers/.abi/librte_rawdev_ntb.dump           |  771 ++
 drivers/.abi/librte_rawdev_octeontx2_dma.dump |   23 +
 drivers/.abi/librte_rawdev_skeleton.dump      |   21 +
 drivers/meson.build                           |   34 +-
 lib/.abi/librte_acl.dump                      |  329 +
 lib/.abi/librte_bbdev.dump                    | 1789 +++++
 lib/.abi/librte_bitratestats.dump             |   85 +
 lib/.abi/librte_bpf.dump                      |  280 +
 lib/.abi/librte_cfgfile.dump                  |  188 +
 lib/.abi/librte_cmdline.dump                  |  728 ++
 lib/.abi/librte_compressdev.dump              | 1249 ++++
 lib/.abi/librte_cryptodev.dump                | 1806 +++++
 lib/.abi/librte_distributor.dump              |  627 ++
 lib/.abi/librte_eal.dump                      | 3329 +++++++++
 lib/.abi/librte_efd.dump                      |  319 +
 lib/.abi/librte_ethdev.dump                   | 5272 ++++++++++++++
 lib/.abi/librte_eventdev.dump                 | 5519 ++++++++++++++
 lib/.abi/librte_fib.dump                      |  327 +
 lib/.abi/librte_flow_classify.dump            | 1054 +++
 lib/.abi/librte_gro.dump                      |  428 ++
 lib/.abi/librte_gso.dump                      |  402 ++
 lib/.abi/librte_hash.dump                     |  578 ++
 lib/.abi/librte_ip_frag.dump                  |  813 +++
 lib/.abi/librte_ipsec.dump                    | 1269 ++++
 lib/.abi/librte_jobstats.dump                 |  197 +
 lib/.abi/librte_kni.dump                      |  657 ++
 lib/.abi/librte_kvargs.dump                   |   98 +
 lib/.abi/librte_latencystats.dump             |  427 ++
 lib/.abi/librte_lpm.dump                      |  330 +
 lib/.abi/librte_mbuf.dump                     |  745 ++
 lib/.abi/librte_member.dump                   |  216 +
 lib/.abi/librte_mempool.dump                  |  763 ++
 lib/.abi/librte_meter.dump                    |  197 +
 lib/.abi/librte_metrics.dump                  |  102 +
 lib/.abi/librte_net.dump                      |  489 ++
 lib/.abi/librte_pci.dump                      |   85 +
 lib/.abi/librte_pdump.dump                    |  339 +
 lib/.abi/librte_pipeline.dump                 | 1795 +++++
 lib/.abi/librte_port.dump                     |  567 ++
 lib/.abi/librte_power.dump                    |  490 ++
 lib/.abi/librte_rawdev.dump                   |  839 +++
 lib/.abi/librte_rcu.dump                      |  217 +
 lib/.abi/librte_reorder.dump                  |  455 ++
 lib/.abi/librte_rib.dump                      |  556 ++
 lib/.abi/librte_ring.dump                     |  284 +
 lib/.abi/librte_sched.dump                    | 1108 +++
 lib/.abi/librte_security.dump                 | 1125 +++
 lib/.abi/librte_stack.dump                    |  183 +
 lib/.abi/librte_table.dump                    |  544 ++
 lib/.abi/librte_telemetry.dump                |  122 +
 lib/.abi/librte_timer.dump                    |  321 +
 lib/.abi/librte_vhost.dump                    | 1629 +++++
 lib/meson.build                               |   34 +-
 meson.build                                   |    4 +
 meson_options.txt                             |    2 +
 166 files changed, 145177 insertions(+), 20 deletions(-)
 create mode 100644 buildtools/dpdk.abignore
 create mode 100755 devtools/gen-abi-dump.sh
 create mode 100644 drivers/.abi/librte_bus_dpaa.dump
 create mode 100644 drivers/.abi/librte_bus_fslmc.dump
 create mode 100644 drivers/.abi/librte_bus_ifpga.dump
 create mode 100644 drivers/.abi/librte_bus_pci.dump
 create mode 100644 drivers/.abi/librte_bus_vdev.dump
 create mode 100644 drivers/.abi/librte_bus_vmbus.dump
 create mode 100644 drivers/.abi/librte_common_cpt.dump
 create mode 100644 drivers/.abi/librte_common_dpaax.dump
 create mode 100644 drivers/.abi/librte_common_octeontx.dump
 create mode 100644 drivers/.abi/librte_common_octeontx2.dump
 create mode 100644 drivers/.abi/librte_mempool_bucket.dump
 create mode 100644 drivers/.abi/librte_mempool_dpaa.dump
 create mode 100644 drivers/.abi/librte_mempool_dpaa2.dump
 create mode 100644 drivers/.abi/librte_mempool_octeontx.dump
 create mode 100644 drivers/.abi/librte_mempool_octeontx2.dump
 create mode 100644 drivers/.abi/librte_mempool_ring.dump
 create mode 100644 drivers/.abi/librte_mempool_stack.dump
 create mode 100644 drivers/.abi/librte_pmd_aesni_gcm.dump
 create mode 100644 drivers/.abi/librte_pmd_aesni_mb.dump
 create mode 100644 drivers/.abi/librte_pmd_af_packet.dump
 create mode 100644 drivers/.abi/librte_pmd_af_xdp.dump
 create mode 100644 drivers/.abi/librte_pmd_ark.dump
 create mode 100644 drivers/.abi/librte_pmd_atlantic.dump
 create mode 100644 drivers/.abi/librte_pmd_avp.dump
 create mode 100644 drivers/.abi/librte_pmd_axgbe.dump
 create mode 100644 drivers/.abi/librte_pmd_bbdev_fpga_lte_fec.dump
 create mode 100644 drivers/.abi/librte_pmd_bbdev_null.dump
 create mode 100644 drivers/.abi/librte_pmd_bbdev_turbo_sw.dump
 create mode 100644 drivers/.abi/librte_pmd_bnx2x.dump
 create mode 100644 drivers/.abi/librte_pmd_bnxt.dump
 create mode 100644 drivers/.abi/librte_pmd_bond.dump
 create mode 100644 drivers/.abi/librte_pmd_caam_jr.dump
 create mode 100644 drivers/.abi/librte_pmd_ccp.dump
 create mode 100644 drivers/.abi/librte_pmd_crypto_scheduler.dump
 create mode 100644 drivers/.abi/librte_pmd_cxgbe.dump
 create mode 100644 drivers/.abi/librte_pmd_dpaa.dump
 create mode 100644 drivers/.abi/librte_pmd_dpaa2.dump
 create mode 100644 drivers/.abi/librte_pmd_dpaa2_event.dump
 create mode 100644 drivers/.abi/librte_pmd_dpaa2_sec.dump
 create mode 100644 drivers/.abi/librte_pmd_dpaa_event.dump
 create mode 100644 drivers/.abi/librte_pmd_dpaa_sec.dump
 create mode 100644 drivers/.abi/librte_pmd_dsw_event.dump
 create mode 100644 drivers/.abi/librte_pmd_e1000.dump
 create mode 100644 drivers/.abi/librte_pmd_ena.dump
 create mode 100644 drivers/.abi/librte_pmd_enetc.dump
 create mode 100644 drivers/.abi/librte_pmd_enic.dump
 create mode 100644 drivers/.abi/librte_pmd_failsafe.dump
 create mode 100644 drivers/.abi/librte_pmd_fm10k.dump
 create mode 100644 drivers/.abi/librte_pmd_hinic.dump
 create mode 100644 drivers/.abi/librte_pmd_hns3.dump
 create mode 100644 drivers/.abi/librte_pmd_i40e.dump
 create mode 100644 drivers/.abi/librte_pmd_iavf.dump
 create mode 100644 drivers/.abi/librte_pmd_ice.dump
 create mode 100644 drivers/.abi/librte_pmd_ifc.dump
 create mode 100644 drivers/.abi/librte_pmd_ipn3ke.dump
 create mode 100644 drivers/.abi/librte_pmd_isal.dump
 create mode 100644 drivers/.abi/librte_pmd_ixgbe.dump
 create mode 100644 drivers/.abi/librte_pmd_kasumi.dump
 create mode 100644 drivers/.abi/librte_pmd_kni.dump
 create mode 100644 drivers/.abi/librte_pmd_lio.dump
 create mode 100644 drivers/.abi/librte_pmd_liquidio.dump
 create mode 100644 drivers/.abi/librte_pmd_memif.dump
 create mode 100644 drivers/.abi/librte_pmd_mlx4.dump
 create mode 100644 drivers/.abi/librte_pmd_mlx5.dump
 create mode 100644 drivers/.abi/librte_pmd_netvsc.dump
 create mode 100644 drivers/.abi/librte_pmd_nfp.dump
 create mode 100644 drivers/.abi/librte_pmd_nitrox.dump
 create mode 100644 drivers/.abi/librte_pmd_null.dump
 create mode 100644 drivers/.abi/librte_pmd_null_crypto.dump
 create mode 100644 drivers/.abi/librte_pmd_octeontx.dump
 create mode 100644 drivers/.abi/librte_pmd_octeontx2.dump
 create mode 100644 drivers/.abi/librte_pmd_octeontx2_crypto.dump
 create mode 100644 drivers/.abi/librte_pmd_octeontx2_event.dump
 create mode 100644 drivers/.abi/librte_pmd_octeontx_compress.dump
 create mode 100644 drivers/.abi/librte_pmd_octeontx_crypto.dump
 create mode 100644 drivers/.abi/librte_pmd_octeontx_event.dump
 create mode 100644 drivers/.abi/librte_pmd_octeontx_ssovf.dump
 create mode 100644 drivers/.abi/librte_pmd_octeontx_zip.dump
 create mode 100644 drivers/.abi/librte_pmd_opdl_event.dump
 create mode 100644 drivers/.abi/librte_pmd_openssl.dump
 create mode 100644 drivers/.abi/librte_pmd_pcap.dump
 create mode 100644 drivers/.abi/librte_pmd_pfe.dump
 create mode 100644 drivers/.abi/librte_pmd_qat.dump
 create mode 100644 drivers/.abi/librte_pmd_qede.dump
 create mode 100644 drivers/.abi/librte_pmd_ring.dump
 create mode 100644 drivers/.abi/librte_pmd_sfc.dump
 create mode 100644 drivers/.abi/librte_pmd_sfc_efx.dump
 create mode 100644 drivers/.abi/librte_pmd_skeleton_event.dump
 create mode 100644 drivers/.abi/librte_pmd_snow3g.dump
 create mode 100644 drivers/.abi/librte_pmd_softnic.dump
 create mode 100644 drivers/.abi/librte_pmd_sw_event.dump
 create mode 100644 drivers/.abi/librte_pmd_szedata2.dump
 create mode 100644 drivers/.abi/librte_pmd_tap.dump
 create mode 100644 drivers/.abi/librte_pmd_thunderx.dump
 create mode 100644 drivers/.abi/librte_pmd_thunderx_nicvf.dump
 create mode 100644 drivers/.abi/librte_pmd_vdev_netvsc.dump
 create mode 100644 drivers/.abi/librte_pmd_vhost.dump
 create mode 100644 drivers/.abi/librte_pmd_virtio.dump
 create mode 100644 drivers/.abi/librte_pmd_virtio_crypto.dump
 create mode 100644 drivers/.abi/librte_pmd_vmxnet3.dump
 create mode 100644 drivers/.abi/librte_pmd_vmxnet3_uio.dump
 create mode 100644 drivers/.abi/librte_pmd_zlib.dump
 create mode 100644 drivers/.abi/librte_pmd_zuc.dump
 create mode 100644 drivers/.abi/librte_rawdev_dpaa2_cmdif.dump
 create mode 100644 drivers/.abi/librte_rawdev_dpaa2_qdma.dump
 create mode 100644 drivers/.abi/librte_rawdev_ifpga.dump
 create mode 100644 drivers/.abi/librte_rawdev_ioat.dump
 create mode 100644 drivers/.abi/librte_rawdev_ntb.dump
 create mode 100644 drivers/.abi/librte_rawdev_octeontx2_dma.dump
 create mode 100644 drivers/.abi/librte_rawdev_skeleton.dump
 create mode 100644 lib/.abi/librte_acl.dump
 create mode 100644 lib/.abi/librte_bbdev.dump
 create mode 100644 lib/.abi/librte_bitratestats.dump
 create mode 100644 lib/.abi/librte_bpf.dump
 create mode 100644 lib/.abi/librte_cfgfile.dump
 create mode 100644 lib/.abi/librte_cmdline.dump
 create mode 100644 lib/.abi/librte_compressdev.dump
 create mode 100644 lib/.abi/librte_cryptodev.dump
 create mode 100644 lib/.abi/librte_distributor.dump
 create mode 100644 lib/.abi/librte_eal.dump
 create mode 100644 lib/.abi/librte_efd.dump
 create mode 100644 lib/.abi/librte_ethdev.dump
 create mode 100644 lib/.abi/librte_eventdev.dump
 create mode 100644 lib/.abi/librte_fib.dump
 create mode 100644 lib/.abi/librte_flow_classify.dump
 create mode 100644 lib/.abi/librte_gro.dump
 create mode 100644 lib/.abi/librte_gso.dump
 create mode 100644 lib/.abi/librte_hash.dump
 create mode 100644 lib/.abi/librte_ip_frag.dump
 create mode 100644 lib/.abi/librte_ipsec.dump
 create mode 100644 lib/.abi/librte_jobstats.dump
 create mode 100644 lib/.abi/librte_kni.dump
 create mode 100644 lib/.abi/librte_kvargs.dump
 create mode 100644 lib/.abi/librte_latencystats.dump
 create mode 100644 lib/.abi/librte_lpm.dump
 create mode 100644 lib/.abi/librte_mbuf.dump
 create mode 100644 lib/.abi/librte_member.dump
 create mode 100644 lib/.abi/librte_mempool.dump
 create mode 100644 lib/.abi/librte_meter.dump
 create mode 100644 lib/.abi/librte_metrics.dump
 create mode 100644 lib/.abi/librte_net.dump
 create mode 100644 lib/.abi/librte_pci.dump
 create mode 100644 lib/.abi/librte_pdump.dump
 create mode 100644 lib/.abi/librte_pipeline.dump
 create mode 100644 lib/.abi/librte_port.dump
 create mode 100644 lib/.abi/librte_power.dump
 create mode 100644 lib/.abi/librte_rawdev.dump
 create mode 100644 lib/.abi/librte_rcu.dump
 create mode 100644 lib/.abi/librte_reorder.dump
 create mode 100644 lib/.abi/librte_rib.dump
 create mode 100644 lib/.abi/librte_ring.dump
 create mode 100644 lib/.abi/librte_sched.dump
 create mode 100644 lib/.abi/librte_security.dump
 create mode 100644 lib/.abi/librte_stack.dump
 create mode 100644 lib/.abi/librte_table.dump
 create mode 100644 lib/.abi/librte_telemetry.dump
 create mode 100644 lib/.abi/librte_timer.dump
 create mode 100644 lib/.abi/librte_vhost.dump

-- 
2.17.1


^ permalink raw reply	[relevance 8%]

* [dpdk-dev] [PATCH v6 03/11] drivers/mempool: add dump files for v20.0 ABI
  2019-12-13 16:40  8%       ` [dpdk-dev] [PATCH v6 00/11] Add ABI compatibility checks to the meson build Kevin Laatz
  2019-12-13 16:41  7%         ` [dpdk-dev] [PATCH v6 01/11] lib: add dump files for v20.0 ABI Kevin Laatz
  2019-12-13 16:41  5%         ` [dpdk-dev] [PATCH v6 02/11] drivers/bus: " Kevin Laatz
@ 2019-12-13 16:41 13%         ` Kevin Laatz
  2019-12-13 16:41 12%         ` [dpdk-dev] [PATCH v6 04/11] drivers/common: " Kevin Laatz
                           ` (8 subsequent siblings)
  11 siblings, 0 replies; 200+ results
From: Kevin Laatz @ 2019-12-13 16:41 UTC (permalink / raw)
  To: dev
  Cc: thomas, david.marchand, bruce.richardson, ray.kinsella, tdu, zr,
	cernay, Kevin Laatz

This patch adds the drivers/mempool .dump files generated for the v20.0
ABI. These files will be used to compare the ABI during the meson build
when the compat_checks meson is enabled. If there is a mismatch between the
.dump files (the baseline, ie. current stable ABI version) and the code
being compiled, then abidiff will report an error and the build will fail.

The .dump files are stored in the drivers/.abi directory.  The directory is
hidden to reduce clutter and also to discourage changing these files since
they should not be modified.

Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
---
 drivers/.abi/librte_mempool_bucket.dump    |  15 +
 drivers/.abi/librte_mempool_dpaa.dump      | 323 +++++++++++
 drivers/.abi/librte_mempool_dpaa2.dump     | 484 ++++++++++++++++
 drivers/.abi/librte_mempool_octeontx.dump  |  22 +
 drivers/.abi/librte_mempool_octeontx2.dump | 643 +++++++++++++++++++++
 drivers/.abi/librte_mempool_ring.dump      |  15 +
 drivers/.abi/librte_mempool_stack.dump     |  16 +
 7 files changed, 1518 insertions(+)
 create mode 100644 drivers/.abi/librte_mempool_bucket.dump
 create mode 100644 drivers/.abi/librte_mempool_dpaa.dump
 create mode 100644 drivers/.abi/librte_mempool_dpaa2.dump
 create mode 100644 drivers/.abi/librte_mempool_octeontx.dump
 create mode 100644 drivers/.abi/librte_mempool_octeontx2.dump
 create mode 100644 drivers/.abi/librte_mempool_ring.dump
 create mode 100644 drivers/.abi/librte_mempool_stack.dump

diff --git a/drivers/.abi/librte_mempool_bucket.dump b/drivers/.abi/librte_mempool_bucket.dump
new file mode 100644
index 000000000..548256ae7
--- /dev/null
+++ b/drivers/.abi/librte_mempool_bucket.dump
@@ -0,0 +1,15 @@
+<abi-corpus path='gcc//drivers/librte_mempool_bucket.so.20.0' architecture='elf-amd-x86_64' soname='librte_mempool_bucket.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+</abi-corpus>
diff --git a/drivers/.abi/librte_mempool_dpaa.dump b/drivers/.abi/librte_mempool_dpaa.dump
new file mode 100644
index 000000000..3bdbc43ac
--- /dev/null
+++ b/drivers/.abi/librte_mempool_dpaa.dump
@@ -0,0 +1,323 @@
+<abi-corpus path='gcc//drivers/librte_mempool_dpaa.so.20.0' architecture='elf-amd-x86_64' soname='librte_mempool_dpaa.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_bus_dpaa.so.20.0'/>
+    <dependency name='librte_common_dpaax.so.20.0'/>
+    <dependency name='librte_eventdev.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='librte_timer.so.20.0'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-variable-symbols>
+    <elf-symbol name='rte_dpaa_bpid_info' size='8' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_dpaa_memsegs' size='16' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='../drivers/mempool/dpaa/dpaa_mempool.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='dpaa_memseg_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='110' column='1' id='type-id-1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-2' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='110' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-3' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='dpaa_memseg' size-in-bits='320' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='103' column='1' id='type-id-4'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-5' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='104' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vaddr' type-id='type-id-6' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iova' type-id='type-id-7' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='107' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='104' column='1' id='type-id-5'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-2' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='104' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-3' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='104' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-2'/>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-3'/>
+    <type-decl name='char' size-in-bits='8' id='type-id-9'/>
+    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-6'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-10'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-10' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-11'/>
+    <typedef-decl name='uint64_t' type-id='type-id-11' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-12'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-12' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-7'/>
+    <typedef-decl name='size_t' type-id='type-id-10' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-8'/>
+    <var-decl name='rte_dpaa_memsegs' type-id='type-id-1' mangled-name='rte_dpaa_memsegs' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='111' column='1' elf-symbol-id='rte_dpaa_memsegs@@DPDK_20.0'/>
+    <class-decl name='dpaa_bp_info' size-in-bits='384' is-struct='yes' visibility='default' filepath='../drivers/mempool/dpaa/dpaa_mempool.h' line='34' column='1' id='type-id-13'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mp' type-id='type-id-14' visibility='default' filepath='../drivers/mempool/dpaa/dpaa_mempool.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bp' type-id='type-id-15' visibility='default' filepath='../drivers/mempool/dpaa/dpaa_mempool.h' line='36' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='bpid' type-id='type-id-16' visibility='default' filepath='../drivers/mempool/dpaa/dpaa_mempool.h' line='37' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='size' type-id='type-id-16' visibility='default' filepath='../drivers/mempool/dpaa/dpaa_mempool.h' line='38' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='meta_data_size' type-id='type-id-16' visibility='default' filepath='../drivers/mempool/dpaa/dpaa_mempool.h' line='39' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='dpaa_ops_index' type-id='type-id-17' visibility='default' filepath='../drivers/mempool/dpaa/dpaa_mempool.h' line='40' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='ptov_off' type-id='type-id-18' visibility='default' filepath='../drivers/mempool/dpaa/dpaa_mempool.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='flags' type-id='type-id-19' visibility='default' filepath='../drivers/mempool/dpaa/dpaa_mempool.h' line='42' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-20'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-21' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-22' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-23' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-24' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-25' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-26' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-16' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-16' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-16' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-16' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-16' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-17' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-27' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-16' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-16' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-29' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-9' size-in-bits='256' id='type-id-21'>
+      <subrange length='32' type-id='type-id-10' id='type-id-30'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-22'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-23' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-12' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <type-decl name='void' id='type-id-31'/>
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-23'/>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-32'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-21' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-33' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-8' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-12' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-17' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-33'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-34' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-7' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-12' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-34'/>
+    <type-decl name='int' size-in-bits='32' id='type-id-26'/>
+    <typedef-decl name='__int32_t' type-id='type-id-26' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-35'/>
+    <typedef-decl name='int32_t' type-id='type-id-35' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-17'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-25'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-25' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-36'/>
+    <typedef-decl name='uint32_t' type-id='type-id-36' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-16'/>
+    <qualified-type-def type-id='type-id-32' const='yes' id='type-id-37'/>
+    <pointer-type-def type-id='type-id-37' size-in-bits='64' id='type-id-24'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-38'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-16' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-16' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-16' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-23' size-in-bits='98304' id='type-id-39'>
+      <subrange length='1536' type-id='type-id-10' id='type-id-40'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-38' size-in-bits='64' id='type-id-27'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-28'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-41' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-42' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-43'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-44' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-14' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-45' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-44'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-41' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-43' size-in-bits='64' id='type-id-41'/>
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-14'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-45'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-7' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-34' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-42'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-29'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-46' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-47' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-48'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-14' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-23' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-50' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-8' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-51' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-23' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-49'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-46' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-46'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-50'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-7' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-34' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-52' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-53'/>
+    <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-51'/>
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-47'/>
+    <class-decl name='bman_pool' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-54'/>
+    <pointer-type-def type-id='type-id-54' size-in-bits='64' id='type-id-15'/>
+    <type-decl name='long int' size-in-bits='64' id='type-id-55'/>
+    <typedef-decl name='__int64_t' type-id='type-id-55' filepath='/usr/include/bits/types.h' line='44' column='1' id='type-id-56'/>
+    <typedef-decl name='int64_t' type-id='type-id-56' filepath='/usr/include/bits/stdint-intn.h' line='27' column='1' id='type-id-18'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-57'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-57' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-58'/>
+    <typedef-decl name='uint8_t' type-id='type-id-58' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-19'/>
+    <pointer-type-def type-id='type-id-13' size-in-bits='64' id='type-id-59'/>
+    <var-decl name='rte_dpaa_bpid_info' type-id='type-id-59' mangled-name='rte_dpaa_bpid_info' visibility='default' filepath='../drivers/mempool/dpaa/dpaa_mempool.h' line='57' column='1' elf-symbol-id='rte_dpaa_bpid_info@@DPDK_20.0'/>
+    <function-type size-in-bits='64' id='type-id-52'>
+      <parameter type-id='type-id-46'/>
+      <parameter type-id='type-id-23'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_mempool_dpaa2.dump b/drivers/.abi/librte_mempool_dpaa2.dump
new file mode 100644
index 000000000..bbe54f731
--- /dev/null
+++ b/drivers/.abi/librte_mempool_dpaa2.dump
@@ -0,0 +1,484 @@
+<abi-corpus path='gcc//drivers/librte_mempool_dpaa2.so.20.0' architecture='elf-amd-x86_64' soname='librte_mempool_dpaa2.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_bus_fslmc.so.20.0'/>
+    <dependency name='librte_common_dpaax.so.20.0'/>
+    <dependency name='librte_eventdev.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='librte_timer.so.20.0'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_dpaa2_mbuf_alloc_bulk' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_dpaa2_mbuf_from_buf_addr' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_dpaa2_mbuf_pool_bpid' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <elf-variable-symbols>
+    <elf-symbol name='rte_dpaa2_bpid_info' size='8' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='../drivers/mempool/dpaa2/dpaa2_hw_mempool.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='dpaa2_bp_info' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/mempool/dpaa2/dpaa2_hw_mempool.h' line='53' column='1' id='type-id-1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='meta_data_size' type-id='type-id-2' visibility='default' filepath='../drivers/mempool/dpaa2/dpaa2_hw_mempool.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='bpid' type-id='type-id-2' visibility='default' filepath='../drivers/mempool/dpaa2/dpaa2_hw_mempool.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bp_list' type-id='type-id-3' visibility='default' filepath='../drivers/mempool/dpaa2/dpaa2_hw_mempool.h' line='56' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-4'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-4' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-5'/>
+    <typedef-decl name='uint32_t' type-id='type-id-5' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-2'/>
+    <class-decl name='dpaa2_bp_list' size-in-bits='448' is-struct='yes' visibility='default' filepath='../drivers/mempool/dpaa2/dpaa2_hw_mempool.h' line='46' column='1' id='type-id-6'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-3' visibility='default' filepath='../drivers/mempool/dpaa2/dpaa2_hw_mempool.h' line='47' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-7' visibility='default' filepath='../drivers/mempool/dpaa2/dpaa2_hw_mempool.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dpaa2_ops_index' type-id='type-id-8' visibility='default' filepath='../drivers/mempool/dpaa2/dpaa2_hw_mempool.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='buf_pool' type-id='type-id-9' visibility='default' filepath='../drivers/mempool/dpaa2/dpaa2_hw_mempool.h' line='50' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-6' size-in-bits='64' id='type-id-3'/>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-10'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-11' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-12' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-13' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-14' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-4' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-15' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-2' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-2' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-2' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-2' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-2' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-4' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-8' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-16' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-2' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-17' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-2' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-18' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-19'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-20'/>
+
+    <array-type-def dimensions='1' type-id='type-id-19' size-in-bits='256' id='type-id-11'>
+      <subrange length='32' type-id='type-id-20' id='type-id-21'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-12'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-13' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-22' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <type-decl name='void' id='type-id-23'/>
+    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-13'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-20' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-24'/>
+    <typedef-decl name='uint64_t' type-id='type-id-24' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-22'/>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-25'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-11' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-26' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-27' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-22' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-8' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-2' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-26'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-28' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-29' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-22' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-28'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-22' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-29'/>
+    <typedef-decl name='size_t' type-id='type-id-20' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-27'/>
+    <type-decl name='int' size-in-bits='32' id='type-id-15'/>
+    <typedef-decl name='__int32_t' type-id='type-id-15' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-30'/>
+    <typedef-decl name='int32_t' type-id='type-id-30' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-8'/>
+    <qualified-type-def type-id='type-id-25' const='yes' id='type-id-31'/>
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-14'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-32'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-2' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-2' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-2' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-33' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-13' size-in-bits='98304' id='type-id-33'>
+      <subrange length='1536' type-id='type-id-20' id='type-id-34'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-16'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-17'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-35' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-36' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-37'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-38' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-7' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-39' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-38'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-35' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-37' size-in-bits='64' id='type-id-35'/>
+    <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-7'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-39'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-29' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-35' size-in-bits='64' id='type-id-36'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-18'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-40' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-41' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-42'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-43' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-7' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-13' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-44' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-27' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-45' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-13' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-43'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-40' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-42' size-in-bits='64' id='type-id-40'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-44'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-29' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-46' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-47'/>
+    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-45'/>
+    <pointer-type-def type-id='type-id-40' size-in-bits='64' id='type-id-41'/>
+    <class-decl name='buf_pool' size-in-bits='256' is-struct='yes' visibility='default' filepath='../drivers/mempool/dpaa2/dpaa2_hw_mempool.h' line='30' column='1' id='type-id-9'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-2' visibility='default' filepath='../drivers/mempool/dpaa2/dpaa2_hw_mempool.h' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='num_bufs' type-id='type-id-2' visibility='default' filepath='../drivers/mempool/dpaa2/dpaa2_hw_mempool.h' line='32' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bpid' type-id='type-id-48' visibility='default' filepath='../drivers/mempool/dpaa2/dpaa2_hw_mempool.h' line='33' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='h_bpool_mem' type-id='type-id-49' visibility='default' filepath='../drivers/mempool/dpaa2/dpaa2_hw_mempool.h' line='34' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dpbp_node' type-id='type-id-50' visibility='default' filepath='../drivers/mempool/dpaa2/dpaa2_hw_mempool.h' line='35' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-51'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-51' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-52'/>
+    <typedef-decl name='uint16_t' type-id='type-id-52' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-48'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-53'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-53' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-54'/>
+    <typedef-decl name='uint8_t' type-id='type-id-54' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-55'/>
+    <pointer-type-def type-id='type-id-55' size-in-bits='64' id='type-id-49'/>
+    <class-decl name='dpaa2_dpbp_dev' size-in-bits='256' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='117' column='1' id='type-id-56'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-57' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='118' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dpbp' type-id='type-id-58' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='120' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='token' type-id='type-id-48' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='121' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='208'>
+        <var-decl name='in_use' type-id='type-id-59' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='122' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='dpbp_id' type-id='type-id-2' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='123' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='118' column='1' id='type-id-57'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-50' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='118' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-60' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='118' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-56' size-in-bits='64' id='type-id-50'/>
+    <pointer-type-def type-id='type-id-50' size-in-bits='64' id='type-id-60'/>
+    <class-decl name='fsl_mc_io' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_mc_sys.h' line='57' column='1' id='type-id-58'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='regs' type-id='type-id-13' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_mc_sys.h' line='58' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-59' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-61'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-62' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-63'/>
+    <typedef-decl name='__int16_t' type-id='type-id-63' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-64'/>
+    <typedef-decl name='int16_t' type-id='type-id-64' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-65'/>
+    <qualified-type-def type-id='type-id-65' volatile='yes' id='type-id-62'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-61' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-59'/>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-66'/>
+    <var-decl name='rte_dpaa2_bpid_info' type-id='type-id-66' mangled-name='rte_dpaa2_bpid_info' visibility='default' filepath='../drivers/mempool/dpaa2/dpaa2_hw_mempool.h' line='62' column='1' elf-symbol-id='rte_dpaa2_bpid_info@@DPDK_20.0'/>
+    <var-decl name='dpaa2_logtype_mempool' type-id='type-id-15' visibility='default' filepath='../drivers/mempool/dpaa2/dpaa2_hw_mempool_logs.h' line='8' column='1'/>
+    <pointer-type-def type-id='type-id-13' size-in-bits='64' id='type-id-67'/>
+    <function-decl name='rte_dpaa2_mbuf_alloc_bulk' mangled-name='rte_dpaa2_mbuf_alloc_bulk' filepath='../drivers/mempool/dpaa2/dpaa2_hw_mempool.c' line='295' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_dpaa2_mbuf_alloc_bulk@@DPDK_20.0'>
+      <parameter type-id='type-id-7' name='pool' filepath='../drivers/mempool/dpaa2/dpaa2_hw_mempool.c' line='295' column='1'/>
+      <parameter type-id='type-id-67' name='obj_table' filepath='../drivers/mempool/dpaa2/dpaa2_hw_mempool.c' line='296' column='1'/>
+      <parameter type-id='type-id-4' name='count' filepath='../drivers/mempool/dpaa2/dpaa2_hw_mempool.c' line='296' column='1'/>
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <class-decl name='rte_mbuf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='480' column='1' id='type-id-68'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheline0' type-id='type-id-69' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-13' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-70' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rearm_data' type-id='type-id-71' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='497' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_off' type-id='type-id-48' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_segs' type-id='type-id-48' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='port' type-id='type-id-48' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ol_flags' type-id='type-id-22' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_descriptor_fields1' type-id='type-id-69' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='pkt_len' type-id='type-id-2' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data_len' type-id='type-id-48' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='vlan_tci' type-id='type-id-48' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vlan_tci_outer' type-id='type-id-48' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='buf_len' type-id='type-id-48' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='timestamp' type-id='type-id-22' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cacheline1' type-id='type-id-69' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='pool' type-id='type-id-7' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='next' type-id='type-id-72' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv_size' type-id='type-id-48' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='timesync' type-id='type-id-48' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='seqn' type-id='type-id-2' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='shinfo' type-id='type-id-73' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dynfield1' type-id='type-id-74' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-13' size-in-bits='infinite' id='type-id-75'>
+      <subrange length='infinite' type-id='type-id-20' id='type-id-76'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER' type-id='type-id-75' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='414' column='1' id='type-id-69'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='491' column='1' id='type-id-70'>
+      <data-member access='private'>
+        <var-decl name='buf_iova' type-id='type-id-29' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='buf_physaddr' type-id='type-id-29' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-22' size-in-bits='infinite' id='type-id-77'>
+      <subrange length='infinite' type-id='type-id-20' id='type-id-76'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER64' type-id='type-id-77' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='420' column='1' id='type-id-71'/>
+    <pointer-type-def type-id='type-id-68' size-in-bits='64' id='type-id-72'/>
+    <class-decl name='rte_mbuf_ext_shared_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='689' column='1' id='type-id-78'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_cb' type-id='type-id-79' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcb_opaque' type-id='type-id-13' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt_atomic' type-id='type-id-59' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-80' size-in-bits='64' id='type-id-81'/>
+    <typedef-decl name='rte_mbuf_extbuf_free_callback_t' type-id='type-id-81' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='684' column='1' id='type-id-79'/>
+    <pointer-type-def type-id='type-id-78' size-in-bits='64' id='type-id-73'/>
+
+    <array-type-def dimensions='1' type-id='type-id-22' size-in-bits='128' id='type-id-74'>
+      <subrange length='2' type-id='type-id-20' id='type-id-82'/>
+
+    </array-type-def>
+    <function-decl name='rte_dpaa2_mbuf_from_buf_addr' mangled-name='rte_dpaa2_mbuf_from_buf_addr' filepath='../drivers/mempool/dpaa2/dpaa2_hw_mempool.c' line='280' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_dpaa2_mbuf_from_buf_addr@@DPDK_20.0'>
+      <parameter type-id='type-id-7' name='mp' filepath='../drivers/mempool/dpaa2/dpaa2_hw_mempool.c' line='280' column='1'/>
+      <parameter type-id='type-id-13' name='buf_addr' filepath='../drivers/mempool/dpaa2/dpaa2_hw_mempool.c' line='280' column='1'/>
+      <return type-id='type-id-72'/>
+    </function-decl>
+    <function-decl name='rte_dpaa2_mbuf_pool_bpid' mangled-name='rte_dpaa2_mbuf_pool_bpid' filepath='../drivers/mempool/dpaa2/dpaa2_hw_mempool.c' line='266' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_dpaa2_mbuf_pool_bpid@@DPDK_20.0'>
+      <parameter type-id='type-id-7' name='mp' filepath='../drivers/mempool/dpaa2/dpaa2_hw_mempool.c' line='266' column='1'/>
+      <return type-id='type-id-48'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-46'>
+      <parameter type-id='type-id-40'/>
+      <parameter type-id='type-id-13'/>
+      <return type-id='type-id-23'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-80'>
+      <parameter type-id='type-id-13'/>
+      <parameter type-id='type-id-13'/>
+      <return type-id='type-id-23'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_mempool_octeontx.dump b/drivers/.abi/librte_mempool_octeontx.dump
new file mode 100644
index 000000000..ebc4c6ca9
--- /dev/null
+++ b/drivers/.abi/librte_mempool_octeontx.dump
@@ -0,0 +1,22 @@
+<abi-corpus path='gcc//drivers/librte_mempool_octeontx.so.20.0' architecture='elf-amd-x86_64' soname='librte_mempool_octeontx.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_common_octeontx.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/mempool/octeontx/octeontx_fpavf.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='octeontx_logtype_fpavf' type-id='type-id-1' visibility='default' filepath='../drivers/mempool/octeontx/octeontx_pool_logs.h' line='20' column='1'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_mempool_octeontx2.dump b/drivers/.abi/librte_mempool_octeontx2.dump
new file mode 100644
index 000000000..d9a7622e0
--- /dev/null
+++ b/drivers/.abi/librte_mempool_octeontx2.dump
@@ -0,0 +1,643 @@
+<abi-corpus path='gcc//drivers/librte_mempool_octeontx2.so.20.0' architecture='elf-amd-x86_64' soname='librte_mempool_octeontx2.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_common_octeontx2.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='otx2_npa_lf_fini' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='otx2_npa_lf_init' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../drivers/mempool/octeontx2/otx2_mempool.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <class-decl name='rte_pci_device' size-in-bits='428736' is-struct='yes' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='57' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-3' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='device' type-id='type-id-4' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='addr' type-id='type-id-5' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='60' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='id' type-id='type-id-6' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='mem_resource' type-id='type-id-7' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='intr_handle' type-id='type-id-8' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='215168'>
+        <var-decl name='driver' type-id='type-id-9' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='215232'>
+        <var-decl name='max_vfs' type-id='type-id-10' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='215264'>
+        <var-decl name='kdrv' type-id='type-id-11' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='215296'>
+        <var-decl name='name' type-id='type-id-12' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='215488'>
+        <var-decl name='vfio_req_intr_handle' type-id='type-id-8' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='69' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='58' column='1' id='type-id-3'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-13' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-14' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='58' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-13'/>
+    <pointer-type-def type-id='type-id-13' size-in-bits='64' id='type-id-14'/>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-4'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-15' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-17' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-18' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-15'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-20' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-21' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-20'/>
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-21'/>
+    <type-decl name='char' size-in-bits='8' id='type-id-22'/>
+    <qualified-type-def type-id='type-id-22' const='yes' id='type-id-23'/>
+    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-16'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-24'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-25' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-25'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-26' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-27' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-26'/>
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-27'/>
+    <qualified-type-def type-id='type-id-24' const='yes' id='type-id-28'/>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-17'/>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-29'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-30' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-31' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-32' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-33' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-34' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-35' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-36' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-37' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-38' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-39' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-40' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-41' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-42' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-43' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-30'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-44' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-45' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-44'/>
+    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-45'/>
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-47'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-47' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-31'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-47' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-32'/>
+    <qualified-type-def type-id='type-id-4' const='yes' id='type-id-48'/>
+    <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-49'/>
+    <type-decl name='void' id='type-id-50'/>
+    <pointer-type-def type-id='type-id-50' size-in-bits='64' id='type-id-51'/>
+    <pointer-type-def type-id='type-id-52' size-in-bits='64' id='type-id-53'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-53' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-54'/>
+    <pointer-type-def type-id='type-id-55' size-in-bits='64' id='type-id-56'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-56' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-33'/>
+    <pointer-type-def type-id='type-id-57' size-in-bits='64' id='type-id-58'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-58' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-34'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-58' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-35'/>
+    <pointer-type-def type-id='type-id-59' size-in-bits='64' id='type-id-60'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-60' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-36'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-61'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-61' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-62'/>
+    <typedef-decl name='uint64_t' type-id='type-id-62' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-63'/>
+    <typedef-decl name='size_t' type-id='type-id-61' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-64'/>
+    <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-66'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-66' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-37'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-66' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-38'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-39'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-67' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-68'/>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-67'>
+      <underlying-type type-id='type-id-68'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-69'>
+      <underlying-type type-id='type-id-68'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-70' size-in-bits='64' id='type-id-71'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-71' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-40'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-72'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-44' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-73' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-20' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-51' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-74'/>
+    <pointer-type-def type-id='type-id-74' size-in-bits='64' id='type-id-73'/>
+    <qualified-type-def type-id='type-id-72' const='yes' id='type-id-75'/>
+    <pointer-type-def type-id='type-id-75' size-in-bits='64' id='type-id-76'/>
+    <pointer-type-def type-id='type-id-77' size-in-bits='64' id='type-id-78'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-78' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-41'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-58' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-42'/>
+    <pointer-type-def type-id='type-id-79' size-in-bits='64' id='type-id-80'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-80' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-43'/>
+    <qualified-type-def type-id='type-id-29' const='yes' id='type-id-81'/>
+    <pointer-type-def type-id='type-id-81' size-in-bits='64' id='type-id-18'/>
+    <class-decl name='rte_devargs' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='47' column='1' id='type-id-82'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-83' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='type' type-id='type-id-84' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='policy' type-id='type-id-85' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='name' type-id='type-id-86' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='' type-id='type-id-87' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='bus' type-id='type-id-44' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='cls' type-id='type-id-73' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='bus_str' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='cls_str' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='data' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='66' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1' id='type-id-83'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-88' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-82' size-in-bits='64' id='type-id-19'/>
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-88'/>
+    <enum-decl name='rte_devtype' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='31' column='1' id='type-id-84'>
+      <underlying-type type-id='type-id-68'/>
+      <enumerator name='RTE_DEVTYPE_WHITELISTED_PCI' value='0'/>
+      <enumerator name='RTE_DEVTYPE_BLACKLISTED_PCI' value='1'/>
+      <enumerator name='RTE_DEVTYPE_VIRTUAL' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_dev_policy' filepath='../lib/librte_eal/common/include/rte_dev.h' line='72' column='1' id='type-id-85'>
+      <underlying-type type-id='type-id-68'/>
+      <enumerator name='RTE_DEV_WHITELISTED' value='0'/>
+      <enumerator name='RTE_DEV_BLACKLISTED' value='1'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-22' size-in-bits='512' id='type-id-86'>
+      <subrange length='64' type-id='type-id-61' id='type-id-89'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='57' column='1' id='type-id-87'>
+      <data-member access='private'>
+        <var-decl name='args' type-id='type-id-90' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='drv_str' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='60' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-90'/>
+    <class-decl name='rte_pci_addr' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='61' column='1' id='type-id-5'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='domain' type-id='type-id-91' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='bus' type-id='type-id-92' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='devid' type-id='type-id-92' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='function' type-id='type-id-92' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-93'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-93' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-94'/>
+    <typedef-decl name='uint32_t' type-id='type-id-94' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-91'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-95'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-95' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-96'/>
+    <typedef-decl name='uint8_t' type-id='type-id-96' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-92'/>
+    <class-decl name='rte_pci_id' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='50' column='1' id='type-id-6'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='class_id' type-id='type-id-91' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='vendor_id' type-id='type-id-10' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='device_id' type-id='type-id-10' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='subsystem_vendor_id' type-id='type-id-10' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='subsystem_device_id' type-id='type-id-10' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='55' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-97'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-97' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-98'/>
+    <typedef-decl name='uint16_t' type-id='type-id-98' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-10'/>
+    <class-decl name='rte_mem_resource' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='80' column='1' id='type-id-99'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='phys_addr' type-id='type-id-63' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-63' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='82' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-51' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-99' size-in-bits='1152' id='type-id-7'>
+      <subrange length='6' type-id='type-id-61' id='type-id-100'/>
+
+    </array-type-def>
+    <class-decl name='rte_intr_handle' size-in-bits='213248' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='69' column='1' id='type-id-8'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-101' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-102' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='max_intr' type-id='type-id-91' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='nb_efd' type-id='type-id-91' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='efd_counter_size' type-id='type-id-92' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='efds' type-id='type-id-103' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16576'>
+        <var-decl name='elist' type-id='type-id-104' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='213184'>
+        <var-decl name='intr_vec' type-id='type-id-105' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='71' column='1' id='type-id-101'>
+      <data-member access='private'>
+        <var-decl name='vfio_dev_fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='uio_cfg_fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='73' column='1'/>
+      </data-member>
+    </union-decl>
+    <enum-decl name='rte_intr_handle_type' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='27' column='1' id='type-id-102'>
+      <underlying-type type-id='type-id-68'/>
+      <enumerator name='RTE_INTR_HANDLE_UNKNOWN' value='0'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO' value='1'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO_INTX' value='2'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_LEGACY' value='3'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSI' value='4'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSIX' value='5'/>
+      <enumerator name='RTE_INTR_HANDLE_ALARM' value='6'/>
+      <enumerator name='RTE_INTR_HANDLE_EXT' value='7'/>
+      <enumerator name='RTE_INTR_HANDLE_VDEV' value='8'/>
+      <enumerator name='RTE_INTR_HANDLE_DEV_EVENT' value='9'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_REQ' value='10'/>
+      <enumerator name='RTE_INTR_HANDLE_MAX' value='11'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='16384' id='type-id-103'>
+      <subrange length='512' type-id='type-id-61' id='type-id-106'/>
+
+    </array-type-def>
+    <class-decl name='rte_epoll_event' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='61' column='1' id='type-id-107'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='status' type-id='type-id-108' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='epfd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='epdata' type-id='type-id-109' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-91' volatile='yes' id='type-id-108'/>
+    <class-decl name='rte_epoll_data' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='47' column='1' id='type-id-109'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event' type-id='type-id-91' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='data' type-id='type-id-51' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cb_fun' type-id='type-id-110' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='cb_arg' type-id='type-id-51' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='51' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-111' size-in-bits='64' id='type-id-112'/>
+    <typedef-decl name='rte_intr_event_cb_t' type-id='type-id-112' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='45' column='1' id='type-id-110'/>
+
+    <array-type-def dimensions='1' type-id='type-id-107' size-in-bits='196608' id='type-id-104'>
+      <subrange length='512' type-id='type-id-61' id='type-id-106'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-105'/>
+    <class-decl name='rte_pci_driver' size-in-bits='832' is-struct='yes' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='157' column='1' id='type-id-113'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-114' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='158' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='driver' type-id='type-id-24' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='159' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='bus' type-id='type-id-115' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='160' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='probe' type-id='type-id-116' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='161' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='remove' type-id='type-id-117' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='162' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-118' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='163' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-119' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='164' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='id_table' type-id='type-id-120' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='165' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='drv_flags' type-id='type-id-91' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='166' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='158' column='1' id='type-id-114'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-9' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='158' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-121' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='158' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-113' size-in-bits='64' id='type-id-9'/>
+    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-121'/>
+    <class-decl name='rte_pci_bus' size-in-bits='1280' is-struct='yes' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='172' column='1' id='type-id-122'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='bus' type-id='type-id-29' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='173' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='device_list' type-id='type-id-123' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='174' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='driver_list' type-id='type-id-124' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='175' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_pci_device_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='41' column='1' id='type-id-123'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-13' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-14' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='41' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_pci_driver_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='43' column='1' id='type-id-124'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-9' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-121' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='43' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-122' size-in-bits='64' id='type-id-115'/>
+    <typedef-decl name='pci_probe_t' type-id='type-id-125' filepath='../drivers/bus/pci/rte_bus_pci.h' line='109' column='1' id='type-id-126'/>
+    <pointer-type-def type-id='type-id-126' size-in-bits='64' id='type-id-116'/>
+    <typedef-decl name='pci_remove_t' type-id='type-id-127' filepath='../drivers/bus/pci/rte_bus_pci.h' line='114' column='1' id='type-id-128'/>
+    <pointer-type-def type-id='type-id-128' size-in-bits='64' id='type-id-117'/>
+    <typedef-decl name='pci_dma_map_t' type-id='type-id-129' filepath='../drivers/bus/pci/rte_bus_pci.h' line='132' column='1' id='type-id-130'/>
+    <pointer-type-def type-id='type-id-130' size-in-bits='64' id='type-id-118'/>
+    <typedef-decl name='pci_dma_unmap_t' type-id='type-id-129' filepath='../drivers/bus/pci/rte_bus_pci.h' line='151' column='1' id='type-id-131'/>
+    <pointer-type-def type-id='type-id-131' size-in-bits='64' id='type-id-119'/>
+    <qualified-type-def type-id='type-id-6' const='yes' id='type-id-132'/>
+    <pointer-type-def type-id='type-id-132' size-in-bits='64' id='type-id-120'/>
+    <enum-decl name='rte_kernel_driver' filepath='../lib/librte_eal/common/include/rte_dev.h' line='60' column='1' id='type-id-11'>
+      <underlying-type type-id='type-id-68'/>
+      <enumerator name='RTE_KDRV_UNKNOWN' value='0'/>
+      <enumerator name='RTE_KDRV_IGB_UIO' value='1'/>
+      <enumerator name='RTE_KDRV_VFIO' value='2'/>
+      <enumerator name='RTE_KDRV_UIO_GENERIC' value='3'/>
+      <enumerator name='RTE_KDRV_NIC_UIO' value='4'/>
+      <enumerator name='RTE_KDRV_NONE' value='5'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-22' size-in-bits='144' id='type-id-12'>
+      <subrange length='18' type-id='type-id-61' id='type-id-133'/>
+
+    </array-type-def>
+    <function-decl name='otx2_npa_lf_init' mangled-name='otx2_npa_lf_init' filepath='../drivers/mempool/octeontx2/otx2_mempool.c' line='266' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='otx2_npa_lf_init@@DPDK_20.0'>
+      <parameter type-id='type-id-13' name='pci_dev' filepath='../drivers/mempool/octeontx2/otx2_mempool.c' line='266' column='1'/>
+      <parameter type-id='type-id-51' name='otx2_dev' filepath='../drivers/mempool/octeontx2/otx2_mempool.c' line='266' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='otx2_npa_lf_fini' mangled-name='otx2_npa_lf_fini' filepath='../drivers/mempool/octeontx2/otx2_mempool.c' line='242' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='otx2_npa_lf_fini@@DPDK_20.0'>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-70'>
+      <return type-id='type-id-69'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-46'>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-59'>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-51'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-52'>
+      <parameter type-id='type-id-49'/>
+      <parameter type-id='type-id-51'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-57'>
+      <parameter type-id='type-id-20'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-65'>
+      <parameter type-id='type-id-20'/>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-63'/>
+      <parameter type-id='type-id-64'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-127'>
+      <parameter type-id='type-id-13'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-129'>
+      <parameter type-id='type-id-13'/>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-63'/>
+      <parameter type-id='type-id-64'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-125'>
+      <parameter type-id='type-id-9'/>
+      <parameter type-id='type-id-13'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-79'>
+      <parameter type-id='type-id-51'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-55'>
+      <parameter type-id='type-id-49'/>
+      <parameter type-id='type-id-54'/>
+      <parameter type-id='type-id-51'/>
+      <return type-id='type-id-20'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-111'>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-51'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-77'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-76'/>
+      <return type-id='type-id-51'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_mempool_ring.dump b/drivers/.abi/librte_mempool_ring.dump
new file mode 100644
index 000000000..43ba8edb9
--- /dev/null
+++ b/drivers/.abi/librte_mempool_ring.dump
@@ -0,0 +1,15 @@
+<abi-corpus path='gcc//drivers/librte_mempool_ring.so.20.0' architecture='elf-amd-x86_64' soname='librte_mempool_ring.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+</abi-corpus>
diff --git a/drivers/.abi/librte_mempool_stack.dump b/drivers/.abi/librte_mempool_stack.dump
new file mode 100644
index 000000000..4a1e5da1a
--- /dev/null
+++ b/drivers/.abi/librte_mempool_stack.dump
@@ -0,0 +1,16 @@
+<abi-corpus path='gcc//drivers/librte_mempool_stack.so.20.0' architecture='elf-amd-x86_64' soname='librte_mempool_stack.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_stack.so.0.200'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+</abi-corpus>
-- 
2.17.1


^ permalink raw reply	[relevance 13%]

* [dpdk-dev] [PATCH v6 04/11] drivers/common: add dump files for v20.0 ABI
  2019-12-13 16:40  8%       ` [dpdk-dev] [PATCH v6 00/11] Add ABI compatibility checks to the meson build Kevin Laatz
                           ` (2 preceding siblings ...)
  2019-12-13 16:41 13%         ` [dpdk-dev] [PATCH v6 03/11] drivers/mempool: " Kevin Laatz
@ 2019-12-13 16:41 12%         ` Kevin Laatz
  2019-12-13 16:41 13%         ` [dpdk-dev] [PATCH v6 05/11] drivers/raw: " Kevin Laatz
                           ` (7 subsequent siblings)
  11 siblings, 0 replies; 200+ results
From: Kevin Laatz @ 2019-12-13 16:41 UTC (permalink / raw)
  To: dev
  Cc: thomas, david.marchand, bruce.richardson, ray.kinsella, tdu, zr,
	cernay, Kevin Laatz

This patch adds the drivers/common .dump files generated for the v20.0
ABI. These files will be used to compare the ABI during the meson build
when the compat_checks meson is enabled. If there is a mismatch between the
.dump files (the baseline, ie. current stable ABI version) and the code
being compiled, then abidiff will report an error and the build will fail.

The .dump files are stored in the drivers/.abi directory.  The directory is
hidden to reduce clutter and also to discourage changing these files since
they should not be modified.

Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
---
 drivers/.abi/librte_common_cpt.dump       |  36 +
 drivers/.abi/librte_common_dpaax.dump     | 177 ++++
 drivers/.abi/librte_common_octeontx.dump  |  77 ++
 drivers/.abi/librte_common_octeontx2.dump | 988 ++++++++++++++++++++++
 4 files changed, 1278 insertions(+)
 create mode 100644 drivers/.abi/librte_common_cpt.dump
 create mode 100644 drivers/.abi/librte_common_dpaax.dump
 create mode 100644 drivers/.abi/librte_common_octeontx.dump
 create mode 100644 drivers/.abi/librte_common_octeontx2.dump

diff --git a/drivers/.abi/librte_common_cpt.dump b/drivers/.abi/librte_common_cpt.dump
new file mode 100644
index 000000000..3b704bf49
--- /dev/null
+++ b/drivers/.abi/librte_common_cpt.dump
@@ -0,0 +1,36 @@
+<abi-corpus path='gcc//drivers/librte_common_cpt.so.20.0' architecture='elf-amd-x86_64' soname='librte_common_cpt.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='cpt_pmd_ops_helper_asym_get_mlen' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cpt_pmd_ops_helper_get_mlen_direct_mode' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cpt_pmd_ops_helper_get_mlen_sg_mode' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../drivers/common/cpt/cpt_pmd_ops_helper.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <function-decl name='cpt_pmd_ops_helper_asym_get_mlen' mangled-name='cpt_pmd_ops_helper_asym_get_mlen' filepath='../drivers/common/cpt/cpt_pmd_ops_helper.c' line='46' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cpt_pmd_ops_helper_asym_get_mlen@@DPDK_20.0'>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='cpt_pmd_ops_helper_get_mlen_sg_mode' mangled-name='cpt_pmd_ops_helper_get_mlen_sg_mode' filepath='../drivers/common/cpt/cpt_pmd_ops_helper.c' line='32' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cpt_pmd_ops_helper_get_mlen_sg_mode@@DPDK_20.0'>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-2'/>
+    <typedef-decl name='int32_t' type-id='type-id-2' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-3'/>
+    <function-decl name='cpt_pmd_ops_helper_get_mlen_direct_mode' mangled-name='cpt_pmd_ops_helper_get_mlen_direct_mode' filepath='../drivers/common/cpt/cpt_pmd_ops_helper.c' line='18' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cpt_pmd_ops_helper_get_mlen_direct_mode@@DPDK_20.0'>
+      <return type-id='type-id-3'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_common_dpaax.dump b/drivers/.abi/librte_common_dpaax.dump
new file mode 100644
index 000000000..b2a376046
--- /dev/null
+++ b/drivers/.abi/librte_common_dpaax.dump
@@ -0,0 +1,177 @@
+<abi-corpus path='gcc//drivers/librte_common_dpaax.so.20.0' architecture='elf-amd-x86_64' soname='librte_common_dpaax.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='dpaax_iova_table_depopulate' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpaax_iova_table_dump' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpaax_iova_table_populate' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpaax_iova_table_update' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='of_device_is_available' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='of_device_is_compatible' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='of_find_compatible_node' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='of_find_node_by_phandle' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='of_get_address' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='of_get_mac_address' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='of_get_next_child' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='of_get_parent' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='of_get_property' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='of_init_path' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='of_n_addr_cells' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='of_translate_address' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <elf-variable-symbols>
+    <elf-symbol name='dpaax_iova_table_p' size='8' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='../drivers/common/dpaax/dpaax_iova_table.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='dpaax_logger' type-id='type-id-1' visibility='default' filepath='../drivers/common/dpaax/dpaax_logs.h' line='10' column='1'/>
+    <class-decl name='dpaax_iova_table' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/common/dpaax/dpaax_iova_table.h' line='33' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='count' type-id='type-id-3' visibility='default' filepath='../drivers/common/dpaax/dpaax_iova_table.h' line='34' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='entries' type-id='type-id-4' visibility='default' filepath='../drivers/common/dpaax/dpaax_iova_table.h' line='35' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-3'/>
+    <class-decl name='dpaax_iovat_element' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/common/dpaax/dpaax_iova_table.h' line='27' column='1' id='type-id-5'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='start' type-id='type-id-6' visibility='default' filepath='../drivers/common/dpaax/dpaax_iova_table.h' line='28' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-7' visibility='default' filepath='../drivers/common/dpaax/dpaax_iova_table.h' line='29' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pages' type-id='type-id-8' visibility='default' filepath='../drivers/common/dpaax/dpaax_iova_table.h' line='30' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-9'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-9' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-10'/>
+    <typedef-decl name='uint64_t' type-id='type-id-10' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-11'/>
+    <typedef-decl name='phys_addr_t' type-id='type-id-11' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-6'/>
+    <typedef-decl name='size_t' type-id='type-id-9' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-7'/>
+    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-8'/>
+
+    <array-type-def dimensions='1' type-id='type-id-5' size-in-bits='infinite' id='type-id-4'>
+      <subrange length='infinite' type-id='type-id-9' id='type-id-12'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-13'/>
+    <var-decl name='dpaax_iova_table_p' type-id='type-id-13' mangled-name='dpaax_iova_table_p' visibility='default' filepath='../drivers/common/dpaax/dpaax_iova_table.h' line='42' column='1' elf-symbol-id='dpaax_iova_table_p@@DPDK_20.0'/>
+    <type-decl name='void' id='type-id-14'/>
+    <function-decl name='dpaax_iova_table_dump' mangled-name='dpaax_iova_table_dump' filepath='../drivers/common/dpaax/dpaax_iova_table.c' line='357' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpaax_iova_table_dump@@DPDK_20.0'>
+      <return type-id='type-id-14'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-15'/>
+    <function-decl name='dpaax_iova_table_update' mangled-name='dpaax_iova_table_update' filepath='../drivers/common/dpaax/dpaax_iova_table.c' line='271' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpaax_iova_table_update@@DPDK_20.0'>
+      <parameter type-id='type-id-6' name='paddr' filepath='../drivers/common/dpaax/dpaax_iova_table.c' line='271' column='1'/>
+      <parameter type-id='type-id-15' name='vaddr' filepath='../drivers/common/dpaax/dpaax_iova_table.c' line='271' column='1'/>
+      <parameter type-id='type-id-7' name='length' filepath='../drivers/common/dpaax/dpaax_iova_table.c' line='271' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='dpaax_iova_table_depopulate' mangled-name='dpaax_iova_table_depopulate' filepath='../drivers/common/dpaax/dpaax_iova_table.c' line='259' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpaax_iova_table_depopulate@@DPDK_20.0'>
+      <return type-id='type-id-14'/>
+    </function-decl>
+    <function-decl name='dpaax_iova_table_populate' mangled-name='dpaax_iova_table_populate' filepath='../drivers/common/dpaax/dpaax_iova_table.c' line='158' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpaax_iova_table_populate@@DPDK_20.0'>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/common/dpaax/dpaa_of.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='device_node' size-in-bits='34808' is-struct='yes' visibility='default' filepath='../drivers/common/dpaax/dpaa_of.h' line='66' column='1' id='type-id-16'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-17' visibility='default' filepath='../drivers/common/dpaax/dpaa_of.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2040'>
+        <var-decl name='full_name' type-id='type-id-18' visibility='default' filepath='../drivers/common/dpaax/dpaa_of.h' line='68' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-19'/>
+
+    <array-type-def dimensions='1' type-id='type-id-19' size-in-bits='2040' id='type-id-17'>
+      <subrange length='255' type-id='type-id-9' id='type-id-20'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-19' size-in-bits='32768' id='type-id-18'>
+      <subrange length='4096' type-id='type-id-9' id='type-id-21'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-16' const='yes' id='type-id-22'/>
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-23'/>
+    <function-decl name='of_get_mac_address' mangled-name='of_get_mac_address' filepath='../drivers/common/dpaax/dpaa_of.c' line='576' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_get_mac_address@@DPDK_20.0'>
+      <parameter type-id='type-id-23' name='np' filepath='../drivers/common/dpaax/dpaa_of.c' line='576' column='1'/>
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <type-decl name='bool' size-in-bits='8' id='type-id-24'/>
+    <qualified-type-def type-id='type-id-19' const='yes' id='type-id-25'/>
+    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-26'/>
+    <function-decl name='of_device_is_compatible' mangled-name='of_device_is_compatible' filepath='../drivers/common/dpaax/dpaa_of.c' line='537' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_device_is_compatible@@DPDK_20.0'>
+      <parameter type-id='type-id-23' name='dev_node' filepath='../drivers/common/dpaax/dpaa_of.c' line='537' column='1'/>
+      <parameter type-id='type-id-26' name='compatible' filepath='../drivers/common/dpaax/dpaa_of.c' line='538' column='1'/>
+      <return type-id='type-id-24'/>
+    </function-decl>
+    <typedef-decl name='__uint32_t' type-id='type-id-3' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-27'/>
+    <typedef-decl name='uint32_t' type-id='type-id-27' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-28'/>
+    <qualified-type-def type-id='type-id-28' const='yes' id='type-id-29'/>
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-30'/>
+    <function-decl name='of_translate_address' mangled-name='of_translate_address' filepath='../drivers/common/dpaax/dpaa_of.c' line='491' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_translate_address@@DPDK_20.0'>
+      <parameter type-id='type-id-23' name='dev_node' filepath='../drivers/common/dpaax/dpaa_of.c' line='491' column='1'/>
+      <parameter type-id='type-id-30' name='addr' filepath='../drivers/common/dpaax/dpaa_of.c' line='492' column='1'/>
+      <return type-id='type-id-11'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-31'/>
+    <function-decl name='of_get_address' mangled-name='of_get_address' filepath='../drivers/common/dpaax/dpaa_of.c' line='462' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_get_address@@DPDK_20.0'>
+      <parameter type-id='type-id-23' name='dev_node' filepath='../drivers/common/dpaax/dpaa_of.c' line='462' column='1'/>
+      <parameter type-id='type-id-7' name='idx' filepath='../drivers/common/dpaax/dpaa_of.c' line='462' column='1'/>
+      <parameter type-id='type-id-8' name='size' filepath='../drivers/common/dpaax/dpaa_of.c' line='463' column='1'/>
+      <parameter type-id='type-id-31' name='flags' filepath='../drivers/common/dpaax/dpaa_of.c' line='463' column='1'/>
+      <return type-id='type-id-30'/>
+    </function-decl>
+    <function-decl name='of_n_addr_cells' mangled-name='of_n_addr_cells' filepath='../drivers/common/dpaax/dpaa_of.c' line='418' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_n_addr_cells@@DPDK_20.0'>
+      <parameter type-id='type-id-23' name='dev_node' filepath='../drivers/common/dpaax/dpaa_of.c' line='418' column='1'/>
+      <return type-id='type-id-28'/>
+    </function-decl>
+    <function-decl name='of_get_next_child' mangled-name='of_get_next_child' filepath='../drivers/common/dpaax/dpaa_of.c' line='389' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_get_next_child@@DPDK_20.0'>
+      <parameter type-id='type-id-23' name='dev_node' filepath='../drivers/common/dpaax/dpaa_of.c' line='389' column='1'/>
+      <parameter type-id='type-id-23' name='prev' filepath='../drivers/common/dpaax/dpaa_of.c' line='390' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='of_get_parent' mangled-name='of_get_parent' filepath='../drivers/common/dpaax/dpaa_of.c' line='374' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_get_parent@@DPDK_20.0'>
+      <parameter type-id='type-id-23' name='dev_node' filepath='../drivers/common/dpaax/dpaa_of.c' line='374' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='of_find_node_by_phandle' mangled-name='of_find_node_by_phandle' filepath='../drivers/common/dpaax/dpaa_of.c' line='361' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_find_node_by_phandle@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='ph' filepath='../drivers/common/dpaax/dpaa_of.c' line='361' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='of_device_is_available' mangled-name='of_device_is_available' filepath='../drivers/common/dpaax/dpaa_of.c' line='345' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_device_is_available@@DPDK_20.0'>
+      <parameter type-id='type-id-23' name='dev_node' filepath='../drivers/common/dpaax/dpaa_of.c' line='345' column='1'/>
+      <return type-id='type-id-24'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-7' size-in-bits='64' id='type-id-32'/>
+    <function-decl name='of_get_property' mangled-name='of_get_property' filepath='../drivers/common/dpaax/dpaa_of.c' line='326' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_get_property@@DPDK_20.0'>
+      <parameter type-id='type-id-23' name='from' filepath='../drivers/common/dpaax/dpaa_of.c' line='326' column='1'/>
+      <parameter type-id='type-id-26' name='name' filepath='../drivers/common/dpaax/dpaa_of.c' line='326' column='1'/>
+      <parameter type-id='type-id-32' name='lenp' filepath='../drivers/common/dpaax/dpaa_of.c' line='327' column='1'/>
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <function-decl name='of_find_compatible_node' mangled-name='of_find_compatible_node' filepath='../drivers/common/dpaax/dpaa_of.c' line='301' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_find_compatible_node@@DPDK_20.0'>
+      <parameter type-id='type-id-23' name='from' filepath='../drivers/common/dpaax/dpaa_of.c' line='301' column='1'/>
+      <parameter type-id='type-id-26' name='type' filepath='../drivers/common/dpaax/dpaa_of.c' line='302' column='1'/>
+      <parameter type-id='type-id-26' name='compatible' filepath='../drivers/common/dpaax/dpaa_of.c' line='303' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='of_init_path' mangled-name='of_init_path' filepath='../drivers/common/dpaax/dpaa_of.c' line='217' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_init_path@@DPDK_20.0'>
+      <parameter type-id='type-id-26' name='dt_path' filepath='../drivers/common/dpaax/dpaa_of.c' line='217' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_common_octeontx.dump b/drivers/.abi/librte_common_octeontx.dump
new file mode 100644
index 000000000..d84ab5df8
--- /dev/null
+++ b/drivers/.abi/librte_common_octeontx.dump
@@ -0,0 +1,77 @@
+<abi-corpus path='gcc//drivers/librte_common_octeontx.so.20.0' architecture='elf-amd-x86_64' soname='librte_common_octeontx.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='octeontx_get_global_domain' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='octeontx_mbox_init' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='octeontx_mbox_send' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='octeontx_mbox_set_ram_mbox_base' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='octeontx_mbox_set_reg' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <elf-variable-symbols>
+    <elf-symbol name='octeontx_logtype_mbox' size='4' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='../drivers/common/octeontx/octeontx_mbox.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='octeontx_logtype_mbox' type-id='type-id-1' mangled-name='octeontx_logtype_mbox' visibility='default' filepath='../drivers/common/octeontx/octeontx_mbox.h' line='28' column='1' elf-symbol-id='octeontx_logtype_mbox@@DPDK_20.0'/>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-2'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-2' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-3'/>
+    <typedef-decl name='uint16_t' type-id='type-id-3' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-4'/>
+    <function-decl name='octeontx_get_global_domain' mangled-name='octeontx_get_global_domain' filepath='../drivers/common/octeontx/octeontx_mbox.c' line='352' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='octeontx_get_global_domain@@DPDK_20.0'>
+      <return type-id='type-id-4'/>
+    </function-decl>
+    <function-decl name='octeontx_mbox_init' mangled-name='octeontx_mbox_init' filepath='../drivers/common/octeontx/octeontx_mbox.c' line='313' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='octeontx_mbox_init@@DPDK_20.0'>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='octeontx_mbox_hdr' size-in-bits='48' is-struct='yes' visibility='default' filepath='../drivers/common/octeontx/octeontx_mbox.h' line='30' column='1' id='type-id-5'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vfid' type-id='type-id-4' visibility='default' filepath='../drivers/common/octeontx/octeontx_mbox.h' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='coproc' type-id='type-id-6' visibility='default' filepath='../drivers/common/octeontx/octeontx_mbox.h' line='32' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='msg' type-id='type-id-6' visibility='default' filepath='../drivers/common/octeontx/octeontx_mbox.h' line='33' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='oob' type-id='type-id-6' visibility='default' filepath='../drivers/common/octeontx/octeontx_mbox.h' line='34' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='res_code' type-id='type-id-6' visibility='default' filepath='../drivers/common/octeontx/octeontx_mbox.h' line='35' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-7'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-7' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-8'/>
+    <typedef-decl name='uint8_t' type-id='type-id-8' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-6'/>
+    <pointer-type-def type-id='type-id-5' size-in-bits='64' id='type-id-9'/>
+    <type-decl name='void' id='type-id-10'/>
+    <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-11'/>
+    <function-decl name='octeontx_mbox_send' mangled-name='octeontx_mbox_send' filepath='../drivers/common/octeontx/octeontx_mbox.c' line='250' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='octeontx_mbox_send@@DPDK_20.0'>
+      <parameter type-id='type-id-9' name='hdr' filepath='../drivers/common/octeontx/octeontx_mbox.c' line='250' column='1'/>
+      <parameter type-id='type-id-11' name='txdata' filepath='../drivers/common/octeontx/octeontx_mbox.c' line='250' column='1'/>
+      <parameter type-id='type-id-4' name='txlen' filepath='../drivers/common/octeontx/octeontx_mbox.c' line='251' column='1'/>
+      <parameter type-id='type-id-11' name='rxdata' filepath='../drivers/common/octeontx/octeontx_mbox.c' line='251' column='1'/>
+      <parameter type-id='type-id-4' name='rxlen' filepath='../drivers/common/octeontx/octeontx_mbox.c' line='251' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-6' size-in-bits='64' id='type-id-12'/>
+    <function-decl name='octeontx_mbox_set_reg' mangled-name='octeontx_mbox_set_reg' filepath='../drivers/common/octeontx/octeontx_mbox.c' line='226' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='octeontx_mbox_set_reg@@DPDK_20.0'>
+      <parameter type-id='type-id-12' name='reg' filepath='../drivers/common/octeontx/octeontx_mbox.c' line='226' column='1'/>
+      <parameter type-id='type-id-4' name='domain' filepath='../drivers/common/octeontx/octeontx_mbox.c' line='226' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='octeontx_mbox_set_ram_mbox_base' mangled-name='octeontx_mbox_set_ram_mbox_base' filepath='../drivers/common/octeontx/octeontx_mbox.c' line='202' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='octeontx_mbox_set_ram_mbox_base@@DPDK_20.0'>
+      <parameter type-id='type-id-12' name='reg' filepath='../drivers/common/octeontx/octeontx_mbox.c' line='226' column='1'/>
+      <parameter type-id='type-id-4' name='domain' filepath='../drivers/common/octeontx/octeontx_mbox.c' line='226' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_common_octeontx2.dump b/drivers/.abi/librte_common_octeontx2.dump
new file mode 100644
index 000000000..3acb66646
--- /dev/null
+++ b/drivers/.abi/librte_common_octeontx2.dump
@@ -0,0 +1,988 @@
+<abi-corpus path='gcc//drivers/librte_common_octeontx2.so.20.0' architecture='elf-amd-x86_64' soname='librte_common_octeontx2.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='otx2_dev_active_vfs' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='otx2_dev_fini' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='otx2_dev_priv_init' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='otx2_disable_irqs' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='otx2_intra_dev_get_cfg' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='otx2_mbox_alloc_msg_rsp' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='otx2_mbox_get_rsp' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='otx2_mbox_get_rsp_tmo' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='otx2_mbox_id2name' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='otx2_mbox_msg_send' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='otx2_mbox_wait_for_rsp' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='otx2_npa_lf_active' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='otx2_npa_lf_obj_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='otx2_npa_lf_obj_ref' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='otx2_npa_pf_func_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='otx2_npa_set_defaults' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='otx2_register_irq' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='otx2_sso_pf_func_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='otx2_sso_pf_func_set' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='otx2_unregister_irq' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <elf-variable-symbols>
+    <elf-symbol name='otx2_logtype_base' size='4' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='otx2_logtype_dpi' size='4' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='otx2_logtype_mbox' size='4' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='otx2_logtype_nix' size='4' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='otx2_logtype_npa' size='4' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='otx2_logtype_npc' size='4' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='otx2_logtype_sso' size='4' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='otx2_logtype_tim' size='4' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='otx2_logtype_tm' size='4' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='../drivers/common/octeontx2/otx2_dev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='void' id='type-id-1'/>
+    <class-decl name='rte_pci_device' size-in-bits='428736' is-struct='yes' visibility='default' filepath='../drivers/common/octeontx2/../../bus/pci/rte_bus_pci.h' line='57' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-3' visibility='default' filepath='../drivers/common/octeontx2/../../bus/pci/rte_bus_pci.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='device' type-id='type-id-4' visibility='default' filepath='../drivers/common/octeontx2/../../bus/pci/rte_bus_pci.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='addr' type-id='type-id-5' visibility='default' filepath='../drivers/common/octeontx2/../../bus/pci/rte_bus_pci.h' line='60' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='id' type-id='type-id-6' visibility='default' filepath='../drivers/common/octeontx2/../../bus/pci/rte_bus_pci.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='mem_resource' type-id='type-id-7' visibility='default' filepath='../drivers/common/octeontx2/../../bus/pci/rte_bus_pci.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='intr_handle' type-id='type-id-8' visibility='default' filepath='../drivers/common/octeontx2/../../bus/pci/rte_bus_pci.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='215168'>
+        <var-decl name='driver' type-id='type-id-9' visibility='default' filepath='../drivers/common/octeontx2/../../bus/pci/rte_bus_pci.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='215232'>
+        <var-decl name='max_vfs' type-id='type-id-10' visibility='default' filepath='../drivers/common/octeontx2/../../bus/pci/rte_bus_pci.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='215264'>
+        <var-decl name='kdrv' type-id='type-id-11' visibility='default' filepath='../drivers/common/octeontx2/../../bus/pci/rte_bus_pci.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='215296'>
+        <var-decl name='name' type-id='type-id-12' visibility='default' filepath='../drivers/common/octeontx2/../../bus/pci/rte_bus_pci.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='215488'>
+        <var-decl name='vfio_req_intr_handle' type-id='type-id-8' visibility='default' filepath='../drivers/common/octeontx2/../../bus/pci/rte_bus_pci.h' line='69' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/common/octeontx2/../../bus/pci/rte_bus_pci.h' line='58' column='1' id='type-id-3'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-13' visibility='default' filepath='../drivers/common/octeontx2/../../bus/pci/rte_bus_pci.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-14' visibility='default' filepath='../drivers/common/octeontx2/../../bus/pci/rte_bus_pci.h' line='58' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-13'/>
+    <pointer-type-def type-id='type-id-13' size-in-bits='64' id='type-id-14'/>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-4'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-15' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-17' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-18' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-20' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-15'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-21' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-22' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-21'/>
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-22'/>
+    <type-decl name='char' size-in-bits='8' id='type-id-23'/>
+    <qualified-type-def type-id='type-id-23' const='yes' id='type-id-24'/>
+    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-16'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-25'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-26' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-26'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-27' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-28' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-27'/>
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-28'/>
+    <qualified-type-def type-id='type-id-25' const='yes' id='type-id-29'/>
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-17'/>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-30'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-31' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-32' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-33' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-34' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-35' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-36' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-37' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-38' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-39' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-40' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-41' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-42' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-43' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-44' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-31'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-45' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-46' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-45'/>
+    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-46'/>
+    <type-decl name='int' size-in-bits='32' id='type-id-19'/>
+    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-48'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-48' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-32'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-48' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-33'/>
+    <qualified-type-def type-id='type-id-4' const='yes' id='type-id-49'/>
+    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-50'/>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-51'/>
+    <pointer-type-def type-id='type-id-52' size-in-bits='64' id='type-id-53'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-53' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-54'/>
+    <pointer-type-def type-id='type-id-55' size-in-bits='64' id='type-id-56'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-56' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-34'/>
+    <pointer-type-def type-id='type-id-57' size-in-bits='64' id='type-id-58'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-58' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-35'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-58' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-36'/>
+    <pointer-type-def type-id='type-id-59' size-in-bits='64' id='type-id-60'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-60' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-37'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-61'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-61' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-62'/>
+    <typedef-decl name='uint64_t' type-id='type-id-62' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-63'/>
+    <typedef-decl name='size_t' type-id='type-id-61' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-64'/>
+    <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-66'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-66' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-38'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-66' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-39'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-40'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-67' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-68'/>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-67'>
+      <underlying-type type-id='type-id-68'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-69'>
+      <underlying-type type-id='type-id-68'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-70' size-in-bits='64' id='type-id-71'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-71' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-41'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-72'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-45' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-73' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-21' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-51' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-74'/>
+    <pointer-type-def type-id='type-id-74' size-in-bits='64' id='type-id-73'/>
+    <qualified-type-def type-id='type-id-72' const='yes' id='type-id-75'/>
+    <pointer-type-def type-id='type-id-75' size-in-bits='64' id='type-id-76'/>
+    <pointer-type-def type-id='type-id-77' size-in-bits='64' id='type-id-78'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-78' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-42'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-58' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-43'/>
+    <pointer-type-def type-id='type-id-79' size-in-bits='64' id='type-id-80'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-80' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-44'/>
+    <qualified-type-def type-id='type-id-30' const='yes' id='type-id-81'/>
+    <pointer-type-def type-id='type-id-81' size-in-bits='64' id='type-id-18'/>
+    <class-decl name='rte_devargs' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='47' column='1' id='type-id-82'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-83' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='type' type-id='type-id-84' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='policy' type-id='type-id-85' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='name' type-id='type-id-86' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='' type-id='type-id-87' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='bus' type-id='type-id-45' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='cls' type-id='type-id-73' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='bus_str' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='cls_str' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='data' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='66' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1' id='type-id-83'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-20' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-88' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-82' size-in-bits='64' id='type-id-20'/>
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-88'/>
+    <enum-decl name='rte_devtype' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='31' column='1' id='type-id-84'>
+      <underlying-type type-id='type-id-68'/>
+      <enumerator name='RTE_DEVTYPE_WHITELISTED_PCI' value='0'/>
+      <enumerator name='RTE_DEVTYPE_BLACKLISTED_PCI' value='1'/>
+      <enumerator name='RTE_DEVTYPE_VIRTUAL' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_dev_policy' filepath='../lib/librte_eal/common/include/rte_dev.h' line='72' column='1' id='type-id-85'>
+      <underlying-type type-id='type-id-68'/>
+      <enumerator name='RTE_DEV_WHITELISTED' value='0'/>
+      <enumerator name='RTE_DEV_BLACKLISTED' value='1'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-23' size-in-bits='512' id='type-id-86'>
+      <subrange length='64' type-id='type-id-61' id='type-id-89'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='57' column='1' id='type-id-87'>
+      <data-member access='private'>
+        <var-decl name='args' type-id='type-id-90' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='drv_str' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='60' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-90'/>
+    <class-decl name='rte_pci_addr' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='61' column='1' id='type-id-5'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='domain' type-id='type-id-91' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='bus' type-id='type-id-92' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='devid' type-id='type-id-92' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='function' type-id='type-id-92' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-93'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-93' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-94'/>
+    <typedef-decl name='uint32_t' type-id='type-id-94' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-91'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-95'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-95' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-96'/>
+    <typedef-decl name='uint8_t' type-id='type-id-96' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-92'/>
+    <class-decl name='rte_pci_id' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='50' column='1' id='type-id-6'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='class_id' type-id='type-id-91' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='vendor_id' type-id='type-id-10' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='device_id' type-id='type-id-10' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='subsystem_vendor_id' type-id='type-id-10' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='subsystem_device_id' type-id='type-id-10' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='55' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-97'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-97' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-98'/>
+    <typedef-decl name='uint16_t' type-id='type-id-98' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-10'/>
+    <class-decl name='rte_mem_resource' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='80' column='1' id='type-id-99'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='phys_addr' type-id='type-id-63' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-63' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='82' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-51' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-99' size-in-bits='1152' id='type-id-7'>
+      <subrange length='6' type-id='type-id-61' id='type-id-100'/>
+
+    </array-type-def>
+    <class-decl name='rte_intr_handle' size-in-bits='213248' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='69' column='1' id='type-id-8'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-101' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-102' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='max_intr' type-id='type-id-91' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='nb_efd' type-id='type-id-91' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='efd_counter_size' type-id='type-id-92' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='efds' type-id='type-id-103' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16576'>
+        <var-decl name='elist' type-id='type-id-104' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='213184'>
+        <var-decl name='intr_vec' type-id='type-id-105' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='71' column='1' id='type-id-101'>
+      <data-member access='private'>
+        <var-decl name='vfio_dev_fd' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='uio_cfg_fd' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='73' column='1'/>
+      </data-member>
+    </union-decl>
+    <enum-decl name='rte_intr_handle_type' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='27' column='1' id='type-id-102'>
+      <underlying-type type-id='type-id-68'/>
+      <enumerator name='RTE_INTR_HANDLE_UNKNOWN' value='0'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO' value='1'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO_INTX' value='2'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_LEGACY' value='3'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSI' value='4'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSIX' value='5'/>
+      <enumerator name='RTE_INTR_HANDLE_ALARM' value='6'/>
+      <enumerator name='RTE_INTR_HANDLE_EXT' value='7'/>
+      <enumerator name='RTE_INTR_HANDLE_VDEV' value='8'/>
+      <enumerator name='RTE_INTR_HANDLE_DEV_EVENT' value='9'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_REQ' value='10'/>
+      <enumerator name='RTE_INTR_HANDLE_MAX' value='11'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-19' size-in-bits='16384' id='type-id-103'>
+      <subrange length='512' type-id='type-id-61' id='type-id-106'/>
+
+    </array-type-def>
+    <class-decl name='rte_epoll_event' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='61' column='1' id='type-id-107'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='status' type-id='type-id-108' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='epfd' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='epdata' type-id='type-id-109' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-91' volatile='yes' id='type-id-108'/>
+    <class-decl name='rte_epoll_data' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='47' column='1' id='type-id-109'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event' type-id='type-id-91' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='data' type-id='type-id-51' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cb_fun' type-id='type-id-110' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='cb_arg' type-id='type-id-51' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='51' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-111' size-in-bits='64' id='type-id-112'/>
+    <typedef-decl name='rte_intr_event_cb_t' type-id='type-id-112' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='45' column='1' id='type-id-110'/>
+
+    <array-type-def dimensions='1' type-id='type-id-107' size-in-bits='196608' id='type-id-104'>
+      <subrange length='512' type-id='type-id-61' id='type-id-106'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-105'/>
+    <class-decl name='rte_pci_driver' size-in-bits='832' is-struct='yes' visibility='default' filepath='../drivers/common/octeontx2/../../bus/pci/rte_bus_pci.h' line='157' column='1' id='type-id-113'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-114' visibility='default' filepath='../drivers/common/octeontx2/../../bus/pci/rte_bus_pci.h' line='158' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='driver' type-id='type-id-25' visibility='default' filepath='../drivers/common/octeontx2/../../bus/pci/rte_bus_pci.h' line='159' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='bus' type-id='type-id-115' visibility='default' filepath='../drivers/common/octeontx2/../../bus/pci/rte_bus_pci.h' line='160' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='probe' type-id='type-id-116' visibility='default' filepath='../drivers/common/octeontx2/../../bus/pci/rte_bus_pci.h' line='161' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='remove' type-id='type-id-117' visibility='default' filepath='../drivers/common/octeontx2/../../bus/pci/rte_bus_pci.h' line='162' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-118' visibility='default' filepath='../drivers/common/octeontx2/../../bus/pci/rte_bus_pci.h' line='163' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-119' visibility='default' filepath='../drivers/common/octeontx2/../../bus/pci/rte_bus_pci.h' line='164' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='id_table' type-id='type-id-120' visibility='default' filepath='../drivers/common/octeontx2/../../bus/pci/rte_bus_pci.h' line='165' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='drv_flags' type-id='type-id-91' visibility='default' filepath='../drivers/common/octeontx2/../../bus/pci/rte_bus_pci.h' line='166' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/common/octeontx2/../../bus/pci/rte_bus_pci.h' line='158' column='1' id='type-id-114'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-9' visibility='default' filepath='../drivers/common/octeontx2/../../bus/pci/rte_bus_pci.h' line='158' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-121' visibility='default' filepath='../drivers/common/octeontx2/../../bus/pci/rte_bus_pci.h' line='158' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-113' size-in-bits='64' id='type-id-9'/>
+    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-121'/>
+    <class-decl name='rte_pci_bus' size-in-bits='1280' is-struct='yes' visibility='default' filepath='../drivers/common/octeontx2/../../bus/pci/rte_bus_pci.h' line='172' column='1' id='type-id-122'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='bus' type-id='type-id-30' visibility='default' filepath='../drivers/common/octeontx2/../../bus/pci/rte_bus_pci.h' line='173' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='device_list' type-id='type-id-123' visibility='default' filepath='../drivers/common/octeontx2/../../bus/pci/rte_bus_pci.h' line='174' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='driver_list' type-id='type-id-124' visibility='default' filepath='../drivers/common/octeontx2/../../bus/pci/rte_bus_pci.h' line='175' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_pci_device_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/common/octeontx2/../../bus/pci/rte_bus_pci.h' line='41' column='1' id='type-id-123'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-13' visibility='default' filepath='../drivers/common/octeontx2/../../bus/pci/rte_bus_pci.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-14' visibility='default' filepath='../drivers/common/octeontx2/../../bus/pci/rte_bus_pci.h' line='41' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_pci_driver_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/common/octeontx2/../../bus/pci/rte_bus_pci.h' line='43' column='1' id='type-id-124'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-9' visibility='default' filepath='../drivers/common/octeontx2/../../bus/pci/rte_bus_pci.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-121' visibility='default' filepath='../drivers/common/octeontx2/../../bus/pci/rte_bus_pci.h' line='43' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-122' size-in-bits='64' id='type-id-115'/>
+    <typedef-decl name='pci_probe_t' type-id='type-id-125' filepath='../drivers/common/octeontx2/../../bus/pci/rte_bus_pci.h' line='109' column='1' id='type-id-126'/>
+    <pointer-type-def type-id='type-id-126' size-in-bits='64' id='type-id-116'/>
+    <typedef-decl name='pci_remove_t' type-id='type-id-127' filepath='../drivers/common/octeontx2/../../bus/pci/rte_bus_pci.h' line='114' column='1' id='type-id-128'/>
+    <pointer-type-def type-id='type-id-128' size-in-bits='64' id='type-id-117'/>
+    <typedef-decl name='pci_dma_map_t' type-id='type-id-129' filepath='../drivers/common/octeontx2/../../bus/pci/rte_bus_pci.h' line='132' column='1' id='type-id-130'/>
+    <pointer-type-def type-id='type-id-130' size-in-bits='64' id='type-id-118'/>
+    <typedef-decl name='pci_dma_unmap_t' type-id='type-id-129' filepath='../drivers/common/octeontx2/../../bus/pci/rte_bus_pci.h' line='151' column='1' id='type-id-131'/>
+    <pointer-type-def type-id='type-id-131' size-in-bits='64' id='type-id-119'/>
+    <qualified-type-def type-id='type-id-6' const='yes' id='type-id-132'/>
+    <pointer-type-def type-id='type-id-132' size-in-bits='64' id='type-id-120'/>
+    <enum-decl name='rte_kernel_driver' filepath='../lib/librte_eal/common/include/rte_dev.h' line='60' column='1' id='type-id-11'>
+      <underlying-type type-id='type-id-68'/>
+      <enumerator name='RTE_KDRV_UNKNOWN' value='0'/>
+      <enumerator name='RTE_KDRV_IGB_UIO' value='1'/>
+      <enumerator name='RTE_KDRV_VFIO' value='2'/>
+      <enumerator name='RTE_KDRV_UIO_GENERIC' value='3'/>
+      <enumerator name='RTE_KDRV_NIC_UIO' value='4'/>
+      <enumerator name='RTE_KDRV_NONE' value='5'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-23' size-in-bits='144' id='type-id-12'>
+      <subrange length='18' type-id='type-id-61' id='type-id-133'/>
+
+    </array-type-def>
+    <function-decl name='otx2_dev_fini' mangled-name='otx2_dev_fini' filepath='../drivers/common/octeontx2/otx2_dev.c' line='1006' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='otx2_dev_fini@@DPDK_20.0'>
+      <parameter type-id='type-id-13' name='pci_dev' filepath='../drivers/common/octeontx2/otx2_dev.c' line='1006' column='1'/>
+      <parameter type-id='type-id-51' name='otx2_dev' filepath='../drivers/common/octeontx2/otx2_dev.c' line='1006' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='otx2_dev_priv_init' mangled-name='otx2_dev_priv_init' filepath='../drivers/common/octeontx2/otx2_dev.c' line='899' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='otx2_dev_priv_init@@DPDK_20.0'>
+      <parameter type-id='type-id-13' name='pci_dev' filepath='../drivers/common/octeontx2/otx2_dev.c' line='899' column='1'/>
+      <parameter type-id='type-id-51' name='otx2_dev' filepath='../drivers/common/octeontx2/otx2_dev.c' line='899' column='1'/>
+      <return type-id='type-id-19'/>
+    </function-decl>
+    <function-decl name='otx2_dev_active_vfs' mangled-name='otx2_dev_active_vfs' filepath='../drivers/common/octeontx2/otx2_dev.c' line='866' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='otx2_dev_active_vfs@@DPDK_20.0'>
+      <parameter type-id='type-id-51' name='otx2_dev' filepath='../drivers/common/octeontx2/otx2_dev.c' line='866' column='1'/>
+      <return type-id='type-id-19'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-70'>
+      <return type-id='type-id-69'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-47'>
+      <return type-id='type-id-19'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-59'>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-51'/>
+      <return type-id='type-id-19'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-52'>
+      <parameter type-id='type-id-50'/>
+      <parameter type-id='type-id-51'/>
+      <return type-id='type-id-19'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-57'>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-19'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-65'>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-63'/>
+      <parameter type-id='type-id-64'/>
+      <return type-id='type-id-19'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-127'>
+      <parameter type-id='type-id-13'/>
+      <return type-id='type-id-19'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-129'>
+      <parameter type-id='type-id-13'/>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-63'/>
+      <parameter type-id='type-id-64'/>
+      <return type-id='type-id-19'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-125'>
+      <parameter type-id='type-id-9'/>
+      <parameter type-id='type-id-13'/>
+      <return type-id='type-id-19'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-79'>
+      <parameter type-id='type-id-51'/>
+      <return type-id='type-id-19'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-55'>
+      <parameter type-id='type-id-50'/>
+      <parameter type-id='type-id-54'/>
+      <parameter type-id='type-id-51'/>
+      <return type-id='type-id-21'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-111'>
+      <parameter type-id='type-id-19'/>
+      <parameter type-id='type-id-51'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-77'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-76'/>
+      <return type-id='type-id-51'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/common/octeontx2/otx2_irq.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-134'/>
+    <pointer-type-def type-id='type-id-135' size-in-bits='64' id='type-id-136'/>
+    <typedef-decl name='rte_intr_callback_fn' type-id='type-id-136' filepath='../lib/librte_eal/common/include/rte_interrupts.h' line='26' column='1' id='type-id-137'/>
+    <function-decl name='otx2_unregister_irq' mangled-name='otx2_unregister_irq' filepath='../drivers/common/octeontx2/otx2_irq.c' line='192' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='otx2_unregister_irq@@DPDK_20.0'>
+      <parameter type-id='type-id-134' name='intr_handle' filepath='../drivers/common/octeontx2/otx2_irq.c' line='192' column='1'/>
+      <parameter type-id='type-id-137' name='cb' filepath='../drivers/common/octeontx2/otx2_irq.c' line='193' column='1'/>
+      <parameter type-id='type-id-51' name='data' filepath='../drivers/common/octeontx2/otx2_irq.c' line='193' column='1'/>
+      <parameter type-id='type-id-93' name='vec' filepath='../drivers/common/octeontx2/otx2_irq.c' line='193' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='otx2_register_irq' mangled-name='otx2_register_irq' filepath='../drivers/common/octeontx2/otx2_irq.c' line='143' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='otx2_register_irq@@DPDK_20.0'>
+      <parameter type-id='type-id-134' name='intr_handle' filepath='../drivers/common/octeontx2/otx2_irq.c' line='143' column='1'/>
+      <parameter type-id='type-id-137' name='cb' filepath='../drivers/common/octeontx2/otx2_irq.c' line='144' column='1'/>
+      <parameter type-id='type-id-51' name='data' filepath='../drivers/common/octeontx2/otx2_irq.c' line='144' column='1'/>
+      <parameter type-id='type-id-93' name='vec' filepath='../drivers/common/octeontx2/otx2_irq.c' line='144' column='1'/>
+      <return type-id='type-id-19'/>
+    </function-decl>
+    <function-decl name='otx2_disable_irqs' mangled-name='otx2_disable_irqs' filepath='../drivers/common/octeontx2/otx2_irq.c' line='131' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='otx2_disable_irqs@@DPDK_20.0'>
+      <parameter type-id='type-id-134' name='intr_handle' filepath='../drivers/common/octeontx2/otx2_irq.c' line='131' column='1'/>
+      <return type-id='type-id-19'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-135'>
+      <parameter type-id='type-id-51'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/common/octeontx2/otx2_mbox.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='otx2_mbox_id2name' mangled-name='otx2_mbox_id2name' filepath='../drivers/common/octeontx2/otx2_mbox.c' line='400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='otx2_mbox_id2name@@DPDK_20.0'>
+      <parameter type-id='type-id-10' name='id' filepath='../drivers/common/octeontx2/otx2_mbox.c' line='400' column='1'/>
+      <return type-id='type-id-16'/>
+    </function-decl>
+    <class-decl name='otx2_mbox' size-in-bits='512' is-struct='yes' visibility='default' filepath='../drivers/common/octeontx2/otx2_mbox.h' line='65' column='1' id='type-id-138'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='hwbase' type-id='type-id-139' visibility='default' filepath='../drivers/common/octeontx2/otx2_mbox.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='reg_base' type-id='type-id-139' visibility='default' filepath='../drivers/common/octeontx2/otx2_mbox.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='trigger' type-id='type-id-63' visibility='default' filepath='../drivers/common/octeontx2/otx2_mbox.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='tr_shift' type-id='type-id-10' visibility='default' filepath='../drivers/common/octeontx2/otx2_mbox.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_start' type-id='type-id-63' visibility='default' filepath='../drivers/common/octeontx2/otx2_mbox.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='tx_start' type-id='type-id-63' visibility='default' filepath='../drivers/common/octeontx2/otx2_mbox.h' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='rx_size' type-id='type-id-10' visibility='default' filepath='../drivers/common/octeontx2/otx2_mbox.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='400'>
+        <var-decl name='tx_size' type-id='type-id-10' visibility='default' filepath='../drivers/common/octeontx2/otx2_mbox.h' line='73' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='ndevs' type-id='type-id-10' visibility='default' filepath='../drivers/common/octeontx2/otx2_mbox.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='dev' type-id='type-id-140' visibility='default' filepath='../drivers/common/octeontx2/otx2_mbox.h' line='75' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='uintptr_t' type-id='type-id-61' filepath='/usr/include/stdint.h' line='90' column='1' id='type-id-139'/>
+    <class-decl name='otx2_mbox_dev' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/common/octeontx2/otx2_mbox.h' line='56' column='1' id='type-id-141'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mbase' type-id='type-id-51' visibility='default' filepath='../drivers/common/octeontx2/otx2_mbox.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mbox_lock' type-id='type-id-142' visibility='default' filepath='../drivers/common/octeontx2/otx2_mbox.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='msg_size' type-id='type-id-10' visibility='default' filepath='../drivers/common/octeontx2/otx2_mbox.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='112'>
+        <var-decl name='rsp_size' type-id='type-id-10' visibility='default' filepath='../drivers/common/octeontx2/otx2_mbox.h' line='60' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='num_msgs' type-id='type-id-10' visibility='default' filepath='../drivers/common/octeontx2/otx2_mbox.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='msgs_acked' type-id='type-id-10' visibility='default' filepath='../drivers/common/octeontx2/otx2_mbox.h' line='62' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-142' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_spinlock.h' line='30' column='1' id='type-id-143'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='locked' type-id='type-id-144' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_spinlock.h' line='31' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-19' volatile='yes' id='type-id-144'/>
+    <typedef-decl name='rte_spinlock_t' type-id='type-id-143' filepath='../lib/librte_eal/common/include/generic/rte_spinlock.h' line='32' column='1' id='type-id-142'/>
+    <pointer-type-def type-id='type-id-141' size-in-bits='64' id='type-id-140'/>
+    <pointer-type-def type-id='type-id-138' size-in-bits='64' id='type-id-145'/>
+    <function-decl name='otx2_mbox_wait_for_rsp' mangled-name='otx2_mbox_wait_for_rsp' filepath='../drivers/common/octeontx2/otx2_mbox.c' line='336' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='otx2_mbox_wait_for_rsp@@DPDK_20.0'>
+      <parameter type-id='type-id-145' name='mbox' filepath='../drivers/common/octeontx2/otx2_mbox.c' line='336' column='1'/>
+      <parameter type-id='type-id-19' name='devid' filepath='../drivers/common/octeontx2/otx2_mbox.c' line='336' column='1'/>
+      <return type-id='type-id-19'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-51' size-in-bits='64' id='type-id-146'/>
+    <function-decl name='otx2_mbox_get_rsp_tmo' mangled-name='otx2_mbox_get_rsp_tmo' filepath='../drivers/common/octeontx2/otx2_mbox.c' line='252' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='otx2_mbox_get_rsp_tmo@@DPDK_20.0'>
+      <parameter type-id='type-id-145' name='mbox' filepath='../drivers/common/octeontx2/otx2_mbox.c' line='252' column='1'/>
+      <parameter type-id='type-id-19' name='devid' filepath='../drivers/common/octeontx2/otx2_mbox.c' line='252' column='1'/>
+      <parameter type-id='type-id-146' name='msg' filepath='../drivers/common/octeontx2/otx2_mbox.c' line='252' column='1'/>
+      <parameter type-id='type-id-91' name='tmo' filepath='../drivers/common/octeontx2/otx2_mbox.c' line='253' column='1'/>
+      <return type-id='type-id-19'/>
+    </function-decl>
+    <function-decl name='otx2_mbox_get_rsp' mangled-name='otx2_mbox_get_rsp' filepath='../drivers/common/octeontx2/otx2_mbox.c' line='225' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='otx2_mbox_get_rsp@@DPDK_20.0'>
+      <parameter type-id='type-id-145' name='mbox' filepath='../drivers/common/octeontx2/otx2_mbox.c' line='225' column='1'/>
+      <parameter type-id='type-id-19' name='devid' filepath='../drivers/common/octeontx2/otx2_mbox.c' line='225' column='1'/>
+      <parameter type-id='type-id-146' name='msg' filepath='../drivers/common/octeontx2/otx2_mbox.c' line='225' column='1'/>
+      <return type-id='type-id-19'/>
+    </function-decl>
+    <function-decl name='otx2_mbox_msg_send' mangled-name='otx2_mbox_msg_send' filepath='../drivers/common/octeontx2/otx2_mbox.c' line='190' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='otx2_mbox_msg_send@@DPDK_20.0'>
+      <parameter type-id='type-id-145' name='mbox' filepath='../drivers/common/octeontx2/otx2_mbox.c' line='190' column='1'/>
+      <parameter type-id='type-id-19' name='devid' filepath='../drivers/common/octeontx2/otx2_mbox.c' line='190' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='mbox_msghdr' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/common/octeontx2/otx2_mbox.h' line='85' column='1' id='type-id-147'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pcifunc' type-id='type-id-148' visibility='default' filepath='../drivers/common/octeontx2/otx2_mbox.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='id' type-id='type-id-148' visibility='default' filepath='../drivers/common/octeontx2/otx2_mbox.h' line='87' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='sig' type-id='type-id-148' visibility='default' filepath='../drivers/common/octeontx2/otx2_mbox.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='ver' type-id='type-id-148' visibility='default' filepath='../drivers/common/octeontx2/otx2_mbox.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='next_msgoff' type-id='type-id-148' visibility='default' filepath='../drivers/common/octeontx2/otx2_mbox.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='rc' type-id='type-id-144' visibility='default' filepath='../drivers/common/octeontx2/otx2_mbox.h' line='97' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-10' volatile='yes' id='type-id-148'/>
+    <pointer-type-def type-id='type-id-147' size-in-bits='64' id='type-id-149'/>
+    <function-decl name='otx2_mbox_alloc_msg_rsp' mangled-name='otx2_mbox_alloc_msg_rsp' filepath='../drivers/common/octeontx2/otx2_mbox.c' line='151' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='otx2_mbox_alloc_msg_rsp@@DPDK_20.0'>
+      <parameter type-id='type-id-145' name='mbox' filepath='../drivers/common/octeontx2/otx2_mbox.c' line='151' column='1'/>
+      <parameter type-id='type-id-19' name='devid' filepath='../drivers/common/octeontx2/otx2_mbox.c' line='151' column='1'/>
+      <parameter type-id='type-id-19' name='size' filepath='../drivers/common/octeontx2/otx2_mbox.c' line='151' column='1'/>
+      <parameter type-id='type-id-19' name='size_rsp' filepath='../drivers/common/octeontx2/otx2_mbox.c' line='152' column='1'/>
+      <return type-id='type-id-149'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/common/octeontx2/otx2_common.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='otx2_logtype_base' type-id='type-id-19' mangled-name='otx2_logtype_base' visibility='default' filepath='../drivers/common/octeontx2/otx2_common.h' line='79' column='1' elf-symbol-id='otx2_logtype_base@@DPDK_20.0'/>
+    <var-decl name='otx2_logtype_mbox' type-id='type-id-19' mangled-name='otx2_logtype_mbox' visibility='default' filepath='../drivers/common/octeontx2/otx2_common.h' line='80' column='1' elf-symbol-id='otx2_logtype_mbox@@DPDK_20.0'/>
+    <var-decl name='otx2_logtype_npa' type-id='type-id-19' mangled-name='otx2_logtype_npa' visibility='default' filepath='../drivers/common/octeontx2/otx2_common.h' line='81' column='1' elf-symbol-id='otx2_logtype_npa@@DPDK_20.0'/>
+    <var-decl name='otx2_logtype_nix' type-id='type-id-19' mangled-name='otx2_logtype_nix' visibility='default' filepath='../drivers/common/octeontx2/otx2_common.h' line='82' column='1' elf-symbol-id='otx2_logtype_nix@@DPDK_20.0'/>
+    <var-decl name='otx2_logtype_npc' type-id='type-id-19' mangled-name='otx2_logtype_npc' visibility='default' filepath='../drivers/common/octeontx2/otx2_common.h' line='84' column='1' elf-symbol-id='otx2_logtype_npc@@DPDK_20.0'/>
+    <var-decl name='otx2_logtype_tm' type-id='type-id-19' mangled-name='otx2_logtype_tm' visibility='default' filepath='../drivers/common/octeontx2/otx2_common.h' line='85' column='1' elf-symbol-id='otx2_logtype_tm@@DPDK_20.0'/>
+    <var-decl name='otx2_logtype_sso' type-id='type-id-19' mangled-name='otx2_logtype_sso' visibility='default' filepath='../drivers/common/octeontx2/otx2_common.h' line='83' column='1' elf-symbol-id='otx2_logtype_sso@@DPDK_20.0'/>
+    <var-decl name='otx2_logtype_tim' type-id='type-id-19' mangled-name='otx2_logtype_tim' visibility='default' filepath='../drivers/common/octeontx2/otx2_common.h' line='86' column='1' elf-symbol-id='otx2_logtype_tim@@DPDK_20.0'/>
+    <var-decl name='otx2_logtype_dpi' type-id='type-id-19' mangled-name='otx2_logtype_dpi' visibility='default' filepath='../drivers/common/octeontx2/otx2_common.h' line='87' column='1' elf-symbol-id='otx2_logtype_dpi@@DPDK_20.0'/>
+    <function-decl name='otx2_npa_lf_obj_ref' mangled-name='otx2_npa_lf_obj_ref' filepath='../drivers/common/octeontx2/otx2_common.c' line='146' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='otx2_npa_lf_obj_ref@@DPDK_20.0'>
+      <return type-id='type-id-19'/>
+    </function-decl>
+    <function-decl name='otx2_npa_lf_active' mangled-name='otx2_npa_lf_active' filepath='../drivers/common/octeontx2/otx2_common.c' line='129' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='otx2_npa_lf_active@@DPDK_20.0'>
+      <parameter type-id='type-id-51' name='otx2_dev' filepath='../drivers/common/octeontx2/otx2_common.c' line='129' column='1'/>
+      <return type-id='type-id-19'/>
+    </function-decl>
+    <class-decl name='otx2_npa_lf' size-in-bits='768' is-struct='yes' visibility='default' filepath='../drivers/common/octeontx2/../../mempool/octeontx2/otx2_mempool.h' line='37' column='1' id='type-id-150'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='qints' type-id='type-id-10' visibility='default' filepath='../drivers/common/octeontx2/../../mempool/octeontx2/otx2_mempool.h' line='38' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='base' type-id='type-id-139' visibility='default' filepath='../drivers/common/octeontx2/../../mempool/octeontx2/otx2_mempool.h' line='39' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='aura_sz' type-id='type-id-92' visibility='default' filepath='../drivers/common/octeontx2/../../mempool/octeontx2/otx2_mempool.h' line='40' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='pf_func' type-id='type-id-10' visibility='default' filepath='../drivers/common/octeontx2/../../mempool/octeontx2/otx2_mempool.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nr_pools' type-id='type-id-91' visibility='default' filepath='../drivers/common/octeontx2/../../mempool/octeontx2/otx2_mempool.h' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='npa_bmp_mem' type-id='type-id-51' visibility='default' filepath='../drivers/common/octeontx2/../../mempool/octeontx2/otx2_mempool.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='npa_qint_mem' type-id='type-id-51' visibility='default' filepath='../drivers/common/octeontx2/../../mempool/octeontx2/otx2_mempool.h' line='44' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='npa_msixoff' type-id='type-id-10' visibility='default' filepath='../drivers/common/octeontx2/../../mempool/octeontx2/otx2_mempool.h' line='45' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mbox' type-id='type-id-145' visibility='default' filepath='../drivers/common/octeontx2/../../mempool/octeontx2/otx2_mempool.h' line='46' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='stack_pg_ptrs' type-id='type-id-91' visibility='default' filepath='../drivers/common/octeontx2/../../mempool/octeontx2/otx2_mempool.h' line='47' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='stack_pg_bytes' type-id='type-id-91' visibility='default' filepath='../drivers/common/octeontx2/../../mempool/octeontx2/otx2_mempool.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='npa_bmp' type-id='type-id-151' visibility='default' filepath='../drivers/common/octeontx2/../../mempool/octeontx2/otx2_mempool.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='aura_lim' type-id='type-id-152' visibility='default' filepath='../drivers/common/octeontx2/../../mempool/octeontx2/otx2_mempool.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='pci_dev' type-id='type-id-13' visibility='default' filepath='../drivers/common/octeontx2/../../mempool/octeontx2/otx2_mempool.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='intr_handle' type-id='type-id-134' visibility='default' filepath='../drivers/common/octeontx2/../../mempool/octeontx2/otx2_mempool.h' line='52' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_bitmap' size-in-bits='320' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bitmap.h' line='61' column='1' id='type-id-153'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='array1' type-id='type-id-154' visibility='default' filepath='../lib/librte_eal/common/include/rte_bitmap.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='array2' type-id='type-id-154' visibility='default' filepath='../lib/librte_eal/common/include/rte_bitmap.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='array1_size' type-id='type-id-91' visibility='default' filepath='../lib/librte_eal/common/include/rte_bitmap.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='array2_size' type-id='type-id-91' visibility='default' filepath='../lib/librte_eal/common/include/rte_bitmap.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='index1' type-id='type-id-91' visibility='default' filepath='../lib/librte_eal/common/include/rte_bitmap.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='offset1' type-id='type-id-91' visibility='default' filepath='../lib/librte_eal/common/include/rte_bitmap.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='index2' type-id='type-id-91' visibility='default' filepath='../lib/librte_eal/common/include/rte_bitmap.h' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='go2' type-id='type-id-91' visibility='default' filepath='../lib/librte_eal/common/include/rte_bitmap.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='memory' type-id='type-id-155' visibility='default' filepath='../lib/librte_eal/common/include/rte_bitmap.h' line='75' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-154'/>
+
+    <array-type-def dimensions='1' type-id='type-id-92' size-in-bits='infinite' id='type-id-155'>
+      <subrange length='infinite' type-id='type-id-61' id='type-id-156'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-153' size-in-bits='64' id='type-id-151'/>
+    <class-decl name='npa_aura_lim' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/common/octeontx2/../../mempool/octeontx2/otx2_mempool.h' line='32' column='1' id='type-id-157'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ptr_start' type-id='type-id-63' visibility='default' filepath='../drivers/common/octeontx2/../../mempool/octeontx2/otx2_mempool.h' line='33' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ptr_end' type-id='type-id-63' visibility='default' filepath='../drivers/common/octeontx2/../../mempool/octeontx2/otx2_mempool.h' line='34' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-157' size-in-bits='64' id='type-id-152'/>
+    <pointer-type-def type-id='type-id-150' size-in-bits='64' id='type-id-158'/>
+    <function-decl name='otx2_npa_lf_obj_get' mangled-name='otx2_npa_lf_obj_get' filepath='../drivers/common/octeontx2/otx2_common.c' line='112' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='otx2_npa_lf_obj_get@@DPDK_20.0'>
+      <return type-id='type-id-158'/>
+    </function-decl>
+    <function-decl name='otx2_npa_pf_func_get' mangled-name='otx2_npa_pf_func_get' filepath='../drivers/common/octeontx2/otx2_common.c' line='93' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='otx2_npa_pf_func_get@@DPDK_20.0'>
+      <return type-id='type-id-10'/>
+    </function-decl>
+    <function-decl name='otx2_sso_pf_func_set' mangled-name='otx2_sso_pf_func_set' filepath='../drivers/common/octeontx2/otx2_common.c' line='76' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='otx2_sso_pf_func_set@@DPDK_20.0'>
+      <parameter type-id='type-id-10' name='sso_pf_func' filepath='../drivers/common/octeontx2/otx2_common.c' line='76' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='otx2_sso_pf_func_get' mangled-name='otx2_sso_pf_func_get' filepath='../drivers/common/octeontx2/otx2_common.c' line='57' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='otx2_sso_pf_func_get@@DPDK_20.0'>
+      <return type-id='type-id-10'/>
+    </function-decl>
+    <class-decl name='otx2_idev_cfg' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/common/octeontx2/otx2_common.h' line='58' column='1' id='type-id-159'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='sso_pf_func' type-id='type-id-10' visibility='default' filepath='../drivers/common/octeontx2/otx2_common.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='npa_pf_func' type-id='type-id-10' visibility='default' filepath='../drivers/common/octeontx2/otx2_common.h' line='60' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='npa_lf' type-id='type-id-158' visibility='default' filepath='../drivers/common/octeontx2/otx2_common.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-160' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='../drivers/common/octeontx2/otx2_common.h' line='63' column='1' id='type-id-160'>
+      <data-member access='private'>
+        <var-decl name='npa_refcnt' type-id='type-id-161' visibility='default' filepath='../drivers/common/octeontx2/otx2_common.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='npa_refcnt_u16' type-id='type-id-10' visibility='default' filepath='../drivers/common/octeontx2/otx2_common.h' line='65' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-161' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-162'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-163' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-164'/>
+    <typedef-decl name='__int16_t' type-id='type-id-164' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-165'/>
+    <typedef-decl name='int16_t' type-id='type-id-165' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-166'/>
+    <qualified-type-def type-id='type-id-166' volatile='yes' id='type-id-163'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-162' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-161'/>
+    <pointer-type-def type-id='type-id-159' size-in-bits='64' id='type-id-167'/>
+    <function-decl name='otx2_intra_dev_get_cfg' mangled-name='otx2_intra_dev_get_cfg' filepath='../drivers/common/octeontx2/otx2_common.c' line='29' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='otx2_intra_dev_get_cfg@@DPDK_20.0'>
+      <return type-id='type-id-167'/>
+    </function-decl>
+    <function-decl name='otx2_npa_set_defaults' mangled-name='otx2_npa_set_defaults' filepath='../drivers/common/octeontx2/otx2_common.c' line='18' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='otx2_npa_set_defaults@@DPDK_20.0'>
+      <parameter type-id='type-id-167' name='idev' filepath='../drivers/common/octeontx2/otx2_common.c' line='18' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
-- 
2.17.1


^ permalink raw reply	[relevance 12%]

* [dpdk-dev] [PATCH v6 05/11] drivers/raw: add dump files for v20.0 ABI
  2019-12-13 16:40  8%       ` [dpdk-dev] [PATCH v6 00/11] Add ABI compatibility checks to the meson build Kevin Laatz
                           ` (3 preceding siblings ...)
  2019-12-13 16:41 12%         ` [dpdk-dev] [PATCH v6 04/11] drivers/common: " Kevin Laatz
@ 2019-12-13 16:41 13%         ` Kevin Laatz
  2019-12-13 16:41  6%         ` [dpdk-dev] [PATCH v6 06/11] drivers/crypto: " Kevin Laatz
                           ` (6 subsequent siblings)
  11 siblings, 0 replies; 200+ results
From: Kevin Laatz @ 2019-12-13 16:41 UTC (permalink / raw)
  To: dev
  Cc: thomas, david.marchand, bruce.richardson, ray.kinsella, tdu, zr,
	cernay, Kevin Laatz

This patch adds the drivers/raw .dump files generated for the v20.0
ABI. These files will be used to compare the ABI during the meson build
when the compat_checks meson is enabled. If there is a mismatch between the
.dump files (the baseline, ie. current stable ABI version) and the code
being compiled, then abidiff will report an error and the build will fail.

The .dump files are stored in the drivers/.abi directory.  The directory is
hidden to reduce clutter and also to discourage changing these files since
they should not be modified.

Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
---
 drivers/.abi/librte_rawdev_dpaa2_cmdif.dump   |  32 +
 drivers/.abi/librte_rawdev_dpaa2_qdma.dump    | 185 +++++
 drivers/.abi/librte_rawdev_ifpga.dump         | 779 ++++++++++++++++++
 drivers/.abi/librte_rawdev_ioat.dump          |  19 +
 drivers/.abi/librte_rawdev_ntb.dump           | 771 +++++++++++++++++
 drivers/.abi/librte_rawdev_octeontx2_dma.dump |  23 +
 drivers/.abi/librte_rawdev_skeleton.dump      |  21 +
 7 files changed, 1830 insertions(+)
 create mode 100644 drivers/.abi/librte_rawdev_dpaa2_cmdif.dump
 create mode 100644 drivers/.abi/librte_rawdev_dpaa2_qdma.dump
 create mode 100644 drivers/.abi/librte_rawdev_ifpga.dump
 create mode 100644 drivers/.abi/librte_rawdev_ioat.dump
 create mode 100644 drivers/.abi/librte_rawdev_ntb.dump
 create mode 100644 drivers/.abi/librte_rawdev_octeontx2_dma.dump
 create mode 100644 drivers/.abi/librte_rawdev_skeleton.dump

diff --git a/drivers/.abi/librte_rawdev_dpaa2_cmdif.dump b/drivers/.abi/librte_rawdev_dpaa2_cmdif.dump
new file mode 100644
index 000000000..d5c79dec3
--- /dev/null
+++ b/drivers/.abi/librte_rawdev_dpaa2_cmdif.dump
@@ -0,0 +1,32 @@
+<abi-corpus path='gcc//drivers/librte_rawdev_dpaa2_cmdif.so.20.0' architecture='elf-amd-x86_64' soname='librte_rawdev_dpaa2_cmdif.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_rawdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_mempool_dpaa2.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_bus_fslmc.so.20.0'/>
+    <dependency name='librte_common_dpaax.so.20.0'/>
+    <dependency name='librte_eventdev.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='librte_timer.so.20.0'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/raw/dpaa2_cmdif/dpaa2_cmdif.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='dpaa2_cmdif_logtype' type-id='type-id-1' visibility='default' filepath='../drivers/raw/dpaa2_cmdif/dpaa2_cmdif_logs.h' line='12' column='1'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_rawdev_dpaa2_qdma.dump b/drivers/.abi/librte_rawdev_dpaa2_qdma.dump
new file mode 100644
index 000000000..dfb08883a
--- /dev/null
+++ b/drivers/.abi/librte_rawdev_dpaa2_qdma.dump
@@ -0,0 +1,185 @@
+<abi-corpus path='gcc//drivers/librte_rawdev_dpaa2_qdma.so.20.0' architecture='elf-amd-x86_64' soname='librte_rawdev_dpaa2_qdma.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_rawdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_mempool_dpaa2.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_bus_fslmc.so.20.0'/>
+    <dependency name='librte_common_dpaax.so.20.0'/>
+    <dependency name='librte_eventdev.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='librte_timer.so.20.0'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_qdma_attr_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_qdma_configure' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_qdma_destroy' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_qdma_init' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_qdma_reset' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_qdma_start' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_qdma_stop' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_qdma_vq_create' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_qdma_vq_dequeue' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_qdma_vq_dequeue_multi' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_qdma_vq_destroy' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_qdma_vq_enqueue' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_qdma_vq_enqueue_multi' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_qdma_vq_stats' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../drivers/raw/dpaa2_qdma/dpaa2_qdma.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='dpaa2_qdma_logtype' type-id='type-id-1' visibility='default' filepath='../drivers/raw/dpaa2_qdma/dpaa2_qdma_logs.h' line='12' column='1'/>
+    <type-decl name='void' id='type-id-2'/>
+    <function-decl name='rte_qdma_destroy' mangled-name='rte_qdma_destroy' filepath='../drivers/raw/dpaa2_qdma/dpaa2_qdma.c' line='1175' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_qdma_destroy@@DPDK_20.0'>
+      <return type-id='type-id-2'/>
+    </function-decl>
+    <function-decl name='rte_qdma_stop' mangled-name='rte_qdma_stop' filepath='../drivers/raw/dpaa2_qdma/dpaa2_qdma.c' line='1167' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_qdma_stop@@DPDK_20.0'>
+      <return type-id='type-id-2'/>
+    </function-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-3'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-3' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-4'/>
+    <typedef-decl name='uint16_t' type-id='type-id-4' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-5'/>
+    <function-decl name='rte_qdma_vq_destroy' mangled-name='rte_qdma_vq_destroy' filepath='../drivers/raw/dpaa2_qdma/dpaa2_qdma.c' line='1109' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_qdma_vq_destroy@@DPDK_20.0'>
+      <parameter type-id='type-id-5' name='vq_id' filepath='../drivers/raw/dpaa2_qdma/dpaa2_qdma.c' line='1109' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_qdma_vq_stats' size-in-bits='256' is-struct='yes' visibility='default' filepath='../drivers/raw/dpaa2_qdma/rte_pmd_dpaa2_qdma.h' line='119' column='1' id='type-id-6'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='exclusive_hw_queue' type-id='type-id-7' visibility='default' filepath='../drivers/raw/dpaa2_qdma/rte_pmd_dpaa2_qdma.h' line='121' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='lcore_id' type-id='type-id-8' visibility='default' filepath='../drivers/raw/dpaa2_qdma/rte_pmd_dpaa2_qdma.h' line='123' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='num_enqueues' type-id='type-id-9' visibility='default' filepath='../drivers/raw/dpaa2_qdma/rte_pmd_dpaa2_qdma.h' line='125' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='num_dequeues' type-id='type-id-9' visibility='default' filepath='../drivers/raw/dpaa2_qdma/rte_pmd_dpaa2_qdma.h' line='127' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='num_pending_jobs' type-id='type-id-9' visibility='default' filepath='../drivers/raw/dpaa2_qdma/rte_pmd_dpaa2_qdma.h' line='129' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-10'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-10' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-11'/>
+    <typedef-decl name='uint8_t' type-id='type-id-11' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-7'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-12'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-12' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-13'/>
+    <typedef-decl name='uint32_t' type-id='type-id-13' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-8'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-14'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-14' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-15'/>
+    <typedef-decl name='uint64_t' type-id='type-id-15' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-9'/>
+    <pointer-type-def type-id='type-id-6' size-in-bits='64' id='type-id-16'/>
+    <function-decl name='rte_qdma_vq_stats' mangled-name='rte_qdma_vq_stats' filepath='../drivers/raw/dpaa2_qdma/dpaa2_qdma.c' line='1093' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_qdma_vq_stats@@DPDK_20.0'>
+      <parameter type-id='type-id-5' name='vq_id' filepath='../drivers/raw/dpaa2_qdma/dpaa2_qdma.c' line='1093' column='1'/>
+      <parameter type-id='type-id-16' name='vq_status' filepath='../drivers/raw/dpaa2_qdma/dpaa2_qdma.c' line='1094' column='1'/>
+      <return type-id='type-id-2'/>
+    </function-decl>
+    <class-decl name='rte_qdma_job' size-in-bits='320' is-struct='yes' visibility='default' filepath='../drivers/raw/dpaa2_qdma/rte_pmd_dpaa2_qdma.h' line='133' column='1' id='type-id-17'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src' type-id='type-id-9' visibility='default' filepath='../drivers/raw/dpaa2_qdma/rte_pmd_dpaa2_qdma.h' line='135' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dest' type-id='type-id-9' visibility='default' filepath='../drivers/raw/dpaa2_qdma/rte_pmd_dpaa2_qdma.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='len' type-id='type-id-8' visibility='default' filepath='../drivers/raw/dpaa2_qdma/rte_pmd_dpaa2_qdma.h' line='139' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='flags' type-id='type-id-8' visibility='default' filepath='../drivers/raw/dpaa2_qdma/rte_pmd_dpaa2_qdma.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='cnxt' type-id='type-id-9' visibility='default' filepath='../drivers/raw/dpaa2_qdma/rte_pmd_dpaa2_qdma.h' line='146' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='status' type-id='type-id-5' visibility='default' filepath='../drivers/raw/dpaa2_qdma/rte_pmd_dpaa2_qdma.h' line='153' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='272'>
+        <var-decl name='vq_id' type-id='type-id-5' visibility='default' filepath='../drivers/raw/dpaa2_qdma/rte_pmd_dpaa2_qdma.h' line='154' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-18'/>
+    <function-decl name='rte_qdma_vq_dequeue' mangled-name='rte_qdma_vq_dequeue' filepath='../drivers/raw/dpaa2_qdma/dpaa2_qdma.c' line='1080' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_qdma_vq_dequeue@@DPDK_20.0'>
+      <parameter type-id='type-id-5' name='vq_id' filepath='../drivers/raw/dpaa2_qdma/dpaa2_qdma.c' line='1080' column='1'/>
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-19'/>
+    <function-decl name='rte_qdma_vq_dequeue_multi' mangled-name='rte_qdma_vq_dequeue_multi' filepath='../drivers/raw/dpaa2_qdma/dpaa2_qdma.c' line='1009' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_qdma_vq_dequeue_multi@@DPDK_20.0'>
+      <parameter type-id='type-id-5' name='vq_id' filepath='../drivers/raw/dpaa2_qdma/dpaa2_qdma.c' line='1009' column='1'/>
+      <parameter type-id='type-id-19' name='job' filepath='../drivers/raw/dpaa2_qdma/dpaa2_qdma.c' line='1010' column='1'/>
+      <parameter type-id='type-id-5' name='nb_jobs' filepath='../drivers/raw/dpaa2_qdma/dpaa2_qdma.c' line='1011' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_qdma_vq_enqueue' mangled-name='rte_qdma_vq_enqueue' filepath='../drivers/raw/dpaa2_qdma/dpaa2_qdma.c' line='761' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_qdma_vq_enqueue@@DPDK_20.0'>
+      <parameter type-id='type-id-5' name='vq_id' filepath='../drivers/raw/dpaa2_qdma/dpaa2_qdma.c' line='761' column='1'/>
+      <parameter type-id='type-id-18' name='job' filepath='../drivers/raw/dpaa2_qdma/dpaa2_qdma.c' line='762' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_qdma_vq_enqueue_multi' mangled-name='rte_qdma_vq_enqueue_multi' filepath='../drivers/raw/dpaa2_qdma/dpaa2_qdma.c' line='728' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_qdma_vq_enqueue_multi@@DPDK_20.0'>
+      <parameter type-id='type-id-5' name='vq_id' filepath='../drivers/raw/dpaa2_qdma/dpaa2_qdma.c' line='728' column='1'/>
+      <parameter type-id='type-id-19' name='job' filepath='../drivers/raw/dpaa2_qdma/dpaa2_qdma.c' line='729' column='1'/>
+      <parameter type-id='type-id-5' name='nb_jobs' filepath='../drivers/raw/dpaa2_qdma/dpaa2_qdma.c' line='730' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_qdma_vq_create' mangled-name='rte_qdma_vq_create' filepath='../drivers/raw/dpaa2_qdma/dpaa2_qdma.c' line='576' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_qdma_vq_create@@DPDK_20.0'>
+      <parameter type-id='type-id-8' name='lcore_id' filepath='../drivers/raw/dpaa2_qdma/dpaa2_qdma.c' line='576' column='1'/>
+      <parameter type-id='type-id-8' name='flags' filepath='../drivers/raw/dpaa2_qdma/dpaa2_qdma.c' line='576' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_qdma_start' mangled-name='rte_qdma_start' filepath='../drivers/raw/dpaa2_qdma/dpaa2_qdma.c' line='566' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_qdma_start@@DPDK_20.0'>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_qdma_config' size-in-bits='96' is-struct='yes' visibility='default' filepath='../drivers/raw/dpaa2_qdma/rte_pmd_dpaa2_qdma.h' line='64' column='1' id='type-id-20'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max_hw_queues_per_core' type-id='type-id-5' visibility='default' filepath='../drivers/raw/dpaa2_qdma/rte_pmd_dpaa2_qdma.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='max_vqs' type-id='type-id-5' visibility='default' filepath='../drivers/raw/dpaa2_qdma/rte_pmd_dpaa2_qdma.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='mode' type-id='type-id-7' visibility='default' filepath='../drivers/raw/dpaa2_qdma/rte_pmd_dpaa2_qdma.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='format' type-id='type-id-7' visibility='default' filepath='../drivers/raw/dpaa2_qdma/rte_pmd_dpaa2_qdma.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fle_pool_count' type-id='type-id-1' visibility='default' filepath='../drivers/raw/dpaa2_qdma/rte_pmd_dpaa2_qdma.h' line='81' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-21'/>
+    <function-decl name='rte_qdma_configure' mangled-name='rte_qdma_configure' filepath='../drivers/raw/dpaa2_qdma/dpaa2_qdma.c' line='495' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_qdma_configure@@DPDK_20.0'>
+      <parameter type-id='type-id-21' name='qdma_config' filepath='../drivers/raw/dpaa2_qdma/dpaa2_qdma.c' line='495' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_qdma_reset' mangled-name='rte_qdma_reset' filepath='../drivers/raw/dpaa2_qdma/dpaa2_qdma.c' line='441' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_qdma_reset@@DPDK_20.0'>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_qdma_attr' size-in-bits='16' is-struct='yes' visibility='default' filepath='../drivers/raw/dpaa2_qdma/rte_pmd_dpaa2_qdma.h' line='58' column='1' id='type-id-22'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='num_hw_queues' type-id='type-id-5' visibility='default' filepath='../drivers/raw/dpaa2_qdma/rte_pmd_dpaa2_qdma.h' line='60' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-23'/>
+    <function-decl name='rte_qdma_attr_get' mangled-name='rte_qdma_attr_get' filepath='../drivers/raw/dpaa2_qdma/dpaa2_qdma.c' line='433' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_qdma_attr_get@@DPDK_20.0'>
+      <parameter type-id='type-id-23' name='qdma_attr' filepath='../drivers/raw/dpaa2_qdma/dpaa2_qdma.c' line='433' column='1'/>
+      <return type-id='type-id-2'/>
+    </function-decl>
+    <function-decl name='rte_qdma_init' mangled-name='rte_qdma_init' filepath='../drivers/raw/dpaa2_qdma/dpaa2_qdma.c' line='423' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_qdma_init@@DPDK_20.0'>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_rawdev_ifpga.dump b/drivers/.abi/librte_rawdev_ifpga.dump
new file mode 100644
index 000000000..8d8e24b70
--- /dev/null
+++ b/drivers/.abi/librte_rawdev_ifpga.dump
@@ -0,0 +1,779 @@
+<abi-corpus path='gcc//drivers/librte_rawdev_ifpga.so.20.0' architecture='elf-amd-x86_64' soname='librte_rawdev_ifpga.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_rawdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='librte_bus_ifpga.so.20.0'/>
+    <dependency name='librte_pmd_i40e.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='librte_pmd_ipn3ke.so.20.0'/>
+    <dependency name='librte_sched.so.20.0'/>
+    <dependency name='libfdt.so.1'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/raw/ifpga/base/ifpga_api.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='opae_accelerator_ops' size-in-bits='384' is-struct='yes' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='163' column='1' id='type-id-1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='read' type-id='type-id-2' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='164' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='write' type-id='type-id-2' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='166' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='get_info' type-id='type-id-3' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='168' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='get_region_info' type-id='type-id-4' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='170' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='set_irq' type-id='type-id-5' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='172' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='get_uuid' type-id='type-id-6' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='174' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='int' size-in-bits='32' id='type-id-7'/>
+    <class-decl name='opae_accelerator' size-in-bits='512' is-struct='yes' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='137' column='1' id='type-id-8'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='node' type-id='type-id-9' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-10' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='139' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='index' type-id='type-id-7' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='140' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='br' type-id='type-id-11' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='mgr' type-id='type-id-12' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='142' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='ops' type-id='type-id-13' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='143' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='data' type-id='type-id-14' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='144' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='138' column='1' id='type-id-9'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-15' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-16' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='138' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-15'/>
+    <pointer-type-def type-id='type-id-15' size-in-bits='64' id='type-id-16'/>
+    <type-decl name='char' size-in-bits='8' id='type-id-17'/>
+    <qualified-type-def type-id='type-id-17' const='yes' id='type-id-18'/>
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-10'/>
+    <class-decl name='opae_bridge' size-in-bits='320' is-struct='yes' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='109' column='1' id='type-id-19'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-10' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='110' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='id' type-id='type-id-7' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='111' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='acc' type-id='type-id-15' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='112' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ops' type-id='type-id-20' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='113' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='data' type-id='type-id-14' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='114' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='opae_bridge_ops' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='117' column='1' id='type-id-21'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='reset' type-id='type-id-22' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='118' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-11'/>
+    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-22'/>
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-20'/>
+    <type-decl name='void' id='type-id-24'/>
+    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-14'/>
+    <class-decl name='opae_manager' size-in-bits='384' is-struct='yes' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='38' column='1' id='type-id-25'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-10' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='39' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='adapter' type-id='type-id-26' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='40' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ops' type-id='type-id-27' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='network_ops' type-id='type-id-28' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='sensor_list' type-id='type-id-29' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data' type-id='type-id-14' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='44' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='opae_adapter' size-in-bits='384' is-struct='yes' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='268' column='1' id='type-id-30'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-10' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='269' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mgr' type-id='type-id-12' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='270' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='acc_list' type-id='type-id-31' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='271' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='ops' type-id='type-id-32' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='272' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data' type-id='type-id-14' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='273' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-12'/>
+    <class-decl name='opae_accelerator_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='263' column='1' id='type-id-31'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-15' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='263' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-16' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='263' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='opae_adapter_ops' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='258' column='1' id='type-id-33'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='enumerate' type-id='type-id-34' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='destroy' type-id='type-id-35' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='260' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-26'/>
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-34'/>
+    <pointer-type-def type-id='type-id-37' size-in-bits='64' id='type-id-35'/>
+    <pointer-type-def type-id='type-id-33' size-in-bits='64' id='type-id-32'/>
+    <class-decl name='opae_manager_ops' size-in-bits='256' is-struct='yes' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='48' column='1' id='type-id-38'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flash' type-id='type-id-39' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='get_eth_group_region_info' type-id='type-id-40' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='get_sensor_value' type-id='type-id-41' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='get_board_info' type-id='type-id-42' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='56' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-43'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-43' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-44'/>
+    <typedef-decl name='uint32_t' type-id='type-id-44' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-45'/>
+    <typedef-decl name='u32' type-id='type-id-45' filepath='../drivers/raw/ifpga/base/opae_osdep.h' line='22' column='1' id='type-id-46'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-47'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-47' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-48'/>
+    <typedef-decl name='uint64_t' type-id='type-id-48' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-49'/>
+    <typedef-decl name='u64' type-id='type-id-49' filepath='../drivers/raw/ifpga/base/opae_osdep.h' line='24' column='1' id='type-id-50'/>
+    <pointer-type-def type-id='type-id-50' size-in-bits='64' id='type-id-51'/>
+    <pointer-type-def type-id='type-id-52' size-in-bits='64' id='type-id-39'/>
+    <class-decl name='opae_eth_group_region_info' size-in-bits='320' is-struct='yes' visibility='default' filepath='../drivers/raw/ifpga/base/opae_eth_group.h' line='60' column='1' id='type-id-53'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='group_id' type-id='type-id-54' visibility='default' filepath='../drivers/raw/ifpga/base/opae_eth_group.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='phys_addr' type-id='type-id-50' visibility='default' filepath='../drivers/raw/ifpga/base/opae_eth_group.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='len' type-id='type-id-50' visibility='default' filepath='../drivers/raw/ifpga/base/opae_eth_group.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='addr' type-id='type-id-55' visibility='default' filepath='../drivers/raw/ifpga/base/opae_eth_group.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='mem_idx' type-id='type-id-54' visibility='default' filepath='../drivers/raw/ifpga/base/opae_eth_group.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-56'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-56' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-57'/>
+    <typedef-decl name='uint8_t' type-id='type-id-57' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-58'/>
+    <typedef-decl name='u8' type-id='type-id-58' filepath='../drivers/raw/ifpga/base/opae_osdep.h' line='19' column='1' id='type-id-54'/>
+    <pointer-type-def type-id='type-id-54' size-in-bits='64' id='type-id-55'/>
+    <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-59'/>
+    <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-40'/>
+    <class-decl name='opae_sensor_info' size-in-bits='576' is-struct='yes' visibility='default' filepath='../drivers/raw/ifpga/base/opae_intel_max10.h' line='195' column='1' id='type-id-61'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='node' type-id='type-id-62' visibility='default' filepath='../drivers/raw/ifpga/base/opae_intel_max10.h' line='196' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-10' visibility='default' filepath='../drivers/raw/ifpga/base/opae_intel_max10.h' line='197' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='type' type-id='type-id-10' visibility='default' filepath='../drivers/raw/ifpga/base/opae_intel_max10.h' line='198' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='id' type-id='type-id-43' visibility='default' filepath='../drivers/raw/ifpga/base/opae_intel_max10.h' line='199' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='high_fatal' type-id='type-id-43' visibility='default' filepath='../drivers/raw/ifpga/base/opae_intel_max10.h' line='200' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='high_warn' type-id='type-id-43' visibility='default' filepath='../drivers/raw/ifpga/base/opae_intel_max10.h' line='201' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='low_fatal' type-id='type-id-43' visibility='default' filepath='../drivers/raw/ifpga/base/opae_intel_max10.h' line='202' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='low_warn' type-id='type-id-43' visibility='default' filepath='../drivers/raw/ifpga/base/opae_intel_max10.h' line='203' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='hysteresis' type-id='type-id-43' visibility='default' filepath='../drivers/raw/ifpga/base/opae_intel_max10.h' line='204' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='multiplier' type-id='type-id-43' visibility='default' filepath='../drivers/raw/ifpga/base/opae_intel_max10.h' line='205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='flags' type-id='type-id-43' visibility='default' filepath='../drivers/raw/ifpga/base/opae_intel_max10.h' line='206' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='value' type-id='type-id-43' visibility='default' filepath='../drivers/raw/ifpga/base/opae_intel_max10.h' line='207' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='value_reg' type-id='type-id-43' visibility='default' filepath='../drivers/raw/ifpga/base/opae_intel_max10.h' line='208' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/raw/ifpga/base/opae_intel_max10.h' line='196' column='1' id='type-id-62'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-63' visibility='default' filepath='../drivers/raw/ifpga/base/opae_intel_max10.h' line='196' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-64' visibility='default' filepath='../drivers/raw/ifpga/base/opae_intel_max10.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-61' size-in-bits='64' id='type-id-63'/>
+    <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-64'/>
+    <pointer-type-def type-id='type-id-43' size-in-bits='64' id='type-id-65'/>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-41'/>
+    <class-decl name='opae_board_info' size-in-bits='336' is-struct='yes' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_defines.h' line='1717' column='1' id='type-id-67'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='major' type-id='type-id-68' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_defines.h' line='1718' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='minor' type-id='type-id-69' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_defines.h' line='1719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-70' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_defines.h' line='1720' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='fvl_bypass' type-id='type-id-54' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_defines.h' line='1723' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='104'>
+        <var-decl name='mac_lightweight' type-id='type-id-54' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_defines.h' line='1724' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='112'>
+        <var-decl name='disaggregate' type-id='type-id-54' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_defines.h' line='1725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='120'>
+        <var-decl name='lightweight' type-id='type-id-54' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_defines.h' line='1726' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='seu' type-id='type-id-54' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_defines.h' line='1727' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='ptp' type-id='type-id-54' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_defines.h' line='1728' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='max10_version' type-id='type-id-46' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_defines.h' line='1730' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='nios_fw_version' type-id='type-id-46' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_defines.h' line='1731' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='208'>
+        <var-decl name='nums_of_retimer' type-id='type-id-46' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_defines.h' line='1732' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='240'>
+        <var-decl name='ports_per_retimer' type-id='type-id-46' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_defines.h' line='1733' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='272'>
+        <var-decl name='nums_of_fvl' type-id='type-id-46' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_defines.h' line='1734' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='304'>
+        <var-decl name='ports_per_fvl' type-id='type-id-46' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_defines.h' line='1735' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-71'/>
+    <enum-decl name='pac_major' filepath='../drivers/raw/ifpga/base/ifpga_defines.h' line='1705' column='1' id='type-id-68'>
+      <underlying-type type-id='type-id-71'/>
+      <enumerator name='VISTA_CREEK' value='0'/>
+      <enumerator name='RUSH_CREEK' value='1'/>
+      <enumerator name='DARBY_CREEK' value='2'/>
+    </enum-decl>
+    <enum-decl name='pac_minor' filepath='../drivers/raw/ifpga/base/ifpga_defines.h' line='1711' column='1' id='type-id-69'>
+      <underlying-type type-id='type-id-71'/>
+      <enumerator name='DCP_1_0' value='0'/>
+      <enumerator name='DCP_1_1' value='1'/>
+      <enumerator name='DCP_1_2' value='2'/>
+    </enum-decl>
+    <enum-decl name='board_interface' filepath='../drivers/raw/ifpga/base/ifpga_defines.h' line='1697' column='1' id='type-id-70'>
+      <underlying-type type-id='type-id-71'/>
+      <enumerator name='VC_8_10G' value='0'/>
+      <enumerator name='VC_4_25G' value='1'/>
+      <enumerator name='VC_2_1_25' value='2'/>
+      <enumerator name='VC_4_25G_2_25G' value='3'/>
+      <enumerator name='VC_2_2_25G' value='4'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-67' size-in-bits='64' id='type-id-72'/>
+    <pointer-type-def type-id='type-id-72' size-in-bits='64' id='type-id-73'/>
+    <pointer-type-def type-id='type-id-74' size-in-bits='64' id='type-id-42'/>
+    <pointer-type-def type-id='type-id-38' size-in-bits='64' id='type-id-27'/>
+    <class-decl name='opae_manager_networking_ops' size-in-bits='512' is-struct='yes' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='61' column='1' id='type-id-75'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='read_mac_rom' type-id='type-id-76' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='write_mac_rom' type-id='type-id-76' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='get_eth_group_nums' type-id='type-id-77' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='get_eth_group_info' type-id='type-id-78' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='eth_group_reg_read' type-id='type-id-79' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='eth_group_reg_write' type-id='type-id-80' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='get_retimer_info' type-id='type-id-81' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='73' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='get_retimer_status' type-id='type-id-82' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='75' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-76'/>
+    <pointer-type-def type-id='type-id-84' size-in-bits='64' id='type-id-77'/>
+    <class-decl name='opae_eth_group_info' size-in-bits='32' is-struct='yes' visibility='default' filepath='../drivers/raw/ifpga/base/opae_eth_group.h' line='53' column='1' id='type-id-85'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='group_id' type-id='type-id-54' visibility='default' filepath='../drivers/raw/ifpga/base/opae_eth_group.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='speed' type-id='type-id-54' visibility='default' filepath='../drivers/raw/ifpga/base/opae_eth_group.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='nums_of_phy' type-id='type-id-54' visibility='default' filepath='../drivers/raw/ifpga/base/opae_eth_group.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='nums_of_mac' type-id='type-id-54' visibility='default' filepath='../drivers/raw/ifpga/base/opae_eth_group.h' line='57' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-85' size-in-bits='64' id='type-id-86'/>
+    <pointer-type-def type-id='type-id-87' size-in-bits='64' id='type-id-78'/>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-88'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-88' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-89'/>
+    <typedef-decl name='uint16_t' type-id='type-id-89' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-90'/>
+    <typedef-decl name='u16' type-id='type-id-90' filepath='../drivers/raw/ifpga/base/opae_osdep.h' line='21' column='1' id='type-id-91'/>
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-92'/>
+    <pointer-type-def type-id='type-id-93' size-in-bits='64' id='type-id-79'/>
+    <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-80'/>
+    <class-decl name='opae_retimer_info' size-in-bits='160' is-struct='yes' visibility='default' filepath='../drivers/raw/ifpga/base/opae_intel_max10.h' line='56' column='1' id='type-id-95'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nums_retimer' type-id='type-id-43' visibility='default' filepath='../drivers/raw/ifpga/base/opae_intel_max10.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ports_per_retimer' type-id='type-id-43' visibility='default' filepath='../drivers/raw/ifpga/base/opae_intel_max10.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='nums_fvl' type-id='type-id-43' visibility='default' filepath='../drivers/raw/ifpga/base/opae_intel_max10.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='ports_per_fvl' type-id='type-id-43' visibility='default' filepath='../drivers/raw/ifpga/base/opae_intel_max10.h' line='60' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='support_speed' type-id='type-id-96' visibility='default' filepath='../drivers/raw/ifpga/base/opae_intel_max10.h' line='61' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='retimer_speed' filepath='../drivers/raw/ifpga/base/opae_intel_max10.h' line='44' column='1' id='type-id-96'>
+      <underlying-type type-id='type-id-71'/>
+      <enumerator name='MXD_1GB' value='1'/>
+      <enumerator name='MXD_2_5GB' value='2'/>
+      <enumerator name='MXD_5GB' value='5'/>
+      <enumerator name='MXD_10GB' value='10'/>
+      <enumerator name='MXD_25GB' value='25'/>
+      <enumerator name='MXD_40GB' value='40'/>
+      <enumerator name='MXD_100GB' value='100'/>
+      <enumerator name='MXD_SPEED_UNKNOWN' value='101'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-95' size-in-bits='64' id='type-id-97'/>
+    <pointer-type-def type-id='type-id-98' size-in-bits='64' id='type-id-81'/>
+    <class-decl name='opae_retimer_status' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/raw/ifpga/base/opae_intel_max10.h' line='65' column='1' id='type-id-99'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='speed' type-id='type-id-96' visibility='default' filepath='../drivers/raw/ifpga/base/opae_intel_max10.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='line_link_bitmap' type-id='type-id-43' visibility='default' filepath='../drivers/raw/ifpga/base/opae_intel_max10.h' line='79' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-99' size-in-bits='64' id='type-id-100'/>
+    <pointer-type-def type-id='type-id-101' size-in-bits='64' id='type-id-82'/>
+    <pointer-type-def type-id='type-id-75' size-in-bits='64' id='type-id-28'/>
+    <class-decl name='opae_sensor_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/raw/ifpga/base/opae_intel_max10.h' line='30' column='1' id='type-id-102'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-63' visibility='default' filepath='../drivers/raw/ifpga/base/opae_intel_max10.h' line='30' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-64' visibility='default' filepath='../drivers/raw/ifpga/base/opae_intel_max10.h' line='30' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-102' size-in-bits='64' id='type-id-29'/>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-13'/>
+    <pointer-type-def type-id='type-id-103' size-in-bits='64' id='type-id-2'/>
+    <class-decl name='opae_acc_info' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='147' column='1' id='type-id-104'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='num_regions' type-id='type-id-43' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='148' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='num_irqs' type-id='type-id-43' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='149' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-104' size-in-bits='64' id='type-id-105'/>
+    <pointer-type-def type-id='type-id-106' size-in-bits='64' id='type-id-3'/>
+    <class-decl name='opae_acc_region_info' size-in-bits='256' is-struct='yes' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='152' column='1' id='type-id-107'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-46' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='153' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='index' type-id='type-id-46' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='157' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='phys_addr' type-id='type-id-50' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='158' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='len' type-id='type-id-50' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='159' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='addr' type-id='type-id-55' visibility='default' filepath='../drivers/raw/ifpga/base/opae_hw_api.h' line='160' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-107' size-in-bits='64' id='type-id-108'/>
+    <pointer-type-def type-id='type-id-109' size-in-bits='64' id='type-id-4'/>
+    <typedef-decl name='__int32_t' type-id='type-id-7' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-110'/>
+    <typedef-decl name='int32_t' type-id='type-id-110' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-111'/>
+    <typedef-decl name='s32' type-id='type-id-111' filepath='../drivers/raw/ifpga/base/opae_osdep.h' line='23' column='1' id='type-id-112'/>
+    <pointer-type-def type-id='type-id-112' size-in-bits='64' id='type-id-113'/>
+    <pointer-type-def type-id='type-id-114' size-in-bits='64' id='type-id-5'/>
+    <class-decl name='uuid' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/raw/ifpga/base/opae_osdep.h' line='27' column='1' id='type-id-115'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='b' type-id='type-id-116' visibility='default' filepath='../drivers/raw/ifpga/base/opae_osdep.h' line='28' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-54' size-in-bits='128' id='type-id-116'>
+      <subrange length='16' type-id='type-id-47' id='type-id-117'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-115' size-in-bits='64' id='type-id-118'/>
+    <pointer-type-def type-id='type-id-119' size-in-bits='64' id='type-id-6'/>
+    <var-decl name='ifpga_acc_ops' type-id='type-id-1' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_api.h' line='14' column='1'/>
+    <var-decl name='ifpga_br_ops' type-id='type-id-21' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_api.h' line='13' column='1'/>
+    <var-decl name='ifpga_mgr_ops' type-id='type-id-38' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_api.h' line='12' column='1'/>
+    <var-decl name='ifpga_mgr_network_ops' type-id='type-id-75' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_api.h' line='15' column='1'/>
+    <var-decl name='ifpga_adapter_ops' type-id='type-id-33' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_api.h' line='11' column='1'/>
+    <function-type size-in-bits='64' id='type-id-106'>
+      <parameter type-id='type-id-15'/>
+      <parameter type-id='type-id-105'/>
+      <return type-id='type-id-7'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-109'>
+      <parameter type-id='type-id-15'/>
+      <parameter type-id='type-id-108'/>
+      <return type-id='type-id-7'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-114'>
+      <parameter type-id='type-id-15'/>
+      <parameter type-id='type-id-46'/>
+      <parameter type-id='type-id-46'/>
+      <parameter type-id='type-id-113'/>
+      <return type-id='type-id-7'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-103'>
+      <parameter type-id='type-id-15'/>
+      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-50'/>
+      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-7'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-119'>
+      <parameter type-id='type-id-15'/>
+      <parameter type-id='type-id-118'/>
+      <return type-id='type-id-7'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-36'>
+      <parameter type-id='type-id-26'/>
+      <return type-id='type-id-7'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-23'>
+      <parameter type-id='type-id-11'/>
+      <return type-id='type-id-7'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-84'>
+      <parameter type-id='type-id-12'/>
+      <return type-id='type-id-7'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-52'>
+      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-7'/>
+      <parameter type-id='type-id-10'/>
+      <parameter type-id='type-id-46'/>
+      <parameter type-id='type-id-51'/>
+      <return type-id='type-id-7'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-83'>
+      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-7'/>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-7'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-74'>
+      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-73'/>
+      <return type-id='type-id-7'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-60'>
+      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-59'/>
+      <return type-id='type-id-7'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-98'>
+      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-97'/>
+      <return type-id='type-id-7'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-101'>
+      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-100'/>
+      <return type-id='type-id-7'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-66'>
+      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-63'/>
+      <parameter type-id='type-id-65'/>
+      <return type-id='type-id-7'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-87'>
+      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-54'/>
+      <parameter type-id='type-id-86'/>
+      <return type-id='type-id-7'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-94'>
+      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-54'/>
+      <parameter type-id='type-id-54'/>
+      <parameter type-id='type-id-54'/>
+      <parameter type-id='type-id-91'/>
+      <parameter type-id='type-id-46'/>
+      <return type-id='type-id-7'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-93'>
+      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-54'/>
+      <parameter type-id='type-id-54'/>
+      <parameter type-id='type-id-54'/>
+      <parameter type-id='type-id-91'/>
+      <parameter type-id='type-id-92'/>
+      <return type-id='type-id-7'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-37'>
+      <parameter type-id='type-id-26'/>
+      <return type-id='type-id-24'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/raw/ifpga/base/ifpga_fme.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='ifpga_feature_ops' size-in-bits='320' is-struct='yes' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_hw.h' line='52' column='1' id='type-id-120'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='init' type-id='type-id-121' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_hw.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='uinit' type-id='type-id-122' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_hw.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='get_prop' type-id='type-id-123' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_hw.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='set_prop' type-id='type-id-123' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_hw.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='set_irq' type-id='type-id-124' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_hw.h' line='59' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ifpga_feature' size-in-bits='960' is-struct='yes' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_hw.h' line='30' column='1' id='type-id-125'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-126' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_hw.h' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='state' type-id='type-id-127' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_hw.h' line='32' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='type' type-id='type-id-128' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_hw.h' line='33' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='name' type-id='type-id-10' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_hw.h' line='34' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='id' type-id='type-id-50' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_hw.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='addr' type-id='type-id-55' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_hw.h' line='36' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='phys_addr' type-id='type-id-49' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_hw.h' line='37' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='size' type-id='type-id-46' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_hw.h' line='38' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='revision' type-id='type-id-7' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_hw.h' line='39' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cap' type-id='type-id-50' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_hw.h' line='40' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='vfio_dev_fd' type-id='type-id-7' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_hw.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='ctx' type-id='type-id-129' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_hw.h' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ctx_num' type-id='type-id-43' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_hw.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='parent' type-id='type-id-14' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_hw.h' line='45' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='ops' type-id='type-id-130' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_hw.h' line='47' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='vec_start' type-id='type-id-43' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_hw.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='928'>
+        <var-decl name='vec_cnt' type-id='type-id-43' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_hw.h' line='49' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_hw.h' line='31' column='1' id='type-id-126'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-131' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_hw.h' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-132' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_hw.h' line='31' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-125' size-in-bits='64' id='type-id-131'/>
+    <pointer-type-def type-id='type-id-131' size-in-bits='64' id='type-id-132'/>
+    <enum-decl name='ifpga_feature_state' filepath='../drivers/raw/ifpga/base/ifpga_hw.h' line='15' column='1' id='type-id-127'>
+      <underlying-type type-id='type-id-71'/>
+      <enumerator name='IFPGA_FEATURE_UNUSED' value='0'/>
+      <enumerator name='IFPGA_FEATURE_ATTACHED' value='1'/>
+    </enum-decl>
+    <enum-decl name='feature_type' filepath='../drivers/raw/ifpga/base/ifpga_hw.h' line='20' column='1' id='type-id-128'>
+      <underlying-type type-id='type-id-71'/>
+      <enumerator name='FEATURE_FME_TYPE' value='0'/>
+      <enumerator name='FEATURE_PORT_TYPE' value='1'/>
+    </enum-decl>
+    <class-decl name='feature_irq_ctx' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_hw.h' line='25' column='1' id='type-id-133'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='eventfd' type-id='type-id-7' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_hw.h' line='26' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='idx' type-id='type-id-7' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_hw.h' line='27' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-133' size-in-bits='64' id='type-id-129'/>
+    <pointer-type-def type-id='type-id-120' size-in-bits='64' id='type-id-130'/>
+    <pointer-type-def type-id='type-id-134' size-in-bits='64' id='type-id-121'/>
+    <pointer-type-def type-id='type-id-135' size-in-bits='64' id='type-id-122'/>
+    <class-decl name='feature_prop' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/raw/ifpga/base/opae_ifpga_hw_api.h' line='16' column='1' id='type-id-136'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='feature_id' type-id='type-id-50' visibility='default' filepath='../drivers/raw/ifpga/base/opae_ifpga_hw_api.h' line='17' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='prop_id' type-id='type-id-50' visibility='default' filepath='../drivers/raw/ifpga/base/opae_ifpga_hw_api.h' line='18' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data' type-id='type-id-50' visibility='default' filepath='../drivers/raw/ifpga/base/opae_ifpga_hw_api.h' line='19' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-136' size-in-bits='64' id='type-id-137'/>
+    <pointer-type-def type-id='type-id-138' size-in-bits='64' id='type-id-123'/>
+    <pointer-type-def type-id='type-id-139' size-in-bits='64' id='type-id-124'/>
+    <var-decl name='fme_hdr_ops' type-id='type-id-120' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_feature_dev.h' line='167' column='1'/>
+    <var-decl name='fme_thermal_mgmt_ops' type-id='type-id-120' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_feature_dev.h' line='168' column='1'/>
+    <var-decl name='fme_power_mgmt_ops' type-id='type-id-120' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_feature_dev.h' line='169' column='1'/>
+    <var-decl name='fme_hssi_eth_ops' type-id='type-id-120' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_feature_dev.h' line='174' column='1'/>
+    <var-decl name='fme_emif_ops' type-id='type-id-120' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_feature_dev.h' line='175' column='1'/>
+    <var-decl name='fme_spi_master_ops' type-id='type-id-120' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_feature_dev.h' line='176' column='1'/>
+    <var-decl name='fme_nios_spi_master_ops' type-id='type-id-120' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_feature_dev.h' line='179' column='1'/>
+    <var-decl name='fme_i2c_master_ops' type-id='type-id-120' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_feature_dev.h' line='177' column='1'/>
+    <var-decl name='fme_eth_group_ops' type-id='type-id-120' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_feature_dev.h' line='178' column='1'/>
+    <function-type size-in-bits='64' id='type-id-134'>
+      <parameter type-id='type-id-131'/>
+      <return type-id='type-id-7'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-138'>
+      <parameter type-id='type-id-131'/>
+      <parameter type-id='type-id-137'/>
+      <return type-id='type-id-7'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-139'>
+      <parameter type-id='type-id-131'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-7'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-135'>
+      <parameter type-id='type-id-131'/>
+      <return type-id='type-id-24'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/raw/ifpga/base/ifpga_fme_iperf.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='fme_global_iperf_ops' type-id='type-id-120' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_feature_dev.h' line='172' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/raw/ifpga/base/ifpga_fme_dperf.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='fme_global_dperf_ops' type-id='type-id-120' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_feature_dev.h' line='173' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/raw/ifpga/base/ifpga_fme_error.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='fme_global_err_ops' type-id='type-id-120' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_feature_dev.h' line='170' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/raw/ifpga/base/ifpga_port.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='ifpga_rawdev_port_hdr_ops' type-id='type-id-120' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_feature_dev.h' line='195' column='1'/>
+    <var-decl name='ifpga_rawdev_port_stp_ops' type-id='type-id-120' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_feature_dev.h' line='197' column='1'/>
+    <var-decl name='ifpga_rawdev_port_uint_ops' type-id='type-id-120' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_feature_dev.h' line='198' column='1'/>
+    <var-decl name='ifpga_rawdev_port_afu_ops' type-id='type-id-120' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_feature_dev.h' line='199' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/raw/ifpga/base/ifpga_port_error.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='ifpga_rawdev_port_error_ops' type-id='type-id-120' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_feature_dev.h' line='196' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/raw/ifpga/base/ifpga_fme_pr.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='fme_pr_mgmt_ops' type-id='type-id-120' visibility='default' filepath='../drivers/raw/ifpga/base/ifpga_feature_dev.h' line='171' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/raw/ifpga/ifpga_rawdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='ifpga_rawdev_logtype' type-id='type-id-7' visibility='default' filepath='../drivers/raw/ifpga/ifpga_rawdev.h' line='8' column='1'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_rawdev_ioat.dump b/drivers/.abi/librte_rawdev_ioat.dump
new file mode 100644
index 000000000..703f508c8
--- /dev/null
+++ b/drivers/.abi/librte_rawdev_ioat.dump
@@ -0,0 +1,19 @@
+<abi-corpus path='gcc//drivers/librte_rawdev_ioat.so.20.0' architecture='elf-amd-x86_64' soname='librte_rawdev_ioat.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_rawdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+</abi-corpus>
diff --git a/drivers/.abi/librte_rawdev_ntb.dump b/drivers/.abi/librte_rawdev_ntb.dump
new file mode 100644
index 000000000..6bd17934b
--- /dev/null
+++ b/drivers/.abi/librte_rawdev_ntb.dump
@@ -0,0 +1,771 @@
+<abi-corpus path='gcc//drivers/librte_rawdev_ntb.so.20.0' architecture='elf-amd-x86_64' soname='librte_rawdev_ntb.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_rawdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/raw/ntb/ntb.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='ntb_logtype' type-id='type-id-1' visibility='default' filepath='../drivers/raw/ntb/ntb.h' line='10' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/raw/ntb/ntb_hw_intel.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='ntb_dev_ops' size-in-bits='832' is-struct='yes' visibility='default' filepath='../drivers/raw/ntb/ntb.h' line='102' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ntb_dev_init' type-id='type-id-3' visibility='default' filepath='../drivers/raw/ntb/ntb.h' line='103' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='get_peer_mw_addr' type-id='type-id-4' visibility='default' filepath='../drivers/raw/ntb/ntb.h' line='104' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mw_set_trans' type-id='type-id-5' visibility='default' filepath='../drivers/raw/ntb/ntb.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ioremap' type-id='type-id-6' visibility='default' filepath='../drivers/raw/ntb/ntb.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='get_link_status' type-id='type-id-3' visibility='default' filepath='../drivers/raw/ntb/ntb.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='set_link' type-id='type-id-7' visibility='default' filepath='../drivers/raw/ntb/ntb.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='spad_read' type-id='type-id-8' visibility='default' filepath='../drivers/raw/ntb/ntb.h' line='110' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='spad_write' type-id='type-id-9' visibility='default' filepath='../drivers/raw/ntb/ntb.h' line='112' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='db_read' type-id='type-id-10' visibility='default' filepath='../drivers/raw/ntb/ntb.h' line='114' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='db_clear' type-id='type-id-11' visibility='default' filepath='../drivers/raw/ntb/ntb.h' line='115' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='db_set_mask' type-id='type-id-11' visibility='default' filepath='../drivers/raw/ntb/ntb.h' line='116' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='peer_db_set' type-id='type-id-12' visibility='default' filepath='../drivers/raw/ntb/ntb.h' line='117' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='vector_bind' type-id='type-id-13' visibility='default' filepath='../drivers/raw/ntb/ntb.h' line='118' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_rawdev' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='263' column='1' id='type-id-14'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='265' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dev_id' type-id='type-id-15' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='267' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_ops' type-id='type-id-16' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='269' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='device' type-id='type-id-17' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='271' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver_name' type-id='type-id-18' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='273' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='attached' type-id='type-id-19' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='277' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='started' type-id='type-id-19' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_private' type-id='type-id-20' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='282' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='name' type-id='type-id-21' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='284' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-22'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-22' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-23'/>
+    <typedef-decl name='uint16_t' type-id='type-id-23' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-15'/>
+    <class-decl name='rte_rawdev_ops' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='505' column='1' id='type-id-24'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_info_get' type-id='type-id-25' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='507' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_configure' type-id='type-id-26' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='509' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dev_start' type-id='type-id-27' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='511' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_stop' type-id='type-id-28' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='513' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dev_close' type-id='type-id-29' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_reset' type-id='type-id-30' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='517' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='queue_def_conf' type-id='type-id-31' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='queue_setup' type-id='type-id-32' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='queue_release' type-id='type-id-33' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='524' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='queue_count' type-id='type-id-34' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='526' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='enqueue_bufs' type-id='type-id-35' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='529' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='dequeue_bufs' type-id='type-id-36' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='532' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='dump' type-id='type-id-37' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='535' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='attr_get' type-id='type-id-38' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='538' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='attr_set' type-id='type-id-39' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='540' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='xstats_get' type-id='type-id-40' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='543' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='xstats_get_names' type-id='type-id-41' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='545' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='xstats_get_by_name' type-id='type-id-42' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='547' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='xstats_reset' type-id='type-id-43' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='549' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='firmware_status_get' type-id='type-id-44' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='552' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='firmware_version_get' type-id='type-id-45' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='554' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='firmware_load' type-id='type-id-46' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='556' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='firmware_unload' type-id='type-id-47' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='558' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='dev_selftest' type-id='type-id-48' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='561' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='void' id='type-id-49'/>
+    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-50'/>
+    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-51'/>
+    <typedef-decl name='rte_rawdev_obj_t' type-id='type-id-51' filepath='../lib/librte_rawdev/rte_rawdev.h' line='29' column='1' id='type-id-20'/>
+    <pointer-type-def type-id='type-id-52' size-in-bits='64' id='type-id-53'/>
+    <typedef-decl name='rawdev_info_get_t' type-id='type-id-53' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='148' column='1' id='type-id-25'/>
+    <qualified-type-def type-id='type-id-14' const='yes' id='type-id-54'/>
+    <pointer-type-def type-id='type-id-54' size-in-bits='64' id='type-id-55'/>
+    <pointer-type-def type-id='type-id-56' size-in-bits='64' id='type-id-57'/>
+    <typedef-decl name='rawdev_configure_t' type-id='type-id-57' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='162' column='1' id='type-id-26'/>
+    <pointer-type-def type-id='type-id-58' size-in-bits='64' id='type-id-59'/>
+    <typedef-decl name='rawdev_start_t' type-id='type-id-59' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='174' column='1' id='type-id-27'/>
+    <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-61'/>
+    <typedef-decl name='rawdev_stop_t' type-id='type-id-61' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='182' column='1' id='type-id-28'/>
+    <typedef-decl name='rawdev_close_t' type-id='type-id-59' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='194' column='1' id='type-id-29'/>
+    <typedef-decl name='rawdev_reset_t' type-id='type-id-59' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='205' column='1' id='type-id-30'/>
+    <pointer-type-def type-id='type-id-62' size-in-bits='64' id='type-id-63'/>
+    <typedef-decl name='rawdev_queue_conf_get_t' type-id='type-id-63' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='218' column='1' id='type-id-31'/>
+    <pointer-type-def type-id='type-id-64' size-in-bits='64' id='type-id-65'/>
+    <typedef-decl name='rawdev_queue_setup_t' type-id='type-id-65' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='235' column='1' id='type-id-32'/>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
+    <typedef-decl name='rawdev_queue_release_t' type-id='type-id-67' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='248' column='1' id='type-id-33'/>
+    <pointer-type-def type-id='type-id-68' size-in-bits='64' id='type-id-69'/>
+    <typedef-decl name='rawdev_queue_count_t' type-id='type-id-69' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='267' column='1' id='type-id-34'/>
+    <class-decl name='rte_rawdev_buf' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='302' column='1' id='type-id-70'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-51' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='304' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-70' size-in-bits='64' id='type-id-71'/>
+    <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-72'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-73'/>
+    <pointer-type-def type-id='type-id-74' size-in-bits='64' id='type-id-75'/>
+    <typedef-decl name='rawdev_enqueue_bufs_t' type-id='type-id-75' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='291' column='1' id='type-id-35'/>
+    <typedef-decl name='rawdev_dequeue_bufs_t' type-id='type-id-75' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='316' column='1' id='type-id-36'/>
+    <class-decl name='_IO_FILE' size-in-bits='1728' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='49' column='1' id='type-id-76'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='_flags' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='_IO_read_ptr' type-id='type-id-77' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='_IO_read_end' type-id='type-id-77' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='_IO_read_base' type-id='type-id-77' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='_IO_write_base' type-id='type-id-77' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='_IO_write_ptr' type-id='type-id-77' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='_IO_write_end' type-id='type-id-77' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='_IO_buf_base' type-id='type-id-77' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='60' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='_IO_buf_end' type-id='type-id-77' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='_IO_save_base' type-id='type-id-77' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='_IO_backup_base' type-id='type-id-77' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='_IO_save_end' type-id='type-id-77' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='_markers' type-id='type-id-78' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='_chain' type-id='type-id-79' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='_fileno' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='928'>
+        <var-decl name='_flags2' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='73' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='_old_offset' type-id='type-id-80' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='_cur_column' type-id='type-id-22' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1040'>
+        <var-decl name='_vtable_offset' type-id='type-id-81' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1048'>
+        <var-decl name='_shortbuf' type-id='type-id-82' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='_lock' type-id='type-id-83' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='_offset' type-id='type-id-84' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='89' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='_codecvt' type-id='type-id-85' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='_wide_data' type-id='type-id-86' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='92' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='_freeres_list' type-id='type-id-79' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='93' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='_freeres_buf' type-id='type-id-51' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='__pad5' type-id='type-id-87' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='95' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='_mode' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1568'>
+        <var-decl name='_unused2' type-id='type-id-88' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='98' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-89'/>
+    <pointer-type-def type-id='type-id-89' size-in-bits='64' id='type-id-77'/>
+    <class-decl name='_IO_marker' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-90'/>
+    <pointer-type-def type-id='type-id-90' size-in-bits='64' id='type-id-78'/>
+    <pointer-type-def type-id='type-id-76' size-in-bits='64' id='type-id-79'/>
+    <type-decl name='long int' size-in-bits='64' id='type-id-91'/>
+    <typedef-decl name='__off_t' type-id='type-id-91' filepath='/usr/include/bits/types.h' line='152' column='1' id='type-id-80'/>
+    <type-decl name='signed char' size-in-bits='8' id='type-id-81'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-92'/>
+
+    <array-type-def dimensions='1' type-id='type-id-89' size-in-bits='8' id='type-id-82'>
+      <subrange length='1' type-id='type-id-92' id='type-id-93'/>
+
+    </array-type-def>
+    <typedef-decl name='_IO_lock_t' type-id='type-id-49' filepath='/usr/include/bits/types/struct_FILE.h' line='43' column='1' id='type-id-94'/>
+    <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-83'/>
+    <typedef-decl name='__off64_t' type-id='type-id-91' filepath='/usr/include/bits/types.h' line='153' column='1' id='type-id-84'/>
+    <class-decl name='_IO_codecvt' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-95'/>
+    <pointer-type-def type-id='type-id-95' size-in-bits='64' id='type-id-85'/>
+    <class-decl name='_IO_wide_data' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-96'/>
+    <pointer-type-def type-id='type-id-96' size-in-bits='64' id='type-id-86'/>
+    <typedef-decl name='size_t' type-id='type-id-92' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-87'/>
+
+    <array-type-def dimensions='1' type-id='type-id-89' size-in-bits='160' id='type-id-88'>
+      <subrange length='20' type-id='type-id-92' id='type-id-97'/>
+
+    </array-type-def>
+    <typedef-decl name='FILE' type-id='type-id-76' filepath='/usr/include/bits/types/FILE.h' line='7' column='1' id='type-id-98'/>
+    <pointer-type-def type-id='type-id-98' size-in-bits='64' id='type-id-99'/>
+    <pointer-type-def type-id='type-id-100' size-in-bits='64' id='type-id-101'/>
+    <typedef-decl name='rawdev_dump_t' type-id='type-id-101' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='333' column='1' id='type-id-37'/>
+    <qualified-type-def type-id='type-id-89' const='yes' id='type-id-102'/>
+    <pointer-type-def type-id='type-id-102' size-in-bits='64' id='type-id-18'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-92' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-103'/>
+    <typedef-decl name='uint64_t' type-id='type-id-103' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-104'/>
+    <pointer-type-def type-id='type-id-104' size-in-bits='64' id='type-id-105'/>
+    <pointer-type-def type-id='type-id-106' size-in-bits='64' id='type-id-107'/>
+    <typedef-decl name='rawdev_get_attr_t' type-id='type-id-107' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='350' column='1' id='type-id-38'/>
+    <qualified-type-def type-id='type-id-104' const='yes' id='type-id-108'/>
+    <pointer-type-def type-id='type-id-109' size-in-bits='64' id='type-id-110'/>
+    <typedef-decl name='rawdev_set_attr_t' type-id='type-id-110' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='368' column='1' id='type-id-39'/>
+    <qualified-type-def type-id='type-id-73' const='yes' id='type-id-111'/>
+    <pointer-type-def type-id='type-id-111' size-in-bits='64' id='type-id-112'/>
+    <pointer-type-def type-id='type-id-113' size-in-bits='64' id='type-id-114'/>
+    <typedef-decl name='rawdev_xstats_get_t' type-id='type-id-114' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='388' column='1' id='type-id-40'/>
+    <class-decl name='rte_rawdev_xstats_name' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='433' column='1' id='type-id-115'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-21' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='434' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-89' size-in-bits='512' id='type-id-21'>
+      <subrange length='64' type-id='type-id-92' id='type-id-116'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-115' size-in-bits='64' id='type-id-117'/>
+    <pointer-type-def type-id='type-id-118' size-in-bits='64' id='type-id-119'/>
+    <typedef-decl name='rawdev_xstats_get_names_t' type-id='type-id-119' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='413' column='1' id='type-id-41'/>
+    <pointer-type-def type-id='type-id-73' size-in-bits='64' id='type-id-120'/>
+    <pointer-type-def type-id='type-id-121' size-in-bits='64' id='type-id-122'/>
+    <typedef-decl name='rawdev_xstats_get_by_name_t' type-id='type-id-122' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='432' column='1' id='type-id-42'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-73' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-123'/>
+    <typedef-decl name='uint32_t' type-id='type-id-123' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-124'/>
+    <qualified-type-def type-id='type-id-124' const='yes' id='type-id-125'/>
+    <pointer-type-def type-id='type-id-125' size-in-bits='64' id='type-id-126'/>
+    <pointer-type-def type-id='type-id-127' size-in-bits='64' id='type-id-128'/>
+    <typedef-decl name='rawdev_xstats_reset_t' type-id='type-id-128' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='394' column='1' id='type-id-43'/>
+    <pointer-type-def type-id='type-id-129' size-in-bits='64' id='type-id-130'/>
+    <typedef-decl name='rawdev_firmware_status_get_t' type-id='type-id-130' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='448' column='1' id='type-id-44'/>
+    <typedef-decl name='rawdev_firmware_version_get_t' type-id='type-id-130' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='462' column='1' id='type-id-45'/>
+    <typedef-decl name='rawdev_firmware_load_t' type-id='type-id-130' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='479' column='1' id='type-id-46'/>
+    <typedef-decl name='rawdev_firmware_unload_t' type-id='type-id-59' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='494' column='1' id='type-id-47'/>
+    <pointer-type-def type-id='type-id-131' size-in-bits='64' id='type-id-132'/>
+    <typedef-decl name='rawdev_selftest_t' type-id='type-id-132' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='502' column='1' id='type-id-48'/>
+    <qualified-type-def type-id='type-id-24' const='yes' id='type-id-133'/>
+    <pointer-type-def type-id='type-id-133' size-in-bits='64' id='type-id-16'/>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-134'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-135' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-18' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-136' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-137' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-138' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-135'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-17' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-139' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-134' size-in-bits='64' id='type-id-17'/>
+    <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-139'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-140'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-141' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-18' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-18' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-141'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-142' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-143' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-140' size-in-bits='64' id='type-id-142'/>
+    <pointer-type-def type-id='type-id-142' size-in-bits='64' id='type-id-143'/>
+    <qualified-type-def type-id='type-id-140' const='yes' id='type-id-144'/>
+    <pointer-type-def type-id='type-id-144' size-in-bits='64' id='type-id-136'/>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-145'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-146' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-18' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-147' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-148' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-149' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-150' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-151' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-152' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-153' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-154' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-155' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-156' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-157' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-158' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-159' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-146'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-160' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-161' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-145' size-in-bits='64' id='type-id-160'/>
+    <pointer-type-def type-id='type-id-160' size-in-bits='64' id='type-id-161'/>
+    <pointer-type-def type-id='type-id-162' size-in-bits='64' id='type-id-163'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-163' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-147'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-163' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-148'/>
+    <qualified-type-def type-id='type-id-134' const='yes' id='type-id-164'/>
+    <pointer-type-def type-id='type-id-164' size-in-bits='64' id='type-id-165'/>
+    <pointer-type-def type-id='type-id-166' size-in-bits='64' id='type-id-167'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-167' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-168'/>
+    <pointer-type-def type-id='type-id-169' size-in-bits='64' id='type-id-170'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-170' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-149'/>
+    <pointer-type-def type-id='type-id-171' size-in-bits='64' id='type-id-172'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-172' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-150'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-172' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-151'/>
+    <pointer-type-def type-id='type-id-173' size-in-bits='64' id='type-id-174'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-174' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-152'/>
+    <pointer-type-def type-id='type-id-175' size-in-bits='64' id='type-id-176'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-176' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-153'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-176' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-154'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-155'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-177' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-178'/>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-177'>
+      <underlying-type type-id='type-id-178'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-179'>
+      <underlying-type type-id='type-id-178'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-180' size-in-bits='64' id='type-id-181'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-181' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-156'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-182'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-18' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-18' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-18' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-160' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-183' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-17' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-51' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-184'/>
+    <pointer-type-def type-id='type-id-184' size-in-bits='64' id='type-id-183'/>
+    <qualified-type-def type-id='type-id-182' const='yes' id='type-id-185'/>
+    <pointer-type-def type-id='type-id-185' size-in-bits='64' id='type-id-186'/>
+    <pointer-type-def type-id='type-id-187' size-in-bits='64' id='type-id-188'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-188' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-157'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-172' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-158'/>
+    <pointer-type-def type-id='type-id-189' size-in-bits='64' id='type-id-190'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-190' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-159'/>
+    <qualified-type-def type-id='type-id-145' const='yes' id='type-id-191'/>
+    <pointer-type-def type-id='type-id-191' size-in-bits='64' id='type-id-137'/>
+    <class-decl name='rte_devargs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-192'/>
+    <pointer-type-def type-id='type-id-192' size-in-bits='64' id='type-id-138'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-193'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-193' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-194'/>
+    <typedef-decl name='uint8_t' type-id='type-id-194' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-19'/>
+    <pointer-type-def type-id='type-id-195' size-in-bits='64' id='type-id-3'/>
+    <pointer-type-def type-id='type-id-196' size-in-bits='64' id='type-id-4'/>
+    <pointer-type-def type-id='type-id-197' size-in-bits='64' id='type-id-5'/>
+    <pointer-type-def type-id='type-id-198' size-in-bits='64' id='type-id-6'/>
+    <type-decl name='bool' size-in-bits='8' id='type-id-199'/>
+    <pointer-type-def type-id='type-id-200' size-in-bits='64' id='type-id-7'/>
+    <pointer-type-def type-id='type-id-201' size-in-bits='64' id='type-id-8'/>
+    <pointer-type-def type-id='type-id-202' size-in-bits='64' id='type-id-9'/>
+    <pointer-type-def type-id='type-id-203' size-in-bits='64' id='type-id-10'/>
+    <pointer-type-def type-id='type-id-204' size-in-bits='64' id='type-id-11'/>
+    <pointer-type-def type-id='type-id-205' size-in-bits='64' id='type-id-12'/>
+    <pointer-type-def type-id='type-id-206' size-in-bits='64' id='type-id-13'/>
+    <qualified-type-def type-id='type-id-2' const='yes' id='type-id-207'/>
+    <var-decl name='intel_ntb_ops' type-id='type-id-207' visibility='default' filepath='../drivers/raw/ntb/ntb_hw_intel.h' line='84' column='1'/>
+    <function-type size-in-bits='64' id='type-id-180'>
+      <return type-id='type-id-179'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-162'>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-173'>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-51'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-166'>
+      <parameter type-id='type-id-165'/>
+      <parameter type-id='type-id-51'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-195'>
+      <parameter type-id='type-id-55'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-200'>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-199'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-113'>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-112'/>
+      <parameter type-id='type-id-105'/>
+      <parameter type-id='type-id-73'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-202'>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-199'/>
+      <parameter type-id='type-id-124'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-197'>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-104'/>
+      <parameter type-id='type-id-104'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-118'>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-117'/>
+      <parameter type-id='type-id-73'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-56'>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-20'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-204'>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-104'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-205'>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-19'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-206'>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-19'/>
+      <parameter type-id='type-id-19'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-171'>
+      <parameter type-id='type-id-17'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-175'>
+      <parameter type-id='type-id-17'/>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-104'/>
+      <parameter type-id='type-id-87'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-58'>
+      <parameter type-id='type-id-50'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-100'>
+      <parameter type-id='type-id-50'/>
+      <parameter type-id='type-id-99'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-109'>
+      <parameter type-id='type-id-50'/>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-108'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-106'>
+      <parameter type-id='type-id-50'/>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-105'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-127'>
+      <parameter type-id='type-id-50'/>
+      <parameter type-id='type-id-126'/>
+      <parameter type-id='type-id-124'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-74'>
+      <parameter type-id='type-id-50'/>
+      <parameter type-id='type-id-72'/>
+      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-20'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-129'>
+      <parameter type-id='type-id-50'/>
+      <parameter type-id='type-id-20'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-66'>
+      <parameter type-id='type-id-50'/>
+      <parameter type-id='type-id-15'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-64'>
+      <parameter type-id='type-id-50'/>
+      <parameter type-id='type-id-15'/>
+      <parameter type-id='type-id-20'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-131'>
+      <parameter type-id='type-id-15'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-189'>
+      <parameter type-id='type-id-51'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-169'>
+      <parameter type-id='type-id-165'/>
+      <parameter type-id='type-id-168'/>
+      <parameter type-id='type-id-51'/>
+      <return type-id='type-id-17'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-68'>
+      <parameter type-id='type-id-50'/>
+      <return type-id='type-id-15'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-201'>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-199'/>
+      <return type-id='type-id-124'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-203'>
+      <parameter type-id='type-id-55'/>
+      <return type-id='type-id-104'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-121'>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-120'/>
+      <return type-id='type-id-104'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-60'>
+      <parameter type-id='type-id-50'/>
+      <return type-id='type-id-49'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-52'>
+      <parameter type-id='type-id-50'/>
+      <parameter type-id='type-id-20'/>
+      <return type-id='type-id-49'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-62'>
+      <parameter type-id='type-id-50'/>
+      <parameter type-id='type-id-15'/>
+      <parameter type-id='type-id-20'/>
+      <return type-id='type-id-49'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-196'>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-51'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-198'>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-104'/>
+      <return type-id='type-id-51'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-187'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-186'/>
+      <return type-id='type-id-51'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_rawdev_octeontx2_dma.dump b/drivers/.abi/librte_rawdev_octeontx2_dma.dump
new file mode 100644
index 000000000..dd85c3c95
--- /dev/null
+++ b/drivers/.abi/librte_rawdev_octeontx2_dma.dump
@@ -0,0 +1,23 @@
+<abi-corpus path='gcc//drivers/librte_rawdev_octeontx2_dma.so.20.0' architecture='elf-amd-x86_64' soname='librte_rawdev_octeontx2_dma.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_rawdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_common_octeontx2.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+</abi-corpus>
diff --git a/drivers/.abi/librte_rawdev_skeleton.dump b/drivers/.abi/librte_rawdev_skeleton.dump
new file mode 100644
index 000000000..c40003082
--- /dev/null
+++ b/drivers/.abi/librte_rawdev_skeleton.dump
@@ -0,0 +1,21 @@
+<abi-corpus path='gcc//drivers/librte_rawdev_skeleton.so.20.0' architecture='elf-amd-x86_64' soname='librte_rawdev_skeleton.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_rawdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/raw/skeleton/skeleton_rawdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='skeleton_pmd_logtype' type-id='type-id-1' visibility='default' filepath='../drivers/raw/skeleton/skeleton_rawdev.h' line='10' column='1'/>
+  </abi-instr>
+</abi-corpus>
-- 
2.17.1


^ permalink raw reply	[relevance 13%]

* [dpdk-dev] [PATCH v6 07/11] drivers/compress: add dump files for v20.0 ABI
  2019-12-13 16:40  8%       ` [dpdk-dev] [PATCH v6 00/11] Add ABI compatibility checks to the meson build Kevin Laatz
                           ` (5 preceding siblings ...)
  2019-12-13 16:41  6%         ` [dpdk-dev] [PATCH v6 06/11] drivers/crypto: " Kevin Laatz
@ 2019-12-13 16:41  8%         ` Kevin Laatz
  2019-12-13 16:41  7%         ` [dpdk-dev] [PATCH v6 08/11] drivers/net: " Kevin Laatz
                           ` (4 subsequent siblings)
  11 siblings, 0 replies; 200+ results
From: Kevin Laatz @ 2019-12-13 16:41 UTC (permalink / raw)
  To: dev
  Cc: thomas, david.marchand, bruce.richardson, ray.kinsella, tdu, zr,
	cernay, Kevin Laatz

This patch adds the drivers/compress .dump files generated for the v20.0
ABI. These files will be used to compare the ABI during the meson build
when the compat_checks meson is enabled. If there is a mismatch between the
.dump files (the baseline, ie. current stable ABI version) and the code
being compiled, then abidiff will report an error and the build will fail.

The .dump files are stored in the drivers/.abi directory.  The directory is
hidden to reduce clutter and also to discourage changing these files since
they should not be modified.

Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
---
 drivers/.abi/librte_pmd_isal.dump             | 1038 +++++++++++++++++
 .../.abi/librte_pmd_octeontx_compress.dump    |   26 +
 drivers/.abi/librte_pmd_zlib.dump             | 1035 ++++++++++++++++
 3 files changed, 2099 insertions(+)
 create mode 100644 drivers/.abi/librte_pmd_isal.dump
 create mode 100644 drivers/.abi/librte_pmd_octeontx_compress.dump
 create mode 100644 drivers/.abi/librte_pmd_zlib.dump

diff --git a/drivers/.abi/librte_pmd_isal.dump b/drivers/.abi/librte_pmd_isal.dump
new file mode 100644
index 000000000..25c0e0a1c
--- /dev/null
+++ b/drivers/.abi/librte_pmd_isal.dump
@@ -0,0 +1,1038 @@
+<abi-corpus path='gcc//drivers/librte_pmd_isal.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_isal.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_compressdev.so.0.200'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libisal.so.2'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/compress/isal/isal_compress_pmd.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='isal_logtype_driver' type-id='type-id-1' visibility='default' filepath='../drivers/compress/isal/isal_compress_pmd_private.h' line='11' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/compress/isal/isal_compress_pmd_ops.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_compressdev_ops' size-in-bits='832' is-struct='yes' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='259' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_configure' type-id='type-id-3' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_start' type-id='type-id-4' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dev_stop' type-id='type-id-5' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='262' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_close' type-id='type-id-6' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='263' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dev_infos_get' type-id='type-id-7' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='265' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='stats_get' type-id='type-id-8' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='267' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='stats_reset' type-id='type-id-9' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='269' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='queue_pair_setup' type-id='type-id-10' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='272' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='queue_pair_release' type-id='type-id-11' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='274' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='stream_create' type-id='type-id-12' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='277' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='stream_free' type-id='type-id-13' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='private_xform_create' type-id='type-id-14' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='282' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='private_xform_free' type-id='type-id-15' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='284' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_compressdev' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='67' column='1' id='type-id-16'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dequeue_burst' type-id='type-id-17' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='enqueue_burst' type-id='type-id-18' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data' type-id='type-id-19' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='73' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_ops' type-id='type-id-20' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='feature_flags' type-id='type-id-21' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-22' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='attached' type-id='type-id-23' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-24'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-24' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-25'/>
+    <typedef-decl name='uint16_t' type-id='type-id-25' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-26'/>
+    <type-decl name='void' id='type-id-27'/>
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-28'/>
+    <class-decl name='rte_comp_op' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='287' column='1' id='type-id-29'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op_type' type-id='type-id-30' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='288' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-31' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mempool' type-id='type-id-32' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='306' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iova_addr' type-id='type-id-33' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='308' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='m_src' type-id='type-id-34' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='310' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='m_dst' type-id='type-id-34' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='318' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='src' type-id='type-id-35' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='349' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='dst' type-id='type-id-36' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='360' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='hash' type-id='type-id-37' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='373' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='flush_flag' type-id='type-id-38' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='374' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='input_chksum' type-id='type-id-21' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='378' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='output_chksum' type-id='type-id-21' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='383' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='consumed' type-id='type-id-39' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='387' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='864'>
+        <var-decl name='produced' type-id='type-id-39' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='391' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='debug_status' type-id='type-id-21' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='395' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='status' type-id='type-id-23' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='401' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-40'/>
+    <enum-decl name='rte_comp_op_type' filepath='../lib/librte_compressdev/rte_comp.h' line='197' column='1' id='type-id-30'>
+      <underlying-type type-id='type-id-40'/>
+      <enumerator name='RTE_COMP_OP_STATELESS' value='0'/>
+      <enumerator name='RTE_COMP_OP_STATEFUL' value='1'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='289' column='1' id='type-id-31'>
+      <data-member access='private'>
+        <var-decl name='private_xform' type-id='type-id-28' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='290' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='stream' type-id='type-id-28' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='295' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-41'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-42' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-43' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-44' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-45' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-45' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-46' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-47' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-48' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-50'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-51'/>
+
+    <array-type-def dimensions='1' type-id='type-id-50' size-in-bits='256' id='type-id-42'>
+      <subrange length='32' type-id='type-id-51' id='type-id-52'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-43'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-21' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='__uint64_t' type-id='type-id-51' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-53'/>
+    <typedef-decl name='uint64_t' type-id='type-id-53' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-21'/>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-54'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-42' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-55' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-56' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-21' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-46' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-39' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-55'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-57' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-33' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-21' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-57'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-21' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-33'/>
+    <typedef-decl name='size_t' type-id='type-id-51' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-56'/>
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-58'/>
+    <typedef-decl name='int32_t' type-id='type-id-58' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-46'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-45'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-45' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-59'/>
+    <typedef-decl name='uint32_t' type-id='type-id-59' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-39'/>
+    <qualified-type-def type-id='type-id-54' const='yes' id='type-id-60'/>
+    <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-44'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-61'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-62' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-28' size-in-bits='98304' id='type-id-62'>
+      <subrange length='1536' type-id='type-id-51' id='type-id-63'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-61' size-in-bits='64' id='type-id-47'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-48'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-64' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-65' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-66'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-67' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-68' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-67'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-64' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-64'/>
+    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-32'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-68'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-33' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-57' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-64' size-in-bits='64' id='type-id-65'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-49'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-69' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-70' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-71'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-72' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-73' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-56' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-74' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-72'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-69' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-69'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-73'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-33' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-57' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-75' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-76'/>
+    <pointer-type-def type-id='type-id-76' size-in-bits='64' id='type-id-74'/>
+    <pointer-type-def type-id='type-id-69' size-in-bits='64' id='type-id-70'/>
+    <class-decl name='rte_mbuf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='480' column='1' id='type-id-77'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheline0' type-id='type-id-78' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-28' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-79' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rearm_data' type-id='type-id-80' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='497' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_off' type-id='type-id-26' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_segs' type-id='type-id-26' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='port' type-id='type-id-26' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ol_flags' type-id='type-id-21' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_descriptor_fields1' type-id='type-id-78' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='pkt_len' type-id='type-id-39' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data_len' type-id='type-id-26' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='vlan_tci' type-id='type-id-26' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vlan_tci_outer' type-id='type-id-26' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='buf_len' type-id='type-id-26' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='timestamp' type-id='type-id-21' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cacheline1' type-id='type-id-78' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='pool' type-id='type-id-32' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='next' type-id='type-id-34' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv_size' type-id='type-id-26' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='timesync' type-id='type-id-26' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='seqn' type-id='type-id-39' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='shinfo' type-id='type-id-81' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dynfield1' type-id='type-id-82' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-28' size-in-bits='infinite' id='type-id-83'>
+      <subrange length='infinite' type-id='type-id-51' id='type-id-84'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER' type-id='type-id-83' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='414' column='1' id='type-id-78'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='491' column='1' id='type-id-79'>
+      <data-member access='private'>
+        <var-decl name='buf_iova' type-id='type-id-33' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='buf_physaddr' type-id='type-id-33' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-21' size-in-bits='infinite' id='type-id-85'>
+      <subrange length='infinite' type-id='type-id-51' id='type-id-84'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER64' type-id='type-id-85' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='420' column='1' id='type-id-80'/>
+    <pointer-type-def type-id='type-id-77' size-in-bits='64' id='type-id-34'/>
+    <class-decl name='rte_mbuf_ext_shared_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='689' column='1' id='type-id-86'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_cb' type-id='type-id-87' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcb_opaque' type-id='type-id-28' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt_atomic' type-id='type-id-88' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-89' size-in-bits='64' id='type-id-90'/>
+    <typedef-decl name='rte_mbuf_extbuf_free_callback_t' type-id='type-id-90' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='684' column='1' id='type-id-87'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-88' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-91'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-92' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-93'/>
+    <typedef-decl name='__int16_t' type-id='type-id-93' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-94'/>
+    <typedef-decl name='int16_t' type-id='type-id-94' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-95'/>
+    <qualified-type-def type-id='type-id-95' volatile='yes' id='type-id-92'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-91' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-88'/>
+    <pointer-type-def type-id='type-id-86' size-in-bits='64' id='type-id-81'/>
+
+    <array-type-def dimensions='1' type-id='type-id-21' size-in-bits='128' id='type-id-82'>
+      <subrange length='2' type-id='type-id-51' id='type-id-96'/>
+
+    </array-type-def>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='334' column='1' id='type-id-35'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='offset' type-id='type-id-39' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='335' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='length' type-id='type-id-39' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='343' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='350' column='1' id='type-id-36'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='offset' type-id='type-id-39' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='351' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='361' column='1' id='type-id-37'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='digest' type-id='type-id-97' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='362' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='iova_addr' type-id='type-id-33' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='371' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-98'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-98' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-99'/>
+    <typedef-decl name='uint8_t' type-id='type-id-99' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-23'/>
+    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-97'/>
+    <enum-decl name='rte_comp_flush_flag' filepath='../lib/librte_compressdev/rte_comp.h' line='166' column='1' id='type-id-38'>
+      <underlying-type type-id='type-id-40'/>
+      <enumerator name='RTE_COMP_FLUSH_NONE' value='0'/>
+      <enumerator name='RTE_COMP_FLUSH_SYNC' value='1'/>
+      <enumerator name='RTE_COMP_FLUSH_FULL' value='2'/>
+      <enumerator name='RTE_COMP_FLUSH_FINAL' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-100'/>
+    <pointer-type-def type-id='type-id-100' size-in-bits='64' id='type-id-101'/>
+    <pointer-type-def type-id='type-id-102' size-in-bits='64' id='type-id-103'/>
+    <typedef-decl name='compressdev_dequeue_pkt_burst_t' type-id='type-id-103' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='41' column='1' id='type-id-17'/>
+    <typedef-decl name='compressdev_enqueue_pkt_burst_t' type-id='type-id-103' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='63' column='1' id='type-id-18'/>
+    <class-decl name='rte_compressdev_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='94' column='1' id='type-id-104'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_id' type-id='type-id-23' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='95' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='socket_id' type-id='type-id-23' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='97' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='name' type-id='type-id-105' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='99' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='dev_started' type-id='type-id-23' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='103' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='queue_pairs' type-id='type-id-106' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='nb_queue_pairs' type-id='type-id-26' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='dev_private' type-id='type-id-28' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='111' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-50' size-in-bits='512' id='type-id-105'>
+      <subrange length='64' type-id='type-id-51' id='type-id-107'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-106'/>
+    <pointer-type-def type-id='type-id-104' size-in-bits='64' id='type-id-19'/>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-20'/>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-108'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-109' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-110' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-111' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-112' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-113' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-109'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-22' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-114' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-108' size-in-bits='64' id='type-id-22'/>
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-114'/>
+    <qualified-type-def type-id='type-id-50' const='yes' id='type-id-115'/>
+    <pointer-type-def type-id='type-id-115' size-in-bits='64' id='type-id-110'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-116'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-117' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-110' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-110' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-117'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-118' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-119' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-116' size-in-bits='64' id='type-id-118'/>
+    <pointer-type-def type-id='type-id-118' size-in-bits='64' id='type-id-119'/>
+    <qualified-type-def type-id='type-id-116' const='yes' id='type-id-120'/>
+    <pointer-type-def type-id='type-id-120' size-in-bits='64' id='type-id-111'/>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-121'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-122' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-110' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-123' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-124' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-125' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-126' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-127' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-128' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-129' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-130' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-131' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-132' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-133' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-134' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-135' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-122'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-136' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-137' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-121' size-in-bits='64' id='type-id-136'/>
+    <pointer-type-def type-id='type-id-136' size-in-bits='64' id='type-id-137'/>
+    <pointer-type-def type-id='type-id-138' size-in-bits='64' id='type-id-139'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-139' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-123'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-139' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-124'/>
+    <qualified-type-def type-id='type-id-108' const='yes' id='type-id-140'/>
+    <pointer-type-def type-id='type-id-140' size-in-bits='64' id='type-id-141'/>
+    <pointer-type-def type-id='type-id-142' size-in-bits='64' id='type-id-143'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-143' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-144'/>
+    <pointer-type-def type-id='type-id-145' size-in-bits='64' id='type-id-146'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-146' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-125'/>
+    <pointer-type-def type-id='type-id-147' size-in-bits='64' id='type-id-148'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-148' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-126'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-148' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-127'/>
+    <pointer-type-def type-id='type-id-149' size-in-bits='64' id='type-id-150'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-150' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-128'/>
+    <pointer-type-def type-id='type-id-151' size-in-bits='64' id='type-id-152'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-152' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-129'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-152' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-130'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-131'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-153' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-153'>
+      <underlying-type type-id='type-id-40'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-154'>
+      <underlying-type type-id='type-id-40'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-155' size-in-bits='64' id='type-id-156'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-156' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-132'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-157'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-110' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-110' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-110' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-136' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-158' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-22' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-28' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-159'/>
+    <pointer-type-def type-id='type-id-159' size-in-bits='64' id='type-id-158'/>
+    <qualified-type-def type-id='type-id-157' const='yes' id='type-id-160'/>
+    <pointer-type-def type-id='type-id-160' size-in-bits='64' id='type-id-161'/>
+    <pointer-type-def type-id='type-id-162' size-in-bits='64' id='type-id-163'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-163' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-133'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-148' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-134'/>
+    <pointer-type-def type-id='type-id-164' size-in-bits='64' id='type-id-165'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-165' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-135'/>
+    <qualified-type-def type-id='type-id-121' const='yes' id='type-id-166'/>
+    <pointer-type-def type-id='type-id-166' size-in-bits='64' id='type-id-112'/>
+    <class-decl name='rte_devargs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-167'/>
+    <pointer-type-def type-id='type-id-167' size-in-bits='64' id='type-id-113'/>
+    <pointer-type-def type-id='type-id-16' size-in-bits='64' id='type-id-168'/>
+    <class-decl name='rte_compressdev_config' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='194' column='1' id='type-id-169'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_queue_pairs' type-id='type-id-26' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='197' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='max_nb_priv_xforms' type-id='type-id-26' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='199' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='max_nb_streams' type-id='type-id-26' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='201' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-169' size-in-bits='64' id='type-id-170'/>
+    <pointer-type-def type-id='type-id-171' size-in-bits='64' id='type-id-172'/>
+    <typedef-decl name='compressdev_configure_t' type-id='type-id-172' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='82' column='1' id='type-id-3'/>
+    <pointer-type-def type-id='type-id-173' size-in-bits='64' id='type-id-174'/>
+    <typedef-decl name='compressdev_start_t' type-id='type-id-174' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='93' column='1' id='type-id-4'/>
+    <pointer-type-def type-id='type-id-175' size-in-bits='64' id='type-id-176'/>
+    <typedef-decl name='compressdev_stop_t' type-id='type-id-176' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='101' column='1' id='type-id-5'/>
+    <typedef-decl name='compressdev_close_t' type-id='type-id-174' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='112' column='1' id='type-id-6'/>
+    <class-decl name='rte_compressdev_info' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='98' column='1' id='type-id-177'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='driver_name' type-id='type-id-110' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='99' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='feature_flags' type-id='type-id-21' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='100' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='capabilities' type-id='type-id-178' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='101' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='max_nb_queue_pairs' type-id='type-id-26' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='103' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_compressdev_capabilities' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='40' column='1' id='type-id-179'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-180' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='comp_feature_flags' type-id='type-id-21' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='window_size' type-id='type-id-181' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='45' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_comp_algorithm' filepath='../lib/librte_compressdev/rte_comp.h' line='96' column='1' id='type-id-180'>
+      <underlying-type type-id='type-id-40'/>
+      <enumerator name='RTE_COMP_ALGO_UNSPECIFIED' value='0'/>
+      <enumerator name='RTE_COMP_ALGO_NULL' value='1'/>
+      <enumerator name='RTE_COMP_ALGO_DEFLATE' value='2'/>
+      <enumerator name='RTE_COMP_ALGO_LZS' value='3'/>
+      <enumerator name='RTE_COMP_ALGO_LIST_END' value='4'/>
+    </enum-decl>
+    <class-decl name='rte_param_log2_range' size-in-bits='24' is-struct='yes' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='28' column='1' id='type-id-181'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='min' type-id='type-id-23' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='29' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='max' type-id='type-id-23' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='30' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='increment' type-id='type-id-23' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='31' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-179' const='yes' id='type-id-182'/>
+    <pointer-type-def type-id='type-id-182' size-in-bits='64' id='type-id-178'/>
+    <pointer-type-def type-id='type-id-177' size-in-bits='64' id='type-id-183'/>
+    <pointer-type-def type-id='type-id-184' size-in-bits='64' id='type-id-185'/>
+    <typedef-decl name='compressdev_info_get_t' type-id='type-id-185' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='142' column='1' id='type-id-7'/>
+    <class-decl name='rte_compressdev_stats' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='110' column='1' id='type-id-186'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='enqueued_count' type-id='type-id-21' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='111' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dequeued_count' type-id='type-id-21' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='113' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='enqueue_err_count' type-id='type-id-21' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='116' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dequeue_err_count' type-id='type-id-21' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='118' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-186' size-in-bits='64' id='type-id-187'/>
+    <pointer-type-def type-id='type-id-188' size-in-bits='64' id='type-id-189'/>
+    <typedef-decl name='compressdev_stats_get_t' type-id='type-id-189' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='123' column='1' id='type-id-8'/>
+    <typedef-decl name='compressdev_stats_reset_t' type-id='type-id-176' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='133' column='1' id='type-id-9'/>
+    <pointer-type-def type-id='type-id-190' size-in-bits='64' id='type-id-191'/>
+    <typedef-decl name='compressdev_queue_pair_setup_t' type-id='type-id-191' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='159' column='1' id='type-id-10'/>
+    <pointer-type-def type-id='type-id-192' size-in-bits='64' id='type-id-193'/>
+    <typedef-decl name='compressdev_queue_pair_release_t' type-id='type-id-193' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='173' column='1' id='type-id-11'/>
+    <class-decl name='rte_comp_xform' size-in-bits='224' is-struct='yes' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='267' column='1' id='type-id-194'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-195' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='268' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='' type-id='type-id-196' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_comp_xform_type' filepath='../lib/librte_compressdev/rte_comp.h' line='189' column='1' id='type-id-195'>
+      <underlying-type type-id='type-id-40'/>
+      <enumerator name='RTE_COMP_COMPRESS' value='0'/>
+      <enumerator name='RTE_COMP_DECOMPRESS' value='1'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='270' column='1' id='type-id-196'>
+      <data-member access='private'>
+        <var-decl name='compress' type-id='type-id-197' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='271' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='decompress' type-id='type-id-198' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='273' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_comp_compress_xform' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='219' column='1' id='type-id-197'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-180' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='220' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='' type-id='type-id-199' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='level' type-id='type-id-1' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='226' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='window_size' type-id='type-id-23' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='chksum' type-id='type-id-200' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='hash_algo' type-id='type-id-201' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='235' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='222' column='1' id='type-id-199'>
+      <data-member access='private'>
+        <var-decl name='deflate' type-id='type-id-202' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='223' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_comp_deflate_params' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='213' column='1' id='type-id-202'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='huffman' type-id='type-id-203' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='214' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_comp_huffman' filepath='../lib/librte_compressdev/rte_comp.h' line='156' column='1' id='type-id-203'>
+      <underlying-type type-id='type-id-40'/>
+      <enumerator name='RTE_COMP_HUFFMAN_DEFAULT' value='0'/>
+      <enumerator name='RTE_COMP_HUFFMAN_FIXED' value='1'/>
+      <enumerator name='RTE_COMP_HUFFMAN_DYNAMIC' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_comp_checksum_type' filepath='../lib/librte_compressdev/rte_comp.h' line='141' column='1' id='type-id-200'>
+      <underlying-type type-id='type-id-40'/>
+      <enumerator name='RTE_COMP_CHECKSUM_NONE' value='0'/>
+      <enumerator name='RTE_COMP_CHECKSUM_CRC32' value='1'/>
+      <enumerator name='RTE_COMP_CHECKSUM_ADLER32' value='2'/>
+      <enumerator name='RTE_COMP_CHECKSUM_CRC32_ADLER32' value='3'/>
+    </enum-decl>
+    <enum-decl name='rte_comp_hash_algorithm' filepath='../lib/librte_compressdev/rte_comp.h' line='116' column='1' id='type-id-201'>
+      <underlying-type type-id='type-id-40'/>
+      <enumerator name='RTE_COMP_HASH_ALGO_NONE' value='0'/>
+      <enumerator name='RTE_COMP_HASH_ALGO_SHA1' value='1'/>
+      <enumerator name='RTE_COMP_HASH_ALGO_SHA2_256' value='2'/>
+      <enumerator name='RTE_COMP_HASH_ALGO_LIST_END' value='3'/>
+    </enum-decl>
+    <class-decl name='rte_comp_decompress_xform' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='244' column='1' id='type-id-198'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-180' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='chksum' type-id='type-id-200' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='window_size' type-id='type-id-23' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='hash_algo' type-id='type-id-201' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='254' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-194' const='yes' id='type-id-204'/>
+    <pointer-type-def type-id='type-id-204' size-in-bits='64' id='type-id-205'/>
+    <pointer-type-def type-id='type-id-206' size-in-bits='64' id='type-id-207'/>
+    <typedef-decl name='compressdev_stream_create_t' type-id='type-id-207' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='202' column='1' id='type-id-12'/>
+    <pointer-type-def type-id='type-id-208' size-in-bits='64' id='type-id-209'/>
+    <typedef-decl name='compressdev_stream_free_t' type-id='type-id-209' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='219' column='1' id='type-id-13'/>
+    <typedef-decl name='compressdev_private_xform_create_t' type-id='type-id-207' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='239' column='1' id='type-id-14'/>
+    <typedef-decl name='compressdev_private_xform_free_t' type-id='type-id-209' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='255' column='1' id='type-id-15'/>
+    <var-decl name='isal_compress_pmd_ops' type-id='type-id-20' visibility='default' filepath='../drivers/compress/isal/isal_compress_pmd_private.h' line='55' column='1'/>
+    <function-type size-in-bits='64' id='type-id-155'>
+      <return type-id='type-id-154'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-138'>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-149'>
+      <parameter type-id='type-id-110'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-142'>
+      <parameter type-id='type-id-141'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-173'>
+      <parameter type-id='type-id-168'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-206'>
+      <parameter type-id='type-id-168'/>
+      <parameter type-id='type-id-205'/>
+      <parameter type-id='type-id-106'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-171'>
+      <parameter type-id='type-id-168'/>
+      <parameter type-id='type-id-170'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-192'>
+      <parameter type-id='type-id-168'/>
+      <parameter type-id='type-id-26'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-190'>
+      <parameter type-id='type-id-168'/>
+      <parameter type-id='type-id-26'/>
+      <parameter type-id='type-id-39'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-208'>
+      <parameter type-id='type-id-168'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-147'>
+      <parameter type-id='type-id-22'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-151'>
+      <parameter type-id='type-id-22'/>
+      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-56'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-164'>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-145'>
+      <parameter type-id='type-id-141'/>
+      <parameter type-id='type-id-144'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-22'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-102'>
+      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-101'/>
+      <parameter type-id='type-id-26'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-175'>
+      <parameter type-id='type-id-168'/>
+      <return type-id='type-id-27'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-184'>
+      <parameter type-id='type-id-168'/>
+      <parameter type-id='type-id-183'/>
+      <return type-id='type-id-27'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-188'>
+      <parameter type-id='type-id-168'/>
+      <parameter type-id='type-id-187'/>
+      <return type-id='type-id-27'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-75'>
+      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-27'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-89'>
+      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-27'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-162'>
+      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-110'/>
+      <parameter type-id='type-id-161'/>
+      <return type-id='type-id-28'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_octeontx_compress.dump b/drivers/.abi/librte_pmd_octeontx_compress.dump
new file mode 100644
index 000000000..88fa29b1f
--- /dev/null
+++ b/drivers/.abi/librte_pmd_octeontx_compress.dump
@@ -0,0 +1,26 @@
+<abi-corpus path='gcc//drivers/librte_pmd_octeontx_compress.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_octeontx_compress.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_compressdev.so.0.200'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_mempool_octeontx.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_common_octeontx.so.20.0'/>
+    <dependency name='libisal.so.2'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/compress/octeontx/otx_zip_pmd.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='octtx_zip_logtype_driver' type-id='type-id-1' visibility='default' filepath='../drivers/compress/octeontx/otx_zip.h' line='20' column='1'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_zlib.dump b/drivers/.abi/librte_pmd_zlib.dump
new file mode 100644
index 000000000..cc7ff951e
--- /dev/null
+++ b/drivers/.abi/librte_pmd_zlib.dump
@@ -0,0 +1,1035 @@
+<abi-corpus path='gcc//drivers/librte_pmd_zlib.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_zlib.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_compressdev.so.0.200'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libz.so.1'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/compress/zlib/zlib_pmd_ops.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_compressdev_ops' size-in-bits='832' is-struct='yes' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='259' column='1' id='type-id-1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_configure' type-id='type-id-2' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_start' type-id='type-id-3' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dev_stop' type-id='type-id-4' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='262' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_close' type-id='type-id-5' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='263' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dev_infos_get' type-id='type-id-6' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='265' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='stats_get' type-id='type-id-7' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='267' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='stats_reset' type-id='type-id-8' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='269' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='queue_pair_setup' type-id='type-id-9' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='272' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='queue_pair_release' type-id='type-id-10' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='274' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='stream_create' type-id='type-id-11' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='277' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='stream_free' type-id='type-id-12' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='private_xform_create' type-id='type-id-13' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='282' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='private_xform_free' type-id='type-id-14' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='284' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='int' size-in-bits='32' id='type-id-15'/>
+    <class-decl name='rte_compressdev' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='67' column='1' id='type-id-16'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dequeue_burst' type-id='type-id-17' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='enqueue_burst' type-id='type-id-18' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data' type-id='type-id-19' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='73' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_ops' type-id='type-id-20' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='feature_flags' type-id='type-id-21' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-22' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='attached' type-id='type-id-23' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-24'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-24' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-25'/>
+    <typedef-decl name='uint16_t' type-id='type-id-25' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-26'/>
+    <type-decl name='void' id='type-id-27'/>
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-28'/>
+    <class-decl name='rte_comp_op' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='287' column='1' id='type-id-29'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op_type' type-id='type-id-30' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='288' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-31' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mempool' type-id='type-id-32' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='306' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iova_addr' type-id='type-id-33' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='308' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='m_src' type-id='type-id-34' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='310' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='m_dst' type-id='type-id-34' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='318' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='src' type-id='type-id-35' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='349' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='dst' type-id='type-id-36' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='360' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='hash' type-id='type-id-37' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='373' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='flush_flag' type-id='type-id-38' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='374' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='input_chksum' type-id='type-id-21' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='378' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='output_chksum' type-id='type-id-21' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='383' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='consumed' type-id='type-id-39' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='387' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='864'>
+        <var-decl name='produced' type-id='type-id-39' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='391' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='debug_status' type-id='type-id-21' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='395' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='status' type-id='type-id-23' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='401' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-40'/>
+    <enum-decl name='rte_comp_op_type' filepath='../lib/librte_compressdev/rte_comp.h' line='197' column='1' id='type-id-30'>
+      <underlying-type type-id='type-id-40'/>
+      <enumerator name='RTE_COMP_OP_STATELESS' value='0'/>
+      <enumerator name='RTE_COMP_OP_STATEFUL' value='1'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='289' column='1' id='type-id-31'>
+      <data-member access='private'>
+        <var-decl name='private_xform' type-id='type-id-28' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='290' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='stream' type-id='type-id-28' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='295' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-41'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-42' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-43' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-44' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-45' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-15' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-45' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-46' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-47' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-48' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-50'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-51'/>
+
+    <array-type-def dimensions='1' type-id='type-id-50' size-in-bits='256' id='type-id-42'>
+      <subrange length='32' type-id='type-id-51' id='type-id-52'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-43'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-21' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='__uint64_t' type-id='type-id-51' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-53'/>
+    <typedef-decl name='uint64_t' type-id='type-id-53' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-21'/>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-54'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-42' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-55' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-56' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-21' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-46' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-39' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-55'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-57' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-33' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-21' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-57'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-21' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-33'/>
+    <typedef-decl name='size_t' type-id='type-id-51' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-56'/>
+    <typedef-decl name='__int32_t' type-id='type-id-15' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-58'/>
+    <typedef-decl name='int32_t' type-id='type-id-58' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-46'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-45'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-45' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-59'/>
+    <typedef-decl name='uint32_t' type-id='type-id-59' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-39'/>
+    <qualified-type-def type-id='type-id-54' const='yes' id='type-id-60'/>
+    <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-44'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-61'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-62' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-28' size-in-bits='98304' id='type-id-62'>
+      <subrange length='1536' type-id='type-id-51' id='type-id-63'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-61' size-in-bits='64' id='type-id-47'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-48'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-64' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-65' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-66'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-67' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-68' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-67'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-64' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-64'/>
+    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-32'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-68'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-33' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-57' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-64' size-in-bits='64' id='type-id-65'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-49'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-69' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-70' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-71'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-72' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-73' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-56' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-74' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-72'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-69' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-69'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-73'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-33' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-57' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-75' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-76'/>
+    <pointer-type-def type-id='type-id-76' size-in-bits='64' id='type-id-74'/>
+    <pointer-type-def type-id='type-id-69' size-in-bits='64' id='type-id-70'/>
+    <class-decl name='rte_mbuf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='480' column='1' id='type-id-77'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheline0' type-id='type-id-78' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-28' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-79' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rearm_data' type-id='type-id-80' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='497' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_off' type-id='type-id-26' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_segs' type-id='type-id-26' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='port' type-id='type-id-26' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ol_flags' type-id='type-id-21' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_descriptor_fields1' type-id='type-id-78' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='pkt_len' type-id='type-id-39' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data_len' type-id='type-id-26' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='vlan_tci' type-id='type-id-26' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vlan_tci_outer' type-id='type-id-26' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='buf_len' type-id='type-id-26' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='timestamp' type-id='type-id-21' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cacheline1' type-id='type-id-78' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='pool' type-id='type-id-32' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='next' type-id='type-id-34' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv_size' type-id='type-id-26' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='timesync' type-id='type-id-26' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='seqn' type-id='type-id-39' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='shinfo' type-id='type-id-81' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dynfield1' type-id='type-id-82' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-28' size-in-bits='infinite' id='type-id-83'>
+      <subrange length='infinite' type-id='type-id-51' id='type-id-84'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER' type-id='type-id-83' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='414' column='1' id='type-id-78'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='491' column='1' id='type-id-79'>
+      <data-member access='private'>
+        <var-decl name='buf_iova' type-id='type-id-33' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='buf_physaddr' type-id='type-id-33' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-21' size-in-bits='infinite' id='type-id-85'>
+      <subrange length='infinite' type-id='type-id-51' id='type-id-84'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER64' type-id='type-id-85' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='420' column='1' id='type-id-80'/>
+    <pointer-type-def type-id='type-id-77' size-in-bits='64' id='type-id-34'/>
+    <class-decl name='rte_mbuf_ext_shared_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='689' column='1' id='type-id-86'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_cb' type-id='type-id-87' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcb_opaque' type-id='type-id-28' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt_atomic' type-id='type-id-88' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-89' size-in-bits='64' id='type-id-90'/>
+    <typedef-decl name='rte_mbuf_extbuf_free_callback_t' type-id='type-id-90' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='684' column='1' id='type-id-87'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-88' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-91'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-92' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-93'/>
+    <typedef-decl name='__int16_t' type-id='type-id-93' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-94'/>
+    <typedef-decl name='int16_t' type-id='type-id-94' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-95'/>
+    <qualified-type-def type-id='type-id-95' volatile='yes' id='type-id-92'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-91' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-88'/>
+    <pointer-type-def type-id='type-id-86' size-in-bits='64' id='type-id-81'/>
+
+    <array-type-def dimensions='1' type-id='type-id-21' size-in-bits='128' id='type-id-82'>
+      <subrange length='2' type-id='type-id-51' id='type-id-96'/>
+
+    </array-type-def>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='334' column='1' id='type-id-35'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='offset' type-id='type-id-39' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='335' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='length' type-id='type-id-39' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='343' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='350' column='1' id='type-id-36'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='offset' type-id='type-id-39' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='351' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='361' column='1' id='type-id-37'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='digest' type-id='type-id-97' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='362' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='iova_addr' type-id='type-id-33' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='371' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-98'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-98' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-99'/>
+    <typedef-decl name='uint8_t' type-id='type-id-99' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-23'/>
+    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-97'/>
+    <enum-decl name='rte_comp_flush_flag' filepath='../lib/librte_compressdev/rte_comp.h' line='166' column='1' id='type-id-38'>
+      <underlying-type type-id='type-id-40'/>
+      <enumerator name='RTE_COMP_FLUSH_NONE' value='0'/>
+      <enumerator name='RTE_COMP_FLUSH_SYNC' value='1'/>
+      <enumerator name='RTE_COMP_FLUSH_FULL' value='2'/>
+      <enumerator name='RTE_COMP_FLUSH_FINAL' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-100'/>
+    <pointer-type-def type-id='type-id-100' size-in-bits='64' id='type-id-101'/>
+    <pointer-type-def type-id='type-id-102' size-in-bits='64' id='type-id-103'/>
+    <typedef-decl name='compressdev_dequeue_pkt_burst_t' type-id='type-id-103' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='41' column='1' id='type-id-17'/>
+    <typedef-decl name='compressdev_enqueue_pkt_burst_t' type-id='type-id-103' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='63' column='1' id='type-id-18'/>
+    <class-decl name='rte_compressdev_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='94' column='1' id='type-id-104'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_id' type-id='type-id-23' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='95' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='socket_id' type-id='type-id-23' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='97' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='name' type-id='type-id-105' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='99' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='dev_started' type-id='type-id-23' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='103' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='queue_pairs' type-id='type-id-106' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='nb_queue_pairs' type-id='type-id-26' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='dev_private' type-id='type-id-28' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='111' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-50' size-in-bits='512' id='type-id-105'>
+      <subrange length='64' type-id='type-id-51' id='type-id-107'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-106'/>
+    <pointer-type-def type-id='type-id-104' size-in-bits='64' id='type-id-19'/>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-20'/>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-108'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-109' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-110' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-111' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-112' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-15' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-113' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-109'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-22' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-114' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-108' size-in-bits='64' id='type-id-22'/>
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-114'/>
+    <qualified-type-def type-id='type-id-50' const='yes' id='type-id-115'/>
+    <pointer-type-def type-id='type-id-115' size-in-bits='64' id='type-id-110'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-116'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-117' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-110' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-110' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-117'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-118' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-119' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-116' size-in-bits='64' id='type-id-118'/>
+    <pointer-type-def type-id='type-id-118' size-in-bits='64' id='type-id-119'/>
+    <qualified-type-def type-id='type-id-116' const='yes' id='type-id-120'/>
+    <pointer-type-def type-id='type-id-120' size-in-bits='64' id='type-id-111'/>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-121'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-122' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-110' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-123' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-124' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-125' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-126' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-127' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-128' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-129' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-130' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-131' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-132' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-133' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-134' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-135' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-122'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-136' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-137' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-121' size-in-bits='64' id='type-id-136'/>
+    <pointer-type-def type-id='type-id-136' size-in-bits='64' id='type-id-137'/>
+    <pointer-type-def type-id='type-id-138' size-in-bits='64' id='type-id-139'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-139' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-123'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-139' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-124'/>
+    <qualified-type-def type-id='type-id-108' const='yes' id='type-id-140'/>
+    <pointer-type-def type-id='type-id-140' size-in-bits='64' id='type-id-141'/>
+    <pointer-type-def type-id='type-id-142' size-in-bits='64' id='type-id-143'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-143' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-144'/>
+    <pointer-type-def type-id='type-id-145' size-in-bits='64' id='type-id-146'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-146' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-125'/>
+    <pointer-type-def type-id='type-id-147' size-in-bits='64' id='type-id-148'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-148' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-126'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-148' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-127'/>
+    <pointer-type-def type-id='type-id-149' size-in-bits='64' id='type-id-150'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-150' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-128'/>
+    <pointer-type-def type-id='type-id-151' size-in-bits='64' id='type-id-152'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-152' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-129'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-152' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-130'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-131'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-153' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-153'>
+      <underlying-type type-id='type-id-40'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-154'>
+      <underlying-type type-id='type-id-40'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-155' size-in-bits='64' id='type-id-156'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-156' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-132'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-157'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-110' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-110' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-110' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-136' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-158' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-22' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-28' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-159'/>
+    <pointer-type-def type-id='type-id-159' size-in-bits='64' id='type-id-158'/>
+    <qualified-type-def type-id='type-id-157' const='yes' id='type-id-160'/>
+    <pointer-type-def type-id='type-id-160' size-in-bits='64' id='type-id-161'/>
+    <pointer-type-def type-id='type-id-162' size-in-bits='64' id='type-id-163'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-163' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-133'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-148' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-134'/>
+    <pointer-type-def type-id='type-id-164' size-in-bits='64' id='type-id-165'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-165' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-135'/>
+    <qualified-type-def type-id='type-id-121' const='yes' id='type-id-166'/>
+    <pointer-type-def type-id='type-id-166' size-in-bits='64' id='type-id-112'/>
+    <class-decl name='rte_devargs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-167'/>
+    <pointer-type-def type-id='type-id-167' size-in-bits='64' id='type-id-113'/>
+    <pointer-type-def type-id='type-id-16' size-in-bits='64' id='type-id-168'/>
+    <class-decl name='rte_compressdev_config' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='194' column='1' id='type-id-169'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='socket_id' type-id='type-id-15' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_queue_pairs' type-id='type-id-26' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='197' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='max_nb_priv_xforms' type-id='type-id-26' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='199' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='max_nb_streams' type-id='type-id-26' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='201' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-169' size-in-bits='64' id='type-id-170'/>
+    <pointer-type-def type-id='type-id-171' size-in-bits='64' id='type-id-172'/>
+    <typedef-decl name='compressdev_configure_t' type-id='type-id-172' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='82' column='1' id='type-id-2'/>
+    <pointer-type-def type-id='type-id-173' size-in-bits='64' id='type-id-174'/>
+    <typedef-decl name='compressdev_start_t' type-id='type-id-174' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='93' column='1' id='type-id-3'/>
+    <pointer-type-def type-id='type-id-175' size-in-bits='64' id='type-id-176'/>
+    <typedef-decl name='compressdev_stop_t' type-id='type-id-176' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='101' column='1' id='type-id-4'/>
+    <typedef-decl name='compressdev_close_t' type-id='type-id-174' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='112' column='1' id='type-id-5'/>
+    <class-decl name='rte_compressdev_info' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='98' column='1' id='type-id-177'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='driver_name' type-id='type-id-110' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='99' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='feature_flags' type-id='type-id-21' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='100' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='capabilities' type-id='type-id-178' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='101' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='max_nb_queue_pairs' type-id='type-id-26' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='103' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_compressdev_capabilities' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='40' column='1' id='type-id-179'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-180' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='comp_feature_flags' type-id='type-id-21' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='window_size' type-id='type-id-181' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='45' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_comp_algorithm' filepath='../lib/librte_compressdev/rte_comp.h' line='96' column='1' id='type-id-180'>
+      <underlying-type type-id='type-id-40'/>
+      <enumerator name='RTE_COMP_ALGO_UNSPECIFIED' value='0'/>
+      <enumerator name='RTE_COMP_ALGO_NULL' value='1'/>
+      <enumerator name='RTE_COMP_ALGO_DEFLATE' value='2'/>
+      <enumerator name='RTE_COMP_ALGO_LZS' value='3'/>
+      <enumerator name='RTE_COMP_ALGO_LIST_END' value='4'/>
+    </enum-decl>
+    <class-decl name='rte_param_log2_range' size-in-bits='24' is-struct='yes' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='28' column='1' id='type-id-181'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='min' type-id='type-id-23' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='29' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='max' type-id='type-id-23' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='30' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='increment' type-id='type-id-23' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='31' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-179' const='yes' id='type-id-182'/>
+    <pointer-type-def type-id='type-id-182' size-in-bits='64' id='type-id-178'/>
+    <pointer-type-def type-id='type-id-177' size-in-bits='64' id='type-id-183'/>
+    <pointer-type-def type-id='type-id-184' size-in-bits='64' id='type-id-185'/>
+    <typedef-decl name='compressdev_info_get_t' type-id='type-id-185' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='142' column='1' id='type-id-6'/>
+    <class-decl name='rte_compressdev_stats' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='110' column='1' id='type-id-186'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='enqueued_count' type-id='type-id-21' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='111' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dequeued_count' type-id='type-id-21' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='113' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='enqueue_err_count' type-id='type-id-21' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='116' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dequeue_err_count' type-id='type-id-21' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='118' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-186' size-in-bits='64' id='type-id-187'/>
+    <pointer-type-def type-id='type-id-188' size-in-bits='64' id='type-id-189'/>
+    <typedef-decl name='compressdev_stats_get_t' type-id='type-id-189' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='123' column='1' id='type-id-7'/>
+    <typedef-decl name='compressdev_stats_reset_t' type-id='type-id-176' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='133' column='1' id='type-id-8'/>
+    <pointer-type-def type-id='type-id-190' size-in-bits='64' id='type-id-191'/>
+    <typedef-decl name='compressdev_queue_pair_setup_t' type-id='type-id-191' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='159' column='1' id='type-id-9'/>
+    <pointer-type-def type-id='type-id-192' size-in-bits='64' id='type-id-193'/>
+    <typedef-decl name='compressdev_queue_pair_release_t' type-id='type-id-193' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='173' column='1' id='type-id-10'/>
+    <class-decl name='rte_comp_xform' size-in-bits='224' is-struct='yes' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='267' column='1' id='type-id-194'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-195' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='268' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='' type-id='type-id-196' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_comp_xform_type' filepath='../lib/librte_compressdev/rte_comp.h' line='189' column='1' id='type-id-195'>
+      <underlying-type type-id='type-id-40'/>
+      <enumerator name='RTE_COMP_COMPRESS' value='0'/>
+      <enumerator name='RTE_COMP_DECOMPRESS' value='1'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='270' column='1' id='type-id-196'>
+      <data-member access='private'>
+        <var-decl name='compress' type-id='type-id-197' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='271' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='decompress' type-id='type-id-198' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='273' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_comp_compress_xform' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='219' column='1' id='type-id-197'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-180' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='220' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='' type-id='type-id-199' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='level' type-id='type-id-15' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='226' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='window_size' type-id='type-id-23' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='chksum' type-id='type-id-200' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='hash_algo' type-id='type-id-201' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='235' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='222' column='1' id='type-id-199'>
+      <data-member access='private'>
+        <var-decl name='deflate' type-id='type-id-202' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='223' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_comp_deflate_params' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='213' column='1' id='type-id-202'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='huffman' type-id='type-id-203' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='214' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_comp_huffman' filepath='../lib/librte_compressdev/rte_comp.h' line='156' column='1' id='type-id-203'>
+      <underlying-type type-id='type-id-40'/>
+      <enumerator name='RTE_COMP_HUFFMAN_DEFAULT' value='0'/>
+      <enumerator name='RTE_COMP_HUFFMAN_FIXED' value='1'/>
+      <enumerator name='RTE_COMP_HUFFMAN_DYNAMIC' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_comp_checksum_type' filepath='../lib/librte_compressdev/rte_comp.h' line='141' column='1' id='type-id-200'>
+      <underlying-type type-id='type-id-40'/>
+      <enumerator name='RTE_COMP_CHECKSUM_NONE' value='0'/>
+      <enumerator name='RTE_COMP_CHECKSUM_CRC32' value='1'/>
+      <enumerator name='RTE_COMP_CHECKSUM_ADLER32' value='2'/>
+      <enumerator name='RTE_COMP_CHECKSUM_CRC32_ADLER32' value='3'/>
+    </enum-decl>
+    <enum-decl name='rte_comp_hash_algorithm' filepath='../lib/librte_compressdev/rte_comp.h' line='116' column='1' id='type-id-201'>
+      <underlying-type type-id='type-id-40'/>
+      <enumerator name='RTE_COMP_HASH_ALGO_NONE' value='0'/>
+      <enumerator name='RTE_COMP_HASH_ALGO_SHA1' value='1'/>
+      <enumerator name='RTE_COMP_HASH_ALGO_SHA2_256' value='2'/>
+      <enumerator name='RTE_COMP_HASH_ALGO_LIST_END' value='3'/>
+    </enum-decl>
+    <class-decl name='rte_comp_decompress_xform' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='244' column='1' id='type-id-198'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-180' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='chksum' type-id='type-id-200' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='window_size' type-id='type-id-23' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='hash_algo' type-id='type-id-201' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='254' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-194' const='yes' id='type-id-204'/>
+    <pointer-type-def type-id='type-id-204' size-in-bits='64' id='type-id-205'/>
+    <pointer-type-def type-id='type-id-206' size-in-bits='64' id='type-id-207'/>
+    <typedef-decl name='compressdev_stream_create_t' type-id='type-id-207' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='202' column='1' id='type-id-11'/>
+    <pointer-type-def type-id='type-id-208' size-in-bits='64' id='type-id-209'/>
+    <typedef-decl name='compressdev_stream_free_t' type-id='type-id-209' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='219' column='1' id='type-id-12'/>
+    <typedef-decl name='compressdev_private_xform_create_t' type-id='type-id-207' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='239' column='1' id='type-id-13'/>
+    <typedef-decl name='compressdev_private_xform_free_t' type-id='type-id-209' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='255' column='1' id='type-id-14'/>
+    <var-decl name='rte_zlib_pmd_ops' type-id='type-id-20' visibility='default' filepath='../drivers/compress/zlib/zlib_pmd_private.h' line='69' column='1'/>
+    <function-type size-in-bits='64' id='type-id-155'>
+      <return type-id='type-id-154'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-138'>
+      <return type-id='type-id-15'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-149'>
+      <parameter type-id='type-id-110'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-15'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-142'>
+      <parameter type-id='type-id-141'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-15'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-173'>
+      <parameter type-id='type-id-168'/>
+      <return type-id='type-id-15'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-206'>
+      <parameter type-id='type-id-168'/>
+      <parameter type-id='type-id-205'/>
+      <parameter type-id='type-id-106'/>
+      <return type-id='type-id-15'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-171'>
+      <parameter type-id='type-id-168'/>
+      <parameter type-id='type-id-170'/>
+      <return type-id='type-id-15'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-192'>
+      <parameter type-id='type-id-168'/>
+      <parameter type-id='type-id-26'/>
+      <return type-id='type-id-15'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-190'>
+      <parameter type-id='type-id-168'/>
+      <parameter type-id='type-id-26'/>
+      <parameter type-id='type-id-39'/>
+      <parameter type-id='type-id-15'/>
+      <return type-id='type-id-15'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-208'>
+      <parameter type-id='type-id-168'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-15'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-147'>
+      <parameter type-id='type-id-22'/>
+      <return type-id='type-id-15'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-151'>
+      <parameter type-id='type-id-22'/>
+      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-56'/>
+      <return type-id='type-id-15'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-164'>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-15'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-145'>
+      <parameter type-id='type-id-141'/>
+      <parameter type-id='type-id-144'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-22'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-102'>
+      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-101'/>
+      <parameter type-id='type-id-26'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-175'>
+      <parameter type-id='type-id-168'/>
+      <return type-id='type-id-27'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-184'>
+      <parameter type-id='type-id-168'/>
+      <parameter type-id='type-id-183'/>
+      <return type-id='type-id-27'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-188'>
+      <parameter type-id='type-id-168'/>
+      <parameter type-id='type-id-187'/>
+      <return type-id='type-id-27'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-75'>
+      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-27'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-89'>
+      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-27'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-162'>
+      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-110'/>
+      <parameter type-id='type-id-161'/>
+      <return type-id='type-id-28'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
-- 
2.17.1


^ permalink raw reply	[relevance 8%]

* [dpdk-dev] [PATCH v6 10/11] build: add abi checks to meson
  2019-12-13 16:40  8%       ` [dpdk-dev] [PATCH v6 00/11] Add ABI compatibility checks to the meson build Kevin Laatz
                           ` (8 preceding siblings ...)
  2019-12-13 16:41  3%         ` [dpdk-dev] [PATCH v6 09/11] drivers/net/intel: " Kevin Laatz
@ 2019-12-13 16:41 21%         ` Kevin Laatz
  2019-12-13 16:41  3%         ` [dpdk-dev] [PATCH v6 11/11] build: clean up experimental syms check Kevin Laatz
  2019-12-19 21:58  9%         ` [dpdk-dev] [PATCH v6 00/11] Add ABI compatibility checks to the meson build David Marchand
  11 siblings, 0 replies; 200+ results
From: Kevin Laatz @ 2019-12-13 16:41 UTC (permalink / raw)
  To: dev
  Cc: thomas, david.marchand, bruce.richardson, ray.kinsella, tdu, zr,
	cernay, Kevin Laatz

This patch adds a script to generate ABI dump files. These files will be
required to perform ABI compatibility checks during the build later in the
patchset. This script should be run on a DPDK version with a stable ABI.

Since this is a tool designed for human use, we simplify it to just work
off a whole build directory, taking the parameter of the builddir and
generating the lib|drivers/abi dir. This is hardcoded into the script since
the meson build expects the .dump files in these directories.

The running of the scripts can be enabled/disabled using the new meson
option added in this patch.  If enabled, the lib and drivers .so files will
be compared against any existing ABI dump files in lib|drivers/abi of the
source directory. If there are any incompatibilities, the build will fail
and display the incompatibility.

Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>

---
v2:
  - fixed conditional around abi check custom target
  - fixed conditional around abi check custom target
v3:
  - fix typo in meson option name
v4:
  - squash commits 3,4,5,6 into a single commit
  - changes meson option from type boolean to feature
  - update travis packages
  - move check for windows to earlier in build
  - add abignore file to suppress experimental functions
  - make the directories we store dump files in hidden
v5:
  - remove travis build with abi checks. This can be added as a separate
    patch once the issue are fixed.
---
 buildtools/dpdk.abignore |  2 ++
 buildtools/meson.build   |  3 +++
 config/meson.build       | 10 ++++++++++
 devtools/gen-abi-dump.sh | 24 ++++++++++++++++++++++++
 drivers/meson.build      | 13 +++++++++++++
 lib/meson.build          | 13 +++++++++++++
 meson.build              |  4 ++++
 meson_options.txt        |  2 ++
 8 files changed, 71 insertions(+)
 create mode 100644 buildtools/dpdk.abignore
 create mode 100755 devtools/gen-abi-dump.sh

diff --git a/buildtools/dpdk.abignore b/buildtools/dpdk.abignore
new file mode 100644
index 000000000..b866b7f26
--- /dev/null
+++ b/buildtools/dpdk.abignore
@@ -0,0 +1,2 @@
+[suppress_function]
+        symbol_version = EXPERIMENTAL
diff --git a/buildtools/meson.build b/buildtools/meson.build
index 6ef2c5721..378f8d07e 100644
--- a/buildtools/meson.build
+++ b/buildtools/meson.build
@@ -7,6 +7,9 @@ pmdinfo = find_program('gen-pmdinfo-cfile.sh')
 
 check_experimental_syms = find_program('check-experimental-syms.sh')
 
+abidiff = find_program('abidiff', required: compat_checks)
+abignore = files('dpdk.abignore')
+
 # set up map-to-def script using python, either built-in or external
 python3 = import('python').find_installation(required: false)
 if python3.found()
diff --git a/config/meson.build b/config/meson.build
index 01911ecf9..ea680af33 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -34,6 +34,16 @@ stable_so_version = abi_va.length() == 2 ? abi_va[0] : abi_va[0] + '.' + abi_va[
 experimental_abi_version = '0.' + ''.join(abi_va)
 experimental_so_version = '0.' + ''.join(stable_so_version.split('.'))
 
+# compatibility checks not available on windows
+compat_checks = disabler()
+if not is_windows
+	compat_checks = get_option('compat_checks')
+endif
+
+if not get_option('debug') and compat_checks.enabled()
+	error('Build type must have debug symbols when compat_checks=enabled')
+endif
+
 # extract all version information into the build configuration
 dpdk_conf.set('RTE_VER_YEAR', pver.get(0).to_int())
 dpdk_conf.set('RTE_VER_MONTH', pver.get(1).to_int())
diff --git a/devtools/gen-abi-dump.sh b/devtools/gen-abi-dump.sh
new file mode 100755
index 000000000..bc6eac8c8
--- /dev/null
+++ b/devtools/gen-abi-dump.sh
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+builddir=$1
+
+if [ -z "$builddir" ] ; then
+	echo "Usage: $(basename $0) build_dir"
+	exit 1
+fi
+
+if [ ! -d "$builddir" ] ; then
+	echo "Error: build directory, '$builddir', doesn't exist"
+	exit 1
+fi
+
+for d in lib drivers ; do
+	mkdir -p $d/.abi
+
+	for f in $builddir/$d/*.so* ; do
+		test -L "$f" && continue
+
+		libname=$(basename $f)
+		abidw --out-file $d/.abi/${libname%.so*}.dump $f || exit 1
+	done
+done
diff --git a/drivers/meson.build b/drivers/meson.build
index 4b17662b7..db58a67b9 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -196,6 +196,19 @@ foreach class:dpdk_driver_classes
 					include_directories: includes,
 					dependencies: static_deps)
 
+			if abidiff.found()
+				custom_target('lib' + lib_name + '.abi_chk',
+					command: [abidiff, '--no-added-syms',
+						'--suppr', abignore,
+						files('.abi/lib' + lib_name + '.dump'),
+						'@INPUT@'],
+					input: shared_lib,
+					output: 'lib' + lib_name + '.abi_chk',
+					capture: true,
+					install: false,
+					build_by_default: is_experimental == 0)
+			endif
+
 			dpdk_drivers += static_lib
 
 			set_variable('shared_@0@'.format(lib_name), shared_dep)
diff --git a/lib/meson.build b/lib/meson.build
index 0af3efab2..f0aba6635 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -180,6 +180,19 @@ foreach l:libraries
 					include_directories: includes,
 					dependencies: shared_deps)
 
+			if abidiff.found()
+				custom_target(dir_name + '.abi_chk',
+					command: [abidiff, '--no-added-syms',
+						'--suppr', abignore,
+						files('.abi/' + dir_name + '.dump'),
+						'@INPUT@'],
+					input: shared_lib,
+					output: dir_name + '.abi_chk',
+					capture: true,
+					install: false,
+					build_by_default: is_experimental == 0)
+			endif
+
 			dpdk_libraries = [shared_lib] + dpdk_libraries
 			dpdk_static_libraries = [static_lib] + dpdk_static_libraries
 		endif # sources.length() > 0
diff --git a/meson.build b/meson.build
index b7ae9c8d9..e840ccea7 100644
--- a/meson.build
+++ b/meson.build
@@ -128,3 +128,7 @@ foreach drv:dpdk_drvs_disabled
 	output_message += drv + ':\t' + reason + '\n\t'
 endforeach
 message(output_message + '\n')
+
+if compat_checks.auto() and not get_option('debug')
+	warning('Build type must be have debug symbols to run compatibility checks!\n')
+endif
diff --git a/meson_options.txt b/meson_options.txt
index bc369d06c..0c651cef3 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -1,5 +1,7 @@
 # Please keep these options sorted alphabetically.
 
+option('compat_checks', type: 'feature', value: 'auto',
+	description: 'Enable abi compatibility checks and experimental syms checks to run during the build. This requires debug build to be enabled.')
 option('disable_drivers', type: 'string', value: '',
 	description: 'Comma-separated list of drivers to explicitly disable.')
 option('drivers_install_subdir', type: 'string', value: 'dpdk/pmds-<VERSION>',
-- 
2.17.1


^ permalink raw reply	[relevance 21%]

* [dpdk-dev] [PATCH v6 11/11] build: clean up experimental syms check
  2019-12-13 16:40  8%       ` [dpdk-dev] [PATCH v6 00/11] Add ABI compatibility checks to the meson build Kevin Laatz
                           ` (9 preceding siblings ...)
  2019-12-13 16:41 21%         ` [dpdk-dev] [PATCH v6 10/11] build: add abi checks to meson Kevin Laatz
@ 2019-12-13 16:41  3%         ` Kevin Laatz
  2019-12-19 21:58  9%         ` [dpdk-dev] [PATCH v6 00/11] Add ABI compatibility checks to the meson build David Marchand
  11 siblings, 0 replies; 200+ results
From: Kevin Laatz @ 2019-12-13 16:41 UTC (permalink / raw)
  To: dev
  Cc: thomas, david.marchand, bruce.richardson, ray.kinsella, tdu, zr,
	cernay, Kevin Laatz

This patch cleans up the meson build files in lib and drivers by moving the
custom target for checking the experimental syms next to the abi compat
checks. This also removes the dependency on the check for the shared build,
which was not required by anything, but was only added to force the
experimental syms check run.

Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
---
 drivers/meson.build | 21 +++++++++++----------
 lib/meson.build     | 21 +++++++++++----------
 2 files changed, 22 insertions(+), 20 deletions(-)

diff --git a/drivers/meson.build b/drivers/meson.build
index db58a67b9..4f4c93b73 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -163,15 +163,6 @@ foreach class:dpdk_driver_classes
 					'-Wl,/implib:lib\\' + implib]
 			else
 				lk_args = ['-Wl,--version-script=' + version_map]
-				# on unix systems check the output of the
-				# experimental syms script, using it as a
-				# dependency of the .so build
-				lk_deps += custom_target(lib_name + '.exp_chk',
-					command: [check_experimental_syms,
-						version_map, '@INPUT@'],
-					capture: true,
-					input: static_lib,
-					output: lib_name + '.exp_chk')
 			endif
 
 			shared_lib = shared_library(lib_name,
@@ -181,7 +172,6 @@ foreach class:dpdk_driver_classes
 				dependencies: shared_deps,
 				c_args: cflags,
 				link_args: lk_args,
-				link_depends: lk_deps,
 				version: lib_version,
 				soversion: so_version,
 				install: true,
@@ -197,6 +187,17 @@ foreach class:dpdk_driver_classes
 					dependencies: static_deps)
 
 			if abidiff.found()
+				# on unix systems check the output of the
+				# experimental syms script
+				custom_target(lib_name + '.exp_chk',
+					command: [check_experimental_syms,
+						version_map, '@INPUT@'],
+					capture: true,
+					input: static_lib,
+					output: lib_name + '.exp_chk',
+					install: false,
+					build_by_default: true)
+
 				custom_target('lib' + lib_name + '.abi_chk',
 					command: [abidiff, '--no-added-syms',
 						'--suppr', abignore,
diff --git a/lib/meson.build b/lib/meson.build
index f0aba6635..b0f915969 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -154,15 +154,6 @@ foreach l:libraries
 					'-Wl,/implib:lib\\' + implib]
 			else
 				lk_args = ['-Wl,--version-script=' + version_map]
-				# on unix systems check the output of the
-				# experimental syms script, using it as a
-				# dependency of the .so build
-				lk_deps += custom_target(name + '.exp_chk',
-					command: [check_experimental_syms,
-						version_map, '@INPUT@'],
-					capture: true,
-					input: static_lib,
-					output: name + '.exp_chk')
 			endif
 
 			shared_lib = shared_library(libname,
@@ -172,7 +163,6 @@ foreach l:libraries
 					dependencies: shared_deps,
 					include_directories: includes,
 					link_args: lk_args,
-					link_depends: lk_deps,
 					version: lib_version,
 					soversion: so_version,
 					install: true)
@@ -181,6 +171,17 @@ foreach l:libraries
 					dependencies: shared_deps)
 
 			if abidiff.found()
+				# on unix systems check the output of the
+				# experimental syms script
+				custom_target(name + '.exp_chk',
+					command: [check_experimental_syms,
+						version_map, '@INPUT@'],
+					capture: true,
+					input: static_lib,
+					output: name + '.exp_chk',
+					install: false,
+					build_by_default: true)
+
 				custom_target(dir_name + '.abi_chk',
 					command: [abidiff, '--no-added-syms',
 						'--suppr', abignore,
-- 
2.17.1


^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] [PATCH v2 3/3] ethdev: improve flow mark Rx offload deprecation notice
  2019-12-09  9:17  0%             ` Andrew Rybchenko
@ 2019-12-16  7:38  3%               ` Jerin Jacob
  2019-12-16 10:02  0%                 ` Andrew Rybchenko
  0 siblings, 1 reply; 200+ results
From: Jerin Jacob @ 2019-12-16  7:38 UTC (permalink / raw)
  To: Andrew Rybchenko
  Cc: Thomas Monjalon, Ferruh Yigit, Pavan Nikhilesh, Neil Horman,
	John McNamara, Marko Kovacevic, dpdk-dev, Ori Kam,
	David Marchand, Olivier Matz, Ananyev, Konstantin

On Mon, Dec 9, 2019 at 2:47 PM Andrew Rybchenko
<arybchenko@solarflare.com> wrote:
>
> On 12/5/19 11:12 AM, Jerin Jacob wrote:
> > On Mon, Dec 2, 2019 at 5:27 PM Andrew Rybchenko
> > <arybchenko@solarflare.com> wrote:
> >>


>> >>>
> >>> Ack.
> >>
> >> Yes, I agree as well, but in general we already have an
> >> exception MBUF_FAST_FREE which is just a nice wrap for
> >> enabled by default support for mbufs from different
> >> mempools and support for mbuf reference counters.
> >> I don't suggest to change it. Just want to highlight
> >> that we already have exceptions (nicely wrapped).
> >> That's why I would not touch packet type parsing
> >> "offload". Packet type parsing is not just on/off and
> >> adding on/off in addition to existing API looks overkill.
> >> Yes, it is one more exception, but nicely wrapped as well.
> >
> > I am all for making offloads disabled by default.
> >
> >>
> >>>>> And what would be DEFAULT behavior for the mbuf MARK updation feature?
> >>>>> (That's where this thread started).
> >>>>
> >>>> As all other features, mark is disabled by default.
> >>>> Using a rte_flow rule, it can be enabled.
> >>>> No need to pre-enable it.
> >>>
> >>> Ok.
> >>
> >> But it returns us to the point where we started [1]:
> >>
> >> The problem:
> >> ~~~~~~~~~~~~
> >> PMD wants to know before port start if application wants to
> >> to use flow MARK/FLAG in the future. It is required because:
> >>
> >> 1. HW may be configured in a different way to reserve resources
> >>    for MARK/FLAG delivery.
> >>
> >> 2. Datapath implementation choice may depend on it (e.g. vPMD
> >>    is faster, but does not support MARK).
> >>
> >> opt-in/opt-out solution has drawbacks mentioned above.
> >> Also I'm not sure if opt-in/opt-out is per-queue or per-port.
> >> (Offloads may be naturally per-queue and it is a big advantage).
> >>
> >> IMHO feature which should be opt-out is almost equivalent to
> >> offload enabled by default. It has the same negative properties
> >> as enabled by default offloads.
> >>
> >> Am I missing something again?
> >>
> >> From my point of view I see no problem in necessity to say
> >> in advance (before device start) that application would like
> >> to use some features at run time.
> >
> > I agree with your problem definition and solution as offload.
> >
> > I think, our constraint is, we can not change functional ABI behavior
> > for the next year. i.e The existing application should work for the
> > next year without
> > changing the code.
> >
> > I think, it all boiling down to adhere to that constraint or not for
> > this specific case.
>
> May be the escape is to avoid consistency checks in generic
> code (not sure that such checks are doable/required in this
> case, but anyway) and make the behaviour change vendor/driver-
> specific. I understand that it is far from ideal solution.
>
> May be offload should be combined with opt-out as a way to
> disable. I.e. offload is positive (not negative), but enabled
> by default (i.e. automatically added to offloads as we do
> for RSS_HASH) with an experimental opt-out to disable it.
>
> As the result:
> 1. There is no changes in behaviour from application point of
>    view.
> 2. Application which care about performance and ready to use
>    experimental opt-out to optimize performance can do it.
>    (i.e. use opt-out to avoid the offload enabled by default).
> 3. Later when window to normalize behaviour opens, opt-out
>    becomes NOP (i.e. it still could be preserved for some
>    time to simplify transition).
> 4. The offload is enabled by default during transition
>    period only since it represents a feature which had
>    no offload flag before and was always enabled before.
> 5. As an offload the feature may be controlled per-device
>    and per-queue natively.

Looks good to me.
It makes sense to have a generic opt API to have for year ABI,
which works on

- per queue/per port
- Enable by default to keep backward compatible.
- Have a generic signature to allow probe() all the enabled opt-in features
and then disable if required by the application.
- I think, rte_eth_dev_set_ptypes()  needs to change to generic API as
it comes under opt-in/out scheme.


>
> It still does not sort out "necessity to enable twice"
> concern which for specified above "the problem", IMO,
> contradicts to "disabled by default offloads" (I read
> it as "the best performance" by default).
>
> > Once that is decided, we can wrap it in offload flags vs opt scheme
> > (by default enabled scheme).
>
> Yes. May be I don't understand all the details of the opt
> scheme right now, but I don't like what I can imagine as
> described above.
>
> >>
> >> Yes, all features which may be controlled at run-time are
> >> headache for optimizations (VLAN offloads).
> >>
> >> [1]
> >> http://inbox.dpdk.org/dev/f170105b-9c60-1b04-cb18-52e0951ddcdb@solarflare.com/
>

^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] discussion: creating a new class for vdpa drivers
  @ 2019-12-16  8:46  3% ` Andrew Rybchenko
  2019-12-16  8:50  3%   ` Maxime Coquelin
  0 siblings, 1 reply; 200+ results
From: Andrew Rybchenko @ 2019-12-16  8:46 UTC (permalink / raw)
  To: Matan Azrad, Tiwei Bie, Thomas Monjalon
  Cc: Ori Kam, Liang, Cunming, Wang, Xiao W, maxime.coquelin, Wang,
	Zhihong, Yigit, Ferruh, Shahaf Shuler, dev, Slava Ovsiienko,
	Asaf Penso, Olga Shern

On 12/16/19 11:29 AM, Matan Azrad wrote:
> 
> Hi all
> 
> I understand all of you agree \ not object with the new class for vdpa drivers.

I have two control questions:

1. If so, is it allowed to have vDPA driver in
   drivers/net/<driver> if it is better from code sharing point
   of view?

2. If drivers/common is used, is exported functions which are
   used by drivers/net/<driver> and drivers/vdpa/<driver> and
   data structures are a part of public API/ABI? Hopefully not,
   but I'd like to double-check and ensure that it is solved in
   the case of shared libraries build.

> Based on that, I'm going to start it.
> 
> From: Tiwei Bie
>> On Tue, Dec 10, 2019 at 09:00:33AM +0100, Thomas Monjalon wrote:
>>> 10/12/2019 03:41, Tiwei Bie:
>>>> On Mon, Dec 09, 2019 at 02:22:27PM +0300, Andrew Rybchenko wrote:
>>>>> On 12/9/19 1:41 PM, Ori Kam wrote:
>>>>>> From: Andrew Rybchenko
>>>>>>> On 12/8/19 10:06 AM, Matan Azrad wrote:
>>>>>>>> From: Andrew Rybchenko
>>>>>>>>> On 12/6/19 8:32 AM, Liang, Cunming wrote:
>>>>>>>>>> From: Bie, Tiwei <tiwei.bie@intel.com>
>>>>>>>>>>> On Thu, Dec 05, 2019 at 01:26:36PM +0000, Matan Azrad wrote:
>>>>>>>>>>>> Hi all
>>>>>>>>>>>>
>>>>>>>>>>>> As described in RFC “[RFC] net: new vdpa PMD for Mellanox
>>>>>>>>>>>> devices”, a new vdpa drivers is going to be added for
>>>>>>>>>>>> Mellanox devices – mlx5_vdpa
>>>>>>>>>>>>
>>>>>>>>>>>> The only vdpa driver now is the IFC driver that is located
>>>>>>>>>>>> in net
>>>>>>> directory.
>>>>>>>>>>>>
>>>>>>>>>>>> The IFC driver and the new mlx5_vdpa driver provide the
>>>>>>>>>>>> vdpa ops
>>>>>>> and
>>>>>>>>>>>> not the eth_dev ops.
>>>>>>>>>>>>
>>>>>>>>>>>> All the others drivers in net provide the eth-dev ops.
>>>>>>>>>>>>
>>>>>>>>>>>> I suggest to create a new class for vdpa drivers, to move
>>>>>>>>>>>> IFC to this class and to add the mlx5_vdpa to this class too.
>>>>>>>>>>>>
>>>>>>>>>>>> Later, all the new drivers that implements the vdpa ops
>>>>>>>>>>>> will be added to the vdpa class.
>>>>>>>>>>>
>>>>>>>>>>> +1. Sounds like a good idea to me.
>>>>>>>>>> +1
>>>>>>>>>
>>>>>>>>> vDPA drivers are vendor-specific and expected to talk to vendor
>> NIC. I.e.
>>>>>>>>> there are significant chances to share code with network drivers
>> (e.g.
>>>>>>> base
>>>>>>>>> driver). Should base driver be moved to drivers/common in
>>>>>>>>> this case or is
>>>>>>> it
>>>>>>>>> still allows to have vdpa driver in drivers/net together with ethdev
>> driver?
>>>>>>>>
>>>>>>>> Yes, I think this should be the method, shared code should be
>>>>>>>> moved to
>>>>>>> the drivers/common directory.
>>>>>>>> I think there is a precedence with shared code in common which
>>>>>>>> shares a
>>>>>>> vendor specific code between crypto and net.
>>>>>>>
>>>>>>> I see motivation behind driver/vdpa. However, vdpa and net
>>>>>>> drivers tightly related and I would prefer to avoid extra
>>>>>>> complexity here. Right now simplicity over-weights for me.
>>>>>>> No strong opinion on the topic, but it definitely requires
>>>>>>> better and more clear motivation why a new class should be
>>>>>>> introduced and existing drivers restructured.
>>>>>>>
>>>>>>
>>>>>> Why do you think there is extra complexity?
>>>>>
>>>>> Even grep becomes a bit more complicated J
>>>>>
>>>>>> I think from design correctness it is more correct to create a dedicated
>> class for the following reasons:
>>>>>> 1. All of the classes implements a different set of ops. For
>>>>>> example the cryptodev has a defined set of ops, same goes for the
>> compress driver and the ethdev driver. Each ones of them has different ops.
>> Going by this definition since VDPA has a different set of ops, it makes sense
>> that it will be in a different class.
>>>>>>
>>>>>> 2. even that both drivers (eth/vdpa) handle traffic from the nic
>>>>>> most of the code is different (the difference is also dependent on the
>> manufacture) So even the shared code base is not large and can be shared
>> using the common directory. For example ifc doesn't have any shared code.
>>>>>>
>>>>>> What do you think?
>>>>>
>>>>> The true reason is: if the difference in ops implemented is a key
>>>>> difference which should enforce location in different directories.
>>>>> Or underlying device class is a key.
>>>>> Roughly:
>>>>>  - net driver is a control+data path
>>>>>  - vdpa driver is a control path only My fear is that control path
>>>>> will grow more and more (Rx mode, RSS, filters and so on)
>>>>
>>>> I think this is a reasonable concern.
>>>>
>>>> One thing needs to be clarified is that, the control path (ops) in
>>>> vdpa driver is something very different with the control path in net
>>>> driver. vdpa is very generic (or more precisely vhost-related),
>>>> instead of network related:
>>>>
>>>> https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgi
>>>>
>> thub.com%2FDPDK%2Fdpdk%2Fblob%2Faef1d0733179%2Flib%2Flibrte_vhos
>> t%2F
>>>> rte_vdpa.h%23L40-
>> L78&amp;data=02%7C01%7Cmatan%40mellanox.com%7Cfac15
>>>>
>> 729a67c4c81ee7608d77d7434a2%7Ca652971c7d2e4d9ba6a4d149256f461b%7C
>> 0%7
>>>>
>> C0%7C637115810358231304&amp;sdata=%2BZa39vxadtKx5Ov7vmqcU3RuZhz
>> kOP9o
>>>> 8roEB0d5j6M%3D&amp;reserved=0
>>>>
>>>> It's built on top of vhost-user protocol, manipulates virtqueues,
>>>> virtio/vhost features, memory table, ...
>>>>
>>>> Technically, it's possible to have blk, crypto, ...
>>>> vdpa devices as well (we already have vhost-user-blk,
>>>> vhost-user-crypto, ...).
>>>>
>>>> But network specific features will come eventually, e.g. RSS. One
>>>> possible way to solve it is to define a generic event callback in
>>>> vdpa ops, and vdpa driver can request the corresponding info from
>>>> vhost based on the event received.
>>>>
>>>> Another thing needs to be clarified is that, the control path
>>>> supposed to be used by DPDK apps directly in vdpa should always be
>>>> generic, it should just be something like:
>>>>
>>>> int rte_vdpa_find_device_id(struct rte_vdpa_dev_addr *addr); int
>>>> rte_vhost_driver_attach_vdpa_device(const char *path, int did); int
>>>> rte_vhost_driver_detach_vdpa_device(const char *path); ...
>>>>
>>>> That is to say, users just need to bind the vdpa device to the vhost
>>>> connection. The control path ops in vdpa is supposed to be called by
>>>> vhost-library transparently based on the events on the vhost-user
>>>> connection, i.e.
>>>> the vdpa device will be configured (including RSS) by the guest
>>>> driver in QEMU "directly" via the vhost-user protocol instead of the
>>>> DPDK app in the host.
>>>
>>> Tiwei, in order to be clear,
>>> You think vDPA drivers should be in drivers/vdpa directory?
>>
>> I was just trying to clarify two facts in vDPA to address Andrew's concern.
>> And back to the question, to make sure that we don't miss anything
>> important, (although maybe not very related) it might be helpful to also
>> clarify how to support vDPA in OvS at the same time which isn't quite clear to
>> me yet..
>>
>> Regards,
>> Tiwei
>>
>>>
>>>


^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] discussion: creating a new class for vdpa drivers
  2019-12-16  8:46  3% ` Andrew Rybchenko
@ 2019-12-16  8:50  3%   ` Maxime Coquelin
  2019-12-16  9:39  0%     ` Andrew Rybchenko
  0 siblings, 1 reply; 200+ results
From: Maxime Coquelin @ 2019-12-16  8:50 UTC (permalink / raw)
  To: Andrew Rybchenko, Matan Azrad, Tiwei Bie, Thomas Monjalon
  Cc: Ori Kam, Liang, Cunming, Wang, Xiao W, Wang, Zhihong, Yigit,
	Ferruh, Shahaf Shuler, dev, Slava Ovsiienko, Asaf Penso,
	Olga Shern

Hi Andrew,

On 12/16/19 9:46 AM, Andrew Rybchenko wrote:
> On 12/16/19 11:29 AM, Matan Azrad wrote:
>>
>> Hi all
>>
>> I understand all of you agree \ not object with the new class for vdpa drivers.
> 
> I have two control questions:
> 
> 1. If so, is it allowed to have vDPA driver in
>    drivers/net/<driver> if it is better from code sharing point
>    of view?

If it has something to share, I think we should move the common bits
to the common directory.

> 2. If drivers/common is used, is exported functions which are
>    used by drivers/net/<driver> and drivers/vdpa/<driver> and
>    data structures are a part of public API/ABI? Hopefully not,
>    but I'd like to double-check and ensure that it is solved in
>    the case of shared libraries build.

Common functions and data should not be part of the API/ABI I agree.
I guess we should use relative paths for including the common headers.

>> Based on that, I'm going to start it.
>>
>> From: Tiwei Bie
>>> On Tue, Dec 10, 2019 at 09:00:33AM +0100, Thomas Monjalon wrote:
>>>> 10/12/2019 03:41, Tiwei Bie:
>>>>> On Mon, Dec 09, 2019 at 02:22:27PM +0300, Andrew Rybchenko wrote:
>>>>>> On 12/9/19 1:41 PM, Ori Kam wrote:
>>>>>>> From: Andrew Rybchenko
>>>>>>>> On 12/8/19 10:06 AM, Matan Azrad wrote:
>>>>>>>>> From: Andrew Rybchenko
>>>>>>>>>> On 12/6/19 8:32 AM, Liang, Cunming wrote:
>>>>>>>>>>> From: Bie, Tiwei <tiwei.bie@intel.com>
>>>>>>>>>>>> On Thu, Dec 05, 2019 at 01:26:36PM +0000, Matan Azrad wrote:
>>>>>>>>>>>>> Hi all
>>>>>>>>>>>>>
>>>>>>>>>>>>> As described in RFC “[RFC] net: new vdpa PMD for Mellanox
>>>>>>>>>>>>> devices”, a new vdpa drivers is going to be added for
>>>>>>>>>>>>> Mellanox devices – mlx5_vdpa
>>>>>>>>>>>>>
>>>>>>>>>>>>> The only vdpa driver now is the IFC driver that is located
>>>>>>>>>>>>> in net
>>>>>>>> directory.
>>>>>>>>>>>>>
>>>>>>>>>>>>> The IFC driver and the new mlx5_vdpa driver provide the
>>>>>>>>>>>>> vdpa ops
>>>>>>>> and
>>>>>>>>>>>>> not the eth_dev ops.
>>>>>>>>>>>>>
>>>>>>>>>>>>> All the others drivers in net provide the eth-dev ops.
>>>>>>>>>>>>>
>>>>>>>>>>>>> I suggest to create a new class for vdpa drivers, to move
>>>>>>>>>>>>> IFC to this class and to add the mlx5_vdpa to this class too.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Later, all the new drivers that implements the vdpa ops
>>>>>>>>>>>>> will be added to the vdpa class.
>>>>>>>>>>>>
>>>>>>>>>>>> +1. Sounds like a good idea to me.
>>>>>>>>>>> +1
>>>>>>>>>>
>>>>>>>>>> vDPA drivers are vendor-specific and expected to talk to vendor
>>> NIC. I.e.
>>>>>>>>>> there are significant chances to share code with network drivers
>>> (e.g.
>>>>>>>> base
>>>>>>>>>> driver). Should base driver be moved to drivers/common in
>>>>>>>>>> this case or is
>>>>>>>> it
>>>>>>>>>> still allows to have vdpa driver in drivers/net together with ethdev
>>> driver?
>>>>>>>>>
>>>>>>>>> Yes, I think this should be the method, shared code should be
>>>>>>>>> moved to
>>>>>>>> the drivers/common directory.
>>>>>>>>> I think there is a precedence with shared code in common which
>>>>>>>>> shares a
>>>>>>>> vendor specific code between crypto and net.
>>>>>>>>
>>>>>>>> I see motivation behind driver/vdpa. However, vdpa and net
>>>>>>>> drivers tightly related and I would prefer to avoid extra
>>>>>>>> complexity here. Right now simplicity over-weights for me.
>>>>>>>> No strong opinion on the topic, but it definitely requires
>>>>>>>> better and more clear motivation why a new class should be
>>>>>>>> introduced and existing drivers restructured.
>>>>>>>>
>>>>>>>
>>>>>>> Why do you think there is extra complexity?
>>>>>>
>>>>>> Even grep becomes a bit more complicated J
>>>>>>
>>>>>>> I think from design correctness it is more correct to create a dedicated
>>> class for the following reasons:
>>>>>>> 1. All of the classes implements a different set of ops. For
>>>>>>> example the cryptodev has a defined set of ops, same goes for the
>>> compress driver and the ethdev driver. Each ones of them has different ops.
>>> Going by this definition since VDPA has a different set of ops, it makes sense
>>> that it will be in a different class.
>>>>>>>
>>>>>>> 2. even that both drivers (eth/vdpa) handle traffic from the nic
>>>>>>> most of the code is different (the difference is also dependent on the
>>> manufacture) So even the shared code base is not large and can be shared
>>> using the common directory. For example ifc doesn't have any shared code.
>>>>>>>
>>>>>>> What do you think?
>>>>>>
>>>>>> The true reason is: if the difference in ops implemented is a key
>>>>>> difference which should enforce location in different directories.
>>>>>> Or underlying device class is a key.
>>>>>> Roughly:
>>>>>>  - net driver is a control+data path
>>>>>>  - vdpa driver is a control path only My fear is that control path
>>>>>> will grow more and more (Rx mode, RSS, filters and so on)
>>>>>
>>>>> I think this is a reasonable concern.
>>>>>
>>>>> One thing needs to be clarified is that, the control path (ops) in
>>>>> vdpa driver is something very different with the control path in net
>>>>> driver. vdpa is very generic (or more precisely vhost-related),
>>>>> instead of network related:
>>>>>
>>>>> https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgi
>>>>>
>>> thub.com%2FDPDK%2Fdpdk%2Fblob%2Faef1d0733179%2Flib%2Flibrte_vhos
>>> t%2F
>>>>> rte_vdpa.h%23L40-
>>> L78&amp;data=02%7C01%7Cmatan%40mellanox.com%7Cfac15
>>>>>
>>> 729a67c4c81ee7608d77d7434a2%7Ca652971c7d2e4d9ba6a4d149256f461b%7C
>>> 0%7
>>>>>
>>> C0%7C637115810358231304&amp;sdata=%2BZa39vxadtKx5Ov7vmqcU3RuZhz
>>> kOP9o
>>>>> 8roEB0d5j6M%3D&amp;reserved=0
>>>>>
>>>>> It's built on top of vhost-user protocol, manipulates virtqueues,
>>>>> virtio/vhost features, memory table, ...
>>>>>
>>>>> Technically, it's possible to have blk, crypto, ...
>>>>> vdpa devices as well (we already have vhost-user-blk,
>>>>> vhost-user-crypto, ...).
>>>>>
>>>>> But network specific features will come eventually, e.g. RSS. One
>>>>> possible way to solve it is to define a generic event callback in
>>>>> vdpa ops, and vdpa driver can request the corresponding info from
>>>>> vhost based on the event received.
>>>>>
>>>>> Another thing needs to be clarified is that, the control path
>>>>> supposed to be used by DPDK apps directly in vdpa should always be
>>>>> generic, it should just be something like:
>>>>>
>>>>> int rte_vdpa_find_device_id(struct rte_vdpa_dev_addr *addr); int
>>>>> rte_vhost_driver_attach_vdpa_device(const char *path, int did); int
>>>>> rte_vhost_driver_detach_vdpa_device(const char *path); ...
>>>>>
>>>>> That is to say, users just need to bind the vdpa device to the vhost
>>>>> connection. The control path ops in vdpa is supposed to be called by
>>>>> vhost-library transparently based on the events on the vhost-user
>>>>> connection, i.e.
>>>>> the vdpa device will be configured (including RSS) by the guest
>>>>> driver in QEMU "directly" via the vhost-user protocol instead of the
>>>>> DPDK app in the host.
>>>>
>>>> Tiwei, in order to be clear,
>>>> You think vDPA drivers should be in drivers/vdpa directory?
>>>
>>> I was just trying to clarify two facts in vDPA to address Andrew's concern.
>>> And back to the question, to make sure that we don't miss anything
>>> important, (although maybe not very related) it might be helpful to also
>>> clarify how to support vDPA in OvS at the same time which isn't quite clear to
>>> me yet..
>>>
>>> Regards,
>>> Tiwei
>>>
>>>>
>>>>
> 


^ permalink raw reply	[relevance 3%]

* [dpdk-dev] [PATCH v6 01/11] lib: add dump files for v20.0 ABI
  2019-12-13 16:40  8%       ` [dpdk-dev] [PATCH v6 00/11] Add ABI compatibility checks to the meson build Kevin Laatz
@ 2019-12-13 16:41  7%         ` Kevin Laatz
  2019-12-13 16:41  5%         ` [dpdk-dev] [PATCH v6 02/11] drivers/bus: " Kevin Laatz
                           ` (10 subsequent siblings)
  11 siblings, 0 replies; 200+ results
From: Kevin Laatz @ 2019-12-13 16:41 UTC (permalink / raw)
  To: dev
  Cc: thomas, david.marchand, bruce.richardson, ray.kinsella, tdu, zr,
	cernay, Kevin Laatz

This patch adds the lib .dump files generated for the v20.0 ABI. These
files will be used to compare the ABI during the meson build when the
compat_checks meson is enabled. If there is a mismatch between the .dump
files (the baseline, ie. current stable ABI version) and the code being
compiled, then abidiff will report an error and the build will fail.

The .dump files are stored in the lib/.abi directory.  The directory is
hidden to reduce clutter and also to discourage changing these files since
they should not be modified.

Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
---
 lib/.abi/librte_acl.dump           |  329 ++
 lib/.abi/librte_bbdev.dump         | 1789 +++++++++
 lib/.abi/librte_bitratestats.dump  |   85 +
 lib/.abi/librte_bpf.dump           |  280 ++
 lib/.abi/librte_cfgfile.dump       |  188 +
 lib/.abi/librte_cmdline.dump       |  728 ++++
 lib/.abi/librte_compressdev.dump   | 1249 +++++++
 lib/.abi/librte_cryptodev.dump     | 1806 +++++++++
 lib/.abi/librte_distributor.dump   |  627 ++++
 lib/.abi/librte_eal.dump           | 3329 +++++++++++++++++
 lib/.abi/librte_efd.dump           |  319 ++
 lib/.abi/librte_ethdev.dump        | 5272 ++++++++++++++++++++++++++
 lib/.abi/librte_eventdev.dump      | 5519 ++++++++++++++++++++++++++++
 lib/.abi/librte_fib.dump           |  327 ++
 lib/.abi/librte_flow_classify.dump | 1054 ++++++
 lib/.abi/librte_gro.dump           |  428 +++
 lib/.abi/librte_gso.dump           |  402 ++
 lib/.abi/librte_hash.dump          |  578 +++
 lib/.abi/librte_ip_frag.dump       |  813 ++++
 lib/.abi/librte_ipsec.dump         | 1269 +++++++
 lib/.abi/librte_jobstats.dump      |  197 +
 lib/.abi/librte_kni.dump           |  657 ++++
 lib/.abi/librte_kvargs.dump        |   98 +
 lib/.abi/librte_latencystats.dump  |  427 +++
 lib/.abi/librte_lpm.dump           |  330 ++
 lib/.abi/librte_mbuf.dump          |  745 ++++
 lib/.abi/librte_member.dump        |  216 ++
 lib/.abi/librte_mempool.dump       |  763 ++++
 lib/.abi/librte_meter.dump         |  197 +
 lib/.abi/librte_metrics.dump       |  102 +
 lib/.abi/librte_net.dump           |  489 +++
 lib/.abi/librte_pci.dump           |   85 +
 lib/.abi/librte_pdump.dump         |  339 ++
 lib/.abi/librte_pipeline.dump      | 1795 +++++++++
 lib/.abi/librte_port.dump          |  567 +++
 lib/.abi/librte_power.dump         |  490 +++
 lib/.abi/librte_rawdev.dump        |  839 +++++
 lib/.abi/librte_rcu.dump           |  217 ++
 lib/.abi/librte_reorder.dump       |  455 +++
 lib/.abi/librte_rib.dump           |  556 +++
 lib/.abi/librte_ring.dump          |  284 ++
 lib/.abi/librte_sched.dump         | 1108 ++++++
 lib/.abi/librte_security.dump      | 1125 ++++++
 lib/.abi/librte_stack.dump         |  183 +
 lib/.abi/librte_table.dump         |  544 +++
 lib/.abi/librte_telemetry.dump     |  122 +
 lib/.abi/librte_timer.dump         |  321 ++
 lib/.abi/librte_vhost.dump         | 1629 ++++++++
 48 files changed, 41271 insertions(+)
 create mode 100644 lib/.abi/librte_acl.dump
 create mode 100644 lib/.abi/librte_bbdev.dump
 create mode 100644 lib/.abi/librte_bitratestats.dump
 create mode 100644 lib/.abi/librte_bpf.dump
 create mode 100644 lib/.abi/librte_cfgfile.dump
 create mode 100644 lib/.abi/librte_cmdline.dump
 create mode 100644 lib/.abi/librte_compressdev.dump
 create mode 100644 lib/.abi/librte_cryptodev.dump
 create mode 100644 lib/.abi/librte_distributor.dump
 create mode 100644 lib/.abi/librte_eal.dump
 create mode 100644 lib/.abi/librte_efd.dump
 create mode 100644 lib/.abi/librte_ethdev.dump
 create mode 100644 lib/.abi/librte_eventdev.dump
 create mode 100644 lib/.abi/librte_fib.dump
 create mode 100644 lib/.abi/librte_flow_classify.dump
 create mode 100644 lib/.abi/librte_gro.dump
 create mode 100644 lib/.abi/librte_gso.dump
 create mode 100644 lib/.abi/librte_hash.dump
 create mode 100644 lib/.abi/librte_ip_frag.dump
 create mode 100644 lib/.abi/librte_ipsec.dump
 create mode 100644 lib/.abi/librte_jobstats.dump
 create mode 100644 lib/.abi/librte_kni.dump
 create mode 100644 lib/.abi/librte_kvargs.dump
 create mode 100644 lib/.abi/librte_latencystats.dump
 create mode 100644 lib/.abi/librte_lpm.dump
 create mode 100644 lib/.abi/librte_mbuf.dump
 create mode 100644 lib/.abi/librte_member.dump
 create mode 100644 lib/.abi/librte_mempool.dump
 create mode 100644 lib/.abi/librte_meter.dump
 create mode 100644 lib/.abi/librte_metrics.dump
 create mode 100644 lib/.abi/librte_net.dump
 create mode 100644 lib/.abi/librte_pci.dump
 create mode 100644 lib/.abi/librte_pdump.dump
 create mode 100644 lib/.abi/librte_pipeline.dump
 create mode 100644 lib/.abi/librte_port.dump
 create mode 100644 lib/.abi/librte_power.dump
 create mode 100644 lib/.abi/librte_rawdev.dump
 create mode 100644 lib/.abi/librte_rcu.dump
 create mode 100644 lib/.abi/librte_reorder.dump
 create mode 100644 lib/.abi/librte_rib.dump
 create mode 100644 lib/.abi/librte_ring.dump
 create mode 100644 lib/.abi/librte_sched.dump
 create mode 100644 lib/.abi/librte_security.dump
 create mode 100644 lib/.abi/librte_stack.dump
 create mode 100644 lib/.abi/librte_table.dump
 create mode 100644 lib/.abi/librte_telemetry.dump
 create mode 100644 lib/.abi/librte_timer.dump
 create mode 100644 lib/.abi/librte_vhost.dump

diff --git a/lib/.abi/librte_acl.dump b/lib/.abi/librte_acl.dump
new file mode 100644
index 000000000..edb47610a
--- /dev/null
+++ b/lib/.abi/librte_acl.dump
@@ -0,0 +1,329 @@
+<abi-corpus path='gcc//lib/librte_acl.so.20.0' architecture='elf-amd-x86_64' soname='librte_acl.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_acl_add_rules' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_acl_build' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_acl_classify' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_acl_classify_alg' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_acl_classify_scalar' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_acl_create' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_acl_dump' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_acl_find_existing' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_acl_free' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_acl_list_dump' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_acl_reset' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_acl_reset_rules' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_acl_set_ctx_classify' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_acl/acl_bld.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <class-decl name='rte_acl_ctx' size-in-bits='7232' is-struct='yes' visibility='default' filepath='../lib/librte_acl/acl.h' line='159' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-3' visibility='default' filepath='../lib/librte_acl/acl.h' line='160' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='socket_id' type-id='type-id-4' visibility='default' filepath='../lib/librte_acl/acl.h' line='162' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='alg' type-id='type-id-5' visibility='default' filepath='../lib/librte_acl/acl.h' line='164' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='rules' type-id='type-id-6' visibility='default' filepath='../lib/librte_acl/acl.h' line='165' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='max_rules' type-id='type-id-7' visibility='default' filepath='../lib/librte_acl/acl.h' line='166' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='rule_sz' type-id='type-id-7' visibility='default' filepath='../lib/librte_acl/acl.h' line='167' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='num_rules' type-id='type-id-7' visibility='default' filepath='../lib/librte_acl/acl.h' line='168' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='num_categories' type-id='type-id-7' visibility='default' filepath='../lib/librte_acl/acl.h' line='169' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='num_tries' type-id='type-id-7' visibility='default' filepath='../lib/librte_acl/acl.h' line='170' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='match_index' type-id='type-id-7' visibility='default' filepath='../lib/librte_acl/acl.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='no_match' type-id='type-id-8' visibility='default' filepath='../lib/librte_acl/acl.h' line='172' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='idle' type-id='type-id-8' visibility='default' filepath='../lib/librte_acl/acl.h' line='173' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='trans_table' type-id='type-id-9' visibility='default' filepath='../lib/librte_acl/acl.h' line='174' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='data_indexes' type-id='type-id-10' visibility='default' filepath='../lib/librte_acl/acl.h' line='175' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='trie' type-id='type-id-11' visibility='default' filepath='../lib/librte_acl/acl.h' line='176' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2880'>
+        <var-decl name='mem' type-id='type-id-6' visibility='default' filepath='../lib/librte_acl/acl.h' line='177' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2944'>
+        <var-decl name='mem_sz' type-id='type-id-12' visibility='default' filepath='../lib/librte_acl/acl.h' line='178' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3008'>
+        <var-decl name='config' type-id='type-id-13' visibility='default' filepath='../lib/librte_acl/acl.h' line='179' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-14'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-15'/>
+
+    <array-type-def dimensions='1' type-id='type-id-14' size-in-bits='256' id='type-id-3'>
+      <subrange length='32' type-id='type-id-15' id='type-id-16'/>
+
+    </array-type-def>
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-17'/>
+    <typedef-decl name='int32_t' type-id='type-id-17' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-4'/>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-18'/>
+    <enum-decl name='rte_acl_classify_alg' filepath='../lib/librte_acl/rte_acl.h' line='237' column='1' id='type-id-5'>
+      <underlying-type type-id='type-id-18'/>
+      <enumerator name='RTE_ACL_CLASSIFY_DEFAULT' value='0'/>
+      <enumerator name='RTE_ACL_CLASSIFY_SCALAR' value='1'/>
+      <enumerator name='RTE_ACL_CLASSIFY_SSE' value='2'/>
+      <enumerator name='RTE_ACL_CLASSIFY_AVX2' value='3'/>
+      <enumerator name='RTE_ACL_CLASSIFY_NEON' value='4'/>
+      <enumerator name='RTE_ACL_CLASSIFY_ALTIVEC' value='5'/>
+      <enumerator name='RTE_ACL_CLASSIFY_NUM' value='6'/>
+    </enum-decl>
+    <type-decl name='void' id='type-id-19'/>
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-6'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-20'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-20' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-21'/>
+    <typedef-decl name='uint32_t' type-id='type-id-21' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-7'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-15' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-22'/>
+    <typedef-decl name='uint64_t' type-id='type-id-22' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-8'/>
+    <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-9'/>
+    <pointer-type-def type-id='type-id-7' size-in-bits='64' id='type-id-10'/>
+    <class-decl name='rte_acl_trie' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_acl/acl.h' line='147' column='1' id='type-id-23'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-7' visibility='default' filepath='../lib/librte_acl/acl.h' line='148' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='count' type-id='type-id-7' visibility='default' filepath='../lib/librte_acl/acl.h' line='149' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='root_index' type-id='type-id-7' visibility='default' filepath='../lib/librte_acl/acl.h' line='150' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_index' type-id='type-id-24' visibility='default' filepath='../lib/librte_acl/acl.h' line='151' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='num_data_indexes' type-id='type-id-7' visibility='default' filepath='../lib/librte_acl/acl.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-7' const='yes' id='type-id-25'/>
+    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-24'/>
+
+    <array-type-def dimensions='1' type-id='type-id-23' size-in-bits='2048' id='type-id-11'>
+      <subrange length='8' type-id='type-id-15' id='type-id-26'/>
+
+    </array-type-def>
+    <typedef-decl name='size_t' type-id='type-id-15' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-12'/>
+    <class-decl name='rte_acl_config' size-in-bits='4224' is-struct='yes' visibility='default' filepath='../lib/librte_acl/rte_acl.h' line='63' column='1' id='type-id-13'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='num_categories' type-id='type-id-7' visibility='default' filepath='../lib/librte_acl/rte_acl.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='num_fields' type-id='type-id-7' visibility='default' filepath='../lib/librte_acl/rte_acl.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='defs' type-id='type-id-27' visibility='default' filepath='../lib/librte_acl/rte_acl.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4160'>
+        <var-decl name='max_size' type-id='type-id-12' visibility='default' filepath='../lib/librte_acl/rte_acl.h' line='68' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_acl_field_def' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_acl/rte_acl.h' line='51' column='1' id='type-id-28'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-29' visibility='default' filepath='../lib/librte_acl/rte_acl.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='size' type-id='type-id-29' visibility='default' filepath='../lib/librte_acl/rte_acl.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='field_index' type-id='type-id-29' visibility='default' filepath='../lib/librte_acl/rte_acl.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='input_index' type-id='type-id-29' visibility='default' filepath='../lib/librte_acl/rte_acl.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='offset' type-id='type-id-7' visibility='default' filepath='../lib/librte_acl/rte_acl.h' line='56' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-30'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-30' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-31'/>
+    <typedef-decl name='uint8_t' type-id='type-id-31' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-29'/>
+
+    <array-type-def dimensions='1' type-id='type-id-28' size-in-bits='4096' id='type-id-27'>
+      <subrange length='64' type-id='type-id-15' id='type-id-32'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-33'/>
+    <qualified-type-def type-id='type-id-13' const='yes' id='type-id-34'/>
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-35'/>
+    <function-decl name='rte_acl_build' mangled-name='rte_acl_build' filepath='../lib/librte_acl/acl_bld.c' line='1521' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_acl_build@@DPDK_20.0'>
+      <parameter type-id='type-id-33' name='ctx' filepath='../lib/librte_acl/acl_bld.c' line='1521' column='1'/>
+      <parameter type-id='type-id-35' name='cfg' filepath='../lib/librte_acl/acl_bld.c' line='1521' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_acl/acl_run_scalar.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <qualified-type-def type-id='type-id-2' const='yes' id='type-id-36'/>
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-37'/>
+    <qualified-type-def type-id='type-id-29' const='yes' id='type-id-38'/>
+    <pointer-type-def type-id='type-id-38' size-in-bits='64' id='type-id-39'/>
+    <pointer-type-def type-id='type-id-39' size-in-bits='64' id='type-id-40'/>
+    <function-decl name='rte_acl_classify_scalar' mangled-name='rte_acl_classify_scalar' filepath='../lib/librte_acl/acl_run_scalar.c' line='110' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_acl_classify_scalar@@DPDK_20.0'>
+      <parameter type-id='type-id-37' name='ctx' filepath='../lib/librte_acl/acl_run_scalar.c' line='110' column='1'/>
+      <parameter type-id='type-id-40' name='data' filepath='../lib/librte_acl/acl_run_scalar.c' line='110' column='1'/>
+      <parameter type-id='type-id-10' name='results' filepath='../lib/librte_acl/acl_run_scalar.c' line='111' column='1'/>
+      <parameter type-id='type-id-7' name='num' filepath='../lib/librte_acl/acl_run_scalar.c' line='111' column='1'/>
+      <parameter type-id='type-id-7' name='categories' filepath='../lib/librte_acl/acl_run_scalar.c' line='111' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_acl/rte_acl.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='rte_acl_list_dump' mangled-name='rte_acl_list_dump' filepath='../lib/librte_acl/rte_acl.c' line='375' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_acl_list_dump@@DPDK_20.0'>
+      <return type-id='type-id-19'/>
+    </function-decl>
+    <function-decl name='rte_acl_dump' mangled-name='rte_acl_dump' filepath='../lib/librte_acl/rte_acl.c' line='357' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_acl_dump@@DPDK_20.0'>
+      <parameter type-id='type-id-37' name='ctx' filepath='../lib/librte_acl/rte_acl.c' line='357' column='1'/>
+      <return type-id='type-id-19'/>
+    </function-decl>
+    <function-decl name='rte_acl_reset' mangled-name='rte_acl_reset' filepath='../lib/librte_acl/rte_acl.c' line='345' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_acl_reset@@DPDK_20.0'>
+      <parameter type-id='type-id-33' name='ctx' filepath='../lib/librte_acl/rte_acl.c' line='345' column='1'/>
+      <return type-id='type-id-19'/>
+    </function-decl>
+    <function-decl name='rte_acl_reset_rules' mangled-name='rte_acl_reset_rules' filepath='../lib/librte_acl/rte_acl.c' line='335' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_acl_reset_rules@@DPDK_20.0'>
+      <parameter type-id='type-id-33' name='ctx' filepath='../lib/librte_acl/rte_acl.c' line='345' column='1'/>
+      <return type-id='type-id-19'/>
+    </function-decl>
+    <class-decl name='rte_acl_rule' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_acl/rte_acl.h' line='116' column='1' id='type-id-41'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-42' visibility='default' filepath='../lib/librte_acl/rte_acl.h' line='116' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='field' type-id='type-id-43' visibility='default' filepath='../lib/librte_acl/rte_acl.h' line='116' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_acl_rule_data' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_acl/rte_acl.h' line='100' column='1' id='type-id-42'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='category_mask' type-id='type-id-7' visibility='default' filepath='../lib/librte_acl/rte_acl.h' line='101' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='priority' type-id='type-id-4' visibility='default' filepath='../lib/librte_acl/rte_acl.h' line='102' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='userdata' type-id='type-id-7' visibility='default' filepath='../lib/librte_acl/rte_acl.h' line='103' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_acl_field' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_acl/rte_acl.h' line='75' column='1' id='type-id-44'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='value' type-id='type-id-45' visibility='default' filepath='../lib/librte_acl/rte_acl.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mask_range' type-id='type-id-45' visibility='default' filepath='../lib/librte_acl/rte_acl.h' line='78' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='rte_acl_field_types' size-in-bits='64' visibility='default' filepath='../lib/librte_acl/rte_acl.h' line='27' column='1' id='type-id-45'>
+      <data-member access='private'>
+        <var-decl name='u8' type-id='type-id-29' visibility='default' filepath='../lib/librte_acl/rte_acl.h' line='28' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='u16' type-id='type-id-46' visibility='default' filepath='../lib/librte_acl/rte_acl.h' line='29' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='u32' type-id='type-id-7' visibility='default' filepath='../lib/librte_acl/rte_acl.h' line='30' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='u64' type-id='type-id-8' visibility='default' filepath='../lib/librte_acl/rte_acl.h' line='31' column='1'/>
+      </data-member>
+    </union-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-47'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-47' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-48'/>
+    <typedef-decl name='uint16_t' type-id='type-id-48' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-46'/>
+
+    <array-type-def dimensions='1' type-id='type-id-44' size-in-bits='infinite' id='type-id-43'>
+      <subrange length='infinite' type-id='type-id-15' id='type-id-49'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-41' const='yes' id='type-id-50'/>
+    <pointer-type-def type-id='type-id-50' size-in-bits='64' id='type-id-51'/>
+    <function-decl name='rte_acl_add_rules' mangled-name='rte_acl_add_rules' filepath='../lib/librte_acl/rte_acl.c' line='306' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_acl_add_rules@@DPDK_20.0'>
+      <parameter type-id='type-id-33' name='ctx' filepath='../lib/librte_acl/rte_acl.c' line='306' column='1'/>
+      <parameter type-id='type-id-51' name='rules' filepath='../lib/librte_acl/rte_acl.c' line='306' column='1'/>
+      <parameter type-id='type-id-7' name='num' filepath='../lib/librte_acl/rte_acl.c' line='307' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_acl_param' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_acl/rte_acl.h' line='128' column='1' id='type-id-52'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-53' visibility='default' filepath='../lib/librte_acl/rte_acl.h' line='129' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_acl/rte_acl.h' line='130' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='rule_size' type-id='type-id-7' visibility='default' filepath='../lib/librte_acl/rte_acl.h' line='131' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='max_rule_num' type-id='type-id-7' visibility='default' filepath='../lib/librte_acl/rte_acl.h' line='132' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-14' const='yes' id='type-id-54'/>
+    <pointer-type-def type-id='type-id-54' size-in-bits='64' id='type-id-53'/>
+    <qualified-type-def type-id='type-id-52' const='yes' id='type-id-55'/>
+    <pointer-type-def type-id='type-id-55' size-in-bits='64' id='type-id-56'/>
+    <function-decl name='rte_acl_create' mangled-name='rte_acl_create' filepath='../lib/librte_acl/rte_acl.c' line='210' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_acl_create@@DPDK_20.0'>
+      <parameter type-id='type-id-56' name='param' filepath='../lib/librte_acl/rte_acl.c' line='210' column='1'/>
+      <return type-id='type-id-33'/>
+    </function-decl>
+    <function-decl name='rte_acl_free' mangled-name='rte_acl_free' filepath='../lib/librte_acl/rte_acl.c' line='178' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_acl_free@@DPDK_20.0'>
+      <parameter type-id='type-id-33' name='ctx' filepath='../lib/librte_acl/rte_acl.c' line='178' column='1'/>
+      <return type-id='type-id-19'/>
+    </function-decl>
+    <function-decl name='rte_acl_find_existing' mangled-name='rte_acl_find_existing' filepath='../lib/librte_acl/rte_acl.c' line='154' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_acl_find_existing@@DPDK_20.0'>
+      <parameter type-id='type-id-53' name='name' filepath='../lib/librte_acl/rte_acl.c' line='154' column='1'/>
+      <return type-id='type-id-33'/>
+    </function-decl>
+    <function-decl name='rte_acl_classify' mangled-name='rte_acl_classify' filepath='../lib/librte_acl/rte_acl.c' line='146' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_acl_classify@@DPDK_20.0'>
+      <parameter type-id='type-id-37' name='ctx' filepath='../lib/librte_acl/rte_acl.c' line='146' column='1'/>
+      <parameter type-id='type-id-40' name='data' filepath='../lib/librte_acl/rte_acl.c' line='146' column='1'/>
+      <parameter type-id='type-id-10' name='results' filepath='../lib/librte_acl/rte_acl.c' line='147' column='1'/>
+      <parameter type-id='type-id-7' name='num' filepath='../lib/librte_acl/rte_acl.c' line='147' column='1'/>
+      <parameter type-id='type-id-7' name='categories' filepath='../lib/librte_acl/rte_acl.c' line='147' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_acl_classify_alg' mangled-name='rte_acl_classify_alg' filepath='../lib/librte_acl/rte_acl.c' line='134' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_acl_classify_alg@@DPDK_20.0'>
+      <parameter type-id='type-id-37' name='ctx' filepath='../lib/librte_acl/rte_acl.c' line='134' column='1'/>
+      <parameter type-id='type-id-40' name='data' filepath='../lib/librte_acl/rte_acl.c' line='134' column='1'/>
+      <parameter type-id='type-id-10' name='results' filepath='../lib/librte_acl/rte_acl.c' line='135' column='1'/>
+      <parameter type-id='type-id-7' name='num' filepath='../lib/librte_acl/rte_acl.c' line='135' column='1'/>
+      <parameter type-id='type-id-7' name='categories' filepath='../lib/librte_acl/rte_acl.c' line='135' column='1'/>
+      <parameter type-id='type-id-5' name='alg' filepath='../lib/librte_acl/rte_acl.c' line='136' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_acl_set_ctx_classify' mangled-name='rte_acl_set_ctx_classify' filepath='../lib/librte_acl/rte_acl.c' line='93' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_acl_set_ctx_classify@@DPDK_20.0'>
+      <parameter type-id='type-id-33' name='ctx' filepath='../lib/librte_acl/rte_acl.c' line='93' column='1'/>
+      <parameter type-id='type-id-5' name='alg' filepath='../lib/librte_acl/rte_acl.c' line='93' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_bbdev.dump b/lib/.abi/librte_bbdev.dump
new file mode 100644
index 000000000..0cb51b8f9
--- /dev/null
+++ b/lib/.abi/librte_bbdev.dump
@@ -0,0 +1,1789 @@
+<abi-corpus path='gcc//lib/librte_bbdev.so.0.200' architecture='elf-amd-x86_64' soname='librte_bbdev.so.0.200'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_bbdev_allocate' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bbdev_callback_register' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bbdev_callback_unregister' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bbdev_close' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bbdev_count' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bbdev_find_next' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bbdev_get_named_dev' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bbdev_info_get' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bbdev_intr_enable' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bbdev_is_valid' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bbdev_op_pool_create' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bbdev_op_type_str' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bbdev_pmd_callback_process' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bbdev_queue_configure' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bbdev_queue_info_get' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bbdev_queue_intr_ctl' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bbdev_queue_intr_disable' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bbdev_queue_intr_enable' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bbdev_queue_start' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bbdev_queue_stop' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bbdev_release' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bbdev_setup_queues' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bbdev_start' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bbdev_stats_get' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bbdev_stats_reset' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bbdev_stop' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <elf-variable-symbols>
+    <elf-symbol name='rte_bbdev_devices' size='16384' version='EXPERIMENTAL' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_bbdev/rte_bbdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_bbdev' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='442' column='1' id='type-id-1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='enqueue_enc_ops' type-id='type-id-2' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='444' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='enqueue_dec_ops' type-id='type-id-3' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='446' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dequeue_enc_ops' type-id='type-id-4' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='448' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dequeue_dec_ops' type-id='type-id-5' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='enqueue_ldpc_enc_ops' type-id='type-id-2' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='452' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='enqueue_ldpc_dec_ops' type-id='type-id-3' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='454' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='dequeue_ldpc_enc_ops' type-id='type-id-4' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='456' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='dequeue_ldpc_dec_ops' type-id='type-id-5' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='458' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='dev_ops' type-id='type-id-6' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='459' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='data' type-id='type-id-7' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='460' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='state' type-id='type-id-8' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='461' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='device' type-id='type-id-9' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='462' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='list_cbs' type-id='type-id-10' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='464' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='intr_handle' type-id='type-id-11' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='465' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-12'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-12' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-13'/>
+    <typedef-decl name='uint16_t' type-id='type-id-13' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-14'/>
+    <class-decl name='rte_bbdev_queue_data' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='381' column='1' id='type-id-15'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='queue_private' type-id='type-id-16' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='382' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='conf' type-id='type-id-17' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='383' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='queue_stats' type-id='type-id-18' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='384' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='started' type-id='type-id-19' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='385' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='void' id='type-id-20'/>
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-16'/>
+    <class-decl name='rte_bbdev_queue_conf' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='138' column='1' id='type-id-17'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='socket' type-id='type-id-21' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='139' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='queue_size' type-id='type-id-22' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='140' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='priority' type-id='type-id-23' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='deferred_start' type-id='type-id-19' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='142' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='op_type' type-id='type-id-24' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='143' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='int' size-in-bits='32' id='type-id-21'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-25'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-25' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-26'/>
+    <typedef-decl name='uint32_t' type-id='type-id-26' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-22'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-27'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-27' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-28'/>
+    <typedef-decl name='uint8_t' type-id='type-id-28' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-23'/>
+    <type-decl name='bool' size-in-bits='8' id='type-id-19'/>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-29'/>
+    <enum-decl name='rte_bbdev_op_type' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='728' column='1' id='type-id-24'>
+      <underlying-type type-id='type-id-29'/>
+      <enumerator name='RTE_BBDEV_OP_NONE' value='0'/>
+      <enumerator name='RTE_BBDEV_OP_TURBO_DEC' value='1'/>
+      <enumerator name='RTE_BBDEV_OP_TURBO_ENC' value='2'/>
+      <enumerator name='RTE_BBDEV_OP_LDPC_DEC' value='3'/>
+      <enumerator name='RTE_BBDEV_OP_LDPC_ENC' value='4'/>
+      <enumerator name='RTE_BBDEV_OP_TYPE_COUNT' value='5'/>
+    </enum-decl>
+    <class-decl name='rte_bbdev_stats' size-in-bits='320' is-struct='yes' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='246' column='1' id='type-id-18'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='enqueued_count' type-id='type-id-30' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dequeued_count' type-id='type-id-30' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='enqueue_err_count' type-id='type-id-30' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dequeue_err_count' type-id='type-id-30' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='acc_offload_cycles' type-id='type-id-30' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='259' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-31'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-31' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-32'/>
+    <typedef-decl name='uint64_t' type-id='type-id-32' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-30'/>
+    <pointer-type-def type-id='type-id-15' size-in-bits='64' id='type-id-33'/>
+    <class-decl name='rte_bbdev_enc_op' size-in-bits='704' is-struct='yes' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='746' column='1' id='type-id-34'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='status' type-id='type-id-21' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='748' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mempool' type-id='type-id-35' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='750' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='opaque_data' type-id='type-id-16' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='752' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-36' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-37'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-38' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-39' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-16' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-40' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-25' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-21' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-22' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-22' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-22' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-22' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-22' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-41' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-42' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-22' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-43' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-22' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-44' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-45'/>
+
+    <array-type-def dimensions='1' type-id='type-id-45' size-in-bits='256' id='type-id-38'>
+      <subrange length='32' type-id='type-id-31' id='type-id-46'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-39'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-16' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-30' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-47'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-38' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-48' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-49' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-30' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-41' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-22' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-48'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-50' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-51' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-30' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-50'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-30' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-51'/>
+    <typedef-decl name='size_t' type-id='type-id-31' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-49'/>
+    <typedef-decl name='__int32_t' type-id='type-id-21' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-52'/>
+    <typedef-decl name='int32_t' type-id='type-id-52' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-41'/>
+    <qualified-type-def type-id='type-id-47' const='yes' id='type-id-53'/>
+    <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-40'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-54'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-22' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-22' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-22' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-55' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='98304' id='type-id-55'>
+      <subrange length='1536' type-id='type-id-31' id='type-id-56'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-54' size-in-bits='64' id='type-id-42'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-43'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-57' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-58' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-59'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-60' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-35' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-61' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-60'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-57' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-59' size-in-bits='64' id='type-id-57'/>
+    <pointer-type-def type-id='type-id-37' size-in-bits='64' id='type-id-35'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-61'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-51' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-50' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-57' size-in-bits='64' id='type-id-58'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-44'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-62' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-63' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-64'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-65' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-35' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-16' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-66' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-67' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-16' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-65'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-62' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-64' size-in-bits='64' id='type-id-62'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-66'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-51' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-50' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-68' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-69'/>
+    <pointer-type-def type-id='type-id-69' size-in-bits='64' id='type-id-67'/>
+    <pointer-type-def type-id='type-id-62' size-in-bits='64' id='type-id-63'/>
+    <union-decl name='__anonymous_union__' size-in-bits='512' is-anonymous='yes' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='753' column='1' id='type-id-36'>
+      <data-member access='private'>
+        <var-decl name='turbo_enc' type-id='type-id-70' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='755' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='ldpc_enc' type-id='type-id-71' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='757' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_bbdev_op_turbo_enc' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='599' column='1' id='type-id-70'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='input' type-id='type-id-72' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='output' type-id='type-id-72' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='op_flags' type-id='type-id-22' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='605' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='rv_index' type-id='type-id-23' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='608' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='296'>
+        <var-decl name='code_block_mode' type-id='type-id-23' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='' type-id='type-id-73' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_bbdev_op_data' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='204' column='1' id='type-id-72'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-74' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='234' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offset' type-id='type-id-22' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='242' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='length' type-id='type-id-22' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mbuf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='480' column='1' id='type-id-75'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheline0' type-id='type-id-76' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-16' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-77' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rearm_data' type-id='type-id-78' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='497' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_off' type-id='type-id-14' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_segs' type-id='type-id-14' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='port' type-id='type-id-14' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ol_flags' type-id='type-id-30' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_descriptor_fields1' type-id='type-id-76' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='pkt_len' type-id='type-id-22' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data_len' type-id='type-id-14' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='vlan_tci' type-id='type-id-14' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vlan_tci_outer' type-id='type-id-14' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='buf_len' type-id='type-id-14' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='timestamp' type-id='type-id-30' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cacheline1' type-id='type-id-76' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='pool' type-id='type-id-35' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='next' type-id='type-id-74' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv_size' type-id='type-id-14' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='timesync' type-id='type-id-14' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='seqn' type-id='type-id-22' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='shinfo' type-id='type-id-79' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dynfield1' type-id='type-id-80' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='infinite' id='type-id-81'>
+      <subrange length='infinite' type-id='type-id-31' id='type-id-82'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER' type-id='type-id-81' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='414' column='1' id='type-id-76'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='491' column='1' id='type-id-77'>
+      <data-member access='private'>
+        <var-decl name='buf_iova' type-id='type-id-51' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='buf_physaddr' type-id='type-id-51' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-30' size-in-bits='infinite' id='type-id-83'>
+      <subrange length='infinite' type-id='type-id-31' id='type-id-82'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER64' type-id='type-id-83' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='420' column='1' id='type-id-78'/>
+    <pointer-type-def type-id='type-id-75' size-in-bits='64' id='type-id-74'/>
+    <class-decl name='rte_mbuf_ext_shared_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='689' column='1' id='type-id-84'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_cb' type-id='type-id-85' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcb_opaque' type-id='type-id-16' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt_atomic' type-id='type-id-86' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-87' size-in-bits='64' id='type-id-88'/>
+    <typedef-decl name='rte_mbuf_extbuf_free_callback_t' type-id='type-id-88' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='684' column='1' id='type-id-85'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-86' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-89'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-90' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-91'/>
+    <typedef-decl name='__int16_t' type-id='type-id-91' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-92'/>
+    <typedef-decl name='int16_t' type-id='type-id-92' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-93'/>
+    <qualified-type-def type-id='type-id-93' volatile='yes' id='type-id-90'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-89' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-86'/>
+    <pointer-type-def type-id='type-id-84' size-in-bits='64' id='type-id-79'/>
+
+    <array-type-def dimensions='1' type-id='type-id-30' size-in-bits='128' id='type-id-80'>
+      <subrange length='2' type-id='type-id-31' id='type-id-94'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='611' column='1' id='type-id-73'>
+      <data-member access='private'>
+        <var-decl name='cb_params' type-id='type-id-95' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='tb_params' type-id='type-id-96' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='615' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_bbdev_op_enc_turbo_cb_params' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='493' column='1' id='type-id-95'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='k' type-id='type-id-14' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='499' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='e' type-id='type-id-22' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='503' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ncb' type-id='type-id-14' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='507' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_bbdev_op_enc_turbo_tb_params' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='511' column='1' id='type-id-96'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='k_neg' type-id='type-id-14' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='517' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='k_pos' type-id='type-id-14' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='523' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='c_neg' type-id='type-id-23' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='c' type-id='type-id-23' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='529' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='cab' type-id='type-id-23' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='531' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ea' type-id='type-id-22' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='535' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='eb' type-id='type-id-22' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='539' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ncb_neg' type-id='type-id-14' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='543' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='ncb_pos' type-id='type-id-14' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='547' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='r' type-id='type-id-23' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='549' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_bbdev_op_ldpc_enc' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='632' column='1' id='type-id-71'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='input' type-id='type-id-72' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='634' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='output' type-id='type-id-72' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='636' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='op_flags' type-id='type-id-22' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='639' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='rv_index' type-id='type-id-23' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='642' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='296'>
+        <var-decl name='basegraph' type-id='type-id-23' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='646' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='304'>
+        <var-decl name='z_c' type-id='type-id-14' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='650' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='n_cb' type-id='type-id-14' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='654' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='q_m' type-id='type-id-23' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='658' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='n_filler' type-id='type-id-14' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='code_block_mode' type-id='type-id-23' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='664' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='' type-id='type-id-97' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='96' is-anonymous='yes' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='665' column='1' id='type-id-97'>
+      <data-member access='private'>
+        <var-decl name='cb_params' type-id='type-id-98' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='667' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='tb_params' type-id='type-id-99' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='669' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_bbdev_op_enc_ldpc_cb_params' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='553' column='1' id='type-id-98'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='e' type-id='type-id-22' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='557' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_bbdev_op_enc_ldpc_tb_params' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='561' column='1' id='type-id-99'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ea' type-id='type-id-22' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='565' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='eb' type-id='type-id-22' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='569' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='c' type-id='type-id-23' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='573' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='r' type-id='type-id-23' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='575' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='cab' type-id='type-id-23' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='577' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-100'/>
+    <pointer-type-def type-id='type-id-100' size-in-bits='64' id='type-id-101'/>
+    <pointer-type-def type-id='type-id-102' size-in-bits='64' id='type-id-103'/>
+    <typedef-decl name='rte_bbdev_enqueue_enc_ops_t' type-id='type-id-103' filepath='../lib/librte_bbdev/rte_bbdev.h' line='389' column='1' id='type-id-2'/>
+    <class-decl name='rte_bbdev_dec_op' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='762' column='1' id='type-id-104'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='status' type-id='type-id-21' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='764' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mempool' type-id='type-id-35' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='766' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='opaque_data' type-id='type-id-16' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='768' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-105' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='896' is-anonymous='yes' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='769' column='1' id='type-id-105'>
+      <data-member access='private'>
+        <var-decl name='turbo_dec' type-id='type-id-106' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='771' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='ldpc_dec' type-id='type-id-107' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='773' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_bbdev_op_turbo_dec' size-in-bits='640' is-struct='yes' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='358' column='1' id='type-id-106'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='input' type-id='type-id-72' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='360' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='hard_output' type-id='type-id-72' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='364' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='soft_output' type-id='type-id-72' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='366' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='op_flags' type-id='type-id-22' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='369' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='rv_index' type-id='type-id-23' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='372' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4'>
+        <var-decl name='iter_min' type-id='type-id-23' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='376' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='424'>
+        <var-decl name='iter_max' type-id='type-id-23' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='380' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='iter_count' type-id='type-id-23' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='384' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='440'>
+        <var-decl name='ext_scale' type-id='type-id-23' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='386' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='num_maps' type-id='type-id-23' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='390' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='456'>
+        <var-decl name='code_block_mode' type-id='type-id-23' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='393' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='' type-id='type-id-108' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='160' is-anonymous='yes' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='394' column='1' id='type-id-108'>
+      <data-member access='private'>
+        <var-decl name='cb_params' type-id='type-id-109' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='396' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='tb_params' type-id='type-id-110' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='398' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_bbdev_op_dec_turbo_cb_params' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='259' column='1' id='type-id-109'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='k' type-id='type-id-14' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='265' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='e' type-id='type-id-22' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='269' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_bbdev_op_dec_turbo_tb_params' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='281' column='1' id='type-id-110'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='k_neg' type-id='type-id-14' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='285' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='k_pos' type-id='type-id-14' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='289' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='c_neg' type-id='type-id-23' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='291' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='c' type-id='type-id-23' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='295' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='cab' type-id='type-id-23' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='297' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ea' type-id='type-id-22' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='301' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='eb' type-id='type-id-22' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='305' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='r' type-id='type-id-23' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='307' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_bbdev_op_ldpc_dec' size-in-bits='896' is-struct='yes' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='431' column='1' id='type-id-107'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='input' type-id='type-id-72' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='435' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='hard_output' type-id='type-id-72' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='439' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='soft_output' type-id='type-id-72' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='441' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='harq_combined_input' type-id='type-id-72' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='443' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='harq_combined_output' type-id='type-id-72' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='445' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='op_flags' type-id='type-id-22' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='448' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='rv_index' type-id='type-id-23' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='453' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='680'>
+        <var-decl name='iter_max' type-id='type-id-23' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='457' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='688'>
+        <var-decl name='iter_count' type-id='type-id-23' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='461' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='696'>
+        <var-decl name='basegraph' type-id='type-id-23' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='465' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='z_c' type-id='type-id-14' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='469' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='720'>
+        <var-decl name='n_cb' type-id='type-id-14' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='473' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='736'>
+        <var-decl name='q_m' type-id='type-id-23' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='477' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='752'>
+        <var-decl name='n_filler' type-id='type-id-14' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='code_block_mode' type-id='type-id-23' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='' type-id='type-id-111' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='96' is-anonymous='yes' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='484' column='1' id='type-id-111'>
+      <data-member access='private'>
+        <var-decl name='cb_params' type-id='type-id-112' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='486' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='tb_params' type-id='type-id-113' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='488' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_bbdev_op_dec_ldpc_cb_params' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='273' column='1' id='type-id-112'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='e' type-id='type-id-22' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='277' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_bbdev_op_dec_ldpc_tb_params' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='311' column='1' id='type-id-113'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ea' type-id='type-id-22' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='315' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='eb' type-id='type-id-22' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='319' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='c' type-id='type-id-23' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='323' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='r' type-id='type-id-23' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='325' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='cab' type-id='type-id-23' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='327' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-104' size-in-bits='64' id='type-id-114'/>
+    <pointer-type-def type-id='type-id-114' size-in-bits='64' id='type-id-115'/>
+    <pointer-type-def type-id='type-id-116' size-in-bits='64' id='type-id-117'/>
+    <typedef-decl name='rte_bbdev_enqueue_dec_ops_t' type-id='type-id-117' filepath='../lib/librte_bbdev/rte_bbdev.h' line='395' column='1' id='type-id-3'/>
+    <typedef-decl name='rte_bbdev_dequeue_enc_ops_t' type-id='type-id-103' filepath='../lib/librte_bbdev/rte_bbdev.h' line='401' column='1' id='type-id-4'/>
+    <typedef-decl name='rte_bbdev_dequeue_dec_ops_t' type-id='type-id-117' filepath='../lib/librte_bbdev/rte_bbdev.h' line='406' column='1' id='type-id-5'/>
+    <class-decl name='rte_bbdev_ops' size-in-bits='896' is-struct='yes' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_pmd.h' line='148' column='1' id='type-id-118'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='setup_queues' type-id='type-id-119' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_pmd.h' line='150' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='intr_enable' type-id='type-id-120' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_pmd.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='start' type-id='type-id-121' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_pmd.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='stop' type-id='type-id-122' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_pmd.h' line='156' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='close' type-id='type-id-123' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_pmd.h' line='158' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='info_get' type-id='type-id-124' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_pmd.h' line='161' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='stats_get' type-id='type-id-125' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_pmd.h' line='163' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='stats_reset' type-id='type-id-126' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_pmd.h' line='165' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='queue_setup' type-id='type-id-127' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_pmd.h' line='168' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='queue_release' type-id='type-id-128' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_pmd.h' line='170' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='queue_start' type-id='type-id-129' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_pmd.h' line='172' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='queue_stop' type-id='type-id-130' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_pmd.h' line='174' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='queue_intr_enable' type-id='type-id-131' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_pmd.h' line='177' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='queue_intr_disable' type-id='type-id-132' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_pmd.h' line='179' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-133'/>
+    <pointer-type-def type-id='type-id-134' size-in-bits='64' id='type-id-135'/>
+    <typedef-decl name='rte_bbdev_setup_queues_t' type-id='type-id-135' filepath='../lib/librte_bbdev/rte_bbdev_pmd.h' line='85' column='1' id='type-id-119'/>
+    <pointer-type-def type-id='type-id-136' size-in-bits='64' id='type-id-137'/>
+    <typedef-decl name='rte_bbdev_intr_enable_t' type-id='type-id-137' filepath='../lib/librte_bbdev/rte_bbdev_pmd.h' line='89' column='1' id='type-id-120'/>
+    <typedef-decl name='rte_bbdev_start_t' type-id='type-id-137' filepath='../lib/librte_bbdev/rte_bbdev_pmd.h' line='103' column='1' id='type-id-121'/>
+    <pointer-type-def type-id='type-id-138' size-in-bits='64' id='type-id-139'/>
+    <typedef-decl name='rte_bbdev_stop_t' type-id='type-id-139' filepath='../lib/librte_bbdev/rte_bbdev_pmd.h' line='106' column='1' id='type-id-122'/>
+    <typedef-decl name='rte_bbdev_close_t' type-id='type-id-137' filepath='../lib/librte_bbdev/rte_bbdev_pmd.h' line='109' column='1' id='type-id-123'/>
+    <class-decl name='rte_bbdev_driver_info' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='292' column='1' id='type-id-140'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='driver_name' type-id='type-id-141' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='294' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='max_num_queues' type-id='type-id-25' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='297' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='queue_size_lim' type-id='type-id-22' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='299' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='hardware_accelerated' type-id='type-id-19' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='301' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='max_dl_queue_priority' type-id='type-id-23' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='303' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='max_ul_queue_priority' type-id='type-id-23' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='305' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='152'>
+        <var-decl name='queue_intr_supported' type-id='type-id-19' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='307' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='min_alignment' type-id='type-id-14' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='309' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='default_queue_conf' type-id='type-id-17' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='311' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='capabilities' type-id='type-id-142' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='313' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='cpu_flag_reqs' type-id='type-id-143' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='315' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-45' const='yes' id='type-id-144'/>
+    <pointer-type-def type-id='type-id-144' size-in-bits='64' id='type-id-141'/>
+    <class-decl name='rte_bbdev_op_cap' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='778' column='1' id='type-id-145'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-24' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='cap' type-id='type-id-146' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='785' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='780' column='1' id='type-id-146'>
+      <data-member access='private'>
+        <var-decl name='turbo_dec' type-id='type-id-147' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='781' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='turbo_enc' type-id='type-id-148' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='782' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='ldpc_dec' type-id='type-id-149' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='783' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='ldpc_enc' type-id='type-id-150' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='784' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_bbdev_op_cap_turbo_dec' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='674' column='1' id='type-id-147'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='capability_flags' type-id='type-id-22' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_llr_modulus' type-id='type-id-151' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='680' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='num_buffers_src' type-id='type-id-23' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='682' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='num_buffers_hard_out' type-id='type-id-23' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='684' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='num_buffers_soft_out' type-id='type-id-23' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='686' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='signed char' size-in-bits='8' id='type-id-152'/>
+    <typedef-decl name='__int8_t' type-id='type-id-152' filepath='/usr/include/bits/types.h' line='37' column='1' id='type-id-153'/>
+    <typedef-decl name='int8_t' type-id='type-id-153' filepath='/usr/include/bits/stdint-intn.h' line='24' column='1' id='type-id-151'/>
+    <class-decl name='rte_bbdev_op_cap_turbo_enc' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='690' column='1' id='type-id-148'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='capability_flags' type-id='type-id-22' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='692' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='num_buffers_src' type-id='type-id-23' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='694' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='num_buffers_dst' type-id='type-id-23' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='696' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_bbdev_op_cap_ldpc_dec' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='700' column='1' id='type-id-149'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='capability_flags' type-id='type-id-22' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='702' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='llr_size' type-id='type-id-151' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='704' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='llr_decimals' type-id='type-id-151' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='706' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='harq_memory_size' type-id='type-id-14' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='708' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='num_buffers_src' type-id='type-id-14' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='710' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='num_buffers_hard_out' type-id='type-id-14' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='712' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='num_buffers_soft_out' type-id='type-id-14' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='714' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_bbdev_op_cap_ldpc_enc' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='718' column='1' id='type-id-150'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='capability_flags' type-id='type-id-22' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='720' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='num_buffers_src' type-id='type-id-14' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='722' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='num_buffers_dst' type-id='type-id-14' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev_op.h' line='724' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-145' const='yes' id='type-id-154'/>
+    <pointer-type-def type-id='type-id-154' size-in-bits='64' id='type-id-142'/>
+    <enum-decl name='rte_cpu_flag_t' filepath='../lib/librte_eal/common/include/arch/x86/rte_cpuflags.h' line='12' column='1' id='type-id-155'>
+      <underlying-type type-id='type-id-29'/>
+      <enumerator name='RTE_CPUFLAG_SSE3' value='0'/>
+      <enumerator name='RTE_CPUFLAG_PCLMULQDQ' value='1'/>
+      <enumerator name='RTE_CPUFLAG_DTES64' value='2'/>
+      <enumerator name='RTE_CPUFLAG_MONITOR' value='3'/>
+      <enumerator name='RTE_CPUFLAG_DS_CPL' value='4'/>
+      <enumerator name='RTE_CPUFLAG_VMX' value='5'/>
+      <enumerator name='RTE_CPUFLAG_SMX' value='6'/>
+      <enumerator name='RTE_CPUFLAG_EIST' value='7'/>
+      <enumerator name='RTE_CPUFLAG_TM2' value='8'/>
+      <enumerator name='RTE_CPUFLAG_SSSE3' value='9'/>
+      <enumerator name='RTE_CPUFLAG_CNXT_ID' value='10'/>
+      <enumerator name='RTE_CPUFLAG_FMA' value='11'/>
+      <enumerator name='RTE_CPUFLAG_CMPXCHG16B' value='12'/>
+      <enumerator name='RTE_CPUFLAG_XTPR' value='13'/>
+      <enumerator name='RTE_CPUFLAG_PDCM' value='14'/>
+      <enumerator name='RTE_CPUFLAG_PCID' value='15'/>
+      <enumerator name='RTE_CPUFLAG_DCA' value='16'/>
+      <enumerator name='RTE_CPUFLAG_SSE4_1' value='17'/>
+      <enumerator name='RTE_CPUFLAG_SSE4_2' value='18'/>
+      <enumerator name='RTE_CPUFLAG_X2APIC' value='19'/>
+      <enumerator name='RTE_CPUFLAG_MOVBE' value='20'/>
+      <enumerator name='RTE_CPUFLAG_POPCNT' value='21'/>
+      <enumerator name='RTE_CPUFLAG_TSC_DEADLINE' value='22'/>
+      <enumerator name='RTE_CPUFLAG_AES' value='23'/>
+      <enumerator name='RTE_CPUFLAG_XSAVE' value='24'/>
+      <enumerator name='RTE_CPUFLAG_OSXSAVE' value='25'/>
+      <enumerator name='RTE_CPUFLAG_AVX' value='26'/>
+      <enumerator name='RTE_CPUFLAG_F16C' value='27'/>
+      <enumerator name='RTE_CPUFLAG_RDRAND' value='28'/>
+      <enumerator name='RTE_CPUFLAG_HYPERVISOR' value='29'/>
+      <enumerator name='RTE_CPUFLAG_FPU' value='30'/>
+      <enumerator name='RTE_CPUFLAG_VME' value='31'/>
+      <enumerator name='RTE_CPUFLAG_DE' value='32'/>
+      <enumerator name='RTE_CPUFLAG_PSE' value='33'/>
+      <enumerator name='RTE_CPUFLAG_TSC' value='34'/>
+      <enumerator name='RTE_CPUFLAG_MSR' value='35'/>
+      <enumerator name='RTE_CPUFLAG_PAE' value='36'/>
+      <enumerator name='RTE_CPUFLAG_MCE' value='37'/>
+      <enumerator name='RTE_CPUFLAG_CX8' value='38'/>
+      <enumerator name='RTE_CPUFLAG_APIC' value='39'/>
+      <enumerator name='RTE_CPUFLAG_SEP' value='40'/>
+      <enumerator name='RTE_CPUFLAG_MTRR' value='41'/>
+      <enumerator name='RTE_CPUFLAG_PGE' value='42'/>
+      <enumerator name='RTE_CPUFLAG_MCA' value='43'/>
+      <enumerator name='RTE_CPUFLAG_CMOV' value='44'/>
+      <enumerator name='RTE_CPUFLAG_PAT' value='45'/>
+      <enumerator name='RTE_CPUFLAG_PSE36' value='46'/>
+      <enumerator name='RTE_CPUFLAG_PSN' value='47'/>
+      <enumerator name='RTE_CPUFLAG_CLFSH' value='48'/>
+      <enumerator name='RTE_CPUFLAG_DS' value='49'/>
+      <enumerator name='RTE_CPUFLAG_ACPI' value='50'/>
+      <enumerator name='RTE_CPUFLAG_MMX' value='51'/>
+      <enumerator name='RTE_CPUFLAG_FXSR' value='52'/>
+      <enumerator name='RTE_CPUFLAG_SSE' value='53'/>
+      <enumerator name='RTE_CPUFLAG_SSE2' value='54'/>
+      <enumerator name='RTE_CPUFLAG_SS' value='55'/>
+      <enumerator name='RTE_CPUFLAG_HTT' value='56'/>
+      <enumerator name='RTE_CPUFLAG_TM' value='57'/>
+      <enumerator name='RTE_CPUFLAG_PBE' value='58'/>
+      <enumerator name='RTE_CPUFLAG_DIGTEMP' value='59'/>
+      <enumerator name='RTE_CPUFLAG_TRBOBST' value='60'/>
+      <enumerator name='RTE_CPUFLAG_ARAT' value='61'/>
+      <enumerator name='RTE_CPUFLAG_PLN' value='62'/>
+      <enumerator name='RTE_CPUFLAG_ECMD' value='63'/>
+      <enumerator name='RTE_CPUFLAG_PTM' value='64'/>
+      <enumerator name='RTE_CPUFLAG_MPERF_APERF_MSR' value='65'/>
+      <enumerator name='RTE_CPUFLAG_ACNT2' value='66'/>
+      <enumerator name='RTE_CPUFLAG_ENERGY_EFF' value='67'/>
+      <enumerator name='RTE_CPUFLAG_FSGSBASE' value='68'/>
+      <enumerator name='RTE_CPUFLAG_BMI1' value='69'/>
+      <enumerator name='RTE_CPUFLAG_HLE' value='70'/>
+      <enumerator name='RTE_CPUFLAG_AVX2' value='71'/>
+      <enumerator name='RTE_CPUFLAG_SMEP' value='72'/>
+      <enumerator name='RTE_CPUFLAG_BMI2' value='73'/>
+      <enumerator name='RTE_CPUFLAG_ERMS' value='74'/>
+      <enumerator name='RTE_CPUFLAG_INVPCID' value='75'/>
+      <enumerator name='RTE_CPUFLAG_RTM' value='76'/>
+      <enumerator name='RTE_CPUFLAG_AVX512F' value='77'/>
+      <enumerator name='RTE_CPUFLAG_RDSEED' value='78'/>
+      <enumerator name='RTE_CPUFLAG_LAHF_SAHF' value='79'/>
+      <enumerator name='RTE_CPUFLAG_LZCNT' value='80'/>
+      <enumerator name='RTE_CPUFLAG_SYSCALL' value='81'/>
+      <enumerator name='RTE_CPUFLAG_XD' value='82'/>
+      <enumerator name='RTE_CPUFLAG_1GB_PG' value='83'/>
+      <enumerator name='RTE_CPUFLAG_RDTSCP' value='84'/>
+      <enumerator name='RTE_CPUFLAG_EM64T' value='85'/>
+      <enumerator name='RTE_CPUFLAG_INVTSC' value='86'/>
+      <enumerator name='RTE_CPUFLAG_NUMFLAGS' value='87'/>
+    </enum-decl>
+    <qualified-type-def type-id='type-id-155' const='yes' id='type-id-156'/>
+    <pointer-type-def type-id='type-id-156' size-in-bits='64' id='type-id-143'/>
+    <pointer-type-def type-id='type-id-140' size-in-bits='64' id='type-id-157'/>
+    <pointer-type-def type-id='type-id-158' size-in-bits='64' id='type-id-159'/>
+    <typedef-decl name='rte_bbdev_info_get_t' type-id='type-id-159' filepath='../lib/librte_bbdev/rte_bbdev_pmd.h' line='126' column='1' id='type-id-124'/>
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-160'/>
+    <pointer-type-def type-id='type-id-161' size-in-bits='64' id='type-id-162'/>
+    <typedef-decl name='rte_bbdev_stats_get_t' type-id='type-id-162' filepath='../lib/librte_bbdev/rte_bbdev_pmd.h' line='119' column='1' id='type-id-125'/>
+    <typedef-decl name='rte_bbdev_stats_reset_t' type-id='type-id-139' filepath='../lib/librte_bbdev/rte_bbdev_pmd.h' line='123' column='1' id='type-id-126'/>
+    <qualified-type-def type-id='type-id-17' const='yes' id='type-id-163'/>
+    <pointer-type-def type-id='type-id-163' size-in-bits='64' id='type-id-164'/>
+    <pointer-type-def type-id='type-id-165' size-in-bits='64' id='type-id-166'/>
+    <typedef-decl name='rte_bbdev_queue_setup_t' type-id='type-id-166' filepath='../lib/librte_bbdev/rte_bbdev_pmd.h' line='92' column='1' id='type-id-127'/>
+    <pointer-type-def type-id='type-id-167' size-in-bits='64' id='type-id-168'/>
+    <typedef-decl name='rte_bbdev_queue_release_t' type-id='type-id-168' filepath='../lib/librte_bbdev/rte_bbdev_pmd.h' line='99' column='1' id='type-id-128'/>
+    <typedef-decl name='rte_bbdev_queue_start_t' type-id='type-id-168' filepath='../lib/librte_bbdev/rte_bbdev_pmd.h' line='112' column='1' id='type-id-129'/>
+    <typedef-decl name='rte_bbdev_queue_stop_t' type-id='type-id-168' filepath='../lib/librte_bbdev/rte_bbdev_pmd.h' line='116' column='1' id='type-id-130'/>
+    <typedef-decl name='rte_bbdev_queue_intr_enable_t' type-id='type-id-168' filepath='../lib/librte_bbdev/rte_bbdev_pmd.h' line='133' column='1' id='type-id-131'/>
+    <typedef-decl name='rte_bbdev_queue_intr_disable_t' type-id='type-id-168' filepath='../lib/librte_bbdev/rte_bbdev_pmd.h' line='140' column='1' id='type-id-132'/>
+    <qualified-type-def type-id='type-id-118' const='yes' id='type-id-169'/>
+    <pointer-type-def type-id='type-id-169' size-in-bits='64' id='type-id-6'/>
+    <class-decl name='rte_bbdev_data' size-in-bits='832' is-struct='yes' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='418' column='1' id='type-id-170'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-171' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='419' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='dev_private' type-id='type-id-16' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='420' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='num_queues' type-id='type-id-14' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='421' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='queues' type-id='type-id-33' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='422' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='dev_id' type-id='type-id-14' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='423' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='736'>
+        <var-decl name='socket_id' type-id='type-id-21' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='424' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='started' type-id='type-id-19' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='425' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='process_cnt' type-id='type-id-86' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='427' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-45' size-in-bits='512' id='type-id-171'>
+      <subrange length='64' type-id='type-id-31' id='type-id-172'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-170' size-in-bits='64' id='type-id-7'/>
+    <enum-decl name='rte_bbdev_state' filepath='../lib/librte_bbdev/rte_bbdev.h' line='47' column='1' id='type-id-8'>
+      <underlying-type type-id='type-id-29'/>
+      <enumerator name='RTE_BBDEV_UNUSED' value='0'/>
+      <enumerator name='RTE_BBDEV_INITIALIZED' value='1'/>
+    </enum-decl>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-173'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-174' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-141' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-175' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-176' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-21' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-177' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-174'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-9' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-178' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-173' size-in-bits='64' id='type-id-9'/>
+    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-178'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-179'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-180' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-141' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-141' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-180'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-181' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-182' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-179' size-in-bits='64' id='type-id-181'/>
+    <pointer-type-def type-id='type-id-181' size-in-bits='64' id='type-id-182'/>
+    <qualified-type-def type-id='type-id-179' const='yes' id='type-id-183'/>
+    <pointer-type-def type-id='type-id-183' size-in-bits='64' id='type-id-175'/>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-184'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-185' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-141' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-186' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-187' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-188' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-189' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-190' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-191' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-192' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-193' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-194' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-195' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-196' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-197' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-198' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-185'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-199' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-200' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-184' size-in-bits='64' id='type-id-199'/>
+    <pointer-type-def type-id='type-id-199' size-in-bits='64' id='type-id-200'/>
+    <pointer-type-def type-id='type-id-201' size-in-bits='64' id='type-id-202'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-202' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-186'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-202' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-187'/>
+    <qualified-type-def type-id='type-id-173' const='yes' id='type-id-203'/>
+    <pointer-type-def type-id='type-id-203' size-in-bits='64' id='type-id-204'/>
+    <pointer-type-def type-id='type-id-205' size-in-bits='64' id='type-id-206'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-206' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-207'/>
+    <pointer-type-def type-id='type-id-208' size-in-bits='64' id='type-id-209'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-209' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-188'/>
+    <pointer-type-def type-id='type-id-210' size-in-bits='64' id='type-id-211'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-211' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-189'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-211' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-190'/>
+    <pointer-type-def type-id='type-id-212' size-in-bits='64' id='type-id-213'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-213' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-191'/>
+    <pointer-type-def type-id='type-id-214' size-in-bits='64' id='type-id-215'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-215' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-192'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-215' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-193'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-194'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-216' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-216'>
+      <underlying-type type-id='type-id-29'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-217'>
+      <underlying-type type-id='type-id-29'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-218' size-in-bits='64' id='type-id-219'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-219' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-195'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-220'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-141' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-141' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-141' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-199' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-221' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-9' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-222'/>
+    <pointer-type-def type-id='type-id-222' size-in-bits='64' id='type-id-221'/>
+    <qualified-type-def type-id='type-id-220' const='yes' id='type-id-223'/>
+    <pointer-type-def type-id='type-id-223' size-in-bits='64' id='type-id-224'/>
+    <pointer-type-def type-id='type-id-225' size-in-bits='64' id='type-id-226'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-226' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-196'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-211' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-197'/>
+    <pointer-type-def type-id='type-id-227' size-in-bits='64' id='type-id-228'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-228' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-198'/>
+    <qualified-type-def type-id='type-id-184' const='yes' id='type-id-229'/>
+    <pointer-type-def type-id='type-id-229' size-in-bits='64' id='type-id-176'/>
+    <class-decl name='rte_devargs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-230'/>
+    <pointer-type-def type-id='type-id-230' size-in-bits='64' id='type-id-177'/>
+    <class-decl name='rte_bbdev_cb_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='436' column='1' id='type-id-10'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-231' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='436' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-232' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='436' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_bbdev_callback' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.c' line='78' column='1' id='type-id-233'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-234' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.c' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cb_fn' type-id='type-id-235' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.c' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='cb_arg' type-id='type-id-16' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.c' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='ret_param' type-id='type-id-16' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.c' line='82' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='event' type-id='type-id-236' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.c' line='83' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='active' type-id='type-id-22' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.c' line='84' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.c' line='79' column='1' id='type-id-234'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-231' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.c' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-232' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.c' line='79' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-233' size-in-bits='64' id='type-id-231'/>
+    <pointer-type-def type-id='type-id-231' size-in-bits='64' id='type-id-232'/>
+    <enum-decl name='rte_bbdev_event_type' filepath='../lib/librte_bbdev/rte_bbdev.h' line='723' column='1' id='type-id-236'>
+      <underlying-type type-id='type-id-29'/>
+      <enumerator name='RTE_BBDEV_EVENT_UNKNOWN' value='0'/>
+      <enumerator name='RTE_BBDEV_EVENT_ERROR' value='1'/>
+      <enumerator name='RTE_BBDEV_EVENT_DEQUEUE' value='2'/>
+      <enumerator name='RTE_BBDEV_EVENT_MAX' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-237' size-in-bits='64' id='type-id-238'/>
+    <typedef-decl name='rte_bbdev_cb_fn' type-id='type-id-238' filepath='../lib/librte_bbdev/rte_bbdev.h' line='743' column='1' id='type-id-235'/>
+    <class-decl name='rte_intr_handle' size-in-bits='213248' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='69' column='1' id='type-id-239'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-240' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-21' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-241' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='max_intr' type-id='type-id-22' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='nb_efd' type-id='type-id-22' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='efd_counter_size' type-id='type-id-23' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='efds' type-id='type-id-242' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16576'>
+        <var-decl name='elist' type-id='type-id-243' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='213184'>
+        <var-decl name='intr_vec' type-id='type-id-244' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='71' column='1' id='type-id-240'>
+      <data-member access='private'>
+        <var-decl name='vfio_dev_fd' type-id='type-id-21' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='uio_cfg_fd' type-id='type-id-21' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='73' column='1'/>
+      </data-member>
+    </union-decl>
+    <enum-decl name='rte_intr_handle_type' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='27' column='1' id='type-id-241'>
+      <underlying-type type-id='type-id-29'/>
+      <enumerator name='RTE_INTR_HANDLE_UNKNOWN' value='0'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO' value='1'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO_INTX' value='2'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_LEGACY' value='3'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSI' value='4'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSIX' value='5'/>
+      <enumerator name='RTE_INTR_HANDLE_ALARM' value='6'/>
+      <enumerator name='RTE_INTR_HANDLE_EXT' value='7'/>
+      <enumerator name='RTE_INTR_HANDLE_VDEV' value='8'/>
+      <enumerator name='RTE_INTR_HANDLE_DEV_EVENT' value='9'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_REQ' value='10'/>
+      <enumerator name='RTE_INTR_HANDLE_MAX' value='11'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-21' size-in-bits='16384' id='type-id-242'>
+      <subrange length='512' type-id='type-id-31' id='type-id-245'/>
+
+    </array-type-def>
+    <class-decl name='rte_epoll_event' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='61' column='1' id='type-id-246'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='status' type-id='type-id-247' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-21' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='epfd' type-id='type-id-21' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='epdata' type-id='type-id-248' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-22' volatile='yes' id='type-id-247'/>
+    <class-decl name='rte_epoll_data' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='47' column='1' id='type-id-248'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event' type-id='type-id-22' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='data' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cb_fun' type-id='type-id-249' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='cb_arg' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='51' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-250' size-in-bits='64' id='type-id-251'/>
+    <typedef-decl name='rte_intr_event_cb_t' type-id='type-id-251' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='45' column='1' id='type-id-249'/>
+
+    <array-type-def dimensions='1' type-id='type-id-246' size-in-bits='196608' id='type-id-243'>
+      <subrange length='512' type-id='type-id-31' id='type-id-245'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-244'/>
+    <pointer-type-def type-id='type-id-239' size-in-bits='64' id='type-id-11'/>
+
+    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='infinite' id='type-id-252'>
+      <subrange length='infinite' id='type-id-82'/>
+
+    </array-type-def>
+    <var-decl name='rte_bbdev_devices' type-id='type-id-252' mangled-name='rte_bbdev_devices' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='469' column='1' elf-symbol-id='rte_bbdev_devices@@EXPERIMENTAL'/>
+    <function-decl name='rte_bbdev_pmd_callback_process' mangled-name='rte_bbdev_pmd_callback_process' filepath='../lib/librte_bbdev/rte_bbdev.c' line='1019' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bbdev_pmd_callback_process@@EXPERIMENTAL'>
+      <parameter type-id='type-id-133' name='dev' filepath='../lib/librte_bbdev/rte_bbdev.c' line='1019' column='1'/>
+      <parameter type-id='type-id-236' name='event' filepath='../lib/librte_bbdev/rte_bbdev.c' line='1020' column='1'/>
+      <parameter type-id='type-id-16' name='ret_param' filepath='../lib/librte_bbdev/rte_bbdev.c' line='1020' column='1'/>
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <function-decl name='rte_bbdev_get_named_dev' mangled-name='rte_bbdev_get_named_dev' filepath='../lib/librte_bbdev/rte_bbdev.c' line='269' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bbdev_get_named_dev@@EXPERIMENTAL'>
+      <parameter type-id='type-id-141' name='name' filepath='../lib/librte_bbdev/rte_bbdev.c' line='269' column='1'/>
+      <return type-id='type-id-133'/>
+    </function-decl>
+    <function-decl name='rte_bbdev_release' mangled-name='rte_bbdev_release' filepath='../lib/librte_bbdev/rte_bbdev.c' line='235' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bbdev_release@@EXPERIMENTAL'>
+      <parameter type-id='type-id-133' name='bbdev' filepath='../lib/librte_bbdev/rte_bbdev.c' line='235' column='1'/>
+      <return type-id='type-id-21'/>
+    </function-decl>
+    <function-decl name='rte_bbdev_allocate' mangled-name='rte_bbdev_allocate' filepath='../lib/librte_bbdev/rte_bbdev.c' line='176' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bbdev_allocate@@EXPERIMENTAL'>
+      <parameter type-id='type-id-141' name='name' filepath='../lib/librte_bbdev/rte_bbdev.c' line='176' column='1'/>
+      <return type-id='type-id-133'/>
+    </function-decl>
+    <function-decl name='rte_bbdev_queue_intr_ctl' mangled-name='rte_bbdev_queue_intr_ctl' filepath='../lib/librte_bbdev/rte_bbdev.c' line='1083' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bbdev_queue_intr_ctl@@EXPERIMENTAL'>
+      <parameter type-id='type-id-14' name='dev_id' filepath='../lib/librte_bbdev/rte_bbdev.c' line='1083' column='1'/>
+      <parameter type-id='type-id-14' name='queue_id' filepath='../lib/librte_bbdev/rte_bbdev.c' line='1083' column='1'/>
+      <parameter type-id='type-id-21' name='epfd' filepath='../lib/librte_bbdev/rte_bbdev.c' line='1083' column='1'/>
+      <parameter type-id='type-id-21' name='op' filepath='../lib/librte_bbdev/rte_bbdev.c' line='1083' column='1'/>
+      <parameter type-id='type-id-16' name='data' filepath='../lib/librte_bbdev/rte_bbdev.c' line='1084' column='1'/>
+      <return type-id='type-id-21'/>
+    </function-decl>
+    <function-decl name='rte_bbdev_queue_intr_disable' mangled-name='rte_bbdev_queue_intr_disable' filepath='../lib/librte_bbdev/rte_bbdev.c' line='1072' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bbdev_queue_intr_disable@@EXPERIMENTAL'>
+      <parameter type-id='type-id-14' name='dev_id' filepath='../lib/librte_bbdev/rte_bbdev.c' line='1072' column='1'/>
+      <parameter type-id='type-id-14' name='queue_id' filepath='../lib/librte_bbdev/rte_bbdev.c' line='1072' column='1'/>
+      <return type-id='type-id-21'/>
+    </function-decl>
+    <function-decl name='rte_bbdev_queue_intr_enable' mangled-name='rte_bbdev_queue_intr_enable' filepath='../lib/librte_bbdev/rte_bbdev.c' line='1061' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bbdev_queue_intr_enable@@EXPERIMENTAL'>
+      <parameter type-id='type-id-14' name='dev_id' filepath='../lib/librte_bbdev/rte_bbdev.c' line='1072' column='1'/>
+      <parameter type-id='type-id-14' name='queue_id' filepath='../lib/librte_bbdev/rte_bbdev.c' line='1072' column='1'/>
+      <return type-id='type-id-21'/>
+    </function-decl>
+    <function-decl name='rte_bbdev_callback_unregister' mangled-name='rte_bbdev_callback_unregister' filepath='../lib/librte_bbdev/rte_bbdev.c' line='974' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bbdev_callback_unregister@@EXPERIMENTAL'>
+      <parameter type-id='type-id-14' name='dev_id' filepath='../lib/librte_bbdev/rte_bbdev.c' line='974' column='1'/>
+      <parameter type-id='type-id-236' name='event' filepath='../lib/librte_bbdev/rte_bbdev.c' line='974' column='1'/>
+      <parameter type-id='type-id-235' name='cb_fn' filepath='../lib/librte_bbdev/rte_bbdev.c' line='975' column='1'/>
+      <parameter type-id='type-id-16' name='cb_arg' filepath='../lib/librte_bbdev/rte_bbdev.c' line='975' column='1'/>
+      <return type-id='type-id-21'/>
+    </function-decl>
+    <function-decl name='rte_bbdev_callback_register' mangled-name='rte_bbdev_callback_register' filepath='../lib/librte_bbdev/rte_bbdev.c' line='929' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bbdev_callback_register@@EXPERIMENTAL'>
+      <parameter type-id='type-id-14' name='dev_id' filepath='../lib/librte_bbdev/rte_bbdev.c' line='929' column='1'/>
+      <parameter type-id='type-id-236' name='event' filepath='../lib/librte_bbdev/rte_bbdev.c' line='929' column='1'/>
+      <parameter type-id='type-id-235' name='cb_fn' filepath='../lib/librte_bbdev/rte_bbdev.c' line='930' column='1'/>
+      <parameter type-id='type-id-16' name='cb_arg' filepath='../lib/librte_bbdev/rte_bbdev.c' line='930' column='1'/>
+      <return type-id='type-id-21'/>
+    </function-decl>
+    <class-decl name='rte_bbdev_queue_info' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='353' column='1' id='type-id-253'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='conf' type-id='type-id-17' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='355' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='started' type-id='type-id-19' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='357' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-253' size-in-bits='64' id='type-id-254'/>
+    <function-decl name='rte_bbdev_queue_info_get' mangled-name='rte_bbdev_queue_info_get' filepath='../lib/librte_bbdev/rte_bbdev.c' line='810' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bbdev_queue_info_get@@EXPERIMENTAL'>
+      <parameter type-id='type-id-14' name='dev_id' filepath='../lib/librte_bbdev/rte_bbdev.c' line='810' column='1'/>
+      <parameter type-id='type-id-14' name='queue_id' filepath='../lib/librte_bbdev/rte_bbdev.c' line='810' column='1'/>
+      <parameter type-id='type-id-254' name='queue_info' filepath='../lib/librte_bbdev/rte_bbdev.c' line='811' column='1'/>
+      <return type-id='type-id-21'/>
+    </function-decl>
+    <class-decl name='rte_bbdev_info' size-in-bits='704' is-struct='yes' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='326' column='1' id='type-id-255'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='socket_id' type-id='type-id-21' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='327' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_name' type-id='type-id-141' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='328' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='device' type-id='type-id-204' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='329' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='num_queues' type-id='type-id-14' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='330' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='208'>
+        <var-decl name='started' type-id='type-id-19' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='331' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='drv' type-id='type-id-140' visibility='default' filepath='../lib/librte_bbdev/rte_bbdev.h' line='332' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-255' size-in-bits='64' id='type-id-256'/>
+    <function-decl name='rte_bbdev_info_get' mangled-name='rte_bbdev_info_get' filepath='../lib/librte_bbdev/rte_bbdev.c' line='782' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bbdev_info_get@@EXPERIMENTAL'>
+      <parameter type-id='type-id-14' name='dev_id' filepath='../lib/librte_bbdev/rte_bbdev.c' line='782' column='1'/>
+      <parameter type-id='type-id-256' name='dev_info' filepath='../lib/librte_bbdev/rte_bbdev.c' line='782' column='1'/>
+      <return type-id='type-id-21'/>
+    </function-decl>
+    <function-decl name='rte_bbdev_stats_reset' mangled-name='rte_bbdev_stats_reset' filepath='../lib/librte_bbdev/rte_bbdev.c' line='765' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bbdev_stats_reset@@EXPERIMENTAL'>
+      <parameter type-id='type-id-14' name='dev_id' filepath='../lib/librte_bbdev/rte_bbdev.c' line='765' column='1'/>
+      <return type-id='type-id-21'/>
+    </function-decl>
+    <function-decl name='rte_bbdev_stats_get' mangled-name='rte_bbdev_stats_get' filepath='../lib/librte_bbdev/rte_bbdev.c' line='742' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bbdev_stats_get@@EXPERIMENTAL'>
+      <parameter type-id='type-id-14' name='dev_id' filepath='../lib/librte_bbdev/rte_bbdev.c' line='742' column='1'/>
+      <parameter type-id='type-id-160' name='stats' filepath='../lib/librte_bbdev/rte_bbdev.c' line='742' column='1'/>
+      <return type-id='type-id-21'/>
+    </function-decl>
+    <function-decl name='rte_bbdev_queue_stop' mangled-name='rte_bbdev_queue_stop' filepath='../lib/librte_bbdev/rte_bbdev.c' line='682' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bbdev_queue_stop@@EXPERIMENTAL'>
+      <parameter type-id='type-id-14' name='dev_id' filepath='../lib/librte_bbdev/rte_bbdev.c' line='682' column='1'/>
+      <parameter type-id='type-id-14' name='queue_id' filepath='../lib/librte_bbdev/rte_bbdev.c' line='682' column='1'/>
+      <return type-id='type-id-21'/>
+    </function-decl>
+    <function-decl name='rte_bbdev_queue_start' mangled-name='rte_bbdev_queue_start' filepath='../lib/librte_bbdev/rte_bbdev.c' line='652' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bbdev_queue_start@@EXPERIMENTAL'>
+      <parameter type-id='type-id-14' name='dev_id' filepath='../lib/librte_bbdev/rte_bbdev.c' line='682' column='1'/>
+      <parameter type-id='type-id-14' name='queue_id' filepath='../lib/librte_bbdev/rte_bbdev.c' line='682' column='1'/>
+      <return type-id='type-id-21'/>
+    </function-decl>
+    <function-decl name='rte_bbdev_close' mangled-name='rte_bbdev_close' filepath='../lib/librte_bbdev/rte_bbdev.c' line='607' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bbdev_close@@EXPERIMENTAL'>
+      <parameter type-id='type-id-14' name='dev_id' filepath='../lib/librte_bbdev/rte_bbdev.c' line='607' column='1'/>
+      <return type-id='type-id-21'/>
+    </function-decl>
+    <function-decl name='rte_bbdev_stop' mangled-name='rte_bbdev_stop' filepath='../lib/librte_bbdev/rte_bbdev.c' line='586' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bbdev_stop@@EXPERIMENTAL'>
+      <parameter type-id='type-id-14' name='dev_id' filepath='../lib/librte_bbdev/rte_bbdev.c' line='765' column='1'/>
+      <return type-id='type-id-21'/>
+    </function-decl>
+    <function-decl name='rte_bbdev_start' mangled-name='rte_bbdev_start' filepath='../lib/librte_bbdev/rte_bbdev.c' line='554' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bbdev_start@@EXPERIMENTAL'>
+      <parameter type-id='type-id-14' name='dev_id' filepath='../lib/librte_bbdev/rte_bbdev.c' line='554' column='1'/>
+      <return type-id='type-id-21'/>
+    </function-decl>
+    <function-decl name='rte_bbdev_queue_configure' mangled-name='rte_bbdev_queue_configure' filepath='../lib/librte_bbdev/rte_bbdev.c' line='436' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bbdev_queue_configure@@EXPERIMENTAL'>
+      <parameter type-id='type-id-14' name='dev_id' filepath='../lib/librte_bbdev/rte_bbdev.c' line='436' column='1'/>
+      <parameter type-id='type-id-14' name='queue_id' filepath='../lib/librte_bbdev/rte_bbdev.c' line='436' column='1'/>
+      <parameter type-id='type-id-164' name='conf' filepath='../lib/librte_bbdev/rte_bbdev.c' line='437' column='1'/>
+      <return type-id='type-id-21'/>
+    </function-decl>
+    <function-decl name='rte_bbdev_intr_enable' mangled-name='rte_bbdev_intr_enable' filepath='../lib/librte_bbdev/rte_bbdev.c' line='404' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bbdev_intr_enable@@EXPERIMENTAL'>
+      <parameter type-id='type-id-14' name='dev_id' filepath='../lib/librte_bbdev/rte_bbdev.c' line='404' column='1'/>
+      <return type-id='type-id-21'/>
+    </function-decl>
+    <function-decl name='rte_bbdev_setup_queues' mangled-name='rte_bbdev_setup_queues' filepath='../lib/librte_bbdev/rte_bbdev.c' line='314' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bbdev_setup_queues@@EXPERIMENTAL'>
+      <parameter type-id='type-id-14' name='dev_id' filepath='../lib/librte_bbdev/rte_bbdev.c' line='314' column='1'/>
+      <parameter type-id='type-id-14' name='num_queues' filepath='../lib/librte_bbdev/rte_bbdev.c' line='314' column='1'/>
+      <parameter type-id='type-id-21' name='socket_id' filepath='../lib/librte_bbdev/rte_bbdev.c' line='314' column='1'/>
+      <return type-id='type-id-21'/>
+    </function-decl>
+    <function-decl name='rte_bbdev_find_next' mangled-name='rte_bbdev_find_next' filepath='../lib/librte_bbdev/rte_bbdev.c' line='304' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bbdev_find_next@@EXPERIMENTAL'>
+      <parameter type-id='type-id-14' name='dev_id' filepath='../lib/librte_bbdev/rte_bbdev.c' line='304' column='1'/>
+      <return type-id='type-id-14'/>
+    </function-decl>
+    <function-decl name='rte_bbdev_is_valid' mangled-name='rte_bbdev_is_valid' filepath='../lib/librte_bbdev/rte_bbdev.c' line='295' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bbdev_is_valid@@EXPERIMENTAL'>
+      <parameter type-id='type-id-14' name='dev_id' filepath='../lib/librte_bbdev/rte_bbdev.c' line='295' column='1'/>
+      <return type-id='type-id-19'/>
+    </function-decl>
+    <function-decl name='rte_bbdev_count' mangled-name='rte_bbdev_count' filepath='../lib/librte_bbdev/rte_bbdev.c' line='289' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bbdev_count@@EXPERIMENTAL'>
+      <return type-id='type-id-14'/>
+    </function-decl>
+    <function-decl name='rte_bbdev_op_pool_create' mangled-name='rte_bbdev_op_pool_create' filepath='../lib/librte_bbdev/rte_bbdev.c' line='882' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bbdev_op_pool_create@@EXPERIMENTAL'>
+      <parameter type-id='type-id-141' name='name' filepath='../lib/librte_bbdev/rte_bbdev.c' line='882' column='1'/>
+      <parameter type-id='type-id-24' name='type' filepath='../lib/librte_bbdev/rte_bbdev.c' line='882' column='1'/>
+      <parameter type-id='type-id-25' name='num_elements' filepath='../lib/librte_bbdev/rte_bbdev.c' line='883' column='1'/>
+      <parameter type-id='type-id-25' name='cache_size' filepath='../lib/librte_bbdev/rte_bbdev.c' line='883' column='1'/>
+      <parameter type-id='type-id-21' name='socket_id' filepath='../lib/librte_bbdev/rte_bbdev.c' line='884' column='1'/>
+      <return type-id='type-id-35'/>
+    </function-decl>
+    <function-decl name='rte_bbdev_op_type_str' mangled-name='rte_bbdev_op_type_str' filepath='../lib/librte_bbdev/rte_bbdev.c' line='1120' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bbdev_op_type_str@@EXPERIMENTAL'>
+      <parameter type-id='type-id-24' name='op_type' filepath='../lib/librte_bbdev/rte_bbdev.c' line='1120' column='1'/>
+      <return type-id='type-id-141'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-218'>
+      <return type-id='type-id-217'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-201'>
+      <return type-id='type-id-21'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-212'>
+      <parameter type-id='type-id-141'/>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-21'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-205'>
+      <parameter type-id='type-id-204'/>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-21'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-136'>
+      <parameter type-id='type-id-133'/>
+      <return type-id='type-id-21'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-167'>
+      <parameter type-id='type-id-133'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-21'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-165'>
+      <parameter type-id='type-id-133'/>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-164'/>
+      <return type-id='type-id-21'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-134'>
+      <parameter type-id='type-id-133'/>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-21'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-210'>
+      <parameter type-id='type-id-9'/>
+      <return type-id='type-id-21'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-214'>
+      <parameter type-id='type-id-9'/>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-30'/>
+      <parameter type-id='type-id-49'/>
+      <return type-id='type-id-21'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-227'>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-21'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-208'>
+      <parameter type-id='type-id-204'/>
+      <parameter type-id='type-id-207'/>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-116'>
+      <parameter type-id='type-id-33'/>
+      <parameter type-id='type-id-115'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-14'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-102'>
+      <parameter type-id='type-id-33'/>
+      <parameter type-id='type-id-101'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-14'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-250'>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-20'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-138'>
+      <parameter type-id='type-id-133'/>
+      <return type-id='type-id-20'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-158'>
+      <parameter type-id='type-id-133'/>
+      <parameter type-id='type-id-157'/>
+      <return type-id='type-id-20'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-161'>
+      <parameter type-id='type-id-133'/>
+      <parameter type-id='type-id-160'/>
+      <return type-id='type-id-20'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-68'>
+      <parameter type-id='type-id-62'/>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-20'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-237'>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-236'/>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-20'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-87'>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-20'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-225'>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-141'/>
+      <parameter type-id='type-id-224'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_bitratestats.dump b/lib/.abi/librte_bitratestats.dump
new file mode 100644
index 000000000..e4d97fdf4
--- /dev/null
+++ b/lib/.abi/librte_bitratestats.dump
@@ -0,0 +1,85 @@
+<abi-corpus path='gcc//lib/librte_bitratestats.so.20.0' architecture='elf-amd-x86_64' soname='librte_bitratestats.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_metrics.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_stats_bitrate_calc' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_stats_bitrate_create' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_stats_bitrate_reg' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_bitratestats/rte_bitrate.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <class-decl name='rte_stats_bitrates' size-in-bits='16448' is-struct='yes' visibility='default' filepath='../lib/librte_bitratestats/rte_bitrate.c' line='26' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='port_stats' type-id='type-id-3' visibility='default' filepath='../lib/librte_bitratestats/rte_bitrate.c' line='27' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16384'>
+        <var-decl name='id_stats_set' type-id='type-id-4' visibility='default' filepath='../lib/librte_bitratestats/rte_bitrate.c' line='28' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_stats_bitrate' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_bitratestats/rte_bitrate.c' line='15' column='1' id='type-id-5'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='last_ibytes' type-id='type-id-6' visibility='default' filepath='../lib/librte_bitratestats/rte_bitrate.c' line='16' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='last_obytes' type-id='type-id-6' visibility='default' filepath='../lib/librte_bitratestats/rte_bitrate.c' line='17' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='peak_ibits' type-id='type-id-6' visibility='default' filepath='../lib/librte_bitratestats/rte_bitrate.c' line='18' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='peak_obits' type-id='type-id-6' visibility='default' filepath='../lib/librte_bitratestats/rte_bitrate.c' line='19' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='mean_ibits' type-id='type-id-6' visibility='default' filepath='../lib/librte_bitratestats/rte_bitrate.c' line='20' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='mean_obits' type-id='type-id-6' visibility='default' filepath='../lib/librte_bitratestats/rte_bitrate.c' line='21' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='ewma_ibits' type-id='type-id-6' visibility='default' filepath='../lib/librte_bitratestats/rte_bitrate.c' line='22' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='ewma_obits' type-id='type-id-6' visibility='default' filepath='../lib/librte_bitratestats/rte_bitrate.c' line='23' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-7'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-7' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-8'/>
+    <typedef-decl name='uint64_t' type-id='type-id-8' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-6'/>
+
+    <array-type-def dimensions='1' type-id='type-id-5' size-in-bits='16384' id='type-id-3'>
+      <subrange length='32' type-id='type-id-7' id='type-id-9'/>
+
+    </array-type-def>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-10'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-10' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-11'/>
+    <typedef-decl name='uint16_t' type-id='type-id-11' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-4'/>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-12'/>
+    <function-decl name='rte_stats_bitrate_calc' mangled-name='rte_stats_bitrate_calc' filepath='../lib/librte_bitratestats/rte_bitrate.c' line='58' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_stats_bitrate_calc@@DPDK_20.0'>
+      <parameter type-id='type-id-12' name='bitrate_data' filepath='../lib/librte_bitratestats/rte_bitrate.c' line='58' column='1'/>
+      <parameter type-id='type-id-4' name='port_id' filepath='../lib/librte_bitratestats/rte_bitrate.c' line='59' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_stats_bitrate_reg' mangled-name='rte_stats_bitrate_reg' filepath='../lib/librte_bitratestats/rte_bitrate.c' line='39' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_stats_bitrate_reg@@DPDK_20.0'>
+      <parameter type-id='type-id-12' name='bitrate_data' filepath='../lib/librte_bitratestats/rte_bitrate.c' line='39' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_stats_bitrate_create' mangled-name='rte_stats_bitrate_create' filepath='../lib/librte_bitratestats/rte_bitrate.c' line='32' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_stats_bitrate_create@@DPDK_20.0'>
+      <return type-id='type-id-12'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_bpf.dump b/lib/.abi/librte_bpf.dump
new file mode 100644
index 000000000..2bcd4a155
--- /dev/null
+++ b/lib/.abi/librte_bpf.dump
@@ -0,0 +1,280 @@
+<abi-corpus path='gcc//lib/librte_bpf.so.0.200' architecture='elf-amd-x86_64' soname='librte_bpf.so.0.200'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='libelf.so.1'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_bpf_destroy' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bpf_elf_load' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bpf_eth_rx_elf_load' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bpf_eth_rx_unload' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bpf_eth_tx_elf_load' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bpf_eth_tx_unload' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bpf_exec' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bpf_exec_burst' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bpf_get_jit' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bpf_load' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_bpf/bpf.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='rte_bpf_logtype' type-id='type-id-1' visibility='default' filepath='../lib/librte_bpf/bpf_impl.h' line='31' column='1'/>
+    <class-decl name='rte_bpf' size-in-bits='704' is-struct='yes' visibility='default' filepath='../lib/librte_bpf/bpf_impl.h' line='17' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='prm' type-id='type-id-3' visibility='default' filepath='../lib/librte_bpf/bpf_impl.h' line='18' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='jit' type-id='type-id-4' visibility='default' filepath='../lib/librte_bpf/bpf_impl.h' line='19' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='sz' type-id='type-id-5' visibility='default' filepath='../lib/librte_bpf/bpf_impl.h' line='20' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='stack_sz' type-id='type-id-6' visibility='default' filepath='../lib/librte_bpf/bpf_impl.h' line='21' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_bpf_prm' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_bpf/rte_bpf.h' line='91' column='1' id='type-id-3'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ins' type-id='type-id-7' visibility='default' filepath='../lib/librte_bpf/rte_bpf.h' line='92' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='nb_ins' type-id='type-id-6' visibility='default' filepath='../lib/librte_bpf/rte_bpf.h' line='93' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='xsym' type-id='type-id-8' visibility='default' filepath='../lib/librte_bpf/rte_bpf.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='nb_xsym' type-id='type-id-6' visibility='default' filepath='../lib/librte_bpf/rte_bpf.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='prog_arg' type-id='type-id-9' visibility='default' filepath='../lib/librte_bpf/rte_bpf.h' line='97' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ebpf_insn' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_bpf/bpf_def.h' line='134' column='1' id='type-id-10'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='code' type-id='type-id-11' visibility='default' filepath='../lib/librte_bpf/bpf_def.h' line='135' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4'>
+        <var-decl name='dst_reg' type-id='type-id-11' visibility='default' filepath='../lib/librte_bpf/bpf_def.h' line='136' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='src_reg' type-id='type-id-11' visibility='default' filepath='../lib/librte_bpf/bpf_def.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='off' type-id='type-id-12' visibility='default' filepath='../lib/librte_bpf/bpf_def.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='imm' type-id='type-id-13' visibility='default' filepath='../lib/librte_bpf/bpf_def.h' line='139' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-14'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-14' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-15'/>
+    <typedef-decl name='uint8_t' type-id='type-id-15' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-11'/>
+    <type-decl name='short int' size-in-bits='16' id='type-id-16'/>
+    <typedef-decl name='__int16_t' type-id='type-id-16' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-17'/>
+    <typedef-decl name='int16_t' type-id='type-id-17' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-12'/>
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-18'/>
+    <typedef-decl name='int32_t' type-id='type-id-18' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-13'/>
+    <qualified-type-def type-id='type-id-10' const='yes' id='type-id-19'/>
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-7'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-20'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-20' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-21'/>
+    <typedef-decl name='uint32_t' type-id='type-id-21' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-6'/>
+    <class-decl name='rte_bpf_xsym' size-in-bits='1408' is-struct='yes' visibility='default' filepath='../lib/librte_bpf/rte_bpf.h' line='69' column='1' id='type-id-22'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-23' visibility='default' filepath='../lib/librte_bpf/rte_bpf.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-24' visibility='default' filepath='../lib/librte_bpf/rte_bpf.h' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-25' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-26'/>
+    <qualified-type-def type-id='type-id-26' const='yes' id='type-id-27'/>
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-23'/>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-28'/>
+    <enum-decl name='rte_bpf_xtype' filepath='../lib/librte_bpf/rte_bpf.h' line='60' column='1' id='type-id-24'>
+      <underlying-type type-id='type-id-28'/>
+      <enumerator name='RTE_BPF_XTYPE_FUNC' value='0'/>
+      <enumerator name='RTE_BPF_XTYPE_VAR' value='1'/>
+      <enumerator name='RTE_BPF_XTYPE_NUM' value='2'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='1280' is-anonymous='yes' visibility='default' filepath='../lib/librte_bpf/rte_bpf.h' line='72' column='1' id='type-id-25'>
+      <data-member access='private'>
+        <var-decl name='func' type-id='type-id-29' visibility='default' filepath='../lib/librte_bpf/rte_bpf.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='var' type-id='type-id-30' visibility='default' filepath='../lib/librte_bpf/rte_bpf.h' line='84' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='1280' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_bpf/rte_bpf.h' line='73' column='1' id='type-id-29'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='val' type-id='type-id-31' visibility='default' filepath='../lib/librte_bpf/rte_bpf.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='nb_args' type-id='type-id-6' visibility='default' filepath='../lib/librte_bpf/rte_bpf.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='args' type-id='type-id-32' visibility='default' filepath='../lib/librte_bpf/rte_bpf.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='ret' type-id='type-id-9' visibility='default' filepath='../lib/librte_bpf/rte_bpf.h' line='79' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-33'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-33' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-34'/>
+    <typedef-decl name='uint64_t' type-id='type-id-34' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-35'/>
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-31'/>
+    <class-decl name='rte_bpf_arg' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_bpf/rte_bpf.h' line='41' column='1' id='type-id-9'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-37' visibility='default' filepath='../lib/librte_bpf/rte_bpf.h' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='size' type-id='type-id-5' visibility='default' filepath='../lib/librte_bpf/rte_bpf.h' line='47' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='buf_size' type-id='type-id-5' visibility='default' filepath='../lib/librte_bpf/rte_bpf.h' line='48' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_bpf_arg_type' filepath='../lib/librte_bpf/rte_bpf.h' line='30' column='1' id='type-id-37'>
+      <underlying-type type-id='type-id-28'/>
+      <enumerator name='RTE_BPF_ARG_UNDEF' value='0'/>
+      <enumerator name='RTE_BPF_ARG_RAW' value='1'/>
+      <enumerator name='RTE_BPF_ARG_PTR' value='16'/>
+      <enumerator name='RTE_BPF_ARG_PTR_MBUF' value='17'/>
+      <enumerator name='RTE_BPF_ARG_RESERVED' value='18'/>
+    </enum-decl>
+    <typedef-decl name='size_t' type-id='type-id-33' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-5'/>
+
+    <array-type-def dimensions='1' type-id='type-id-9' size-in-bits='960' id='type-id-32'>
+      <subrange length='5' type-id='type-id-33' id='type-id-38'/>
+
+    </array-type-def>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_bpf/rte_bpf.h' line='81' column='1' id='type-id-30'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='val' type-id='type-id-39' visibility='default' filepath='../lib/librte_bpf/rte_bpf.h' line='82' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='desc' type-id='type-id-9' visibility='default' filepath='../lib/librte_bpf/rte_bpf.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='void' id='type-id-40'/>
+    <pointer-type-def type-id='type-id-40' size-in-bits='64' id='type-id-39'/>
+    <qualified-type-def type-id='type-id-22' const='yes' id='type-id-41'/>
+    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-8'/>
+    <class-decl name='rte_bpf_jit' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_bpf/rte_bpf.h' line='103' column='1' id='type-id-4'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='func' type-id='type-id-42' visibility='default' filepath='../lib/librte_bpf/rte_bpf.h' line='104' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='sz' type-id='type-id-5' visibility='default' filepath='../lib/librte_bpf/rte_bpf.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-43' size-in-bits='64' id='type-id-42'/>
+    <qualified-type-def type-id='type-id-2' const='yes' id='type-id-44'/>
+    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-45'/>
+    <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-46'/>
+    <function-decl name='rte_bpf_get_jit' mangled-name='rte_bpf_get_jit' filepath='../lib/librte_bpf/bpf.c' line='30' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bpf_get_jit@@EXPERIMENTAL'>
+      <parameter type-id='type-id-45' name='bpf' filepath='../lib/librte_bpf/bpf.c' line='30' column='1'/>
+      <parameter type-id='type-id-46' name='jit' filepath='../lib/librte_bpf/bpf.c' line='30' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-47'/>
+    <function-decl name='rte_bpf_destroy' mangled-name='rte_bpf_destroy' filepath='../lib/librte_bpf/bpf.c' line='20' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bpf_destroy@@EXPERIMENTAL'>
+      <parameter type-id='type-id-47' name='bpf' filepath='../lib/librte_bpf/bpf.c' line='20' column='1'/>
+      <return type-id='type-id-40'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-36'>
+      <parameter type-id='type-id-35'/>
+      <parameter type-id='type-id-35'/>
+      <parameter type-id='type-id-35'/>
+      <parameter type-id='type-id-35'/>
+      <parameter type-id='type-id-35'/>
+      <return type-id='type-id-35'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-43'>
+      <parameter type-id='type-id-39'/>
+      <return type-id='type-id-35'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_bpf/bpf_exec.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <pointer-type-def type-id='type-id-39' size-in-bits='64' id='type-id-48'/>
+    <pointer-type-def type-id='type-id-35' size-in-bits='64' id='type-id-49'/>
+    <function-decl name='rte_bpf_exec_burst' mangled-name='rte_bpf_exec_burst' filepath='../lib/librte_bpf/bpf_exec.c' line='428' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bpf_exec_burst@@EXPERIMENTAL'>
+      <parameter type-id='type-id-45' name='bpf' filepath='../lib/librte_bpf/bpf_exec.c' line='428' column='1'/>
+      <parameter type-id='type-id-48' name='ctx' filepath='../lib/librte_bpf/bpf_exec.c' line='428' column='1'/>
+      <parameter type-id='type-id-49' name='rc' filepath='../lib/librte_bpf/bpf_exec.c' line='428' column='1'/>
+      <parameter type-id='type-id-6' name='num' filepath='../lib/librte_bpf/bpf_exec.c' line='429' column='1'/>
+      <return type-id='type-id-6'/>
+    </function-decl>
+    <function-decl name='rte_bpf_exec' mangled-name='rte_bpf_exec' filepath='../lib/librte_bpf/bpf_exec.c' line='447' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bpf_exec@@EXPERIMENTAL'>
+      <parameter type-id='type-id-45' name='bpf' filepath='../lib/librte_bpf/bpf_exec.c' line='447' column='1'/>
+      <parameter type-id='type-id-39' name='ctx' filepath='../lib/librte_bpf/bpf_exec.c' line='447' column='1'/>
+      <return type-id='type-id-35'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_bpf/bpf_load.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <qualified-type-def type-id='type-id-3' const='yes' id='type-id-50'/>
+    <pointer-type-def type-id='type-id-50' size-in-bits='64' id='type-id-51'/>
+    <function-decl name='rte_bpf_load' mangled-name='rte_bpf_load' filepath='../lib/librte_bpf/bpf_load.c' line='90' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bpf_load@@EXPERIMENTAL'>
+      <parameter type-id='type-id-51' name='prm' filepath='../lib/librte_bpf/bpf_load.c' line='90' column='1'/>
+      <return type-id='type-id-47'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_bpf/bpf_pkt.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-52'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-52' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-53'/>
+    <typedef-decl name='uint16_t' type-id='type-id-53' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-54'/>
+    <function-decl name='rte_bpf_eth_tx_elf_load' mangled-name='rte_bpf_eth_tx_elf_load' filepath='../lib/librte_bpf/bpf_pkt.c' line='592' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bpf_eth_tx_elf_load@@EXPERIMENTAL'>
+      <parameter type-id='type-id-54' name='port' filepath='../lib/librte_bpf/bpf_pkt.c' line='592' column='1'/>
+      <parameter type-id='type-id-54' name='queue' filepath='../lib/librte_bpf/bpf_pkt.c' line='592' column='1'/>
+      <parameter type-id='type-id-51' name='prm' filepath='../lib/librte_bpf/bpf_pkt.c' line='593' column='1'/>
+      <parameter type-id='type-id-23' name='fname' filepath='../lib/librte_bpf/bpf_pkt.c' line='593' column='1'/>
+      <parameter type-id='type-id-23' name='sname' filepath='../lib/librte_bpf/bpf_pkt.c' line='593' column='1'/>
+      <parameter type-id='type-id-6' name='flags' filepath='../lib/librte_bpf/bpf_pkt.c' line='594' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_bpf_eth_rx_elf_load' mangled-name='rte_bpf_eth_rx_elf_load' filepath='../lib/librte_bpf/bpf_pkt.c' line='576' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bpf_eth_rx_elf_load@@EXPERIMENTAL'>
+      <parameter type-id='type-id-54' name='port' filepath='../lib/librte_bpf/bpf_pkt.c' line='592' column='1'/>
+      <parameter type-id='type-id-54' name='queue' filepath='../lib/librte_bpf/bpf_pkt.c' line='592' column='1'/>
+      <parameter type-id='type-id-51' name='prm' filepath='../lib/librte_bpf/bpf_pkt.c' line='593' column='1'/>
+      <parameter type-id='type-id-23' name='fname' filepath='../lib/librte_bpf/bpf_pkt.c' line='593' column='1'/>
+      <parameter type-id='type-id-23' name='sname' filepath='../lib/librte_bpf/bpf_pkt.c' line='593' column='1'/>
+      <parameter type-id='type-id-6' name='flags' filepath='../lib/librte_bpf/bpf_pkt.c' line='594' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_bpf_eth_tx_unload' mangled-name='rte_bpf_eth_tx_unload' filepath='../lib/librte_bpf/bpf_pkt.c' line='495' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bpf_eth_tx_unload@@EXPERIMENTAL'>
+      <parameter type-id='type-id-54' name='port' filepath='../lib/librte_bpf/bpf_pkt.c' line='495' column='1'/>
+      <parameter type-id='type-id-54' name='queue' filepath='../lib/librte_bpf/bpf_pkt.c' line='495' column='1'/>
+      <return type-id='type-id-40'/>
+    </function-decl>
+    <function-decl name='rte_bpf_eth_rx_unload' mangled-name='rte_bpf_eth_rx_unload' filepath='../lib/librte_bpf/bpf_pkt.c' line='484' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bpf_eth_rx_unload@@EXPERIMENTAL'>
+      <parameter type-id='type-id-54' name='port' filepath='../lib/librte_bpf/bpf_pkt.c' line='495' column='1'/>
+      <parameter type-id='type-id-54' name='queue' filepath='../lib/librte_bpf/bpf_pkt.c' line='495' column='1'/>
+      <return type-id='type-id-40'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_bpf/bpf_load_elf.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='rte_bpf_elf_load' mangled-name='rte_bpf_elf_load' filepath='../lib/librte_bpf/bpf_load_elf.c' line='298' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bpf_elf_load@@EXPERIMENTAL'>
+      <parameter type-id='type-id-51' name='prm' filepath='../lib/librte_bpf/bpf_load_elf.c' line='298' column='1'/>
+      <parameter type-id='type-id-23' name='fname' filepath='../lib/librte_bpf/bpf_load_elf.c' line='298' column='1'/>
+      <parameter type-id='type-id-23' name='sname' filepath='../lib/librte_bpf/bpf_load_elf.c' line='299' column='1'/>
+      <return type-id='type-id-47'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_cfgfile.dump b/lib/.abi/librte_cfgfile.dump
new file mode 100644
index 000000000..d3874b35d
--- /dev/null
+++ b/lib/.abi/librte_cfgfile.dump
@@ -0,0 +1,188 @@
+<abi-corpus path='gcc//lib/librte_cfgfile.so.20.0' architecture='elf-amd-x86_64' soname='librte_cfgfile.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_cfgfile_add_entry' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cfgfile_add_section' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cfgfile_close' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cfgfile_create' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cfgfile_get_entry' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cfgfile_has_entry' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cfgfile_has_section' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cfgfile_load' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cfgfile_load_with_params' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cfgfile_num_sections' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cfgfile_save' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cfgfile_section_entries' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cfgfile_section_entries_by_index' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cfgfile_section_num_entries' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cfgfile_sections' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cfgfile_set_entry' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_cfgfile/rte_cfgfile.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <class-decl name='rte_cfgfile' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='23' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-1' visibility='default' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='24' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='num_sections' type-id='type-id-1' visibility='default' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='25' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='allocated_sections' type-id='type-id-1' visibility='default' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='26' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='sections' type-id='type-id-3' visibility='default' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='27' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cfgfile_section' size-in-bits='640' is-struct='yes' visibility='default' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='16' column='1' id='type-id-4'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-5' visibility='default' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='17' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='num_entries' type-id='type-id-1' visibility='default' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='18' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='allocated_entries' type-id='type-id-1' visibility='default' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='19' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='entries' type-id='type-id-6' visibility='default' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='20' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-7'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-8'/>
+
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='512' id='type-id-5'>
+      <subrange length='64' type-id='type-id-8' id='type-id-9'/>
+
+    </array-type-def>
+    <class-decl name='rte_cfgfile_entry' size-in-bits='2560' is-struct='yes' visibility='default' filepath='../lib/librte_cfgfile/rte_cfgfile.h' line='35' column='1' id='type-id-10'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-5' visibility='default' filepath='../lib/librte_cfgfile/rte_cfgfile.h' line='36' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='value' type-id='type-id-11' visibility='default' filepath='../lib/librte_cfgfile/rte_cfgfile.h' line='37' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='2048' id='type-id-11'>
+      <subrange length='256' type-id='type-id-8' id='type-id-12'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-6'/>
+    <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-3'/>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-13'/>
+    <qualified-type-def type-id='type-id-7' const='yes' id='type-id-14'/>
+    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-15'/>
+    <function-decl name='rte_cfgfile_has_entry' mangled-name='rte_cfgfile_has_entry' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='560' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cfgfile_has_entry@@DPDK_20.0'>
+      <parameter type-id='type-id-13' name='cfg' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='560' column='1'/>
+      <parameter type-id='type-id-15' name='sectionname' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='560' column='1'/>
+      <parameter type-id='type-id-15' name='entryname' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='561' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_cfgfile_get_entry' mangled-name='rte_cfgfile_get_entry' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='545' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cfgfile_get_entry@@DPDK_20.0'>
+      <parameter type-id='type-id-13' name='cfg' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='545' column='1'/>
+      <parameter type-id='type-id-15' name='sectionname' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='545' column='1'/>
+      <parameter type-id='type-id-15' name='entryname' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='546' column='1'/>
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-7' size-in-bits='64' id='type-id-16'/>
+    <function-decl name='rte_cfgfile_section_entries_by_index' mangled-name='rte_cfgfile_section_entries_by_index' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='528' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cfgfile_section_entries_by_index@@DPDK_20.0'>
+      <parameter type-id='type-id-13' name='cfg' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='528' column='1'/>
+      <parameter type-id='type-id-1' name='index' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='528' column='1'/>
+      <parameter type-id='type-id-16' name='sectionname' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='529' column='1'/>
+      <parameter type-id='type-id-6' name='entries' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='530' column='1'/>
+      <parameter type-id='type-id-1' name='max_entries' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='530' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_cfgfile_section_entries' mangled-name='rte_cfgfile_section_entries' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='515' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cfgfile_section_entries@@DPDK_20.0'>
+      <parameter type-id='type-id-13' name='cfg' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='515' column='1'/>
+      <parameter type-id='type-id-15' name='sectionname' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='515' column='1'/>
+      <parameter type-id='type-id-6' name='entries' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='516' column='1'/>
+      <parameter type-id='type-id-1' name='max_entries' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='516' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_cfgfile_section_num_entries' mangled-name='rte_cfgfile_section_num_entries' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='493' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cfgfile_section_num_entries@@DPDK_20.0'>
+      <parameter type-id='type-id-13' name='cfg' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='493' column='1'/>
+      <parameter type-id='type-id-15' name='sectionname' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='494' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_cfgfile_has_section' mangled-name='rte_cfgfile_has_section' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='487' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cfgfile_has_section@@DPDK_20.0'>
+      <parameter type-id='type-id-13' name='cfg' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='487' column='1'/>
+      <parameter type-id='type-id-15' name='sectionname' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='487' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-16' size-in-bits='64' id='type-id-17'/>
+    <function-decl name='rte_cfgfile_sections' mangled-name='rte_cfgfile_sections' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='475' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cfgfile_sections@@DPDK_20.0'>
+      <parameter type-id='type-id-13' name='cfg' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='475' column='1'/>
+      <parameter type-id='type-id-17' name='sections' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='475' column='1'/>
+      <parameter type-id='type-id-1' name='max_sections' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='476' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <typedef-decl name='size_t' type-id='type-id-8' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-18'/>
+    <function-decl name='rte_cfgfile_num_sections' mangled-name='rte_cfgfile_num_sections' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='462' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cfgfile_num_sections@@DPDK_20.0'>
+      <parameter type-id='type-id-13' name='cfg' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='462' column='1'/>
+      <parameter type-id='type-id-15' name='sectionname' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='462' column='1'/>
+      <parameter type-id='type-id-18' name='length' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='463' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_cfgfile_close' mangled-name='rte_cfgfile_close' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='438' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cfgfile_close@@DPDK_20.0'>
+      <parameter type-id='type-id-13' name='cfg' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='438' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_cfgfile_save' mangled-name='rte_cfgfile_save' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='414' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cfgfile_save@@DPDK_20.0'>
+      <parameter type-id='type-id-13' name='cfg' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='414' column='1'/>
+      <parameter type-id='type-id-15' name='filename' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='414' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_cfgfile_set_entry' mangled-name='rte_cfgfile_set_entry' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='386' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cfgfile_set_entry@@DPDK_20.0'>
+      <parameter type-id='type-id-13' name='cfg' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='386' column='1'/>
+      <parameter type-id='type-id-15' name='sectionname' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='386' column='1'/>
+      <parameter type-id='type-id-15' name='entryname' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='387' column='1'/>
+      <parameter type-id='type-id-15' name='entryvalue' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='387' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_cfgfile_add_entry' mangled-name='rte_cfgfile_add_entry' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='362' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cfgfile_add_entry@@DPDK_20.0'>
+      <parameter type-id='type-id-13' name='cfg' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='362' column='1'/>
+      <parameter type-id='type-id-15' name='sectionname' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='363' column='1'/>
+      <parameter type-id='type-id-15' name='entryname' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='363' column='1'/>
+      <parameter type-id='type-id-15' name='entryvalue' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='364' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_cfgfile_add_section' mangled-name='rte_cfgfile_add_section' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='322' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cfgfile_add_section@@DPDK_20.0'>
+      <parameter type-id='type-id-13' name='cfg' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='322' column='1'/>
+      <parameter type-id='type-id-15' name='sectionname' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='322' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_cfgfile_create' mangled-name='rte_cfgfile_create' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='270' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cfgfile_create@@DPDK_20.0'>
+      <parameter type-id='type-id-1' name='flags' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='270' column='1'/>
+      <return type-id='type-id-13'/>
+    </function-decl>
+    <class-decl name='rte_cfgfile_parameters' size-in-bits='8' is-struct='yes' visibility='default' filepath='../lib/librte_cfgfile/rte_cfgfile.h' line='41' column='1' id='type-id-19'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='comment_character' type-id='type-id-7' visibility='default' filepath='../lib/librte_cfgfile/rte_cfgfile.h' line='43' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-19' const='yes' id='type-id-20'/>
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-21'/>
+    <function-decl name='rte_cfgfile_load_with_params' mangled-name='rte_cfgfile_load_with_params' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='167' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cfgfile_load_with_params@@DPDK_20.0'>
+      <parameter type-id='type-id-15' name='filename' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='167' column='1'/>
+      <parameter type-id='type-id-1' name='flags' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='167' column='1'/>
+      <parameter type-id='type-id-21' name='params' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='168' column='1'/>
+      <return type-id='type-id-13'/>
+    </function-decl>
+    <function-decl name='rte_cfgfile_load' mangled-name='rte_cfgfile_load' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='160' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cfgfile_load@@DPDK_20.0'>
+      <parameter type-id='type-id-15' name='filename' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='160' column='1'/>
+      <parameter type-id='type-id-1' name='flags' filepath='../lib/librte_cfgfile/rte_cfgfile.c' line='160' column='1'/>
+      <return type-id='type-id-13'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_cmdline.dump b/lib/.abi/librte_cmdline.dump
new file mode 100644
index 000000000..103507c79
--- /dev/null
+++ b/lib/.abi/librte_cmdline.dump
@@ -0,0 +1,728 @@
+<abi-corpus path='gcc//lib/librte_cmdline.so.20.0' architecture='elf-amd-x86_64' soname='librte_cmdline.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='cirbuf_add_buf_head' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cirbuf_add_buf_tail' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cirbuf_add_head' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cirbuf_add_head_safe' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cirbuf_add_tail' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cirbuf_add_tail_safe' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cirbuf_align_left' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cirbuf_align_right' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cirbuf_del_buf_head' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cirbuf_del_buf_tail' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cirbuf_del_head' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cirbuf_del_head_safe' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cirbuf_del_tail' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cirbuf_del_tail_safe' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cirbuf_get_buf_head' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cirbuf_get_buf_tail' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cirbuf_get_head' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cirbuf_get_tail' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cirbuf_init' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cmdline_complete' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cmdline_complete_get_elt_string' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cmdline_complete_get_nb_string' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cmdline_file_new' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cmdline_free' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cmdline_get_help_etheraddr' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cmdline_get_help_ipaddr' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cmdline_get_help_num' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cmdline_get_help_portlist' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cmdline_get_help_string' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cmdline_in' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cmdline_interact' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cmdline_isendoftoken' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cmdline_new' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cmdline_parse' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cmdline_parse_etheraddr' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cmdline_parse_ipaddr' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cmdline_parse_num' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cmdline_parse_portlist' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cmdline_parse_string' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cmdline_poll' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cmdline_printf' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cmdline_quit' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cmdline_set_prompt' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cmdline_stdin_exit' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cmdline_stdin_new' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cmdline_write_char' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rdline_add_history' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rdline_char_in' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rdline_clear_history' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rdline_get_buffer' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rdline_get_history_item' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rdline_init' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rdline_newline' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rdline_quit' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rdline_redisplay' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rdline_reset' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rdline_restart' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rdline_stop' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='vt100_init' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='vt100_parser' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <elf-variable-symbols>
+    <elf-symbol name='cmdline_token_etheraddr_ops' size='32' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cmdline_token_ipaddr_ops' size='32' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cmdline_token_num_ops' size='32' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cmdline_token_portlist_ops' size='32' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='cmdline_token_string_ops' size='32' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_cmdline/cmdline.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='void' id='type-id-1'/>
+    <class-decl name='cmdline' size-in-bits='80192' is-struct='yes' visibility='default' filepath='../lib/librte_cmdline/cmdline.h' line='24' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='s_in' type-id='type-id-3' visibility='default' filepath='../lib/librte_cmdline/cmdline.h' line='25' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='s_out' type-id='type-id-3' visibility='default' filepath='../lib/librte_cmdline/cmdline.h' line='26' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ctx' type-id='type-id-4' visibility='default' filepath='../lib/librte_cmdline/cmdline.h' line='27' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rdl' type-id='type-id-5' visibility='default' filepath='../lib/librte_cmdline/cmdline.h' line='28' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='79424'>
+        <var-decl name='prompt' type-id='type-id-6' visibility='default' filepath='../lib/librte_cmdline/cmdline.h' line='29' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='79680'>
+        <var-decl name='oldterm' type-id='type-id-7' visibility='default' filepath='../lib/librte_cmdline/cmdline.h' line='30' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='int' size-in-bits='32' id='type-id-3'/>
+    <class-decl name='cmdline_inst' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cmdline/cmdline_parse.h' line='131' column='1' id='type-id-8'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='f' type-id='type-id-9' visibility='default' filepath='../lib/librte_cmdline/cmdline_parse.h' line='133' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='data' type-id='type-id-10' visibility='default' filepath='../lib/librte_cmdline/cmdline_parse.h' line='134' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='help_str' type-id='type-id-11' visibility='default' filepath='../lib/librte_cmdline/cmdline_parse.h' line='135' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='tokens' type-id='type-id-12' visibility='default' filepath='../lib/librte_cmdline/cmdline_parse.h' line='136' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-10'/>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-13'/>
+    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-9'/>
+    <type-decl name='char' size-in-bits='8' id='type-id-15'/>
+    <qualified-type-def type-id='type-id-15' const='yes' id='type-id-16'/>
+    <pointer-type-def type-id='type-id-16' size-in-bits='64' id='type-id-11'/>
+    <class-decl name='cmdline_token_hdr' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cmdline/cmdline_parse.h' line='36' column='1' id='type-id-17'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ops' type-id='type-id-18' visibility='default' filepath='../lib/librte_cmdline/cmdline_parse.h' line='37' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offset' type-id='type-id-19' visibility='default' filepath='../lib/librte_cmdline/cmdline_parse.h' line='38' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='cmdline_token_ops' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cmdline/cmdline_parse.h' line='61' column='1' id='type-id-20'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='parse' type-id='type-id-21' visibility='default' filepath='../lib/librte_cmdline/cmdline_parse.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='complete_get_nb' type-id='type-id-22' visibility='default' filepath='../lib/librte_cmdline/cmdline_parse.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='complete_get_elt' type-id='type-id-23' visibility='default' filepath='../lib/librte_cmdline/cmdline_parse.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='get_help' type-id='type-id-24' visibility='default' filepath='../lib/librte_cmdline/cmdline_parse.h' line='71' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='cmdline_parse_token_hdr_t' type-id='type-id-17' filepath='../lib/librte_cmdline/cmdline_parse.h' line='40' column='1' id='type-id-25'/>
+    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-26'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-19'/>
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-21'/>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-22'/>
+    <pointer-type-def type-id='type-id-15' size-in-bits='64' id='type-id-29'/>
+    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-23'/>
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-24'/>
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-18'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-32'/>
+
+    <array-type-def dimensions='1' type-id='type-id-26' size-in-bits='infinite' id='type-id-12'>
+      <subrange length='infinite' type-id='type-id-32' id='type-id-33'/>
+
+    </array-type-def>
+    <typedef-decl name='cmdline_parse_inst_t' type-id='type-id-8' filepath='../lib/librte_cmdline/cmdline_parse.h' line='138' column='1' id='type-id-34'/>
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-35'/>
+    <typedef-decl name='cmdline_parse_ctx_t' type-id='type-id-35' filepath='../lib/librte_cmdline/cmdline_parse.h' line='145' column='1' id='type-id-36'/>
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-4'/>
+    <class-decl name='rdline' size-in-bits='79296' is-struct='yes' visibility='default' filepath='../lib/librte_cmdline/cmdline_rdline.h' line='63' column='1' id='type-id-5'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='status' type-id='type-id-37' visibility='default' filepath='../lib/librte_cmdline/cmdline_rdline.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='left' type-id='type-id-38' visibility='default' filepath='../lib/librte_cmdline/cmdline_rdline.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='right' type-id='type-id-38' visibility='default' filepath='../lib/librte_cmdline/cmdline_rdline.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='left_buf' type-id='type-id-39' visibility='default' filepath='../lib/librte_cmdline/cmdline_rdline.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4560'>
+        <var-decl name='right_buf' type-id='type-id-40' visibility='default' filepath='../lib/librte_cmdline/cmdline_rdline.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8656'>
+        <var-decl name='prompt' type-id='type-id-6' visibility='default' filepath='../lib/librte_cmdline/cmdline_rdline.h' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8928'>
+        <var-decl name='prompt_size' type-id='type-id-19' visibility='default' filepath='../lib/librte_cmdline/cmdline_rdline.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8960'>
+        <var-decl name='kill_buf' type-id='type-id-40' visibility='default' filepath='../lib/librte_cmdline/cmdline_rdline.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='13056'>
+        <var-decl name='kill_size' type-id='type-id-19' visibility='default' filepath='../lib/librte_cmdline/cmdline_rdline.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='13120'>
+        <var-decl name='history' type-id='type-id-38' visibility='default' filepath='../lib/librte_cmdline/cmdline_rdline.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='13312'>
+        <var-decl name='history_buf' type-id='type-id-41' visibility='default' filepath='../lib/librte_cmdline/cmdline_rdline.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='78848'>
+        <var-decl name='history_cur_line' type-id='type-id-3' visibility='default' filepath='../lib/librte_cmdline/cmdline_rdline.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='78912'>
+        <var-decl name='write_char' type-id='type-id-42' visibility='default' filepath='../lib/librte_cmdline/cmdline_rdline.h' line='83' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='78976'>
+        <var-decl name='validate' type-id='type-id-43' visibility='default' filepath='../lib/librte_cmdline/cmdline_rdline.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='79040'>
+        <var-decl name='complete' type-id='type-id-44' visibility='default' filepath='../lib/librte_cmdline/cmdline_rdline.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='79104'>
+        <var-decl name='vt100' type-id='type-id-45' visibility='default' filepath='../lib/librte_cmdline/cmdline_rdline.h' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='79232'>
+        <var-decl name='opaque' type-id='type-id-10' visibility='default' filepath='../lib/librte_cmdline/cmdline_rdline.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-46'/>
+    <enum-decl name='rdline_status' filepath='../lib/librte_cmdline/cmdline_rdline.h' line='48' column='1' id='type-id-37'>
+      <underlying-type type-id='type-id-46'/>
+      <enumerator name='RDLINE_INIT' value='0'/>
+      <enumerator name='RDLINE_RUNNING' value='1'/>
+      <enumerator name='RDLINE_EXITED' value='2'/>
+    </enum-decl>
+    <class-decl name='cirbuf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cmdline/cmdline_cirbuf.h' line='19' column='1' id='type-id-38'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='maxlen' type-id='type-id-19' visibility='default' filepath='../lib/librte_cmdline/cmdline_cirbuf.h' line='20' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='start' type-id='type-id-19' visibility='default' filepath='../lib/librte_cmdline/cmdline_cirbuf.h' line='21' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='end' type-id='type-id-19' visibility='default' filepath='../lib/librte_cmdline/cmdline_cirbuf.h' line='22' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='len' type-id='type-id-19' visibility='default' filepath='../lib/librte_cmdline/cmdline_cirbuf.h' line='23' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='buf' type-id='type-id-29' visibility='default' filepath='../lib/librte_cmdline/cmdline_cirbuf.h' line='24' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-15' size-in-bits='4112' id='type-id-39'>
+      <subrange length='514' type-id='type-id-32' id='type-id-47'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-15' size-in-bits='4096' id='type-id-40'>
+      <subrange length='512' type-id='type-id-32' id='type-id-48'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-15' size-in-bits='256' id='type-id-6'>
+      <subrange length='32' type-id='type-id-32' id='type-id-49'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-15' size-in-bits='65536' id='type-id-41'>
+      <subrange length='8192' type-id='type-id-32' id='type-id-50'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-5' size-in-bits='64' id='type-id-51'/>
+    <typedef-decl name='rdline_write_char_t' type-id='type-id-52' filepath='../lib/librte_cmdline/cmdline_rdline.h' line='56' column='1' id='type-id-53'/>
+    <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-42'/>
+    <typedef-decl name='rdline_validate_t' type-id='type-id-54' filepath='../lib/librte_cmdline/cmdline_rdline.h' line='57' column='1' id='type-id-55'/>
+    <pointer-type-def type-id='type-id-55' size-in-bits='64' id='type-id-43'/>
+    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-56'/>
+    <typedef-decl name='rdline_complete_t' type-id='type-id-57' filepath='../lib/librte_cmdline/cmdline_rdline.h' line='59' column='1' id='type-id-58'/>
+    <pointer-type-def type-id='type-id-58' size-in-bits='64' id='type-id-44'/>
+    <class-decl name='cmdline_vt100' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cmdline/cmdline_vt100.h' line='77' column='1' id='type-id-45'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='bufpos' type-id='type-id-59' visibility='default' filepath='../lib/librte_cmdline/cmdline_vt100.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='buf' type-id='type-id-60' visibility='default' filepath='../lib/librte_cmdline/cmdline_vt100.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='state' type-id='type-id-61' visibility='default' filepath='../lib/librte_cmdline/cmdline_vt100.h' line='80' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-62'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-62' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-63'/>
+    <typedef-decl name='uint8_t' type-id='type-id-63' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-59'/>
+
+    <array-type-def dimensions='1' type-id='type-id-15' size-in-bits='64' id='type-id-60'>
+      <subrange length='8' type-id='type-id-32' id='type-id-64'/>
+
+    </array-type-def>
+    <enum-decl name='cmdline_vt100_parser_state' filepath='../lib/librte_cmdline/cmdline_vt100.h' line='70' column='1' id='type-id-61'>
+      <underlying-type type-id='type-id-46'/>
+      <enumerator name='CMDLINE_VT100_INIT' value='0'/>
+      <enumerator name='CMDLINE_VT100_ESCAPE' value='1'/>
+      <enumerator name='CMDLINE_VT100_ESCAPE_CSI' value='2'/>
+    </enum-decl>
+    <class-decl name='termios' size-in-bits='480' is-struct='yes' visibility='default' filepath='/usr/include/bits/termios-struct.h' line='24' column='1' id='type-id-7'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='c_iflag' type-id='type-id-65' visibility='default' filepath='/usr/include/bits/termios-struct.h' line='26' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='c_oflag' type-id='type-id-65' visibility='default' filepath='/usr/include/bits/termios-struct.h' line='27' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='c_cflag' type-id='type-id-65' visibility='default' filepath='/usr/include/bits/termios-struct.h' line='28' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='c_lflag' type-id='type-id-65' visibility='default' filepath='/usr/include/bits/termios-struct.h' line='29' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='c_line' type-id='type-id-66' visibility='default' filepath='/usr/include/bits/termios-struct.h' line='30' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='c_cc' type-id='type-id-67' visibility='default' filepath='/usr/include/bits/termios-struct.h' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='c_ispeed' type-id='type-id-68' visibility='default' filepath='/usr/include/bits/termios-struct.h' line='32' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='c_ospeed' type-id='type-id-68' visibility='default' filepath='/usr/include/bits/termios-struct.h' line='33' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='tcflag_t' type-id='type-id-19' filepath='/usr/include/bits/termios.h' line='25' column='1' id='type-id-65'/>
+    <typedef-decl name='cc_t' type-id='type-id-62' filepath='/usr/include/bits/termios.h' line='23' column='1' id='type-id-66'/>
+
+    <array-type-def dimensions='1' type-id='type-id-66' size-in-bits='256' id='type-id-67'>
+      <subrange length='32' type-id='type-id-32' id='type-id-49'/>
+
+    </array-type-def>
+    <typedef-decl name='speed_t' type-id='type-id-19' filepath='/usr/include/bits/termios.h' line='24' column='1' id='type-id-68'/>
+    <function-decl name='cmdline_interact' mangled-name='cmdline_interact' filepath='../lib/librte_cmdline/cmdline.c' line='216' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cmdline_interact@@DPDK_20.0'>
+      <parameter type-id='type-id-13' name='cl' filepath='../lib/librte_cmdline/cmdline.c' line='216' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='cmdline_poll' mangled-name='cmdline_poll' filepath='../lib/librte_cmdline/cmdline.c' line='182' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cmdline_poll@@DPDK_20.0'>
+      <parameter type-id='type-id-13' name='cl' filepath='../lib/librte_cmdline/cmdline.c' line='182' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <function-decl name='cmdline_quit' mangled-name='cmdline_quit' filepath='../lib/librte_cmdline/cmdline.c' line='174' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cmdline_quit@@DPDK_20.0'>
+      <parameter type-id='type-id-13' name='cl' filepath='../lib/librte_cmdline/cmdline.c' line='174' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='cmdline_in' mangled-name='cmdline_in' filepath='../lib/librte_cmdline/cmdline.c' line='137' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cmdline_in@@DPDK_20.0'>
+      <parameter type-id='type-id-13' name='cl' filepath='../lib/librte_cmdline/cmdline.c' line='137' column='1'/>
+      <parameter type-id='type-id-11' name='buf' filepath='../lib/librte_cmdline/cmdline.c' line='137' column='1'/>
+      <parameter type-id='type-id-3' name='size' filepath='../lib/librte_cmdline/cmdline.c' line='137' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-2' const='yes' id='type-id-69'/>
+    <pointer-type-def type-id='type-id-69' size-in-bits='64' id='type-id-70'/>
+    <function-decl name='cmdline_printf' mangled-name='cmdline_printf' filepath='../lib/librte_cmdline/cmdline.c' line='122' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cmdline_printf@@DPDK_20.0'>
+      <parameter type-id='type-id-70' name='cl' filepath='../lib/librte_cmdline/cmdline.c' line='122' column='1'/>
+      <parameter type-id='type-id-11' name='fmt' filepath='../lib/librte_cmdline/cmdline.c' line='122' column='1'/>
+      <parameter is-variadic='yes'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='cmdline_free' mangled-name='cmdline_free' filepath='../lib/librte_cmdline/cmdline.c' line='107' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cmdline_free@@DPDK_20.0'>
+      <parameter type-id='type-id-13' name='cl' filepath='../lib/librte_cmdline/cmdline.c' line='174' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='cmdline_new' mangled-name='cmdline_new' filepath='../lib/librte_cmdline/cmdline.c' line='76' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cmdline_new@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='ctx' filepath='../lib/librte_cmdline/cmdline.c' line='76' column='1'/>
+      <parameter type-id='type-id-11' name='prompt' filepath='../lib/librte_cmdline/cmdline.c' line='76' column='1'/>
+      <parameter type-id='type-id-3' name='s_in' filepath='../lib/librte_cmdline/cmdline.c' line='76' column='1'/>
+      <parameter type-id='type-id-3' name='s_out' filepath='../lib/librte_cmdline/cmdline.c' line='76' column='1'/>
+      <return type-id='type-id-13'/>
+    </function-decl>
+    <function-decl name='cmdline_set_prompt' mangled-name='cmdline_set_prompt' filepath='../lib/librte_cmdline/cmdline.c' line='68' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cmdline_set_prompt@@DPDK_20.0'>
+      <parameter type-id='type-id-13' name='cl' filepath='../lib/librte_cmdline/cmdline.c' line='68' column='1'/>
+      <parameter type-id='type-id-11' name='prompt' filepath='../lib/librte_cmdline/cmdline.c' line='68' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='cmdline_write_char' mangled-name='cmdline_write_char' filepath='../lib/librte_cmdline/cmdline.c' line='50' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cmdline_write_char@@DPDK_20.0'>
+      <parameter type-id='type-id-51' name='rdl' filepath='../lib/librte_cmdline/cmdline.c' line='50' column='1'/>
+      <parameter type-id='type-id-15' name='c' filepath='../lib/librte_cmdline/cmdline.c' line='50' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-28'>
+      <parameter type-id='type-id-26'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-31'>
+      <parameter type-id='type-id-26'/>
+      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-19'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-27'>
+      <parameter type-id='type-id-26'/>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-10'/>
+      <parameter type-id='type-id-19'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-30'>
+      <parameter type-id='type-id-26'/>
+      <parameter type-id='type-id-3'/>
+      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-19'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-52'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-15'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-57'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-19'/>
+      <parameter type-id='type-id-56'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-54'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-19'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-14'>
+      <parameter type-id='type-id-10'/>
+      <parameter type-id='type-id-13'/>
+      <parameter type-id='type-id-10'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_cmdline/cmdline_cirbuf.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <pointer-type-def type-id='type-id-38' size-in-bits='64' id='type-id-71'/>
+    <function-decl name='cirbuf_get_tail' mangled-name='cirbuf_get_tail' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='409' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cirbuf_get_tail@@DPDK_20.0'>
+      <parameter type-id='type-id-71' name='cbuf' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='409' column='1'/>
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <function-decl name='cirbuf_get_head' mangled-name='cirbuf_get_head' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='401' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cirbuf_get_head@@DPDK_20.0'>
+      <parameter type-id='type-id-71' name='cbuf' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='409' column='1'/>
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <function-decl name='cirbuf_get_buf_tail' mangled-name='cirbuf_get_buf_tail' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='362' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cirbuf_get_buf_tail@@DPDK_20.0'>
+      <parameter type-id='type-id-71' name='cbuf' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='362' column='1'/>
+      <parameter type-id='type-id-29' name='c' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='362' column='1'/>
+      <parameter type-id='type-id-19' name='size' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='362' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <function-decl name='cirbuf_get_buf_head' mangled-name='cirbuf_get_buf_head' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='324' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cirbuf_get_buf_head@@DPDK_20.0'>
+      <parameter type-id='type-id-71' name='cbuf' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='362' column='1'/>
+      <parameter type-id='type-id-29' name='c' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='362' column='1'/>
+      <parameter type-id='type-id-19' name='size' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='362' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <function-decl name='cirbuf_del_tail' mangled-name='cirbuf_del_tail' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='316' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cirbuf_del_tail@@DPDK_20.0'>
+      <parameter type-id='type-id-71' name='cbuf' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='316' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='cirbuf_del_tail_safe' mangled-name='cirbuf_del_tail_safe' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='306' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cirbuf_del_tail_safe@@DPDK_20.0'>
+      <parameter type-id='type-id-71' name='cbuf' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='306' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <function-decl name='cirbuf_del_head' mangled-name='cirbuf_del_head' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='288' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cirbuf_del_head@@DPDK_20.0'>
+      <parameter type-id='type-id-71' name='cbuf' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='316' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='cirbuf_del_head_safe' mangled-name='cirbuf_del_head_safe' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='278' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cirbuf_del_head_safe@@DPDK_20.0'>
+      <parameter type-id='type-id-71' name='cbuf' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='306' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <function-decl name='cirbuf_del_buf_tail' mangled-name='cirbuf_del_buf_tail' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='248' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cirbuf_del_buf_tail@@DPDK_20.0'>
+      <parameter type-id='type-id-71' name='cbuf' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='248' column='1'/>
+      <parameter type-id='type-id-19' name='size' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='248' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <function-decl name='cirbuf_del_buf_head' mangled-name='cirbuf_del_buf_head' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='228' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cirbuf_del_buf_head@@DPDK_20.0'>
+      <parameter type-id='type-id-71' name='cbuf' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='248' column='1'/>
+      <parameter type-id='type-id-19' name='size' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='248' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <function-decl name='cirbuf_align_right' mangled-name='cirbuf_align_right' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='206' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cirbuf_align_right@@DPDK_20.0'>
+      <parameter type-id='type-id-71' name='cbuf' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='306' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <function-decl name='cirbuf_align_left' mangled-name='cirbuf_align_left' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='185' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cirbuf_align_left@@DPDK_20.0'>
+      <parameter type-id='type-id-71' name='cbuf' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='306' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <function-decl name='cirbuf_add_tail' mangled-name='cirbuf_add_tail' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='143' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cirbuf_add_tail@@DPDK_20.0'>
+      <parameter type-id='type-id-71' name='cbuf' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='143' column='1'/>
+      <parameter type-id='type-id-15' name='c' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='143' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='cirbuf_add_tail_safe' mangled-name='cirbuf_add_tail_safe' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='133' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cirbuf_add_tail_safe@@DPDK_20.0'>
+      <parameter type-id='type-id-71' name='cbuf' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='133' column='1'/>
+      <parameter type-id='type-id-15' name='c' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='133' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <function-decl name='cirbuf_add_head' mangled-name='cirbuf_add_head' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='114' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cirbuf_add_head@@DPDK_20.0'>
+      <parameter type-id='type-id-71' name='cbuf' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='143' column='1'/>
+      <parameter type-id='type-id-15' name='c' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='143' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='cirbuf_add_head_safe' mangled-name='cirbuf_add_head_safe' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='104' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cirbuf_add_head_safe@@DPDK_20.0'>
+      <parameter type-id='type-id-71' name='cbuf' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='133' column='1'/>
+      <parameter type-id='type-id-15' name='c' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='133' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <function-decl name='cirbuf_add_buf_tail' mangled-name='cirbuf_add_buf_tail' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='61' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cirbuf_add_buf_tail@@DPDK_20.0'>
+      <parameter type-id='type-id-71' name='cbuf' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='61' column='1'/>
+      <parameter type-id='type-id-11' name='c' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='61' column='1'/>
+      <parameter type-id='type-id-19' name='n' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='61' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <function-decl name='cirbuf_add_buf_head' mangled-name='cirbuf_add_buf_head' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='30' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cirbuf_add_buf_head@@DPDK_20.0'>
+      <parameter type-id='type-id-71' name='cbuf' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='61' column='1'/>
+      <parameter type-id='type-id-11' name='c' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='61' column='1'/>
+      <parameter type-id='type-id-19' name='n' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='61' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <function-decl name='cirbuf_init' mangled-name='cirbuf_init' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='15' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cirbuf_init@@DPDK_20.0'>
+      <parameter type-id='type-id-71' name='cbuf' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='15' column='1'/>
+      <parameter type-id='type-id-29' name='buf' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='15' column='1'/>
+      <parameter type-id='type-id-19' name='start' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='15' column='1'/>
+      <parameter type-id='type-id-19' name='maxlen' filepath='../lib/librte_cmdline/cmdline_cirbuf.c' line='15' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_cmdline/cmdline_parse.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='cmdline_complete' mangled-name='cmdline_complete' filepath='../lib/librte_cmdline/cmdline_parse.c' line='308' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cmdline_complete@@DPDK_20.0'>
+      <parameter type-id='type-id-13' name='cl' filepath='../lib/librte_cmdline/cmdline_parse.c' line='308' column='1'/>
+      <parameter type-id='type-id-11' name='buf' filepath='../lib/librte_cmdline/cmdline_parse.c' line='308' column='1'/>
+      <parameter type-id='type-id-56' name='state' filepath='../lib/librte_cmdline/cmdline_parse.c' line='308' column='1'/>
+      <parameter type-id='type-id-29' name='dst' filepath='../lib/librte_cmdline/cmdline_parse.c' line='309' column='1'/>
+      <parameter type-id='type-id-19' name='size' filepath='../lib/librte_cmdline/cmdline_parse.c' line='309' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <function-decl name='cmdline_parse' mangled-name='cmdline_parse' filepath='../lib/librte_cmdline/cmdline_parse.c' line='194' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cmdline_parse@@DPDK_20.0'>
+      <parameter type-id='type-id-13' name='cl' filepath='../lib/librte_cmdline/cmdline_parse.c' line='194' column='1'/>
+      <parameter type-id='type-id-11' name='buf' filepath='../lib/librte_cmdline/cmdline_parse.c' line='194' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <function-decl name='cmdline_isendoftoken' mangled-name='cmdline_isendoftoken' filepath='../lib/librte_cmdline/cmdline_parse.c' line='60' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cmdline_isendoftoken@@DPDK_20.0'>
+      <parameter type-id='type-id-15' name='c' filepath='../lib/librte_cmdline/cmdline_parse.c' line='60' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_cmdline/cmdline_parse_etheraddr.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='cmdline_token_etheraddr_ops' type-id='type-id-20' mangled-name='cmdline_token_etheraddr_ops' visibility='default' filepath='../lib/librte_cmdline/cmdline_parse_etheraddr.h' line='21' column='1' elf-symbol-id='cmdline_token_etheraddr_ops@@DPDK_20.0'/>
+    <function-decl name='cmdline_get_help_etheraddr' mangled-name='cmdline_get_help_etheraddr' filepath='../lib/librte_cmdline/cmdline_parse_etheraddr.c' line='61' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cmdline_get_help_etheraddr@@DPDK_20.0'>
+      <parameter type-id='type-id-26' name='tk' filepath='../lib/librte_cmdline/cmdline_parse_etheraddr.c' line='61' column='1'/>
+      <parameter type-id='type-id-29' name='dstbuf' filepath='../lib/librte_cmdline/cmdline_parse_etheraddr.c' line='62' column='1'/>
+      <parameter type-id='type-id-19' name='size' filepath='../lib/librte_cmdline/cmdline_parse_etheraddr.c' line='62' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <function-decl name='cmdline_parse_etheraddr' mangled-name='cmdline_parse_etheraddr' filepath='../lib/librte_cmdline/cmdline_parse_etheraddr.c' line='30' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cmdline_parse_etheraddr@@DPDK_20.0'>
+      <parameter type-id='type-id-26' name='tk' filepath='../lib/librte_cmdline/cmdline_parse_etheraddr.c' line='30' column='1'/>
+      <parameter type-id='type-id-11' name='buf' filepath='../lib/librte_cmdline/cmdline_parse_etheraddr.c' line='31' column='1'/>
+      <parameter type-id='type-id-10' name='res' filepath='../lib/librte_cmdline/cmdline_parse_etheraddr.c' line='31' column='1'/>
+      <parameter type-id='type-id-19' name='ressize' filepath='../lib/librte_cmdline/cmdline_parse_etheraddr.c' line='31' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_cmdline/cmdline_parse_ipaddr.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='cmdline_token_ipaddr_ops' type-id='type-id-20' mangled-name='cmdline_token_ipaddr_ops' visibility='default' filepath='../lib/librte_cmdline/cmdline_parse_ipaddr.h' line='41' column='1' elf-symbol-id='cmdline_token_ipaddr_ops@@DPDK_20.0'/>
+    <function-decl name='cmdline_get_help_ipaddr' mangled-name='cmdline_get_help_ipaddr' filepath='../lib/librte_cmdline/cmdline_parse_ipaddr.c' line='99' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cmdline_get_help_ipaddr@@DPDK_20.0'>
+      <parameter type-id='type-id-26' name='tk' filepath='../lib/librte_cmdline/cmdline_parse_etheraddr.c' line='61' column='1'/>
+      <parameter type-id='type-id-29' name='dstbuf' filepath='../lib/librte_cmdline/cmdline_parse_etheraddr.c' line='62' column='1'/>
+      <parameter type-id='type-id-19' name='size' filepath='../lib/librte_cmdline/cmdline_parse_etheraddr.c' line='62' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <function-decl name='cmdline_parse_ipaddr' mangled-name='cmdline_parse_ipaddr' filepath='../lib/librte_cmdline/cmdline_parse_ipaddr.c' line='34' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cmdline_parse_ipaddr@@DPDK_20.0'>
+      <parameter type-id='type-id-26' name='tk' filepath='../lib/librte_cmdline/cmdline_parse_ipaddr.c' line='34' column='1'/>
+      <parameter type-id='type-id-11' name='buf' filepath='../lib/librte_cmdline/cmdline_parse_ipaddr.c' line='34' column='1'/>
+      <parameter type-id='type-id-10' name='res' filepath='../lib/librte_cmdline/cmdline_parse_ipaddr.c' line='34' column='1'/>
+      <parameter type-id='type-id-19' name='ressize' filepath='../lib/librte_cmdline/cmdline_parse_ipaddr.c' line='35' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_cmdline/cmdline_parse_num.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='cmdline_token_num_ops' type-id='type-id-20' mangled-name='cmdline_token_num_ops' visibility='default' filepath='../lib/librte_cmdline/cmdline_parse_num.h' line='37' column='1' elf-symbol-id='cmdline_token_num_ops@@DPDK_20.0'/>
+    <function-decl name='cmdline_get_help_num' mangled-name='cmdline_get_help_num' filepath='../lib/librte_cmdline/cmdline_parse_num.c' line='329' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cmdline_get_help_num@@DPDK_20.0'>
+      <parameter type-id='type-id-26' name='tk' filepath='../lib/librte_cmdline/cmdline_parse_num.c' line='329' column='1'/>
+      <parameter type-id='type-id-29' name='dstbuf' filepath='../lib/librte_cmdline/cmdline_parse_num.c' line='329' column='1'/>
+      <parameter type-id='type-id-19' name='size' filepath='../lib/librte_cmdline/cmdline_parse_num.c' line='329' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <function-decl name='cmdline_parse_num' mangled-name='cmdline_parse_num' filepath='../lib/librte_cmdline/cmdline_parse_num.c' line='100' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cmdline_parse_num@@DPDK_20.0'>
+      <parameter type-id='type-id-26' name='tk' filepath='../lib/librte_cmdline/cmdline_parse_num.c' line='100' column='1'/>
+      <parameter type-id='type-id-11' name='srcbuf' filepath='../lib/librte_cmdline/cmdline_parse_num.c' line='100' column='1'/>
+      <parameter type-id='type-id-10' name='res' filepath='../lib/librte_cmdline/cmdline_parse_num.c' line='100' column='1'/>
+      <parameter type-id='type-id-19' name='ressize' filepath='../lib/librte_cmdline/cmdline_parse_num.c' line='101' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_cmdline/cmdline_parse_portlist.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='cmdline_token_portlist_ops' type-id='type-id-20' mangled-name='cmdline_token_portlist_ops' visibility='default' filepath='../lib/librte_cmdline/cmdline_parse_portlist.h' line='30' column='1' elf-symbol-id='cmdline_token_portlist_ops@@DPDK_20.0'/>
+    <function-decl name='cmdline_get_help_portlist' mangled-name='cmdline_get_help_portlist' filepath='../lib/librte_cmdline/cmdline_parse_portlist.c' line='111' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cmdline_get_help_portlist@@DPDK_20.0'>
+      <parameter type-id='type-id-26' name='tk' filepath='../lib/librte_cmdline/cmdline_parse_etheraddr.c' line='61' column='1'/>
+      <parameter type-id='type-id-29' name='dstbuf' filepath='../lib/librte_cmdline/cmdline_parse_etheraddr.c' line='62' column='1'/>
+      <parameter type-id='type-id-19' name='size' filepath='../lib/librte_cmdline/cmdline_parse_etheraddr.c' line='62' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <function-decl name='cmdline_parse_portlist' mangled-name='cmdline_parse_portlist' filepath='../lib/librte_cmdline/cmdline_parse_portlist.c' line='75' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cmdline_parse_portlist@@DPDK_20.0'>
+      <parameter type-id='type-id-26' name='tk' filepath='../lib/librte_cmdline/cmdline_parse_etheraddr.c' line='30' column='1'/>
+      <parameter type-id='type-id-11' name='buf' filepath='../lib/librte_cmdline/cmdline_parse_etheraddr.c' line='31' column='1'/>
+      <parameter type-id='type-id-10' name='res' filepath='../lib/librte_cmdline/cmdline_parse_etheraddr.c' line='31' column='1'/>
+      <parameter type-id='type-id-19' name='ressize' filepath='../lib/librte_cmdline/cmdline_parse_etheraddr.c' line='31' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_cmdline/cmdline_parse_string.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='cmdline_token_string_ops' type-id='type-id-20' mangled-name='cmdline_token_string_ops' visibility='default' filepath='../lib/librte_cmdline/cmdline_parse_string.h' line='36' column='1' elf-symbol-id='cmdline_token_string_ops@@DPDK_20.0'/>
+    <function-decl name='cmdline_get_help_string' mangled-name='cmdline_get_help_string' filepath='../lib/librte_cmdline/cmdline_parse_string.c' line='194' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cmdline_get_help_string@@DPDK_20.0'>
+      <parameter type-id='type-id-26' name='tk' filepath='../lib/librte_cmdline/cmdline_parse_string.c' line='194' column='1'/>
+      <parameter type-id='type-id-29' name='dstbuf' filepath='../lib/librte_cmdline/cmdline_parse_string.c' line='194' column='1'/>
+      <parameter type-id='type-id-19' name='size' filepath='../lib/librte_cmdline/cmdline_parse_string.c' line='195' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <function-decl name='cmdline_complete_get_elt_string' mangled-name='cmdline_complete_get_elt_string' filepath='../lib/librte_cmdline/cmdline_parse_string.c' line='162' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cmdline_complete_get_elt_string@@DPDK_20.0'>
+      <parameter type-id='type-id-26' name='tk' filepath='../lib/librte_cmdline/cmdline_parse_string.c' line='162' column='1'/>
+      <parameter type-id='type-id-3' name='idx' filepath='../lib/librte_cmdline/cmdline_parse_string.c' line='162' column='1'/>
+      <parameter type-id='type-id-29' name='dstbuf' filepath='../lib/librte_cmdline/cmdline_parse_string.c' line='163' column='1'/>
+      <parameter type-id='type-id-19' name='size' filepath='../lib/librte_cmdline/cmdline_parse_string.c' line='163' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <function-decl name='cmdline_complete_get_nb_string' mangled-name='cmdline_complete_get_nb_string' filepath='../lib/librte_cmdline/cmdline_parse_string.c' line='139' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cmdline_complete_get_nb_string@@DPDK_20.0'>
+      <parameter type-id='type-id-26' name='tk' filepath='../lib/librte_cmdline/cmdline_parse_string.c' line='139' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <function-decl name='cmdline_parse_string' mangled-name='cmdline_parse_string' filepath='../lib/librte_cmdline/cmdline_parse_string.c' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cmdline_parse_string@@DPDK_20.0'>
+      <parameter type-id='type-id-26' name='tk' filepath='../lib/librte_cmdline/cmdline_parse_string.c' line='55' column='1'/>
+      <parameter type-id='type-id-11' name='buf' filepath='../lib/librte_cmdline/cmdline_parse_string.c' line='55' column='1'/>
+      <parameter type-id='type-id-10' name='res' filepath='../lib/librte_cmdline/cmdline_parse_string.c' line='55' column='1'/>
+      <parameter type-id='type-id-19' name='ressize' filepath='../lib/librte_cmdline/cmdline_parse_string.c' line='56' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_cmdline/cmdline_rdline.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='rdline_clear_history' mangled-name='rdline_clear_history' filepath='../lib/librte_cmdline/cmdline_rdline.c' line='597' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rdline_clear_history@@DPDK_20.0'>
+      <parameter type-id='type-id-51' name='rdl' filepath='../lib/librte_cmdline/cmdline_rdline.c' line='597' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rdline_add_history' mangled-name='rdline_add_history' filepath='../lib/librte_cmdline/cmdline_rdline.c' line='568' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rdline_add_history@@DPDK_20.0'>
+      <parameter type-id='type-id-51' name='rdl' filepath='../lib/librte_cmdline/cmdline_rdline.c' line='568' column='1'/>
+      <parameter type-id='type-id-11' name='buf' filepath='../lib/librte_cmdline/cmdline_rdline.c' line='568' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <function-decl name='rdline_get_history_item' mangled-name='rdline_get_history_item' filepath='../lib/librte_cmdline/cmdline_rdline.c' line='542' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rdline_get_history_item@@DPDK_20.0'>
+      <parameter type-id='type-id-51' name='rdl' filepath='../lib/librte_cmdline/cmdline_rdline.c' line='542' column='1'/>
+      <parameter type-id='type-id-19' name='idx' filepath='../lib/librte_cmdline/cmdline_rdline.c' line='542' column='1'/>
+      <return type-id='type-id-29'/>
+    </function-decl>
+    <function-decl name='rdline_char_in' mangled-name='rdline_char_in' filepath='../lib/librte_cmdline/cmdline_rdline.c' line='171' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rdline_char_in@@DPDK_20.0'>
+      <parameter type-id='type-id-51' name='rdl' filepath='../lib/librte_cmdline/cmdline_rdline.c' line='171' column='1'/>
+      <parameter type-id='type-id-15' name='c' filepath='../lib/librte_cmdline/cmdline_rdline.c' line='171' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <function-decl name='rdline_redisplay' mangled-name='rdline_redisplay' filepath='../lib/librte_cmdline/cmdline_rdline.c' line='153' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rdline_redisplay@@DPDK_20.0'>
+      <parameter type-id='type-id-51' name='rdl' filepath='../lib/librte_cmdline/cmdline_rdline.c' line='153' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rdline_get_buffer' mangled-name='rdline_get_buffer' filepath='../lib/librte_cmdline/cmdline_rdline.c' line='117' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rdline_get_buffer@@DPDK_20.0'>
+      <parameter type-id='type-id-51' name='rdl' filepath='../lib/librte_cmdline/cmdline_rdline.c' line='117' column='1'/>
+      <return type-id='type-id-11'/>
+    </function-decl>
+    <function-decl name='rdline_reset' mangled-name='rdline_reset' filepath='../lib/librte_cmdline/cmdline_rdline.c' line='103' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rdline_reset@@DPDK_20.0'>
+      <parameter type-id='type-id-51' name='rdl' filepath='../lib/librte_cmdline/cmdline_rdline.c' line='597' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rdline_restart' mangled-name='rdline_restart' filepath='../lib/librte_cmdline/cmdline_rdline.c' line='95' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rdline_restart@@DPDK_20.0'>
+      <parameter type-id='type-id-51' name='rdl' filepath='../lib/librte_cmdline/cmdline_rdline.c' line='597' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rdline_quit' mangled-name='rdline_quit' filepath='../lib/librte_cmdline/cmdline_rdline.c' line='87' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rdline_quit@@DPDK_20.0'>
+      <parameter type-id='type-id-51' name='rdl' filepath='../lib/librte_cmdline/cmdline_rdline.c' line='597' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rdline_stop' mangled-name='rdline_stop' filepath='../lib/librte_cmdline/cmdline_rdline.c' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rdline_stop@@DPDK_20.0'>
+      <parameter type-id='type-id-51' name='rdl' filepath='../lib/librte_cmdline/cmdline_rdline.c' line='597' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rdline_newline' mangled-name='rdline_newline' filepath='../lib/librte_cmdline/cmdline_rdline.c' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rdline_newline@@DPDK_20.0'>
+      <parameter type-id='type-id-51' name='rdl' filepath='../lib/librte_cmdline/cmdline_rdline.c' line='55' column='1'/>
+      <parameter type-id='type-id-11' name='prompt' filepath='../lib/librte_cmdline/cmdline_rdline.c' line='55' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rdline_init' mangled-name='rdline_init' filepath='../lib/librte_cmdline/cmdline_rdline.c' line='39' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rdline_init@@DPDK_20.0'>
+      <parameter type-id='type-id-51' name='rdl' filepath='../lib/librte_cmdline/cmdline_rdline.c' line='39' column='1'/>
+      <parameter type-id='type-id-42' name='write_char' filepath='../lib/librte_cmdline/cmdline_rdline.c' line='40' column='1'/>
+      <parameter type-id='type-id-43' name='validate' filepath='../lib/librte_cmdline/cmdline_rdline.c' line='41' column='1'/>
+      <parameter type-id='type-id-44' name='complete' filepath='../lib/librte_cmdline/cmdline_rdline.c' line='42' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_cmdline/cmdline_socket.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='cmdline_stdin_exit' mangled-name='cmdline_stdin_exit' filepath='../lib/librte_cmdline/cmdline_socket.c' line='59' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cmdline_stdin_exit@@DPDK_20.0'>
+      <parameter type-id='type-id-13' name='cl' filepath='../lib/librte_cmdline/cmdline.c' line='174' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='cmdline_stdin_new' mangled-name='cmdline_stdin_new' filepath='../lib/librte_cmdline/cmdline_socket.c' line='39' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cmdline_stdin_new@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='ctx' filepath='../lib/librte_cmdline/cmdline_socket.c' line='39' column='1'/>
+      <parameter type-id='type-id-11' name='prompt' filepath='../lib/librte_cmdline/cmdline_socket.c' line='39' column='1'/>
+      <return type-id='type-id-13'/>
+    </function-decl>
+    <function-decl name='cmdline_file_new' mangled-name='cmdline_file_new' filepath='../lib/librte_cmdline/cmdline_socket.c' line='22' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cmdline_file_new@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='ctx' filepath='../lib/librte_cmdline/cmdline_socket.c' line='22' column='1'/>
+      <parameter type-id='type-id-11' name='prompt' filepath='../lib/librte_cmdline/cmdline_socket.c' line='22' column='1'/>
+      <parameter type-id='type-id-11' name='path' filepath='../lib/librte_cmdline/cmdline_socket.c' line='22' column='1'/>
+      <return type-id='type-id-13'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_cmdline/cmdline_vt100.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+
+    <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='infinite' id='type-id-72'>
+      <subrange length='infinite' id='type-id-33'/>
+
+    </array-type-def>
+    <var-decl name='cmdline_vt100_commands' type-id='type-id-72' visibility='default' filepath='../lib/librte_cmdline/cmdline_vt100.h' line='68' column='1'/>
+    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-73'/>
+    <function-decl name='vt100_parser' mangled-name='vt100_parser' filepath='../lib/librte_cmdline/cmdline_vt100.c' line='77' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='vt100_parser@@DPDK_20.0'>
+      <parameter type-id='type-id-73' name='vt' filepath='../lib/librte_cmdline/cmdline_vt100.c' line='77' column='1'/>
+      <parameter type-id='type-id-15' name='ch' filepath='../lib/librte_cmdline/cmdline_vt100.c' line='77' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <function-decl name='vt100_init' mangled-name='vt100_init' filepath='../lib/librte_cmdline/cmdline_vt100.c' line='48' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='vt100_init@@DPDK_20.0'>
+      <parameter type-id='type-id-73' name='vt' filepath='../lib/librte_cmdline/cmdline_vt100.c' line='48' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_compressdev.dump b/lib/.abi/librte_compressdev.dump
new file mode 100644
index 000000000..3c098b78d
--- /dev/null
+++ b/lib/.abi/librte_compressdev.dump
@@ -0,0 +1,1249 @@
+<abi-corpus path='gcc//lib/librte_compressdev.so.0.200' architecture='elf-amd-x86_64' soname='librte_compressdev.so.0.200'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_comp_get_feature_name' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_comp_op_alloc' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_comp_op_bulk_alloc' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_comp_op_bulk_free' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_comp_op_free' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_comp_op_pool_create' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_compressdev_capability_get' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_compressdev_close' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_compressdev_configure' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_compressdev_count' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_compressdev_dequeue_burst' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_compressdev_devices_get' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_compressdev_enqueue_burst' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_compressdev_get_dev_id' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_compressdev_get_feature_name' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_compressdev_info_get' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_compressdev_name_get' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_compressdev_pmd_allocate' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_compressdev_pmd_create' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_compressdev_pmd_destroy' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_compressdev_pmd_get_named_dev' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_compressdev_pmd_parse_input_args' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_compressdev_pmd_release_device' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_compressdev_private_xform_create' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_compressdev_private_xform_free' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_compressdev_queue_pair_count' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_compressdev_queue_pair_setup' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_compressdev_socket_id' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_compressdev_start' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_compressdev_stats_get' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_compressdev_stats_reset' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_compressdev_stop' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_compressdev_stream_create' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_compressdev_stream_free' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_compressdev/rte_compressdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <class-decl name='rte_compressdev' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='67' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dequeue_burst' type-id='type-id-3' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='enqueue_burst' type-id='type-id-4' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data' type-id='type-id-5' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='73' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_ops' type-id='type-id-6' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='feature_flags' type-id='type-id-7' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-8' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='attached' type-id='type-id-9' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-10'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-10' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-11'/>
+    <typedef-decl name='uint16_t' type-id='type-id-11' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-12'/>
+    <type-decl name='void' id='type-id-13'/>
+    <pointer-type-def type-id='type-id-13' size-in-bits='64' id='type-id-14'/>
+    <class-decl name='rte_comp_op' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='287' column='1' id='type-id-15'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op_type' type-id='type-id-16' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='288' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-17' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mempool' type-id='type-id-18' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='306' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iova_addr' type-id='type-id-19' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='308' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='m_src' type-id='type-id-20' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='310' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='m_dst' type-id='type-id-20' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='318' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='src' type-id='type-id-21' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='349' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='dst' type-id='type-id-22' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='360' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='hash' type-id='type-id-23' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='373' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='flush_flag' type-id='type-id-24' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='374' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='input_chksum' type-id='type-id-7' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='378' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='output_chksum' type-id='type-id-7' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='383' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='consumed' type-id='type-id-25' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='387' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='864'>
+        <var-decl name='produced' type-id='type-id-25' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='391' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='debug_status' type-id='type-id-7' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='395' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='status' type-id='type-id-9' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='401' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-26'/>
+    <enum-decl name='rte_comp_op_type' filepath='../lib/librte_compressdev/rte_comp.h' line='197' column='1' id='type-id-16'>
+      <underlying-type type-id='type-id-26'/>
+      <enumerator name='RTE_COMP_OP_STATELESS' value='0'/>
+      <enumerator name='RTE_COMP_OP_STATEFUL' value='1'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='289' column='1' id='type-id-17'>
+      <data-member access='private'>
+        <var-decl name='private_xform' type-id='type-id-14' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='290' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='stream' type-id='type-id-14' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='295' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-27'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-29' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-14' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-30' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-31' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-25' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-31' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-33' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-34' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-25' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-35' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-36'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-37'/>
+
+    <array-type-def dimensions='1' type-id='type-id-36' size-in-bits='256' id='type-id-28'>
+      <subrange length='32' type-id='type-id-37' id='type-id-38'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-29'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-14' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-7' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='__uint64_t' type-id='type-id-37' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-39'/>
+    <typedef-decl name='uint64_t' type-id='type-id-39' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-7'/>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-40'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-28' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-41' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-42' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-7' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-32' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-25' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-41'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-43' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-7' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-43'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-7' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-19'/>
+    <typedef-decl name='size_t' type-id='type-id-37' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-42'/>
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-44'/>
+    <typedef-decl name='int32_t' type-id='type-id-44' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-32'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-31'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-31' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-45'/>
+    <typedef-decl name='uint32_t' type-id='type-id-45' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-25'/>
+    <qualified-type-def type-id='type-id-40' const='yes' id='type-id-46'/>
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-30'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-47'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-25' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-25' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-25' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-48' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-14' size-in-bits='98304' id='type-id-48'>
+      <subrange length='1536' type-id='type-id-37' id='type-id-49'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-33'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-34'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-50' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-51' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-52'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-53' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-18' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-54' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-53'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-50' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-52' size-in-bits='64' id='type-id-50'/>
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-18'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-54'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-19' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-43' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-50' size-in-bits='64' id='type-id-51'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-35'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-55' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-56' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-57'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-58' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-18' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-14' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-59' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-42' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-60' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-14' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-58'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-55' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-57' size-in-bits='64' id='type-id-55'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-59'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-19' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-43' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-61' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-62'/>
+    <pointer-type-def type-id='type-id-62' size-in-bits='64' id='type-id-60'/>
+    <pointer-type-def type-id='type-id-55' size-in-bits='64' id='type-id-56'/>
+    <class-decl name='rte_mbuf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='480' column='1' id='type-id-63'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheline0' type-id='type-id-64' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-14' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-65' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rearm_data' type-id='type-id-66' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='497' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_off' type-id='type-id-12' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_segs' type-id='type-id-12' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='port' type-id='type-id-12' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ol_flags' type-id='type-id-7' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_descriptor_fields1' type-id='type-id-64' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='pkt_len' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data_len' type-id='type-id-12' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='vlan_tci' type-id='type-id-12' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vlan_tci_outer' type-id='type-id-12' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='buf_len' type-id='type-id-12' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='timestamp' type-id='type-id-7' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cacheline1' type-id='type-id-64' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='pool' type-id='type-id-18' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='next' type-id='type-id-20' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv_size' type-id='type-id-12' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='timesync' type-id='type-id-12' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='seqn' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='shinfo' type-id='type-id-67' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dynfield1' type-id='type-id-68' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-14' size-in-bits='infinite' id='type-id-69'>
+      <subrange length='infinite' type-id='type-id-37' id='type-id-70'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER' type-id='type-id-69' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='414' column='1' id='type-id-64'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='491' column='1' id='type-id-65'>
+      <data-member access='private'>
+        <var-decl name='buf_iova' type-id='type-id-19' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='buf_physaddr' type-id='type-id-19' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='infinite' id='type-id-71'>
+      <subrange length='infinite' type-id='type-id-37' id='type-id-70'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER64' type-id='type-id-71' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='420' column='1' id='type-id-66'/>
+    <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-20'/>
+    <class-decl name='rte_mbuf_ext_shared_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='689' column='1' id='type-id-72'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_cb' type-id='type-id-73' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcb_opaque' type-id='type-id-14' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt_atomic' type-id='type-id-74' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-75' size-in-bits='64' id='type-id-76'/>
+    <typedef-decl name='rte_mbuf_extbuf_free_callback_t' type-id='type-id-76' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='684' column='1' id='type-id-73'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-74' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-77'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-78' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-79'/>
+    <typedef-decl name='__int16_t' type-id='type-id-79' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-80'/>
+    <typedef-decl name='int16_t' type-id='type-id-80' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-81'/>
+    <qualified-type-def type-id='type-id-81' volatile='yes' id='type-id-78'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-77' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-74'/>
+    <pointer-type-def type-id='type-id-72' size-in-bits='64' id='type-id-67'/>
+
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='128' id='type-id-68'>
+      <subrange length='2' type-id='type-id-37' id='type-id-82'/>
+
+    </array-type-def>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='334' column='1' id='type-id-21'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='offset' type-id='type-id-25' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='335' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='length' type-id='type-id-25' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='343' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='350' column='1' id='type-id-22'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='offset' type-id='type-id-25' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='351' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='361' column='1' id='type-id-23'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='digest' type-id='type-id-83' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='362' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='iova_addr' type-id='type-id-19' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='371' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-84'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-84' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-85'/>
+    <typedef-decl name='uint8_t' type-id='type-id-85' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-9'/>
+    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-83'/>
+    <enum-decl name='rte_comp_flush_flag' filepath='../lib/librte_compressdev/rte_comp.h' line='166' column='1' id='type-id-24'>
+      <underlying-type type-id='type-id-26'/>
+      <enumerator name='RTE_COMP_FLUSH_NONE' value='0'/>
+      <enumerator name='RTE_COMP_FLUSH_SYNC' value='1'/>
+      <enumerator name='RTE_COMP_FLUSH_FULL' value='2'/>
+      <enumerator name='RTE_COMP_FLUSH_FINAL' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-15' size-in-bits='64' id='type-id-86'/>
+    <pointer-type-def type-id='type-id-86' size-in-bits='64' id='type-id-87'/>
+    <pointer-type-def type-id='type-id-88' size-in-bits='64' id='type-id-89'/>
+    <typedef-decl name='compressdev_dequeue_pkt_burst_t' type-id='type-id-89' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='41' column='1' id='type-id-3'/>
+    <typedef-decl name='compressdev_enqueue_pkt_burst_t' type-id='type-id-89' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='63' column='1' id='type-id-4'/>
+    <class-decl name='rte_compressdev_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='94' column='1' id='type-id-90'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_id' type-id='type-id-9' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='95' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='socket_id' type-id='type-id-9' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='97' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='name' type-id='type-id-91' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='99' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='dev_started' type-id='type-id-9' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='103' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='queue_pairs' type-id='type-id-92' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='nb_queue_pairs' type-id='type-id-12' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='dev_private' type-id='type-id-14' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='111' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-36' size-in-bits='512' id='type-id-91'>
+      <subrange length='64' type-id='type-id-37' id='type-id-93'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-92'/>
+    <pointer-type-def type-id='type-id-90' size-in-bits='64' id='type-id-5'/>
+    <class-decl name='rte_compressdev_ops' size-in-bits='832' is-struct='yes' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='259' column='1' id='type-id-94'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_configure' type-id='type-id-95' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_start' type-id='type-id-96' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dev_stop' type-id='type-id-97' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='262' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_close' type-id='type-id-98' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='263' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dev_infos_get' type-id='type-id-99' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='265' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='stats_get' type-id='type-id-100' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='267' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='stats_reset' type-id='type-id-101' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='269' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='queue_pair_setup' type-id='type-id-102' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='272' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='queue_pair_release' type-id='type-id-103' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='274' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='stream_create' type-id='type-id-104' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='277' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='stream_free' type-id='type-id-105' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='private_xform_create' type-id='type-id-106' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='282' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='private_xform_free' type-id='type-id-107' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='284' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-108'/>
+    <class-decl name='rte_compressdev_config' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='194' column='1' id='type-id-109'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_queue_pairs' type-id='type-id-12' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='197' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='max_nb_priv_xforms' type-id='type-id-12' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='199' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='max_nb_streams' type-id='type-id-12' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='201' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-109' size-in-bits='64' id='type-id-110'/>
+    <pointer-type-def type-id='type-id-111' size-in-bits='64' id='type-id-112'/>
+    <typedef-decl name='compressdev_configure_t' type-id='type-id-112' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='82' column='1' id='type-id-95'/>
+    <pointer-type-def type-id='type-id-113' size-in-bits='64' id='type-id-114'/>
+    <typedef-decl name='compressdev_start_t' type-id='type-id-114' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='93' column='1' id='type-id-96'/>
+    <pointer-type-def type-id='type-id-115' size-in-bits='64' id='type-id-116'/>
+    <typedef-decl name='compressdev_stop_t' type-id='type-id-116' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='101' column='1' id='type-id-97'/>
+    <typedef-decl name='compressdev_close_t' type-id='type-id-114' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='112' column='1' id='type-id-98'/>
+    <class-decl name='rte_compressdev_info' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='98' column='1' id='type-id-117'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='driver_name' type-id='type-id-118' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='99' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='feature_flags' type-id='type-id-7' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='100' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='capabilities' type-id='type-id-119' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='101' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='max_nb_queue_pairs' type-id='type-id-12' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='103' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-36' const='yes' id='type-id-120'/>
+    <pointer-type-def type-id='type-id-120' size-in-bits='64' id='type-id-118'/>
+    <class-decl name='rte_compressdev_capabilities' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='40' column='1' id='type-id-121'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-122' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='comp_feature_flags' type-id='type-id-7' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='window_size' type-id='type-id-123' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='45' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_comp_algorithm' filepath='../lib/librte_compressdev/rte_comp.h' line='96' column='1' id='type-id-122'>
+      <underlying-type type-id='type-id-26'/>
+      <enumerator name='RTE_COMP_ALGO_UNSPECIFIED' value='0'/>
+      <enumerator name='RTE_COMP_ALGO_NULL' value='1'/>
+      <enumerator name='RTE_COMP_ALGO_DEFLATE' value='2'/>
+      <enumerator name='RTE_COMP_ALGO_LZS' value='3'/>
+      <enumerator name='RTE_COMP_ALGO_LIST_END' value='4'/>
+    </enum-decl>
+    <class-decl name='rte_param_log2_range' size-in-bits='24' is-struct='yes' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='28' column='1' id='type-id-123'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='min' type-id='type-id-9' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='29' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='max' type-id='type-id-9' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='30' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='increment' type-id='type-id-9' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='31' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-121' const='yes' id='type-id-124'/>
+    <pointer-type-def type-id='type-id-124' size-in-bits='64' id='type-id-119'/>
+    <pointer-type-def type-id='type-id-117' size-in-bits='64' id='type-id-125'/>
+    <pointer-type-def type-id='type-id-126' size-in-bits='64' id='type-id-127'/>
+    <typedef-decl name='compressdev_info_get_t' type-id='type-id-127' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='142' column='1' id='type-id-99'/>
+    <class-decl name='rte_compressdev_stats' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='110' column='1' id='type-id-128'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='enqueued_count' type-id='type-id-7' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='111' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dequeued_count' type-id='type-id-7' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='113' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='enqueue_err_count' type-id='type-id-7' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='116' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dequeue_err_count' type-id='type-id-7' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev.h' line='118' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-128' size-in-bits='64' id='type-id-129'/>
+    <pointer-type-def type-id='type-id-130' size-in-bits='64' id='type-id-131'/>
+    <typedef-decl name='compressdev_stats_get_t' type-id='type-id-131' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='123' column='1' id='type-id-100'/>
+    <typedef-decl name='compressdev_stats_reset_t' type-id='type-id-116' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='133' column='1' id='type-id-101'/>
+    <pointer-type-def type-id='type-id-132' size-in-bits='64' id='type-id-133'/>
+    <typedef-decl name='compressdev_queue_pair_setup_t' type-id='type-id-133' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='159' column='1' id='type-id-102'/>
+    <pointer-type-def type-id='type-id-134' size-in-bits='64' id='type-id-135'/>
+    <typedef-decl name='compressdev_queue_pair_release_t' type-id='type-id-135' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='173' column='1' id='type-id-103'/>
+    <class-decl name='rte_comp_xform' size-in-bits='224' is-struct='yes' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='267' column='1' id='type-id-136'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-137' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='268' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='' type-id='type-id-138' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_comp_xform_type' filepath='../lib/librte_compressdev/rte_comp.h' line='189' column='1' id='type-id-137'>
+      <underlying-type type-id='type-id-26'/>
+      <enumerator name='RTE_COMP_COMPRESS' value='0'/>
+      <enumerator name='RTE_COMP_DECOMPRESS' value='1'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='270' column='1' id='type-id-138'>
+      <data-member access='private'>
+        <var-decl name='compress' type-id='type-id-139' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='271' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='decompress' type-id='type-id-140' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='273' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_comp_compress_xform' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='219' column='1' id='type-id-139'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-122' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='220' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='' type-id='type-id-141' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='level' type-id='type-id-1' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='226' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='window_size' type-id='type-id-9' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='chksum' type-id='type-id-142' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='hash_algo' type-id='type-id-143' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='235' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='222' column='1' id='type-id-141'>
+      <data-member access='private'>
+        <var-decl name='deflate' type-id='type-id-144' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='223' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_comp_deflate_params' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='213' column='1' id='type-id-144'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='huffman' type-id='type-id-145' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='214' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_comp_huffman' filepath='../lib/librte_compressdev/rte_comp.h' line='156' column='1' id='type-id-145'>
+      <underlying-type type-id='type-id-26'/>
+      <enumerator name='RTE_COMP_HUFFMAN_DEFAULT' value='0'/>
+      <enumerator name='RTE_COMP_HUFFMAN_FIXED' value='1'/>
+      <enumerator name='RTE_COMP_HUFFMAN_DYNAMIC' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_comp_checksum_type' filepath='../lib/librte_compressdev/rte_comp.h' line='141' column='1' id='type-id-142'>
+      <underlying-type type-id='type-id-26'/>
+      <enumerator name='RTE_COMP_CHECKSUM_NONE' value='0'/>
+      <enumerator name='RTE_COMP_CHECKSUM_CRC32' value='1'/>
+      <enumerator name='RTE_COMP_CHECKSUM_ADLER32' value='2'/>
+      <enumerator name='RTE_COMP_CHECKSUM_CRC32_ADLER32' value='3'/>
+    </enum-decl>
+    <enum-decl name='rte_comp_hash_algorithm' filepath='../lib/librte_compressdev/rte_comp.h' line='116' column='1' id='type-id-143'>
+      <underlying-type type-id='type-id-26'/>
+      <enumerator name='RTE_COMP_HASH_ALGO_NONE' value='0'/>
+      <enumerator name='RTE_COMP_HASH_ALGO_SHA1' value='1'/>
+      <enumerator name='RTE_COMP_HASH_ALGO_SHA2_256' value='2'/>
+      <enumerator name='RTE_COMP_HASH_ALGO_LIST_END' value='3'/>
+    </enum-decl>
+    <class-decl name='rte_comp_decompress_xform' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='244' column='1' id='type-id-140'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-122' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='chksum' type-id='type-id-142' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='window_size' type-id='type-id-9' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='hash_algo' type-id='type-id-143' visibility='default' filepath='../lib/librte_compressdev/rte_comp.h' line='254' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-136' const='yes' id='type-id-146'/>
+    <pointer-type-def type-id='type-id-146' size-in-bits='64' id='type-id-147'/>
+    <pointer-type-def type-id='type-id-148' size-in-bits='64' id='type-id-149'/>
+    <typedef-decl name='compressdev_stream_create_t' type-id='type-id-149' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='202' column='1' id='type-id-104'/>
+    <pointer-type-def type-id='type-id-150' size-in-bits='64' id='type-id-151'/>
+    <typedef-decl name='compressdev_stream_free_t' type-id='type-id-151' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='219' column='1' id='type-id-105'/>
+    <typedef-decl name='compressdev_private_xform_create_t' type-id='type-id-149' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='239' column='1' id='type-id-106'/>
+    <typedef-decl name='compressdev_private_xform_free_t' type-id='type-id-151' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='255' column='1' id='type-id-107'/>
+    <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-6'/>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-152'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-153' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-118' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-154' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-155' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-156' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-153'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-8' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-157' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-152' size-in-bits='64' id='type-id-8'/>
+    <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-157'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-158'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-159' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-118' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-118' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-159'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-160' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-161' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-158' size-in-bits='64' id='type-id-160'/>
+    <pointer-type-def type-id='type-id-160' size-in-bits='64' id='type-id-161'/>
+    <qualified-type-def type-id='type-id-158' const='yes' id='type-id-162'/>
+    <pointer-type-def type-id='type-id-162' size-in-bits='64' id='type-id-154'/>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-163'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-164' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-118' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-165' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-166' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-167' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-168' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-169' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-170' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-171' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-172' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-173' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-174' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-175' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-176' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-177' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-164'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-178' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-179' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-163' size-in-bits='64' id='type-id-178'/>
+    <pointer-type-def type-id='type-id-178' size-in-bits='64' id='type-id-179'/>
+    <pointer-type-def type-id='type-id-180' size-in-bits='64' id='type-id-181'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-181' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-165'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-181' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-166'/>
+    <qualified-type-def type-id='type-id-152' const='yes' id='type-id-182'/>
+    <pointer-type-def type-id='type-id-182' size-in-bits='64' id='type-id-183'/>
+    <pointer-type-def type-id='type-id-184' size-in-bits='64' id='type-id-185'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-185' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-186'/>
+    <pointer-type-def type-id='type-id-187' size-in-bits='64' id='type-id-188'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-188' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-167'/>
+    <pointer-type-def type-id='type-id-189' size-in-bits='64' id='type-id-190'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-190' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-168'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-190' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-169'/>
+    <pointer-type-def type-id='type-id-191' size-in-bits='64' id='type-id-192'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-192' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-170'/>
+    <pointer-type-def type-id='type-id-193' size-in-bits='64' id='type-id-194'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-194' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-171'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-194' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-172'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-173'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-195' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-195'>
+      <underlying-type type-id='type-id-26'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-196'>
+      <underlying-type type-id='type-id-26'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-197' size-in-bits='64' id='type-id-198'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-198' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-174'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-199'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-118' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-118' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-118' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-178' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-200' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-8' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-14' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-201'/>
+    <pointer-type-def type-id='type-id-201' size-in-bits='64' id='type-id-200'/>
+    <qualified-type-def type-id='type-id-199' const='yes' id='type-id-202'/>
+    <pointer-type-def type-id='type-id-202' size-in-bits='64' id='type-id-203'/>
+    <pointer-type-def type-id='type-id-204' size-in-bits='64' id='type-id-205'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-205' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-175'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-190' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-176'/>
+    <pointer-type-def type-id='type-id-206' size-in-bits='64' id='type-id-207'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-207' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-177'/>
+    <qualified-type-def type-id='type-id-163' const='yes' id='type-id-208'/>
+    <pointer-type-def type-id='type-id-208' size-in-bits='64' id='type-id-155'/>
+    <class-decl name='rte_devargs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-209'/>
+    <pointer-type-def type-id='type-id-209' size-in-bits='64' id='type-id-156'/>
+    <function-decl name='rte_compressdev_pmd_release_device' mangled-name='rte_compressdev_pmd_release_device' filepath='../lib/librte_compressdev/rte_compressdev.c' line='272' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_compressdev_pmd_release_device@@EXPERIMENTAL'>
+      <parameter type-id='type-id-108' name='compressdev' filepath='../lib/librte_compressdev/rte_compressdev.c' line='272' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_compressdev_pmd_allocate' mangled-name='rte_compressdev_pmd_allocate' filepath='../lib/librte_compressdev/rte_compressdev.c' line='226' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_compressdev_pmd_allocate@@EXPERIMENTAL'>
+      <parameter type-id='type-id-118' name='name' filepath='../lib/librte_compressdev/rte_compressdev.c' line='226' column='1'/>
+      <parameter type-id='type-id-1' name='socket_id' filepath='../lib/librte_compressdev/rte_compressdev.c' line='226' column='1'/>
+      <return type-id='type-id-108'/>
+    </function-decl>
+    <function-decl name='rte_compressdev_pmd_get_named_dev' mangled-name='rte_compressdev_pmd_get_named_dev' filepath='../lib/librte_compressdev/rte_compressdev.c' line='84' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_compressdev_pmd_get_named_dev@@EXPERIMENTAL'>
+      <parameter type-id='type-id-118' name='name' filepath='../lib/librte_compressdev/rte_compressdev.c' line='84' column='1'/>
+      <return type-id='type-id-108'/>
+    </function-decl>
+    <function-decl name='rte_compressdev_private_xform_free' mangled-name='rte_compressdev_private_xform_free' filepath='../lib/librte_compressdev/rte_compressdev.c' line='684' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_compressdev_private_xform_free@@EXPERIMENTAL'>
+      <parameter type-id='type-id-9' name='dev_id' filepath='../lib/librte_compressdev/rte_compressdev.c' line='684' column='1'/>
+      <parameter type-id='type-id-14' name='priv_xform' filepath='../lib/librte_compressdev/rte_compressdev.c' line='684' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_compressdev_private_xform_create' mangled-name='rte_compressdev_private_xform_create' filepath='../lib/librte_compressdev/rte_compressdev.c' line='659' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_compressdev_private_xform_create@@EXPERIMENTAL'>
+      <parameter type-id='type-id-9' name='dev_id' filepath='../lib/librte_compressdev/rte_compressdev.c' line='659' column='1'/>
+      <parameter type-id='type-id-147' name='xform' filepath='../lib/librte_compressdev/rte_compressdev.c' line='660' column='1'/>
+      <parameter type-id='type-id-92' name='priv_xform' filepath='../lib/librte_compressdev/rte_compressdev.c' line='661' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_compressdev_stream_free' mangled-name='rte_compressdev_stream_free' filepath='../lib/librte_compressdev/rte_compressdev.c' line='733' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_compressdev_stream_free@@EXPERIMENTAL'>
+      <parameter type-id='type-id-9' name='dev_id' filepath='../lib/librte_compressdev/rte_compressdev.c' line='684' column='1'/>
+      <parameter type-id='type-id-14' name='priv_xform' filepath='../lib/librte_compressdev/rte_compressdev.c' line='684' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_compressdev_stream_create' mangled-name='rte_compressdev_stream_create' filepath='../lib/librte_compressdev/rte_compressdev.c' line='707' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_compressdev_stream_create@@EXPERIMENTAL'>
+      <parameter type-id='type-id-9' name='dev_id' filepath='../lib/librte_compressdev/rte_compressdev.c' line='659' column='1'/>
+      <parameter type-id='type-id-147' name='xform' filepath='../lib/librte_compressdev/rte_compressdev.c' line='660' column='1'/>
+      <parameter type-id='type-id-92' name='priv_xform' filepath='../lib/librte_compressdev/rte_compressdev.c' line='661' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_compressdev_enqueue_burst' mangled-name='rte_compressdev_enqueue_burst' filepath='../lib/librte_compressdev/rte_compressdev.c' line='589' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_compressdev_enqueue_burst@@EXPERIMENTAL'>
+      <parameter type-id='type-id-9' name='dev_id' filepath='../lib/librte_compressdev/rte_compressdev.c' line='589' column='1'/>
+      <parameter type-id='type-id-12' name='qp_id' filepath='../lib/librte_compressdev/rte_compressdev.c' line='589' column='1'/>
+      <parameter type-id='type-id-87' name='ops' filepath='../lib/librte_compressdev/rte_compressdev.c' line='590' column='1'/>
+      <parameter type-id='type-id-12' name='nb_ops' filepath='../lib/librte_compressdev/rte_compressdev.c' line='590' column='1'/>
+      <return type-id='type-id-12'/>
+    </function-decl>
+    <function-decl name='rte_compressdev_dequeue_burst' mangled-name='rte_compressdev_dequeue_burst' filepath='../lib/librte_compressdev/rte_compressdev.c' line='577' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_compressdev_dequeue_burst@@EXPERIMENTAL'>
+      <parameter type-id='type-id-9' name='dev_id' filepath='../lib/librte_compressdev/rte_compressdev.c' line='589' column='1'/>
+      <parameter type-id='type-id-12' name='qp_id' filepath='../lib/librte_compressdev/rte_compressdev.c' line='589' column='1'/>
+      <parameter type-id='type-id-87' name='ops' filepath='../lib/librte_compressdev/rte_compressdev.c' line='590' column='1'/>
+      <parameter type-id='type-id-12' name='nb_ops' filepath='../lib/librte_compressdev/rte_compressdev.c' line='590' column='1'/>
+      <return type-id='type-id-12'/>
+    </function-decl>
+    <function-decl name='rte_compressdev_info_get' mangled-name='rte_compressdev_info_get' filepath='../lib/librte_compressdev/rte_compressdev.c' line='639' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_compressdev_info_get@@EXPERIMENTAL'>
+      <parameter type-id='type-id-9' name='dev_id' filepath='../lib/librte_compressdev/rte_compressdev.c' line='639' column='1'/>
+      <parameter type-id='type-id-125' name='dev_info' filepath='../lib/librte_compressdev/rte_compressdev.c' line='639' column='1'/>
+      <return type-id='type-id-13'/>
+    </function-decl>
+    <function-decl name='rte_compressdev_stats_reset' mangled-name='rte_compressdev_stats_reset' filepath='../lib/librte_compressdev/rte_compressdev.c' line='622' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_compressdev_stats_reset@@EXPERIMENTAL'>
+      <parameter type-id='type-id-9' name='dev_id' filepath='../lib/librte_compressdev/rte_compressdev.c' line='622' column='1'/>
+      <return type-id='type-id-13'/>
+    </function-decl>
+    <function-decl name='rte_compressdev_stats_get' mangled-name='rte_compressdev_stats_get' filepath='../lib/librte_compressdev/rte_compressdev.c' line='599' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_compressdev_stats_get@@EXPERIMENTAL'>
+      <parameter type-id='type-id-9' name='dev_id' filepath='../lib/librte_compressdev/rte_compressdev.c' line='599' column='1'/>
+      <parameter type-id='type-id-129' name='stats' filepath='../lib/librte_compressdev/rte_compressdev.c' line='599' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_compressdev_queue_pair_count' mangled-name='rte_compressdev_queue_pair_count' filepath='../lib/librte_compressdev/rte_compressdev.c' line='292' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_compressdev_queue_pair_count@@EXPERIMENTAL'>
+      <parameter type-id='type-id-9' name='dev_id' filepath='../lib/librte_compressdev/rte_compressdev.c' line='292' column='1'/>
+      <return type-id='type-id-12'/>
+    </function-decl>
+    <function-decl name='rte_compressdev_queue_pair_setup' mangled-name='rte_compressdev_queue_pair_setup' filepath='../lib/librte_compressdev/rte_compressdev.c' line='542' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_compressdev_queue_pair_setup@@EXPERIMENTAL'>
+      <parameter type-id='type-id-9' name='dev_id' filepath='../lib/librte_compressdev/rte_compressdev.c' line='542' column='1'/>
+      <parameter type-id='type-id-12' name='queue_pair_id' filepath='../lib/librte_compressdev/rte_compressdev.c' line='542' column='1'/>
+      <parameter type-id='type-id-25' name='max_inflight_ops' filepath='../lib/librte_compressdev/rte_compressdev.c' line='543' column='1'/>
+      <parameter type-id='type-id-1' name='socket_id' filepath='../lib/librte_compressdev/rte_compressdev.c' line='543' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_compressdev_close' mangled-name='rte_compressdev_close' filepath='../lib/librte_compressdev/rte_compressdev.c' line='507' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_compressdev_close@@EXPERIMENTAL'>
+      <parameter type-id='type-id-9' name='dev_id' filepath='../lib/librte_compressdev/rte_compressdev.c' line='507' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_compressdev_stop' mangled-name='rte_compressdev_stop' filepath='../lib/librte_compressdev/rte_compressdev.c' line='483' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_compressdev_stop@@EXPERIMENTAL'>
+      <parameter type-id='type-id-9' name='dev_id' filepath='../lib/librte_compressdev/rte_compressdev.c' line='622' column='1'/>
+      <return type-id='type-id-13'/>
+    </function-decl>
+    <function-decl name='rte_compressdev_start' mangled-name='rte_compressdev_start' filepath='../lib/librte_compressdev/rte_compressdev.c' line='451' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_compressdev_start@@EXPERIMENTAL'>
+      <parameter type-id='type-id-9' name='dev_id' filepath='../lib/librte_compressdev/rte_compressdev.c' line='507' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_compressdev_configure' mangled-name='rte_compressdev_configure' filepath='../lib/librte_compressdev/rte_compressdev.c' line='417' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_compressdev_configure@@EXPERIMENTAL'>
+      <parameter type-id='type-id-9' name='dev_id' filepath='../lib/librte_compressdev/rte_compressdev.c' line='417' column='1'/>
+      <parameter type-id='type-id-110' name='config' filepath='../lib/librte_compressdev/rte_compressdev.c' line='417' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_compressdev_socket_id' mangled-name='rte_compressdev_socket_id' filepath='../lib/librte_compressdev/rte_compressdev.c' line='169' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_compressdev_socket_id@@EXPERIMENTAL'>
+      <parameter type-id='type-id-9' name='dev_id' filepath='../lib/librte_compressdev/rte_compressdev.c' line='169' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_compressdev_devices_get' mangled-name='rte_compressdev_devices_get' filepath='../lib/librte_compressdev/rte_compressdev.c' line='144' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_compressdev_devices_get@@EXPERIMENTAL'>
+      <parameter type-id='type-id-118' name='driver_name' filepath='../lib/librte_compressdev/rte_compressdev.c' line='144' column='1'/>
+      <parameter type-id='type-id-83' name='devices' filepath='../lib/librte_compressdev/rte_compressdev.c' line='144' column='1'/>
+      <parameter type-id='type-id-9' name='nb_devices' filepath='../lib/librte_compressdev/rte_compressdev.c' line='145' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <function-decl name='rte_compressdev_count' mangled-name='rte_compressdev_count' filepath='../lib/librte_compressdev/rte_compressdev.c' line='138' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_compressdev_count@@EXPERIMENTAL'>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <function-decl name='rte_compressdev_name_get' mangled-name='rte_compressdev_name_get' filepath='../lib/librte_compressdev/rte_compressdev.c' line='756' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_compressdev_name_get@@EXPERIMENTAL'>
+      <parameter type-id='type-id-9' name='dev_id' filepath='../lib/librte_compressdev/rte_compressdev.c' line='756' column='1'/>
+      <return type-id='type-id-118'/>
+    </function-decl>
+    <function-decl name='rte_compressdev_get_dev_id' mangled-name='rte_compressdev_get_dev_id' filepath='../lib/librte_compressdev/rte_compressdev.c' line='120' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_compressdev_get_dev_id@@EXPERIMENTAL'>
+      <parameter type-id='type-id-118' name='name' filepath='../lib/librte_compressdev/rte_compressdev.c' line='120' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_compressdev_get_feature_name' mangled-name='rte_compressdev_get_feature_name' filepath='../lib/librte_compressdev/rte_compressdev.c' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_compressdev_get_feature_name@@EXPERIMENTAL'>
+      <parameter type-id='type-id-7' name='flag' filepath='../lib/librte_compressdev/rte_compressdev.c' line='55' column='1'/>
+      <return type-id='type-id-118'/>
+    </function-decl>
+    <function-decl name='rte_compressdev_capability_get' mangled-name='rte_compressdev_capability_get' filepath='../lib/librte_compressdev/rte_compressdev.c' line='32' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_compressdev_capability_get@@EXPERIMENTAL'>
+      <parameter type-id='type-id-9' name='dev_id' filepath='../lib/librte_compressdev/rte_compressdev.c' line='32' column='1'/>
+      <parameter type-id='type-id-122' name='algo' filepath='../lib/librte_compressdev/rte_compressdev.c' line='33' column='1'/>
+      <return type-id='type-id-119'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-197'>
+      <return type-id='type-id-196'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-180'>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-191'>
+      <parameter type-id='type-id-118'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-184'>
+      <parameter type-id='type-id-183'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-113'>
+      <parameter type-id='type-id-108'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-148'>
+      <parameter type-id='type-id-108'/>
+      <parameter type-id='type-id-147'/>
+      <parameter type-id='type-id-92'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-111'>
+      <parameter type-id='type-id-108'/>
+      <parameter type-id='type-id-110'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-134'>
+      <parameter type-id='type-id-108'/>
+      <parameter type-id='type-id-12'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-132'>
+      <parameter type-id='type-id-108'/>
+      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-150'>
+      <parameter type-id='type-id-108'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-189'>
+      <parameter type-id='type-id-8'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-193'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-7'/>
+      <parameter type-id='type-id-42'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-206'>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-187'>
+      <parameter type-id='type-id-183'/>
+      <parameter type-id='type-id-186'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-88'>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-87'/>
+      <parameter type-id='type-id-12'/>
+      <return type-id='type-id-12'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-115'>
+      <parameter type-id='type-id-108'/>
+      <return type-id='type-id-13'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-126'>
+      <parameter type-id='type-id-108'/>
+      <parameter type-id='type-id-125'/>
+      <return type-id='type-id-13'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-130'>
+      <parameter type-id='type-id-108'/>
+      <parameter type-id='type-id-129'/>
+      <return type-id='type-id-13'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-61'>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-13'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-75'>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-13'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-204'>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-118'/>
+      <parameter type-id='type-id-203'/>
+      <return type-id='type-id-14'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_compressdev/rte_compressdev_pmd.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='compressdev_logtype' type-id='type-id-1' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_internal.h' line='19' column='1'/>
+    <function-decl name='rte_compressdev_pmd_destroy' mangled-name='rte_compressdev_pmd_destroy' filepath='../lib/librte_compressdev/rte_compressdev_pmd.c' line='137' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_compressdev_pmd_destroy@@EXPERIMENTAL'>
+      <parameter type-id='type-id-108' name='compressdev' filepath='../lib/librte_compressdev/rte_compressdev_pmd.c' line='137' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_compressdev_pmd_init_params' size-in-bits='544' is-struct='yes' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='40' column='1' id='type-id-210'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-91' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_compressdev/rte_compressdev_pmd.h' line='42' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-210' size-in-bits='64' id='type-id-211'/>
+    <function-decl name='rte_compressdev_pmd_create' mangled-name='rte_compressdev_pmd_create' filepath='../lib/librte_compressdev/rte_compressdev_pmd.c' line='88' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_compressdev_pmd_create@@EXPERIMENTAL'>
+      <parameter type-id='type-id-118' name='name' filepath='../lib/librte_compressdev/rte_compressdev_pmd.c' line='88' column='1'/>
+      <parameter type-id='type-id-8' name='device' filepath='../lib/librte_compressdev/rte_compressdev_pmd.c' line='89' column='1'/>
+      <parameter type-id='type-id-42' name='private_data_size' filepath='../lib/librte_compressdev/rte_compressdev_pmd.c' line='90' column='1'/>
+      <parameter type-id='type-id-211' name='params' filepath='../lib/librte_compressdev/rte_compressdev_pmd.c' line='91' column='1'/>
+      <return type-id='type-id-108'/>
+    </function-decl>
+    <function-decl name='rte_compressdev_pmd_parse_input_args' mangled-name='rte_compressdev_pmd_parse_input_args' filepath='../lib/librte_compressdev/rte_compressdev_pmd.c' line='52' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_compressdev_pmd_parse_input_args@@EXPERIMENTAL'>
+      <parameter type-id='type-id-211' name='params' filepath='../lib/librte_compressdev/rte_compressdev_pmd.c' line='53' column='1'/>
+      <parameter type-id='type-id-118' name='args' filepath='../lib/librte_compressdev/rte_compressdev_pmd.c' line='54' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_compressdev/rte_comp.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='rte_comp_get_feature_name' mangled-name='rte_comp_get_feature_name' filepath='../lib/librte_compressdev/rte_comp.c' line='10' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_comp_get_feature_name@@EXPERIMENTAL'>
+      <parameter type-id='type-id-7' name='flag' filepath='../lib/librte_compressdev/rte_compressdev.c' line='55' column='1'/>
+      <return type-id='type-id-118'/>
+    </function-decl>
+    <function-decl name='rte_comp_op_bulk_free' mangled-name='rte_comp_op_bulk_free' filepath='../lib/librte_compressdev/rte_comp.c' line='218' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_comp_op_bulk_free@@EXPERIMENTAL'>
+      <parameter type-id='type-id-87' name='ops' filepath='../lib/librte_compressdev/rte_comp.c' line='218' column='1'/>
+      <parameter type-id='type-id-12' name='nb_ops' filepath='../lib/librte_compressdev/rte_comp.c' line='218' column='1'/>
+      <return type-id='type-id-13'/>
+    </function-decl>
+    <function-decl name='rte_comp_op_free' mangled-name='rte_comp_op_free' filepath='../lib/librte_compressdev/rte_comp.c' line='211' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_comp_op_free@@EXPERIMENTAL'>
+      <parameter type-id='type-id-86' name='op' filepath='../lib/librte_compressdev/rte_comp.c' line='211' column='1'/>
+      <return type-id='type-id-13'/>
+    </function-decl>
+    <function-decl name='rte_comp_op_bulk_alloc' mangled-name='rte_comp_op_bulk_alloc' filepath='../lib/librte_compressdev/rte_comp.c' line='186' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_comp_op_bulk_alloc@@EXPERIMENTAL'>
+      <parameter type-id='type-id-18' name='mempool' filepath='../lib/librte_compressdev/rte_comp.c' line='186' column='1'/>
+      <parameter type-id='type-id-87' name='ops' filepath='../lib/librte_compressdev/rte_comp.c' line='187' column='1'/>
+      <parameter type-id='type-id-12' name='nb_ops' filepath='../lib/librte_compressdev/rte_comp.c' line='187' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_comp_op_alloc' mangled-name='rte_comp_op_alloc' filepath='../lib/librte_compressdev/rte_comp.c' line='171' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_comp_op_alloc@@EXPERIMENTAL'>
+      <parameter type-id='type-id-18' name='mempool' filepath='../lib/librte_compressdev/rte_comp.c' line='171' column='1'/>
+      <return type-id='type-id-86'/>
+    </function-decl>
+    <function-decl name='rte_comp_op_pool_create' mangled-name='rte_comp_op_pool_create' filepath='../lib/librte_compressdev/rte_comp.c' line='116' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_comp_op_pool_create@@EXPERIMENTAL'>
+      <parameter type-id='type-id-118' name='name' filepath='../lib/librte_compressdev/rte_comp.c' line='116' column='1'/>
+      <parameter type-id='type-id-31' name='nb_elts' filepath='../lib/librte_compressdev/rte_comp.c' line='117' column='1'/>
+      <parameter type-id='type-id-31' name='cache_size' filepath='../lib/librte_compressdev/rte_comp.c' line='117' column='1'/>
+      <parameter type-id='type-id-12' name='user_size' filepath='../lib/librte_compressdev/rte_comp.c' line='118' column='1'/>
+      <parameter type-id='type-id-1' name='socket_id' filepath='../lib/librte_compressdev/rte_comp.c' line='118' column='1'/>
+      <return type-id='type-id-18'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_cryptodev.dump b/lib/.abi/librte_cryptodev.dump
new file mode 100644
index 000000000..d7b331a85
--- /dev/null
+++ b/lib/.abi/librte_cryptodev.dump
@@ -0,0 +1,1806 @@
+<abi-corpus path='gcc//lib/librte_cryptodev.so.20.0' architecture='elf-amd-x86_64' soname='librte_cryptodev.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_crypto_op_pool_create' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_allocate_driver' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_asym_capability_get' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_asym_get_header_session_size' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_asym_get_private_session_size' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_asym_get_xform_enum' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_asym_session_clear' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_asym_session_create' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_asym_session_free' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_asym_session_init' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_asym_xform_capability_check_modlen' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_asym_xform_capability_check_optype' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_callback_register' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_callback_unregister' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_close' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_configure' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_count' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_device_count_by_driver' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_devices_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_driver_id_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_driver_name_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_get_aead_algo_enum' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_get_auth_algo_enum' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_get_cipher_algo_enum' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_get_dev_id' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_get_feature_name' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_get_sec_ctx' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_info_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_name_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_pmd_allocate' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_pmd_callback_process' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_pmd_create' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_pmd_create_dev_name' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_pmd_destroy' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_pmd_get_dev' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_pmd_get_named_dev' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_pmd_is_valid_dev' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_pmd_parse_input_args' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_pmd_release_device' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_queue_pair_count' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_queue_pair_setup' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_socket_id' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_start' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_stats_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_stats_reset' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_stop' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_sym_capability_check_aead' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_sym_capability_check_auth' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_sym_capability_check_cipher' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_sym_capability_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_sym_get_existing_header_session_size' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_sym_get_header_session_size' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_sym_get_private_session_size' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_sym_session_clear' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_sym_session_create' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_sym_session_free' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_sym_session_get_user_data' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_sym_session_init' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_sym_session_pool_create' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_sym_session_set_user_data' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <elf-variable-symbols>
+    <elf-symbol name='rte_crypto_aead_algorithm_strings' size='24' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_crypto_aead_operation_strings' size='16' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_crypto_asym_op_strings' size='56' version='EXPERIMENTAL' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_crypto_asym_xform_strings' size='56' version='EXPERIMENTAL' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_crypto_auth_algorithm_strings' size='168' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_crypto_auth_operation_strings' size='16' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_crypto_cipher_algorithm_strings' size='136' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_crypto_cipher_operation_strings' size='16' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodevs' size='8' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_cryptodev/rte_cryptodev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_cryptodev' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='817' column='1' id='type-id-1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dequeue_burst' type-id='type-id-2' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='818' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='enqueue_burst' type-id='type-id-3' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='820' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data' type-id='type-id-4' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='823' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_ops' type-id='type-id-5' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='825' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='feature_flags' type-id='type-id-6' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='827' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-7' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='829' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='driver_id' type-id='type-id-8' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='832' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='link_intr_cbs' type-id='type-id-9' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='835' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='security_ctx' type-id='type-id-10' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='attached' type-id='type-id-8' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='842' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-11'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-11' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-12'/>
+    <typedef-decl name='uint16_t' type-id='type-id-12' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-13'/>
+    <type-decl name='void' id='type-id-14'/>
+    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-10'/>
+    <class-decl name='rte_crypto_op' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='78' column='1' id='type-id-15'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-16' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mempool' type-id='type-id-17' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='110' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='phys_addr' type-id='type-id-18' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='113' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='80' column='1' id='type-id-16'>
+      <data-member access='private'>
+        <var-decl name='raw' type-id='type-id-6' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-19' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-20'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-20' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-21'/>
+    <typedef-decl name='uint64_t' type-id='type-id-21' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-6'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='83' column='1' id='type-id-19'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-8' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='status' type-id='type-id-8' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='sess_type' type-id='type-id-8' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='reserved' type-id='type-id-22' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='private_data_offset' type-id='type-id-13' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='100' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-23'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-23' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-24'/>
+    <typedef-decl name='uint8_t' type-id='type-id-24' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-8'/>
+
+    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='24' id='type-id-22'>
+      <subrange length='3' type-id='type-id-20' id='type-id-25'/>
+
+    </array-type-def>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-26'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-27' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-28' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-10' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-29' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-30' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-31' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-30' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-33' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-34' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-35' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-36' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-37'/>
+
+    <array-type-def dimensions='1' type-id='type-id-37' size-in-bits='256' id='type-id-27'>
+      <subrange length='32' type-id='type-id-20' id='type-id-38'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-28'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-10' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-6' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-39'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-27' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-40' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-41' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-6' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-33' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-32' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-40'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-42' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-18' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-6' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-42'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-6' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-18'/>
+    <typedef-decl name='size_t' type-id='type-id-20' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-41'/>
+    <type-decl name='int' size-in-bits='32' id='type-id-31'/>
+    <typedef-decl name='__int32_t' type-id='type-id-31' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-43'/>
+    <typedef-decl name='int32_t' type-id='type-id-43' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-33'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-30'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-30' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-44'/>
+    <typedef-decl name='uint32_t' type-id='type-id-44' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-32'/>
+    <qualified-type-def type-id='type-id-39' const='yes' id='type-id-45'/>
+    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-29'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-46'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-47' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='98304' id='type-id-47'>
+      <subrange length='1536' type-id='type-id-20' id='type-id-48'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-34'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-35'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-50' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-51'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-52' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-17' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-53' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-52'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-51' size-in-bits='64' id='type-id-49'/>
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-17'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-53'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-18' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-42' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-50'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-36'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-54' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-55' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-56'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-57' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-17' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-10' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-58' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-41' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-59' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-10' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-57'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-54' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-56' size-in-bits='64' id='type-id-54'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-58'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-18' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-42' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-60' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-61'/>
+    <pointer-type-def type-id='type-id-61' size-in-bits='64' id='type-id-59'/>
+    <pointer-type-def type-id='type-id-54' size-in-bits='64' id='type-id-55'/>
+    <pointer-type-def type-id='type-id-15' size-in-bits='64' id='type-id-62'/>
+    <pointer-type-def type-id='type-id-62' size-in-bits='64' id='type-id-63'/>
+    <pointer-type-def type-id='type-id-64' size-in-bits='64' id='type-id-65'/>
+    <typedef-decl name='dequeue_pkt_burst_t' type-id='type-id-65' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='800' column='1' id='type-id-2'/>
+    <typedef-decl name='enqueue_pkt_burst_t' type-id='type-id-65' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='804' column='1' id='type-id-3'/>
+    <class-decl name='rte_cryptodev_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='856' column='1' id='type-id-66'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_id' type-id='type-id-8' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='857' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='socket_id' type-id='type-id-8' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='859' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='name' type-id='type-id-67' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='861' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='dev_started' type-id='type-id-8' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='session_pool' type-id='type-id-17' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='868' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='queue_pairs' type-id='type-id-68' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='870' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='nb_queue_pairs' type-id='type-id-13' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='872' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='dev_private' type-id='type-id-10' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='875' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-37' size-in-bits='512' id='type-id-67'>
+      <subrange length='64' type-id='type-id-20' id='type-id-69'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-68'/>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-4'/>
+    <class-decl name='rte_cryptodev_ops' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='313' column='1' id='type-id-70'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_configure' type-id='type-id-71' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='314' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_start' type-id='type-id-72' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='315' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dev_stop' type-id='type-id-73' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='316' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_close' type-id='type-id-74' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='317' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dev_infos_get' type-id='type-id-75' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='319' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='stats_get' type-id='type-id-76' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='321' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='stats_reset' type-id='type-id-77' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='323' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='queue_pair_setup' type-id='type-id-78' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='326' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='queue_pair_release' type-id='type-id-79' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='328' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='queue_pair_count' type-id='type-id-80' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='330' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='sym_session_get_size' type-id='type-id-81' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='333' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='asym_session_get_size' type-id='type-id-82' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='335' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='sym_session_configure' type-id='type-id-83' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='337' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='asym_session_configure' type-id='type-id-84' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='339' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='sym_session_clear' type-id='type-id-85' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='341' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='asym_session_clear' type-id='type-id-86' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='343' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-87'/>
+    <class-decl name='rte_cryptodev_config' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='619' column='1' id='type-id-88'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='socket_id' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='620' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_queue_pairs' type-id='type-id-13' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ff_disable' type-id='type-id-6' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='623' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-88' size-in-bits='64' id='type-id-89'/>
+    <pointer-type-def type-id='type-id-90' size-in-bits='64' id='type-id-91'/>
+    <typedef-decl name='cryptodev_configure_t' type-id='type-id-91' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='127' column='1' id='type-id-71'/>
+    <pointer-type-def type-id='type-id-92' size-in-bits='64' id='type-id-93'/>
+    <typedef-decl name='cryptodev_start_t' type-id='type-id-93' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='137' column='1' id='type-id-72'/>
+    <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-95'/>
+    <typedef-decl name='cryptodev_stop_t' type-id='type-id-95' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='144' column='1' id='type-id-73'/>
+    <typedef-decl name='cryptodev_close_t' type-id='type-id-93' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='154' column='1' id='type-id-74'/>
+    <class-decl name='rte_cryptodev_info' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='468' column='1' id='type-id-96'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='driver_name' type-id='type-id-97' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='469' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='driver_id' type-id='type-id-8' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='470' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='device' type-id='type-id-7' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='471' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='feature_flags' type-id='type-id-6' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='473' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='capabilities' type-id='type-id-98' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='476' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='max_nb_queue_pairs' type-id='type-id-30' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='479' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='min_mbuf_headroom_req' type-id='type-id-13' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='482' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='min_mbuf_tailroom_req' type-id='type-id-13' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='485' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='sym' type-id='type-id-99' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='494' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-37' const='yes' id='type-id-100'/>
+    <pointer-type-def type-id='type-id-100' size-in-bits='64' id='type-id-97'/>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-101'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-102' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-97' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-103' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-104' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-31' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-105' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-102'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-7' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-106' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-101' size-in-bits='64' id='type-id-7'/>
+    <pointer-type-def type-id='type-id-7' size-in-bits='64' id='type-id-106'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-107'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-108' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-97' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-97' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-108'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-109' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-110' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-107' size-in-bits='64' id='type-id-109'/>
+    <pointer-type-def type-id='type-id-109' size-in-bits='64' id='type-id-110'/>
+    <qualified-type-def type-id='type-id-107' const='yes' id='type-id-111'/>
+    <pointer-type-def type-id='type-id-111' size-in-bits='64' id='type-id-103'/>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-112'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-113' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-97' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-114' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-115' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-116' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-117' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-118' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-119' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-120' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-121' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-122' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-123' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-124' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-125' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-126' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-113'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-127' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-128' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-112' size-in-bits='64' id='type-id-127'/>
+    <pointer-type-def type-id='type-id-127' size-in-bits='64' id='type-id-128'/>
+    <pointer-type-def type-id='type-id-129' size-in-bits='64' id='type-id-130'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-130' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-114'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-130' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-115'/>
+    <qualified-type-def type-id='type-id-101' const='yes' id='type-id-131'/>
+    <pointer-type-def type-id='type-id-131' size-in-bits='64' id='type-id-132'/>
+    <pointer-type-def type-id='type-id-133' size-in-bits='64' id='type-id-134'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-134' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-135'/>
+    <pointer-type-def type-id='type-id-136' size-in-bits='64' id='type-id-137'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-137' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-116'/>
+    <pointer-type-def type-id='type-id-138' size-in-bits='64' id='type-id-139'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-139' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-117'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-139' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-118'/>
+    <pointer-type-def type-id='type-id-140' size-in-bits='64' id='type-id-141'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-141' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-119'/>
+    <pointer-type-def type-id='type-id-142' size-in-bits='64' id='type-id-143'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-143' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-120'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-143' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-121'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-122'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-144' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-145'/>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-144'>
+      <underlying-type type-id='type-id-145'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-146'>
+      <underlying-type type-id='type-id-145'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-147' size-in-bits='64' id='type-id-148'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-148' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-123'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-149'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-97' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-97' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-97' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-127' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-150' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-7' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-10' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-151'/>
+    <pointer-type-def type-id='type-id-151' size-in-bits='64' id='type-id-150'/>
+    <qualified-type-def type-id='type-id-149' const='yes' id='type-id-152'/>
+    <pointer-type-def type-id='type-id-152' size-in-bits='64' id='type-id-153'/>
+    <pointer-type-def type-id='type-id-154' size-in-bits='64' id='type-id-155'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-155' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-124'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-139' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-125'/>
+    <pointer-type-def type-id='type-id-156' size-in-bits='64' id='type-id-157'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-157' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-126'/>
+    <qualified-type-def type-id='type-id-112' const='yes' id='type-id-158'/>
+    <pointer-type-def type-id='type-id-158' size-in-bits='64' id='type-id-104'/>
+    <class-decl name='rte_devargs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-159'/>
+    <pointer-type-def type-id='type-id-159' size-in-bits='64' id='type-id-105'/>
+    <class-decl name='rte_cryptodev_capabilities' size-in-bits='320' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='176' column='1' id='type-id-160'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-161' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='177' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='' type-id='type-id-162' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_op_type' filepath='../lib/librte_cryptodev/rte_crypto.h' line='29' column='1' id='type-id-161'>
+      <underlying-type type-id='type-id-145'/>
+      <enumerator name='RTE_CRYPTO_OP_TYPE_UNDEFINED' value='0'/>
+      <enumerator name='RTE_CRYPTO_OP_TYPE_SYMMETRIC' value='1'/>
+      <enumerator name='RTE_CRYPTO_OP_TYPE_ASYMMETRIC' value='2'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='288' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='181' column='1' id='type-id-162'>
+      <data-member access='private'>
+        <var-decl name='sym' type-id='type-id-163' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='182' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='asym' type-id='type-id-164' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='184' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_cryptodev_symmetric_capability' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='98' column='1' id='type-id-163'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xform_type' type-id='type-id-165' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='99' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='' type-id='type-id-166' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_sym_xform_type' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='424' column='1' id='type-id-165'>
+      <underlying-type type-id='type-id-145'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_NOT_SPECIFIED' value='0'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_AUTH' value='1'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_CIPHER' value='2'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_AEAD' value='3'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='102' column='1' id='type-id-166'>
+      <data-member access='private'>
+        <var-decl name='auth' type-id='type-id-167' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='116' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='cipher' type-id='type-id-168' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='127' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='aead' type-id='type-id-169' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='103' column='1' id='type-id-167'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-170' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='104' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='block_size' type-id='type-id-13' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='key_size' type-id='type-id-171' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='digest_size' type-id='type-id-171' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='110' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='aad_size' type-id='type-id-171' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='112' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv_size' type-id='type-id-171' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='114' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_auth_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='189' column='1' id='type-id-170'>
+      <underlying-type type-id='type-id-145'/>
+      <enumerator name='RTE_CRYPTO_AUTH_NULL' value='1'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_CBC_MAC' value='2'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_CMAC' value='3'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_GMAC' value='4'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_XCBC_MAC' value='5'/>
+      <enumerator name='RTE_CRYPTO_AUTH_KASUMI_F9' value='6'/>
+      <enumerator name='RTE_CRYPTO_AUTH_MD5' value='7'/>
+      <enumerator name='RTE_CRYPTO_AUTH_MD5_HMAC' value='8'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA1' value='9'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA1_HMAC' value='10'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA224' value='11'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA224_HMAC' value='12'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA256' value='13'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA256_HMAC' value='14'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA384' value='15'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA384_HMAC' value='16'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA512' value='17'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA512_HMAC' value='18'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SNOW3G_UIA2' value='19'/>
+      <enumerator name='RTE_CRYPTO_AUTH_ZUC_EIA3' value='20'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_224' value='21'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_224_HMAC' value='22'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_256' value='23'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_256_HMAC' value='24'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_384' value='25'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_384_HMAC' value='26'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_512' value='27'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_512_HMAC' value='28'/>
+      <enumerator name='RTE_CRYPTO_AUTH_LIST_END' value='29'/>
+    </enum-decl>
+    <class-decl name='rte_crypto_param_range' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='84' column='1' id='type-id-171'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='min' type-id='type-id-13' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='max' type-id='type-id-13' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='increment' type-id='type-id-13' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='87' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='160' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='118' column='1' id='type-id-168'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-172' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='119' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='block_size' type-id='type-id-13' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='121' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='key_size' type-id='type-id-171' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='123' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='iv_size' type-id='type-id-171' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='125' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_cipher_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='30' column='1' id='type-id-172'>
+      <underlying-type type-id='type-id-145'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_NULL' value='1'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_CBC' value='2'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_CTR' value='3'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_ECB' value='4'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_CBC' value='5'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_CTR' value='6'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_ECB' value='7'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_F8' value='8'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_XTS' value='9'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_ARC4' value='10'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_KASUMI_F8' value='11'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_SNOW3G_UEA2' value='12'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_ZUC_EEA3' value='13'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_DES_CBC' value='14'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_DOCSISBPI' value='15'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_DES_DOCSISBPI' value='16'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_LIST_END' value='17'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='129' column='1' id='type-id-169'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-173' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='130' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='block_size' type-id='type-id-13' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='132' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='key_size' type-id='type-id-171' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='134' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='digest_size' type-id='type-id-171' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='136' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='aad_size' type-id='type-id-171' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv_size' type-id='type-id-171' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='140' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_aead_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='346' column='1' id='type-id-173'>
+      <underlying-type type-id='type-id-145'/>
+      <enumerator name='RTE_CRYPTO_AEAD_AES_CCM' value='1'/>
+      <enumerator name='RTE_CRYPTO_AEAD_AES_GCM' value='2'/>
+      <enumerator name='RTE_CRYPTO_AEAD_LIST_END' value='3'/>
+    </enum-decl>
+    <class-decl name='rte_cryptodev_asymmetric_capability' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='170' column='1' id='type-id-164'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xform_capa' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_asymmetric_xform_capability' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='150' column='1' id='type-id-174'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xform_type' type-id='type-id-175' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='151' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='op_types' type-id='type-id-32' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-176' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_asym_xform_type' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='53' column='1' id='type-id-175'>
+      <underlying-type type-id='type-id-145'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_UNSPECIFIED' value='0'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_NONE' value='1'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_RSA' value='2'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_DH' value='3'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_DSA' value='4'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_MODINV' value='5'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_MODEX' value='6'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_TYPE_LIST_END' value='7'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='48' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='158' column='1' id='type-id-176'>
+      <data-member access='private'>
+        <var-decl name='modlen' type-id='type-id-171' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='159' column='1'/>
+      </data-member>
+    </union-decl>
+    <qualified-type-def type-id='type-id-160' const='yes' id='type-id-177'/>
+    <pointer-type-def type-id='type-id-177' size-in-bits='64' id='type-id-98'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='488' column='1' id='type-id-99'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max_nb_sessions' type-id='type-id-30' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='489' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-96' size-in-bits='64' id='type-id-178'/>
+    <pointer-type-def type-id='type-id-179' size-in-bits='64' id='type-id-180'/>
+    <typedef-decl name='cryptodev_info_get_t' type-id='type-id-180' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='180' column='1' id='type-id-75'/>
+    <class-decl name='rte_cryptodev_stats' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='530' column='1' id='type-id-181'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='enqueued_count' type-id='type-id-6' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='531' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dequeued_count' type-id='type-id-6' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='533' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='enqueue_err_count' type-id='type-id-6' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='536' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dequeue_err_count' type-id='type-id-6' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='538' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-181' size-in-bits='64' id='type-id-182'/>
+    <pointer-type-def type-id='type-id-183' size-in-bits='64' id='type-id-184'/>
+    <typedef-decl name='cryptodev_stats_get_t' type-id='type-id-184' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='163' column='1' id='type-id-76'/>
+    <typedef-decl name='cryptodev_stats_reset_t' type-id='type-id-95' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='172' column='1' id='type-id-77'/>
+    <class-decl name='rte_cryptodev_qp_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='508' column='1' id='type-id-185'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_descriptors' type-id='type-id-32' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='509' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp_session' type-id='type-id-17' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='510' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mp_session_private' type-id='type-id-17' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='512' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-185' const='yes' id='type-id-186'/>
+    <pointer-type-def type-id='type-id-186' size-in-bits='64' id='type-id-187'/>
+    <pointer-type-def type-id='type-id-188' size-in-bits='64' id='type-id-189'/>
+    <typedef-decl name='cryptodev_queue_pair_setup_t' type-id='type-id-189' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='193' column='1' id='type-id-78'/>
+    <pointer-type-def type-id='type-id-190' size-in-bits='64' id='type-id-191'/>
+    <typedef-decl name='cryptodev_queue_pair_release_t' type-id='type-id-191' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='207' column='1' id='type-id-79'/>
+    <pointer-type-def type-id='type-id-192' size-in-bits='64' id='type-id-193'/>
+    <typedef-decl name='cryptodev_queue_pair_count_t' type-id='type-id-193' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='217' column='1' id='type-id-80'/>
+    <pointer-type-def type-id='type-id-194' size-in-bits='64' id='type-id-195'/>
+    <typedef-decl name='cryptodev_sym_get_session_private_size_t' type-id='type-id-195' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='245' column='1' id='type-id-81'/>
+    <typedef-decl name='cryptodev_asym_get_session_private_size_t' type-id='type-id-195' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='256' column='1' id='type-id-82'/>
+    <class-decl name='rte_crypto_sym_xform' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='440' column='1' id='type-id-196'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-197' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='441' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-165' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='443' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-198' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-196' size-in-bits='64' id='type-id-197'/>
+    <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='446' column='1' id='type-id-198'>
+      <data-member access='private'>
+        <var-decl name='auth' type-id='type-id-199' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='447' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='cipher' type-id='type-id-200' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='aead' type-id='type-id-201' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='451' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_crypto_auth_xform' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='278' column='1' id='type-id-199'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-202' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-170' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='281' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-203' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='287' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv' type-id='type-id-204' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='330' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='digest_length' type-id='type-id-13' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='332' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_auth_operation' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='262' column='1' id='type-id-202'>
+      <underlying-type type-id='type-id-145'/>
+      <enumerator name='RTE_CRYPTO_AUTH_OP_VERIFY' value='0'/>
+      <enumerator name='RTE_CRYPTO_AUTH_OP_GENERATE' value='1'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='284' column='1' id='type-id-203'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-205' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='285' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='length' type-id='type-id-13' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='286' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-8' const='yes' id='type-id-206'/>
+    <pointer-type-def type-id='type-id-206' size-in-bits='64' id='type-id-205'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='295' column='1' id='type-id-204'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='offset' type-id='type-id-13' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='296' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='length' type-id='type-id-13' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='312' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_cipher_xform' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='107' column='1' id='type-id-200'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-207' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-172' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='113' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-203' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='119' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv' type-id='type-id-204' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='185' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_cipher_operation' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='90' column='1' id='type-id-207'>
+      <underlying-type type-id='type-id-145'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_OP_ENCRYPT' value='0'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_OP_DECRYPT' value='1'/>
+    </enum-decl>
+    <class-decl name='rte_crypto_aead_xform' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='370' column='1' id='type-id-201'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-208' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='371' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-173' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='373' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-203' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='379' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv' type-id='type-id-204' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='411' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='digest_length' type-id='type-id-13' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='413' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='240'>
+        <var-decl name='aad_length' type-id='type-id-13' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='415' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_aead_operation' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='359' column='1' id='type-id-208'>
+      <underlying-type type-id='type-id-145'/>
+      <enumerator name='RTE_CRYPTO_AEAD_OP_ENCRYPT' value='0'/>
+      <enumerator name='RTE_CRYPTO_AEAD_OP_DECRYPT' value='1'/>
+    </enum-decl>
+    <class-decl name='rte_cryptodev_sym_session' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='974' column='1' id='type-id-209'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='opaque_data' type-id='type-id-6' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='975' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='nb_drivers' type-id='type-id-13' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='977' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='user_data_sz' type-id='type-id-13' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='979' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='sess_data' type-id='type-id-210' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='984' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='981' column='1' id='type-id-211'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-10' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='982' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='refcnt' type-id='type-id-13' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='983' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-211' size-in-bits='infinite' id='type-id-210'>
+      <subrange length='infinite' type-id='type-id-20' id='type-id-212'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-209' size-in-bits='64' id='type-id-213'/>
+    <pointer-type-def type-id='type-id-214' size-in-bits='64' id='type-id-215'/>
+    <typedef-decl name='cryptodev_sym_configure_session_t' type-id='type-id-215' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='273' column='1' id='type-id-83'/>
+    <class-decl name='rte_crypto_asym_xform' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='353' column='1' id='type-id-216'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-217' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='354' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='xform_type' type-id='type-id-175' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='356' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-218' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-216' size-in-bits='64' id='type-id-217'/>
+    <union-decl name='__anonymous_union__' size-in-bits='1408' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='360' column='1' id='type-id-218'>
+      <data-member access='private'>
+        <var-decl name='rsa' type-id='type-id-219' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='361' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='modex' type-id='type-id-220' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='364' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='modinv' type-id='type-id-221' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='367' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dh' type-id='type-id-222' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='370' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dsa' type-id='type-id-223' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='373' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_crypto_rsa_xform' size-in-bits='1408' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='192' column='1' id='type-id-219'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n' type-id='type-id-224' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='193' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='e' type-id='type-id-224' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='199' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='key_type' type-id='type-id-225' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='' type-id='type-id-226' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_param_t' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='30' column='1' id='type-id-227'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-228' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='iova' type-id='type-id-18' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='33' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='length' type-id='type-id-41' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='35' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-228'/>
+    <typedef-decl name='rte_crypto_param' type-id='type-id-227' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='37' column='1' id='type-id-224'/>
+    <enum-decl name='rte_crypto_rsa_priv_key_type' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='133' column='1' id='type-id-225'>
+      <underlying-type type-id='type-id-145'/>
+      <enumerator name='RTE_RSA_KEY_TYPE_EXP' value='0'/>
+      <enumerator name='RTE_RSA_KET_TYPE_QT' value='1'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='960' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='208' column='1' id='type-id-226'>
+      <data-member access='private'>
+        <var-decl name='d' type-id='type-id-224' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='209' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='qt' type-id='type-id-229' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='216' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_crypto_rsa_priv_key_qt' size-in-bits='960' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='146' column='1' id='type-id-229'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='p' type-id='type-id-224' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='147' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='q' type-id='type-id-224' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='dP' type-id='type-id-224' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='161' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dQ' type-id='type-id-224' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='169' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='qInv' type-id='type-id-224' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='177' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_modex_xform' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='227' column='1' id='type-id-220'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='modulus' type-id='type-id-224' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='exponent' type-id='type-id-224' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='237' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_modinv_xform' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='250' column='1' id='type-id-221'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='modulus' type-id='type-id-224' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='251' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_dh_xform' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='271' column='1' id='type-id-222'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-230' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='272' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='p' type-id='type-id-224' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='275' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='g' type-id='type-id-224' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='281' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_asym_op_type' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='91' column='1' id='type-id-230'>
+      <underlying-type type-id='type-id-145'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_ENCRYPT' value='0'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_DECRYPT' value='1'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_SIGN' value='2'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_VERIFY' value='3'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_PRIVATE_KEY_GENERATE' value='4'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_PUBLIC_KEY_GENERATE' value='5'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_SHARED_SECRET_COMPUTE' value='6'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_LIST_END' value='7'/>
+    </enum-decl>
+    <class-decl name='rte_crypto_dsa_xform' size-in-bits='768' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='295' column='1' id='type-id-223'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='p' type-id='type-id-224' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='296' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='q' type-id='type-id-224' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='301' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='g' type-id='type-id-224' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='307' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='x' type-id='type-id-224' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='311' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_asym_session' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='989' column='1' id='type-id-231'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='sess_private_data' type-id='type-id-232' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='990' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='infinite' id='type-id-232'>
+      <subrange length='infinite' type-id='type-id-20' id='type-id-212'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-231' size-in-bits='64' id='type-id-233'/>
+    <pointer-type-def type-id='type-id-234' size-in-bits='64' id='type-id-235'/>
+    <typedef-decl name='cryptodev_asym_configure_session_t' type-id='type-id-235' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='291' column='1' id='type-id-84'/>
+    <pointer-type-def type-id='type-id-236' size-in-bits='64' id='type-id-237'/>
+    <typedef-decl name='cryptodev_sym_free_session_t' type-id='type-id-237' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='301' column='1' id='type-id-85'/>
+    <pointer-type-def type-id='type-id-238' size-in-bits='64' id='type-id-239'/>
+    <typedef-decl name='cryptodev_asym_free_session_t' type-id='type-id-239' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='309' column='1' id='type-id-86'/>
+    <pointer-type-def type-id='type-id-70' size-in-bits='64' id='type-id-5'/>
+    <class-decl name='rte_cryptodev_cb_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='814' column='1' id='type-id-9'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-240' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='814' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-241' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='814' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_callback' size-in-bits='320' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='66' column='1' id='type-id-242'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-243' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cb_fn' type-id='type-id-244' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='cb_arg' type-id='type-id-10' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='69' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='event' type-id='type-id-245' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='active' type-id='type-id-32' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='71' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='67' column='1' id='type-id-243'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-240' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-241' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='67' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-242' size-in-bits='64' id='type-id-240'/>
+    <pointer-type-def type-id='type-id-240' size-in-bits='64' id='type-id-241'/>
+    <enum-decl name='rte_cryptodev_event_type' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='501' column='1' id='type-id-245'>
+      <underlying-type type-id='type-id-145'/>
+      <enumerator name='RTE_CRYPTODEV_EVENT_UNKNOWN' value='0'/>
+      <enumerator name='RTE_CRYPTODEV_EVENT_ERROR' value='1'/>
+      <enumerator name='RTE_CRYPTODEV_EVENT_MAX' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-246' size-in-bits='64' id='type-id-247'/>
+    <typedef-decl name='rte_cryptodev_cb_fn' type-id='type-id-247' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='525' column='1' id='type-id-244'/>
+    <var-decl name='rte_cryptodevs' type-id='type-id-87' mangled-name='rte_cryptodevs' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='879' column='1' elf-symbol-id='rte_cryptodevs@@DPDK_20.0'/>
+
+    <array-type-def dimensions='1' type-id='type-id-97' size-in-bits='infinite' id='type-id-248'>
+      <subrange length='infinite' id='type-id-212'/>
+
+    </array-type-def>
+    <var-decl name='rte_crypto_cipher_algorithm_strings' type-id='type-id-248' mangled-name='rte_crypto_cipher_algorithm_strings' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='87' column='1' elf-symbol-id='rte_crypto_cipher_algorithm_strings@@DPDK_20.0'/>
+    <var-decl name='rte_crypto_cipher_operation_strings' type-id='type-id-248' mangled-name='rte_crypto_cipher_operation_strings' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='99' column='1' elf-symbol-id='rte_crypto_cipher_operation_strings@@DPDK_20.0'/>
+    <var-decl name='rte_crypto_auth_algorithm_strings' type-id='type-id-248' mangled-name='rte_crypto_auth_algorithm_strings' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='259' column='1' elf-symbol-id='rte_crypto_auth_algorithm_strings@@DPDK_20.0'/>
+    <var-decl name='rte_crypto_aead_algorithm_strings' type-id='type-id-248' mangled-name='rte_crypto_aead_algorithm_strings' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='356' column='1' elf-symbol-id='rte_crypto_aead_algorithm_strings@@DPDK_20.0'/>
+    <var-decl name='rte_crypto_aead_operation_strings' type-id='type-id-248' mangled-name='rte_crypto_aead_operation_strings' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='368' column='1' elf-symbol-id='rte_crypto_aead_operation_strings@@DPDK_20.0'/>
+    <var-decl name='rte_crypto_asym_xform_strings' type-id='type-id-248' mangled-name='rte_crypto_asym_xform_strings' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='41' column='1' elf-symbol-id='rte_crypto_asym_xform_strings@@EXPERIMENTAL'/>
+    <var-decl name='rte_crypto_asym_op_strings' type-id='type-id-248' mangled-name='rte_crypto_asym_op_strings' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='45' column='1' elf-symbol-id='rte_crypto_asym_op_strings@@EXPERIMENTAL'/>
+    <var-decl name='rte_crypto_auth_operation_strings' type-id='type-id-248' mangled-name='rte_crypto_auth_operation_strings' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='269' column='1' elf-symbol-id='rte_crypto_auth_operation_strings@@DPDK_20.0'/>
+    <class-decl name='cryptodev_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='67' column='1' id='type-id-249'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-250' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='driver' type-id='type-id-103' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='id' type-id='type-id-8' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='68' column='1' id='type-id-250'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-251' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-252' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='68' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-249' size-in-bits='64' id='type-id-251'/>
+    <pointer-type-def type-id='type-id-251' size-in-bits='64' id='type-id-252'/>
+    <function-decl name='rte_cryptodev_allocate_driver' mangled-name='rte_cryptodev_allocate_driver' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1777' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_allocate_driver@@DPDK_20.0'>
+      <parameter type-id='type-id-251' name='crypto_drv' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1777' column='1'/>
+      <parameter type-id='type-id-103' name='drv' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1778' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_driver_name_get' mangled-name='rte_cryptodev_driver_name_get' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1766' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_driver_name_get@@DPDK_20.0'>
+      <parameter type-id='type-id-8' name='driver_id' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1766' column='1'/>
+      <return type-id='type-id-97'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_name_get' mangled-name='rte_cryptodev_name_get' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1755' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_name_get@@DPDK_20.0'>
+      <parameter type-id='type-id-8' name='driver_id' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1766' column='1'/>
+      <return type-id='type-id-97'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_driver_id_get' mangled-name='rte_cryptodev_driver_id_get' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1736' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_driver_id_get@@DPDK_20.0'>
+      <parameter type-id='type-id-97' name='name' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1736' column='1'/>
+      <return type-id='type-id-31'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-37' size-in-bits='64' id='type-id-253'/>
+    <function-decl name='rte_cryptodev_pmd_create_dev_name' mangled-name='rte_cryptodev_pmd_create_dev_name' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1707' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_pmd_create_dev_name@@DPDK_20.0'>
+      <parameter type-id='type-id-253' name='name' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1707' column='1'/>
+      <parameter type-id='type-id-97' name='dev_name_prefix' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1707' column='1'/>
+      <return type-id='type-id-31'/>
+    </function-decl>
+    <function-decl name='rte_crypto_op_pool_create' mangled-name='rte_crypto_op_pool_create' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1639' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_crypto_op_pool_create@@DPDK_20.0'>
+      <parameter type-id='type-id-97' name='name' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1639' column='1'/>
+      <parameter type-id='type-id-161' name='type' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1639' column='1'/>
+      <parameter type-id='type-id-30' name='nb_elts' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1640' column='1'/>
+      <parameter type-id='type-id-30' name='cache_size' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1640' column='1'/>
+      <parameter type-id='type-id-13' name='priv_size' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1640' column='1'/>
+      <parameter type-id='type-id-31' name='socket_id' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1641' column='1'/>
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_sym_get_private_session_size' mangled-name='rte_cryptodev_sym_get_private_session_size' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1552' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_sym_get_private_session_size@@DPDK_20.0'>
+      <parameter type-id='type-id-8' name='dev_id' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1552' column='1'/>
+      <return type-id='type-id-30'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_sym_get_header_session_size' mangled-name='rte_cryptodev_sym_get_header_session_size' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1514' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_sym_get_header_session_size@@DPDK_20.0'>
+      <return type-id='type-id-30'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_sym_session_free' mangled-name='rte_cryptodev_sym_session_free' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1468' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_sym_session_free@@DPDK_20.0'>
+      <parameter type-id='type-id-213' name='sess' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1468' column='1'/>
+      <return type-id='type-id-31'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_sym_session_clear' mangled-name='rte_cryptodev_sym_session_clear' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1425' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_sym_session_clear@@DPDK_20.0'>
+      <parameter type-id='type-id-8' name='dev_id' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1425' column='1'/>
+      <parameter type-id='type-id-213' name='sess' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1426' column='1'/>
+      <return type-id='type-id-31'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_sym_session_create' mangled-name='rte_cryptodev_sym_session_create' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1369' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_sym_session_create@@DPDK_20.0'>
+      <parameter type-id='type-id-17' name='mp' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1369' column='1'/>
+      <return type-id='type-id-213'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_sym_session_init' mangled-name='rte_cryptodev_sym_session_init' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1246' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_sym_session_init@@DPDK_20.0'>
+      <parameter type-id='type-id-8' name='dev_id' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1246' column='1'/>
+      <parameter type-id='type-id-213' name='sess' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1247' column='1'/>
+      <parameter type-id='type-id-197' name='xforms' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1248' column='1'/>
+      <parameter type-id='type-id-17' name='mp' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1249' column='1'/>
+      <return type-id='type-id-31'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_pmd_callback_process' mangled-name='rte_cryptodev_pmd_callback_process' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1223' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_pmd_callback_process@@DPDK_20.0'>
+      <parameter type-id='type-id-87' name='dev' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1223' column='1'/>
+      <parameter type-id='type-id-245' name='event' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1224' column='1'/>
+      <return type-id='type-id-14'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_callback_unregister' mangled-name='rte_cryptodev_callback_unregister' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1177' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_callback_unregister@@DPDK_20.0'>
+      <parameter type-id='type-id-8' name='dev_id' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1177' column='1'/>
+      <parameter type-id='type-id-245' name='event' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1178' column='1'/>
+      <parameter type-id='type-id-244' name='cb_fn' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1179' column='1'/>
+      <parameter type-id='type-id-10' name='cb_arg' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1179' column='1'/>
+      <return type-id='type-id-31'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_callback_register' mangled-name='rte_cryptodev_callback_register' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1134' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_callback_register@@DPDK_20.0'>
+      <parameter type-id='type-id-8' name='dev_id' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1134' column='1'/>
+      <parameter type-id='type-id-245' name='event' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1135' column='1'/>
+      <parameter type-id='type-id-244' name='cb_fn' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1136' column='1'/>
+      <parameter type-id='type-id-10' name='cb_arg' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1136' column='1'/>
+      <return type-id='type-id-31'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_info_get' mangled-name='rte_cryptodev_info_get' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1112' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_info_get@@DPDK_20.0'>
+      <parameter type-id='type-id-8' name='dev_id' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1112' column='1'/>
+      <parameter type-id='type-id-178' name='dev_info' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1112' column='1'/>
+      <return type-id='type-id-14'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_stats_reset' mangled-name='rte_cryptodev_stats_reset' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1095' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_stats_reset@@DPDK_20.0'>
+      <parameter type-id='type-id-8' name='dev_id' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1095' column='1'/>
+      <return type-id='type-id-14'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_stats_get' mangled-name='rte_cryptodev_stats_get' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1072' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_stats_get@@DPDK_20.0'>
+      <parameter type-id='type-id-8' name='dev_id' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1072' column='1'/>
+      <parameter type-id='type-id-182' name='stats' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1072' column='1'/>
+      <return type-id='type-id-31'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_queue_pair_setup' mangled-name='rte_cryptodev_queue_pair_setup' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1005' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_queue_pair_setup@@DPDK_20.0'>
+      <parameter type-id='type-id-8' name='dev_id' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1005' column='1'/>
+      <parameter type-id='type-id-13' name='queue_pair_id' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1005' column='1'/>
+      <parameter type-id='type-id-187' name='qp_conf' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1006' column='1'/>
+      <parameter type-id='type-id-31' name='socket_id' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1006' column='1'/>
+      <return type-id='type-id-31'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_close' mangled-name='rte_cryptodev_close' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='965' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_close@@DPDK_20.0'>
+      <parameter type-id='type-id-8' name='dev_id' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='965' column='1'/>
+      <return type-id='type-id-31'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_stop' mangled-name='rte_cryptodev_stop' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='941' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_stop@@DPDK_20.0'>
+      <parameter type-id='type-id-8' name='dev_id' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1095' column='1'/>
+      <return type-id='type-id-14'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_start' mangled-name='rte_cryptodev_start' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='909' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_start@@DPDK_20.0'>
+      <parameter type-id='type-id-8' name='dev_id' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='965' column='1'/>
+      <return type-id='type-id-31'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_configure' mangled-name='rte_cryptodev_configure' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='875' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_configure@@DPDK_20.0'>
+      <parameter type-id='type-id-8' name='dev_id' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='875' column='1'/>
+      <parameter type-id='type-id-89' name='config' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='875' column='1'/>
+      <return type-id='type-id-31'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_queue_pair_count' mangled-name='rte_cryptodev_queue_pair_count' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='788' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_queue_pair_count@@DPDK_20.0'>
+      <parameter type-id='type-id-8' name='dev_id' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='788' column='1'/>
+      <return type-id='type-id-13'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_pmd_release_device' mangled-name='rte_cryptodev_pmd_release_device' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='761' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_pmd_release_device@@DPDK_20.0'>
+      <parameter type-id='type-id-87' name='cryptodev' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='761' column='1'/>
+      <return type-id='type-id-31'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_pmd_allocate' mangled-name='rte_cryptodev_pmd_allocate' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='709' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_pmd_allocate@@DPDK_20.0'>
+      <parameter type-id='type-id-97' name='name' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='709' column='1'/>
+      <parameter type-id='type-id-31' name='socket_id' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='709' column='1'/>
+      <return type-id='type-id-87'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_socket_id' mangled-name='rte_cryptodev_socket_id' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='628' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_socket_id@@DPDK_20.0'>
+      <parameter type-id='type-id-8' name='dev_id' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='628' column='1'/>
+      <return type-id='type-id-31'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_get_sec_ctx' mangled-name='rte_cryptodev_get_sec_ctx' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='618' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_get_sec_ctx@@DPDK_20.0'>
+      <parameter type-id='type-id-8' name='dev_id' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='618' column='1'/>
+      <return type-id='type-id-10'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_devices_get' mangled-name='rte_cryptodev_devices_get' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='592' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_devices_get@@DPDK_20.0'>
+      <parameter type-id='type-id-97' name='driver_name' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='592' column='1'/>
+      <parameter type-id='type-id-228' name='devices' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='592' column='1'/>
+      <parameter type-id='type-id-8' name='nb_devices' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='593' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_device_count_by_driver' mangled-name='rte_cryptodev_device_count_by_driver' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='578' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_device_count_by_driver@@DPDK_20.0'>
+      <parameter type-id='type-id-8' name='driver_id' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='578' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_count' mangled-name='rte_cryptodev_count' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='572' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_count@@DPDK_20.0'>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_get_dev_id' mangled-name='rte_cryptodev_get_dev_id' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='551' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_get_dev_id@@DPDK_20.0'>
+      <parameter type-id='type-id-97' name='name' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='551' column='1'/>
+      <return type-id='type-id-31'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_pmd_is_valid_dev' mangled-name='rte_cryptodev_pmd_is_valid_dev' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='535' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_pmd_is_valid_dev@@DPDK_20.0'>
+      <parameter type-id='type-id-8' name='dev_id' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='535' column='1'/>
+      <return type-id='type-id-30'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_pmd_get_named_dev' mangled-name='rte_cryptodev_pmd_get_named_dev' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='506' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_pmd_get_named_dev@@DPDK_20.0'>
+      <parameter type-id='type-id-97' name='name' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='506' column='1'/>
+      <return type-id='type-id-87'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_pmd_get_dev' mangled-name='rte_cryptodev_pmd_get_dev' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='500' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_pmd_get_dev@@DPDK_20.0'>
+      <parameter type-id='type-id-8' name='dev_id' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='500' column='1'/>
+      <return type-id='type-id-87'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_get_feature_name' mangled-name='rte_cryptodev_get_feature_name' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='451' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_get_feature_name@@DPDK_20.0'>
+      <parameter type-id='type-id-6' name='flag' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='451' column='1'/>
+      <return type-id='type-id-97'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-163' const='yes' id='type-id-254'/>
+    <pointer-type-def type-id='type-id-254' size-in-bits='64' id='type-id-255'/>
+    <function-decl name='rte_cryptodev_sym_capability_check_aead' mangled-name='rte_cryptodev_sym_capability_check_aead' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='394' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_sym_capability_check_aead@@DPDK_20.0'>
+      <parameter type-id='type-id-255' name='capability' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='395' column='1'/>
+      <parameter type-id='type-id-13' name='key_size' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='396' column='1'/>
+      <parameter type-id='type-id-13' name='digest_size' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='396' column='1'/>
+      <parameter type-id='type-id-13' name='aad_size' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='396' column='1'/>
+      <parameter type-id='type-id-13' name='iv_size' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='397' column='1'/>
+      <return type-id='type-id-31'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_sym_capability_check_auth' mangled-name='rte_cryptodev_sym_capability_check_auth' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='377' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_sym_capability_check_auth@@DPDK_20.0'>
+      <parameter type-id='type-id-255' name='capability' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='378' column='1'/>
+      <parameter type-id='type-id-13' name='key_size' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='379' column='1'/>
+      <parameter type-id='type-id-13' name='digest_size' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='379' column='1'/>
+      <parameter type-id='type-id-13' name='iv_size' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='379' column='1'/>
+      <return type-id='type-id-31'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_sym_capability_check_cipher' mangled-name='rte_cryptodev_sym_capability_check_cipher' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='363' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_sym_capability_check_cipher@@DPDK_20.0'>
+      <parameter type-id='type-id-255' name='capability' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='364' column='1'/>
+      <parameter type-id='type-id-13' name='key_size' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='365' column='1'/>
+      <parameter type-id='type-id-13' name='iv_size' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='365' column='1'/>
+      <return type-id='type-id-31'/>
+    </function-decl>
+    <class-decl name='rte_cryptodev_sym_capability_idx' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='190' column='1' id='type-id-256'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-165' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-257' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='192' column='1' id='type-id-257'>
+      <data-member access='private'>
+        <var-decl name='cipher' type-id='type-id-172' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='193' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='auth' type-id='type-id-170' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='aead' type-id='type-id-173' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='195' column='1'/>
+      </data-member>
+    </union-decl>
+    <qualified-type-def type-id='type-id-256' const='yes' id='type-id-258'/>
+    <pointer-type-def type-id='type-id-258' size-in-bits='64' id='type-id-259'/>
+    <function-decl name='rte_cryptodev_sym_capability_get' mangled-name='rte_cryptodev_sym_capability_get' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='281' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_sym_capability_get@@DPDK_20.0'>
+      <parameter type-id='type-id-8' name='dev_id' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='281' column='1'/>
+      <parameter type-id='type-id-259' name='idx' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='282' column='1'/>
+      <return type-id='type-id-255'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-173' size-in-bits='64' id='type-id-260'/>
+    <function-decl name='rte_cryptodev_get_aead_algo_enum' mangled-name='rte_cryptodev_get_aead_algo_enum' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='236' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_get_aead_algo_enum@@DPDK_20.0'>
+      <parameter type-id='type-id-260' name='algo_enum' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='236' column='1'/>
+      <parameter type-id='type-id-97' name='algo_string' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='237' column='1'/>
+      <return type-id='type-id-31'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-170' size-in-bits='64' id='type-id-261'/>
+    <function-decl name='rte_cryptodev_get_auth_algo_enum' mangled-name='rte_cryptodev_get_auth_algo_enum' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='219' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_get_auth_algo_enum@@DPDK_20.0'>
+      <parameter type-id='type-id-261' name='algo_enum' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='219' column='1'/>
+      <parameter type-id='type-id-97' name='algo_string' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='220' column='1'/>
+      <return type-id='type-id-31'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-172' size-in-bits='64' id='type-id-262'/>
+    <function-decl name='rte_cryptodev_get_cipher_algo_enum' mangled-name='rte_cryptodev_get_cipher_algo_enum' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='202' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_get_cipher_algo_enum@@DPDK_20.0'>
+      <parameter type-id='type-id-262' name='algo_enum' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='202' column='1'/>
+      <parameter type-id='type-id-97' name='algo_string' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='203' column='1'/>
+      <return type-id='type-id-31'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_sym_session_get_user_data' mangled-name='rte_cryptodev_sym_session_get_user_data' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1610' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_sym_session_get_user_data@@EXPERIMENTAL'>
+      <parameter type-id='type-id-213' name='sess' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1611' column='1'/>
+      <return type-id='type-id-10'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_sym_session_set_user_data' mangled-name='rte_cryptodev_sym_session_set_user_data' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1594' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_sym_session_set_user_data@@EXPERIMENTAL'>
+      <parameter type-id='type-id-213' name='sess' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1595' column='1'/>
+      <parameter type-id='type-id-10' name='data' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1596' column='1'/>
+      <parameter type-id='type-id-13' name='size' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1597' column='1'/>
+      <return type-id='type-id-31'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_asym_get_private_session_size' mangled-name='rte_cryptodev_asym_get_private_session_size' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1571' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_asym_get_private_session_size@@EXPERIMENTAL'>
+      <parameter type-id='type-id-8' name='dev_id' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1571' column='1'/>
+      <return type-id='type-id-30'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_asym_get_header_session_size' mangled-name='rte_cryptodev_asym_get_header_session_size' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1541' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_asym_get_header_session_size@@EXPERIMENTAL'>
+      <return type-id='type-id-30'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_sym_get_existing_header_session_size' mangled-name='rte_cryptodev_sym_get_existing_header_session_size' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1530' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_sym_get_existing_header_session_size@@EXPERIMENTAL'>
+      <parameter type-id='type-id-213' name='sess' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1531' column='1'/>
+      <return type-id='type-id-30'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_asym_session_clear' mangled-name='rte_cryptodev_asym_session_clear' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1450' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_asym_session_clear@@EXPERIMENTAL'>
+      <parameter type-id='type-id-8' name='dev_id' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1450' column='1'/>
+      <parameter type-id='type-id-233' name='sess' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1451' column='1'/>
+      <return type-id='type-id-31'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_asym_session_init' mangled-name='rte_cryptodev_asym_session_init' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1287' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_asym_session_init@@EXPERIMENTAL'>
+      <parameter type-id='type-id-8' name='dev_id' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1287' column='1'/>
+      <parameter type-id='type-id-233' name='sess' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1288' column='1'/>
+      <parameter type-id='type-id-217' name='xforms' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1289' column='1'/>
+      <parameter type-id='type-id-17' name='mp' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1290' column='1'/>
+      <return type-id='type-id-31'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_asym_session_free' mangled-name='rte_cryptodev_asym_session_free' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1490' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_asym_session_free@@EXPERIMENTAL'>
+      <parameter type-id='type-id-233' name='sess' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1490' column='1'/>
+      <return type-id='type-id-31'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_asym_session_create' mangled-name='rte_cryptodev_asym_session_create' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1406' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_asym_session_create@@EXPERIMENTAL'>
+      <parameter type-id='type-id-17' name='mp' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1406' column='1'/>
+      <return type-id='type-id-233'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_sym_session_pool_create' mangled-name='rte_cryptodev_sym_session_pool_create' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1322' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_sym_session_pool_create@@EXPERIMENTAL'>
+      <parameter type-id='type-id-97' name='name' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1322' column='1'/>
+      <parameter type-id='type-id-32' name='nb_elts' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1322' column='1'/>
+      <parameter type-id='type-id-32' name='elt_size' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1323' column='1'/>
+      <parameter type-id='type-id-32' name='cache_size' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1323' column='1'/>
+      <parameter type-id='type-id-13' name='user_data_size' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1323' column='1'/>
+      <parameter type-id='type-id-31' name='socket_id' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='1324' column='1'/>
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-175' size-in-bits='64' id='type-id-263'/>
+    <function-decl name='rte_cryptodev_asym_get_xform_enum' mangled-name='rte_cryptodev_asym_get_xform_enum' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='253' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_asym_get_xform_enum@@EXPERIMENTAL'>
+      <parameter type-id='type-id-263' name='xform_enum' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='253' column='1'/>
+      <parameter type-id='type-id-97' name='xform_string' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='254' column='1'/>
+      <return type-id='type-id-31'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-174' const='yes' id='type-id-264'/>
+    <pointer-type-def type-id='type-id-264' size-in-bits='64' id='type-id-265'/>
+    <function-decl name='rte_cryptodev_asym_xform_capability_check_modlen' mangled-name='rte_cryptodev_asym_xform_capability_check_modlen' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='425' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_asym_xform_capability_check_modlen@@EXPERIMENTAL'>
+      <parameter type-id='type-id-265' name='capability' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='426' column='1'/>
+      <parameter type-id='type-id-13' name='modlen' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='427' column='1'/>
+      <return type-id='type-id-31'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_asym_xform_capability_check_optype' mangled-name='rte_cryptodev_asym_xform_capability_check_optype' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='414' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_asym_xform_capability_check_optype@@EXPERIMENTAL'>
+      <parameter type-id='type-id-265' name='capability' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='415' column='1'/>
+      <parameter type-id='type-id-230' name='op_type' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='416' column='1'/>
+      <return type-id='type-id-31'/>
+    </function-decl>
+    <class-decl name='rte_cryptodev_asym_capability_idx' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='204' column='1' id='type-id-266'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-175' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='205' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-266' const='yes' id='type-id-267'/>
+    <pointer-type-def type-id='type-id-267' size-in-bits='64' id='type-id-268'/>
+    <function-decl name='rte_cryptodev_asym_capability_get' mangled-name='rte_cryptodev_asym_capability_get' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='341' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_asym_capability_get@@EXPERIMENTAL'>
+      <parameter type-id='type-id-8' name='dev_id' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='341' column='1'/>
+      <parameter type-id='type-id-268' name='idx' filepath='../lib/librte_cryptodev/rte_cryptodev.c' line='342' column='1'/>
+      <return type-id='type-id-265'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-147'>
+      <return type-id='type-id-146'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-129'>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-140'>
+      <parameter type-id='type-id-97'/>
+      <parameter type-id='type-id-10'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-133'>
+      <parameter type-id='type-id-132'/>
+      <parameter type-id='type-id-10'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-92'>
+      <parameter type-id='type-id-87'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-234'>
+      <parameter type-id='type-id-87'/>
+      <parameter type-id='type-id-217'/>
+      <parameter type-id='type-id-233'/>
+      <parameter type-id='type-id-17'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-214'>
+      <parameter type-id='type-id-87'/>
+      <parameter type-id='type-id-197'/>
+      <parameter type-id='type-id-213'/>
+      <parameter type-id='type-id-17'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-90'>
+      <parameter type-id='type-id-87'/>
+      <parameter type-id='type-id-89'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-190'>
+      <parameter type-id='type-id-87'/>
+      <parameter type-id='type-id-13'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-188'>
+      <parameter type-id='type-id-87'/>
+      <parameter type-id='type-id-13'/>
+      <parameter type-id='type-id-187'/>
+      <parameter type-id='type-id-31'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-138'>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-142'>
+      <parameter type-id='type-id-7'/>
+      <parameter type-id='type-id-10'/>
+      <parameter type-id='type-id-6'/>
+      <parameter type-id='type-id-41'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-156'>
+      <parameter type-id='type-id-10'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-136'>
+      <parameter type-id='type-id-132'/>
+      <parameter type-id='type-id-135'/>
+      <parameter type-id='type-id-10'/>
+      <return type-id='type-id-7'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-64'>
+      <parameter type-id='type-id-10'/>
+      <parameter type-id='type-id-63'/>
+      <parameter type-id='type-id-13'/>
+      <return type-id='type-id-13'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-192'>
+      <parameter type-id='type-id-87'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-194'>
+      <parameter type-id='type-id-87'/>
+      <return type-id='type-id-30'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-94'>
+      <parameter type-id='type-id-87'/>
+      <return type-id='type-id-14'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-238'>
+      <parameter type-id='type-id-87'/>
+      <parameter type-id='type-id-233'/>
+      <return type-id='type-id-14'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-179'>
+      <parameter type-id='type-id-87'/>
+      <parameter type-id='type-id-178'/>
+      <return type-id='type-id-14'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-183'>
+      <parameter type-id='type-id-87'/>
+      <parameter type-id='type-id-182'/>
+      <return type-id='type-id-14'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-236'>
+      <parameter type-id='type-id-87'/>
+      <parameter type-id='type-id-213'/>
+      <return type-id='type-id-14'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-60'>
+      <parameter type-id='type-id-54'/>
+      <parameter type-id='type-id-10'/>
+      <return type-id='type-id-14'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-246'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-245'/>
+      <parameter type-id='type-id-10'/>
+      <return type-id='type-id-14'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-154'>
+      <parameter type-id='type-id-10'/>
+      <parameter type-id='type-id-97'/>
+      <parameter type-id='type-id-153'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_cryptodev/rte_cryptodev_pmd.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='rte_cryptodev_pmd_destroy' mangled-name='rte_cryptodev_pmd_destroy' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.c' line='140' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_pmd_destroy@@DPDK_20.0'>
+      <parameter type-id='type-id-87' name='cryptodev' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.c' line='140' column='1'/>
+      <return type-id='type-id-31'/>
+    </function-decl>
+    <class-decl name='rte_cryptodev_pmd_init_params' size-in-bits='640' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='51' column='1' id='type-id-269'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-67' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='private_data_size' type-id='type-id-41' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='socket_id' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='max_nb_queue_pairs' type-id='type-id-30' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='55' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-269' size-in-bits='64' id='type-id-270'/>
+    <function-decl name='rte_cryptodev_pmd_create' mangled-name='rte_cryptodev_pmd_create' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.c' line='90' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_pmd_create@@DPDK_20.0'>
+      <parameter type-id='type-id-97' name='name' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.c' line='90' column='1'/>
+      <parameter type-id='type-id-7' name='device' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.c' line='91' column='1'/>
+      <parameter type-id='type-id-270' name='params' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.c' line='92' column='1'/>
+      <return type-id='type-id-87'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_pmd_parse_input_args' mangled-name='rte_cryptodev_pmd_parse_input_args' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.c' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_pmd_parse_input_args@@DPDK_20.0'>
+      <parameter type-id='type-id-270' name='params' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.c' line='48' column='1'/>
+      <parameter type-id='type-id-97' name='args' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.c' line='49' column='1'/>
+      <return type-id='type-id-31'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_distributor.dump b/lib/.abi/librte_distributor.dump
new file mode 100644
index 000000000..494b1f4d7
--- /dev/null
+++ b/lib/.abi/librte_distributor.dump
@@ -0,0 +1,627 @@
+<abi-corpus path='gcc//lib/librte_distributor.so.20.0' architecture='elf-amd-x86_64' soname='librte_distributor.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_distributor_clear_returns' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_distributor_create' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_distributor_flush' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_distributor_get_pkt' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_distributor_poll_pkt' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_distributor_process' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_distributor_request_pkt' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_distributor_return_pkt' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_distributor_returned_pkts' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_distributor/rte_distributor.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_distributor' size-in-bits='287744' is-struct='yes' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='133' column='1' id='type-id-1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-2' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='134' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-3' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='136' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='num_workers' type-id='type-id-4' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='alg_type' type-id='type-id-4' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='in_flight_tags' type-id='type-id-5' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='145' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16896'>
+        <var-decl name='backlog' type-id='type-id-6' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='148' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='115200'>
+        <var-decl name='bufs' type-id='type-id-7' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='151' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='279040'>
+        <var-decl name='returns' type-id='type-id-8' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='153' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='287296'>
+        <var-decl name='dist_match_fn' type-id='type-id-9' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='155' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='287360'>
+        <var-decl name='d_single' type-id='type-id-10' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='157' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='134' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-11' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='134' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-12' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='134' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-11'/>
+    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-12'/>
+    <type-decl name='char' size-in-bits='8' id='type-id-13'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-14'/>
+
+    <array-type-def dimensions='1' type-id='type-id-13' size-in-bits='256' id='type-id-3'>
+      <subrange length='32' type-id='type-id-14' id='type-id-15'/>
+
+    </array-type-def>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-4'/>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-16'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-16' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-17'/>
+    <typedef-decl name='uint16_t' type-id='type-id-17' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-18'/>
+
+
+    <array-type-def dimensions='2' type-id='type-id-18' size-in-bits='1280' id='type-id-5'>
+      <subrange length='64' type-id='type-id-14' id='type-id-19'/>
+
+      <subrange length='16' type-id='type-id-14' id='type-id-20'/>
+
+    </array-type-def>
+    <class-decl name='rte_distributor_backlog' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='69' column='1' id='type-id-21'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='start' type-id='type-id-4' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='count' type-id='type-id-4' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='pkts' type-id='type-id-22' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='tags' type-id='type-id-23' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='73' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='long int' size-in-bits='64' id='type-id-24'/>
+    <typedef-decl name='__int64_t' type-id='type-id-24' filepath='/usr/include/bits/types.h' line='44' column='1' id='type-id-25'/>
+    <typedef-decl name='int64_t' type-id='type-id-25' filepath='/usr/include/bits/stdint-intn.h' line='27' column='1' id='type-id-26'/>
+
+    <array-type-def dimensions='1' type-id='type-id-26' size-in-bits='512' id='type-id-22'>
+      <subrange length='8' type-id='type-id-14' id='type-id-27'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-23'/>
+
+    <array-type-def dimensions='1' type-id='type-id-21' size-in-bits='98304' id='type-id-6'>
+      <subrange length='64' type-id='type-id-14' id='type-id-19'/>
+
+    </array-type-def>
+    <class-decl name='rte_distributor_buffer' size-in-bits='2560' is-struct='yes' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='119' column='1' id='type-id-28'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='bufptr64' type-id='type-id-29' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='120' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='pad1' type-id='type-id-26' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='123' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='retptr64' type-id='type-id-29' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='125' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='pad2' type-id='type-id-26' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='128' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='count' type-id='type-id-30' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='130' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-26' volatile='yes' id='type-id-31'/>
+
+    <array-type-def dimensions='1' type-id='type-id-31' size-in-bits='512' id='type-id-32'>
+      <subrange length='8' type-id='type-id-14' id='type-id-27'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-32' volatile='yes' id='type-id-29'/>
+    <type-decl name='int' size-in-bits='32' id='type-id-30'/>
+
+    <array-type-def dimensions='1' type-id='type-id-28' size-in-bits='163840' id='type-id-7'>
+      <subrange length='64' type-id='type-id-14' id='type-id-19'/>
+
+    </array-type-def>
+    <class-decl name='rte_distributor_returned_pkts' size-in-bits='8256' is-struct='yes' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='77' column='1' id='type-id-8'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='start' type-id='type-id-4' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='count' type-id='type-id-4' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mbufs' type-id='type-id-33' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='80' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mbuf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='480' column='1' id='type-id-34'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheline0' type-id='type-id-35' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-36' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-37' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rearm_data' type-id='type-id-38' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='497' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_off' type-id='type-id-18' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_segs' type-id='type-id-18' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='port' type-id='type-id-18' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ol_flags' type-id='type-id-39' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_descriptor_fields1' type-id='type-id-35' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='pkt_len' type-id='type-id-40' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data_len' type-id='type-id-18' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='vlan_tci' type-id='type-id-18' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vlan_tci_outer' type-id='type-id-18' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='buf_len' type-id='type-id-18' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='timestamp' type-id='type-id-39' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cacheline1' type-id='type-id-35' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='pool' type-id='type-id-41' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='next' type-id='type-id-42' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv_size' type-id='type-id-18' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='timesync' type-id='type-id-18' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='seqn' type-id='type-id-40' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='shinfo' type-id='type-id-43' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dynfield1' type-id='type-id-44' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='void' id='type-id-45'/>
+    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-36'/>
+
+    <array-type-def dimensions='1' type-id='type-id-36' size-in-bits='infinite' id='type-id-46'>
+      <subrange length='infinite' type-id='type-id-14' id='type-id-47'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER' type-id='type-id-46' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='414' column='1' id='type-id-35'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='491' column='1' id='type-id-37'>
+      <data-member access='private'>
+        <var-decl name='buf_iova' type-id='type-id-48' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='buf_physaddr' type-id='type-id-48' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='__uint64_t' type-id='type-id-14' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-49'/>
+    <typedef-decl name='uint64_t' type-id='type-id-49' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-39'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-39' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-48'/>
+
+    <array-type-def dimensions='1' type-id='type-id-39' size-in-bits='infinite' id='type-id-50'>
+      <subrange length='infinite' type-id='type-id-14' id='type-id-47'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER64' type-id='type-id-50' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='420' column='1' id='type-id-38'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-4' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-51'/>
+    <typedef-decl name='uint32_t' type-id='type-id-51' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-40'/>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-52'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-3' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-53' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-36' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-54' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-4' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-30' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-40' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-40' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-40' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-40' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-40' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-4' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-55' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-56' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-40' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-57' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-40' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-58' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-53'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-36' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-59'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-3' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-60' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-61' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-39' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-55' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-40' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-60'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-62' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-48' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-39' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-62'/>
+    <typedef-decl name='size_t' type-id='type-id-14' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-61'/>
+    <typedef-decl name='__int32_t' type-id='type-id-30' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-63'/>
+    <typedef-decl name='int32_t' type-id='type-id-63' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-55'/>
+    <qualified-type-def type-id='type-id-59' const='yes' id='type-id-64'/>
+    <pointer-type-def type-id='type-id-64' size-in-bits='64' id='type-id-54'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-65'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-40' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-40' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-40' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-66' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-36' size-in-bits='98304' id='type-id-66'>
+      <subrange length='1536' type-id='type-id-14' id='type-id-67'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-56'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-57'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-68' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-69' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-70'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-71' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-41' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-72' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-71'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-68' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-70' size-in-bits='64' id='type-id-68'/>
+    <pointer-type-def type-id='type-id-52' size-in-bits='64' id='type-id-41'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-72'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-48' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-62' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-68' size-in-bits='64' id='type-id-69'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-58'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-73' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-74' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-75'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-76' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-41' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-36' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-77' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-61' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-78' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-36' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-76'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-73' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-75' size-in-bits='64' id='type-id-73'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-77'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-48' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-62' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-79' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-80'/>
+    <pointer-type-def type-id='type-id-80' size-in-bits='64' id='type-id-78'/>
+    <pointer-type-def type-id='type-id-73' size-in-bits='64' id='type-id-74'/>
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-42'/>
+    <class-decl name='rte_mbuf_ext_shared_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='689' column='1' id='type-id-81'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_cb' type-id='type-id-82' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcb_opaque' type-id='type-id-36' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt_atomic' type-id='type-id-83' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-84' size-in-bits='64' id='type-id-85'/>
+    <typedef-decl name='rte_mbuf_extbuf_free_callback_t' type-id='type-id-85' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='684' column='1' id='type-id-82'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-83' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-86'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-87' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-88'/>
+    <typedef-decl name='__int16_t' type-id='type-id-88' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-89'/>
+    <typedef-decl name='int16_t' type-id='type-id-89' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-90'/>
+    <qualified-type-def type-id='type-id-90' volatile='yes' id='type-id-87'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-86' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-83'/>
+    <pointer-type-def type-id='type-id-81' size-in-bits='64' id='type-id-43'/>
+
+    <array-type-def dimensions='1' type-id='type-id-39' size-in-bits='128' id='type-id-44'>
+      <subrange length='2' type-id='type-id-14' id='type-id-91'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-42' size-in-bits='8192' id='type-id-33'>
+      <subrange length='128' type-id='type-id-14' id='type-id-92'/>
+
+    </array-type-def>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-93'/>
+    <enum-decl name='rte_distributor_match_function' filepath='../lib/librte_distributor/distributor_private.h' line='105' column='1' id='type-id-9'>
+      <underlying-type type-id='type-id-93'/>
+      <enumerator name='RTE_DIST_MATCH_SCALAR' value='0'/>
+      <enumerator name='RTE_DIST_MATCH_VECTOR' value='1'/>
+      <enumerator name='RTE_DIST_NUM_MATCH_FNS' value='2'/>
+    </enum-decl>
+    <class-decl name='rte_distributor_single' size-in-bits='207872' is-struct='yes' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='83' column='1' id='type-id-94'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-95' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-3' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='num_workers' type-id='type-id-4' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='87' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='in_flight_tags' type-id='type-id-96' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='89' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2496'>
+        <var-decl name='in_flight_bitmask' type-id='type-id-39' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='backlog' type-id='type-id-6' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='97' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='100864'>
+        <var-decl name='bufs' type-id='type-id-97' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='99' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='199168'>
+        <var-decl name='returns' type-id='type-id-8' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='101' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='84' column='1' id='type-id-95'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-10' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-98' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='84' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-10'/>
+    <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-98'/>
+
+    <array-type-def dimensions='1' type-id='type-id-40' size-in-bits='2048' id='type-id-96'>
+      <subrange length='64' type-id='type-id-14' id='type-id-19'/>
+
+    </array-type-def>
+    <union-decl name='rte_distributor_buffer_single' size-in-bits='1536' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='58' column='1' id='type-id-99'>
+      <data-member access='private'>
+        <var-decl name='bufptr64' type-id='type-id-31' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pad' type-id='type-id-100' visibility='default' filepath='../lib/librte_distributor/distributor_private.h' line='60' column='1'/>
+      </data-member>
+    </union-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-13' size-in-bits='1536' id='type-id-100'>
+      <subrange length='192' type-id='type-id-14' id='type-id-101'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-99' size-in-bits='98304' id='type-id-97'>
+      <subrange length='64' type-id='type-id-14' id='type-id-19'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-13' const='yes' id='type-id-102'/>
+    <pointer-type-def type-id='type-id-102' size-in-bits='64' id='type-id-103'/>
+    <function-decl name='rte_distributor_create' mangled-name='rte_distributor_create' filepath='../lib/librte_distributor/rte_distributor.c' line='586' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_distributor_create@@DPDK_20.0'>
+      <parameter type-id='type-id-103' name='name' filepath='../lib/librte_distributor/rte_distributor.c' line='586' column='1'/>
+      <parameter type-id='type-id-4' name='socket_id' filepath='../lib/librte_distributor/rte_distributor.c' line='587' column='1'/>
+      <parameter type-id='type-id-4' name='num_workers' filepath='../lib/librte_distributor/rte_distributor.c' line='588' column='1'/>
+      <parameter type-id='type-id-4' name='alg_type' filepath='../lib/librte_distributor/rte_distributor.c' line='589' column='1'/>
+      <return type-id='type-id-11'/>
+    </function-decl>
+    <function-decl name='rte_distributor_clear_returns' mangled-name='rte_distributor_clear_returns' filepath='../lib/librte_distributor/rte_distributor.c' line='567' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_distributor_clear_returns@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='d' filepath='../lib/librte_distributor/rte_distributor.c' line='567' column='1'/>
+      <return type-id='type-id-45'/>
+    </function-decl>
+    <function-decl name='rte_distributor_flush' mangled-name='rte_distributor_flush' filepath='../lib/librte_distributor/rte_distributor.c' line='535' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_distributor_flush@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='d' filepath='../lib/librte_distributor/rte_distributor.c' line='535' column='1'/>
+      <return type-id='type-id-30'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-42' size-in-bits='64' id='type-id-104'/>
+    <function-decl name='rte_distributor_returned_pkts' mangled-name='rte_distributor_returned_pkts' filepath='../lib/librte_distributor/rte_distributor.c' line='489' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_distributor_returned_pkts@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='d' filepath='../lib/librte_distributor/rte_distributor.c' line='489' column='1'/>
+      <parameter type-id='type-id-104' name='mbufs' filepath='../lib/librte_distributor/rte_distributor.c' line='490' column='1'/>
+      <parameter type-id='type-id-4' name='max_mbufs' filepath='../lib/librte_distributor/rte_distributor.c' line='490' column='1'/>
+      <return type-id='type-id-30'/>
+    </function-decl>
+    <function-decl name='rte_distributor_process' mangled-name='rte_distributor_process' filepath='../lib/librte_distributor/rte_distributor.c' line='345' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_distributor_process@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='d' filepath='../lib/librte_distributor/rte_distributor.c' line='345' column='1'/>
+      <parameter type-id='type-id-104' name='mbufs' filepath='../lib/librte_distributor/rte_distributor.c' line='346' column='1'/>
+      <parameter type-id='type-id-4' name='num_mbufs' filepath='../lib/librte_distributor/rte_distributor.c' line='346' column='1'/>
+      <return type-id='type-id-30'/>
+    </function-decl>
+    <function-decl name='rte_distributor_return_pkt' mangled-name='rte_distributor_return_pkt' filepath='../lib/librte_distributor/rte_distributor.c' line='159' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_distributor_return_pkt@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='d' filepath='../lib/librte_distributor/rte_distributor.c' line='159' column='1'/>
+      <parameter type-id='type-id-4' name='worker_id' filepath='../lib/librte_distributor/rte_distributor.c' line='160' column='1'/>
+      <parameter type-id='type-id-104' name='oldpkt' filepath='../lib/librte_distributor/rte_distributor.c' line='160' column='1'/>
+      <parameter type-id='type-id-30' name='num' filepath='../lib/librte_distributor/rte_distributor.c' line='160' column='1'/>
+      <return type-id='type-id-30'/>
+    </function-decl>
+    <function-decl name='rte_distributor_get_pkt' mangled-name='rte_distributor_get_pkt' filepath='../lib/librte_distributor/rte_distributor.c' line='129' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_distributor_get_pkt@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='d' filepath='../lib/librte_distributor/rte_distributor.c' line='129' column='1'/>
+      <parameter type-id='type-id-4' name='worker_id' filepath='../lib/librte_distributor/rte_distributor.c' line='130' column='1'/>
+      <parameter type-id='type-id-104' name='pkts' filepath='../lib/librte_distributor/rte_distributor.c' line='130' column='1'/>
+      <parameter type-id='type-id-104' name='oldpkt' filepath='../lib/librte_distributor/rte_distributor.c' line='131' column='1'/>
+      <parameter type-id='type-id-4' name='return_count' filepath='../lib/librte_distributor/rte_distributor.c' line='131' column='1'/>
+      <return type-id='type-id-30'/>
+    </function-decl>
+    <function-decl name='rte_distributor_poll_pkt' mangled-name='rte_distributor_poll_pkt' filepath='../lib/librte_distributor/rte_distributor.c' line='87' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_distributor_poll_pkt@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='d' filepath='../lib/librte_distributor/rte_distributor.c' line='87' column='1'/>
+      <parameter type-id='type-id-4' name='worker_id' filepath='../lib/librte_distributor/rte_distributor.c' line='88' column='1'/>
+      <parameter type-id='type-id-104' name='pkts' filepath='../lib/librte_distributor/rte_distributor.c' line='88' column='1'/>
+      <return type-id='type-id-30'/>
+    </function-decl>
+    <function-decl name='rte_distributor_request_pkt' mangled-name='rte_distributor_request_pkt' filepath='../lib/librte_distributor/rte_distributor.c' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_distributor_request_pkt@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='d' filepath='../lib/librte_distributor/rte_distributor.c' line='35' column='1'/>
+      <parameter type-id='type-id-4' name='worker_id' filepath='../lib/librte_distributor/rte_distributor.c' line='36' column='1'/>
+      <parameter type-id='type-id-104' name='oldpkt' filepath='../lib/librte_distributor/rte_distributor.c' line='36' column='1'/>
+      <parameter type-id='type-id-4' name='count' filepath='../lib/librte_distributor/rte_distributor.c' line='37' column='1'/>
+      <return type-id='type-id-45'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-79'>
+      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-36'/>
+      <return type-id='type-id-45'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-84'>
+      <parameter type-id='type-id-36'/>
+      <parameter type-id='type-id-36'/>
+      <return type-id='type-id-45'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_eal.dump b/lib/.abi/librte_eal.dump
new file mode 100644
index 000000000..947b23cd6
--- /dev/null
+++ b/lib/.abi/librte_eal.dump
@@ -0,0 +1,3329 @@
+<abi-corpus path='gcc//lib/librte_eal.so.20.0' architecture='elf-amd-x86_64' soname='librte_eal.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='__rte_panic' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='eal_parse_sysfs_value' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bus_dump' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bus_find' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bus_find_by_device' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bus_find_by_name' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bus_get_iommu_class' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bus_probe' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bus_register' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bus_scan' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_bus_unregister' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_calloc' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_calloc_socket' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_class_find' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_class_find_by_name' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_class_register' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_class_unregister' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cpu_get_flag_enabled' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cpu_get_flag_name' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cpu_is_supported' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_ctrl_thread_create' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_delay_us_block' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_delay_us_callback_register' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_delay_us_sleep' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_dev_dma_map' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_dev_dma_unmap' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_dev_event_callback_process' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_dev_event_callback_register' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_dev_event_callback_unregister' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_dev_event_monitor_start' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_dev_event_monitor_stop' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_dev_hotplug_handle_disable' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_dev_hotplug_handle_enable' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_dev_is_probed' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_dev_iterator_init' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_dev_iterator_next' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_dev_probe' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_dev_remove' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_devargs_add' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_devargs_dump' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_devargs_insert' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_devargs_next' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_devargs_parse' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_devargs_parsef' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_devargs_remove' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_devargs_type_count' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_dump_physmem_layout' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_dump_registers' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_dump_stack' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_dump_tailq' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eal_alarm_cancel' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eal_alarm_set' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eal_cleanup' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eal_create_uio_dev' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eal_get_lcore_state' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eal_get_physmem_size' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eal_get_runtime_dir' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eal_has_hugepages' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eal_has_pci' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eal_hotplug_add' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eal_hotplug_remove' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eal_init' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eal_iopl_init' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eal_iova_mode' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eal_lcore_role' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eal_mbuf_user_pool_ops' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eal_mp_remote_launch' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eal_mp_wait_lcore' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eal_primary_proc_alive' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eal_process_type' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eal_remote_launch' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eal_tailq_lookup' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eal_tailq_register' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eal_using_phys_addrs' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eal_vfio_intr_mode' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eal_wait_lcore' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_epoll_ctl' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_epoll_wait' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_exit' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_extmem_attach' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_extmem_detach' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_extmem_register' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_extmem_unregister' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fbarray_attach' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fbarray_destroy' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fbarray_detach' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fbarray_dump_metadata' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fbarray_find_biggest_free' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fbarray_find_biggest_used' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fbarray_find_contig_free' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fbarray_find_contig_used' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fbarray_find_idx' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fbarray_find_next_free' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fbarray_find_next_n_free' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fbarray_find_next_n_used' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fbarray_find_next_used' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fbarray_find_prev_free' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fbarray_find_prev_n_free' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fbarray_find_prev_n_used' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fbarray_find_prev_used' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fbarray_find_rev_biggest_free' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fbarray_find_rev_biggest_used' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fbarray_find_rev_contig_free' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fbarray_find_rev_contig_used' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fbarray_get' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fbarray_init' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fbarray_is_used' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fbarray_set_free' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fbarray_set_used' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_free' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_get_master_lcore' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_get_next_lcore' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_get_tsc_hz' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_hexdump' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_hypervisor_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_hypervisor_get_name' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_intr_ack' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_intr_allow_others' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_intr_callback_register' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_intr_callback_unregister' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_intr_callback_unregister_pending' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_intr_cap_multiple' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_intr_disable' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_intr_dp_is_en' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_intr_efd_disable' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_intr_efd_enable' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_intr_enable' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_intr_free_epoll_fd' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_intr_rx_ctl' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_intr_tls_epfd' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_keepalive_create' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_keepalive_dispatch_pings' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_keepalive_mark_alive' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_keepalive_mark_sleep' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_keepalive_register_core' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_keepalive_register_relay_callback' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_lcore_count' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_lcore_cpuset' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_lcore_has_role' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_lcore_index' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_lcore_is_enabled' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_lcore_to_cpu_id' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_lcore_to_socket_id' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_log' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_log_cur_msg_loglevel' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_log_cur_msg_logtype' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_log_dump' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_log_get_global_level' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_log_get_level' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_log_get_stream' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_log_register' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_log_register_type_and_pick_level' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_log_set_global_level' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_log_set_level' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_log_set_level_pattern' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_log_set_level_regexp' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_malloc' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_malloc_dump_heaps' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_malloc_dump_stats' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_malloc_get_socket_stats' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_malloc_heap_create' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_malloc_heap_destroy' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_malloc_heap_get_socket' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_malloc_heap_memory_add' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_malloc_heap_memory_attach' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_malloc_heap_memory_detach' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_malloc_heap_memory_remove' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_malloc_heap_socket_is_external' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_malloc_set_limit' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_malloc_socket' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_malloc_validate' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_malloc_virt2iova' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mcfg_get_single_file_segments' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mcfg_mem_read_lock' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mcfg_mem_read_unlock' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mcfg_mem_write_lock' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mcfg_mem_write_unlock' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mcfg_mempool_read_lock' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mcfg_mempool_read_unlock' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mcfg_mempool_write_lock' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mcfg_mempool_write_unlock' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mcfg_tailq_read_lock' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mcfg_tailq_read_unlock' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mcfg_tailq_write_lock' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mcfg_tailq_write_unlock' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mcfg_timer_lock' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mcfg_timer_unlock' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mem_alloc_validator_register' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mem_alloc_validator_unregister' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mem_check_dma_mask' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mem_check_dma_mask_thread_unsafe' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mem_event_callback_register' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mem_event_callback_unregister' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mem_iova2virt' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mem_lock_page' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mem_set_dma_mask' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mem_virt2iova' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mem_virt2memseg' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mem_virt2memseg_list' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mem_virt2phy' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_memdump' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_memory_get_nchannel' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_memory_get_nrank' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_memseg_contig_walk' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_memseg_contig_walk_thread_unsafe' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_memseg_get_fd' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_memseg_get_fd_offset' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_memseg_get_fd_offset_thread_unsafe' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_memseg_get_fd_thread_unsafe' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_memseg_list_walk' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_memseg_list_walk_thread_unsafe' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_memseg_walk' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_memseg_walk_thread_unsafe' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_memzone_dump' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_memzone_free' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_memzone_lookup' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_memzone_reserve' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_memzone_reserve_aligned' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_memzone_reserve_bounded' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_memzone_walk' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mp_action_register' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mp_action_unregister' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mp_reply' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mp_request_async' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mp_request_sync' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mp_sendmsg' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_openlog_stream' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_option_register' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rand' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rand_max' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_realloc' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_realloc_socket' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_reciprocal_value' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_reciprocal_value_u64' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_service_attr_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_service_attr_reset_all' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_service_component_register' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_service_component_runstate_set' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_service_component_unregister' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_service_dump' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_service_finalize' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_service_get_by_name' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_service_get_count' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_service_get_name' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_service_lcore_add' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_service_lcore_attr_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_service_lcore_attr_reset_all' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_service_lcore_count' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_service_lcore_count_services' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_service_lcore_del' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_service_lcore_list' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_service_lcore_reset_all' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_service_lcore_start' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_service_lcore_stop' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_service_map_lcore_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_service_map_lcore_set' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_service_may_be_active' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_service_probe_capability' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_service_run_iter_on_app_lcore' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_service_runstate_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_service_runstate_set' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_service_set_runstate_mapped_check' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_service_set_stats_enable' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_service_start_with_defaults' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_set_application_usage_hook' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_socket_count' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_socket_id' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_socket_id_by_idx' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_srand' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_strerror' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_strscpy' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_strsplit' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_sys_gettid' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_thread_get_affinity' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_thread_set_affinity' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_thread_setname' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_uuid_compare' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_uuid_is_null' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_uuid_parse' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_uuid_unparse' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vfio_clear_group' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vfio_container_create' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vfio_container_destroy' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vfio_container_dma_map' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vfio_container_dma_unmap' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vfio_container_group_bind' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vfio_container_group_unbind' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vfio_enable' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vfio_get_container_fd' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vfio_get_group_fd' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vfio_get_group_num' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vfio_is_enabled' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vfio_noiommu_is_enabled' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vfio_release_device' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vfio_setup_device' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vlog' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_zmalloc' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_zmalloc_socket' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <elf-variable-symbols>
+    <elf-symbol name='eal_timer_source' size='4' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='per_lcore__lcore_id' size='4' version='DPDK_20.0' is-default-version='yes' type='tls-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='per_lcore__rte_errno' size='4' version='DPDK_20.0' is-default-version='yes' type='tls-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cycles_vmware_tsc_map' size='4' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_delay_us' size='8' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_logs' size='32' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rtm_supported' size='1' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eal/common/eal_common_bus.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-1'/>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-2'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <function-decl name='rte_bus_get_iommu_class' mangled-name='rte_bus_get_iommu_class' filepath='../lib/librte_eal/common/eal_common_bus.c' line='201' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bus_get_iommu_class@@DPDK_20.0'>
+      <return type-id='type-id-2'/>
+    </function-decl>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-3'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-5' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-6' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-7' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-8' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-9' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-10' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-11' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-12' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-13' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-14' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-15' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-17' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-18' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-4'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-20' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-19'/>
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-20'/>
+    <type-decl name='char' size-in-bits='8' id='type-id-21'/>
+    <qualified-type-def type-id='type-id-21' const='yes' id='type-id-22'/>
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-5'/>
+    <type-decl name='int' size-in-bits='32' id='type-id-23'/>
+    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-25'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-25' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-6'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-25' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-7'/>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-26'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-27' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-5' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-28' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-29' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-23' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-30' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-27'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-31' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-32' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-31'/>
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-32'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-33'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-34' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-5' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-5' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-34'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-35' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-36' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-33' size-in-bits='64' id='type-id-35'/>
+    <pointer-type-def type-id='type-id-35' size-in-bits='64' id='type-id-36'/>
+    <qualified-type-def type-id='type-id-33' const='yes' id='type-id-37'/>
+    <pointer-type-def type-id='type-id-37' size-in-bits='64' id='type-id-28'/>
+    <qualified-type-def type-id='type-id-3' const='yes' id='type-id-38'/>
+    <pointer-type-def type-id='type-id-38' size-in-bits='64' id='type-id-29'/>
+    <class-decl name='rte_devargs' size-in-bits='1088' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-39'/>
+    <pointer-type-def type-id='type-id-39' size-in-bits='64' id='type-id-30'/>
+    <qualified-type-def type-id='type-id-26' const='yes' id='type-id-40'/>
+    <pointer-type-def type-id='type-id-40' size-in-bits='64' id='type-id-41'/>
+    <type-decl name='void' id='type-id-42'/>
+    <pointer-type-def type-id='type-id-42' size-in-bits='64' id='type-id-43'/>
+    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-45'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-45' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-46'/>
+    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-48'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-48' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-8'/>
+    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-50'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-50' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-9'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-50' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-10'/>
+    <pointer-type-def type-id='type-id-51' size-in-bits='64' id='type-id-52'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-52' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-11'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-53'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-53' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-54'/>
+    <typedef-decl name='uint64_t' type-id='type-id-54' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-55'/>
+    <typedef-decl name='size_t' type-id='type-id-53' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-56'/>
+    <pointer-type-def type-id='type-id-57' size-in-bits='64' id='type-id-58'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-58' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-12'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-58' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-13'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-14'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-59' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-59'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-61'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-61' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-15'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-62'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-5' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-5' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-5' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-63' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-31' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-43' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_class' size-in-bits='256' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-64'/>
+    <pointer-type-def type-id='type-id-64' size-in-bits='64' id='type-id-63'/>
+    <qualified-type-def type-id='type-id-62' const='yes' id='type-id-65'/>
+    <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-66'/>
+    <pointer-type-def type-id='type-id-67' size-in-bits='64' id='type-id-68'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-68' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-16'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-50' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-17'/>
+    <pointer-type-def type-id='type-id-69' size-in-bits='64' id='type-id-70'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-70' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-18'/>
+    <function-decl name='rte_bus_find_by_name' mangled-name='rte_bus_find_by_name' filepath='../lib/librte_eal/common/eal_common_bus.c' line='170' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bus_find_by_name@@DPDK_20.0'>
+      <parameter type-id='type-id-5' name='busname' filepath='../lib/librte_eal/common/eal_common_bus.c' line='170' column='1'/>
+      <return type-id='type-id-19'/>
+    </function-decl>
+    <function-decl name='rte_bus_find_by_device' mangled-name='rte_bus_find_by_device' filepath='../lib/librte_eal/common/eal_common_bus.c' line='156' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bus_find_by_device@@DPDK_20.0'>
+      <parameter type-id='type-id-41' name='dev' filepath='../lib/librte_eal/common/eal_common_bus.c' line='156' column='1'/>
+      <return type-id='type-id-19'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-72'/>
+    <typedef-decl name='rte_bus_cmp_t' type-id='type-id-72' filepath='../lib/librte_eal/common/include/rte_bus.h' line='327' column='1' id='type-id-73'/>
+    <function-decl name='rte_bus_find' mangled-name='rte_bus_find' filepath='../lib/librte_eal/common/eal_common_bus.c' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bus_find@@DPDK_20.0'>
+      <parameter type-id='type-id-29' name='start' filepath='../lib/librte_eal/common/eal_common_bus.c' line='121' column='1'/>
+      <parameter type-id='type-id-73' name='cmp' filepath='../lib/librte_eal/common/eal_common_bus.c' line='121' column='1'/>
+      <parameter type-id='type-id-43' name='data' filepath='../lib/librte_eal/common/eal_common_bus.c' line='122' column='1'/>
+      <return type-id='type-id-19'/>
+    </function-decl>
+    <class-decl name='_IO_FILE' size-in-bits='1728' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='49' column='1' id='type-id-74'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='_flags' type-id='type-id-23' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='_IO_read_ptr' type-id='type-id-75' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='_IO_read_end' type-id='type-id-75' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='_IO_read_base' type-id='type-id-75' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='_IO_write_base' type-id='type-id-75' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='_IO_write_ptr' type-id='type-id-75' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='_IO_write_end' type-id='type-id-75' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='_IO_buf_base' type-id='type-id-75' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='60' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='_IO_buf_end' type-id='type-id-75' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='_IO_save_base' type-id='type-id-75' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='_IO_backup_base' type-id='type-id-75' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='_IO_save_end' type-id='type-id-75' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='_markers' type-id='type-id-76' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='_chain' type-id='type-id-77' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='_fileno' type-id='type-id-23' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='928'>
+        <var-decl name='_flags2' type-id='type-id-23' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='73' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='_old_offset' type-id='type-id-78' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='_cur_column' type-id='type-id-79' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1040'>
+        <var-decl name='_vtable_offset' type-id='type-id-80' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1048'>
+        <var-decl name='_shortbuf' type-id='type-id-81' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='_lock' type-id='type-id-82' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='_offset' type-id='type-id-83' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='89' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='_codecvt' type-id='type-id-84' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='_wide_data' type-id='type-id-85' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='92' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='_freeres_list' type-id='type-id-77' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='93' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='_freeres_buf' type-id='type-id-43' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='__pad5' type-id='type-id-56' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='95' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='_mode' type-id='type-id-23' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1568'>
+        <var-decl name='_unused2' type-id='type-id-86' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='98' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-75'/>
+    <class-decl name='_IO_marker' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-87'/>
+    <pointer-type-def type-id='type-id-87' size-in-bits='64' id='type-id-76'/>
+    <pointer-type-def type-id='type-id-74' size-in-bits='64' id='type-id-77'/>
+    <type-decl name='long int' size-in-bits='64' id='type-id-88'/>
+    <typedef-decl name='__off_t' type-id='type-id-88' filepath='/usr/include/bits/types.h' line='152' column='1' id='type-id-78'/>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-79'/>
+    <type-decl name='signed char' size-in-bits='8' id='type-id-80'/>
+
+    <array-type-def dimensions='1' type-id='type-id-21' size-in-bits='8' id='type-id-81'>
+      <subrange length='1' type-id='type-id-53' id='type-id-89'/>
+
+    </array-type-def>
+    <typedef-decl name='_IO_lock_t' type-id='type-id-42' filepath='/usr/include/bits/types/struct_FILE.h' line='43' column='1' id='type-id-90'/>
+    <pointer-type-def type-id='type-id-90' size-in-bits='64' id='type-id-82'/>
+    <typedef-decl name='__off64_t' type-id='type-id-88' filepath='/usr/include/bits/types.h' line='153' column='1' id='type-id-83'/>
+    <class-decl name='_IO_codecvt' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-91'/>
+    <pointer-type-def type-id='type-id-91' size-in-bits='64' id='type-id-84'/>
+    <class-decl name='_IO_wide_data' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-92'/>
+    <pointer-type-def type-id='type-id-92' size-in-bits='64' id='type-id-85'/>
+
+    <array-type-def dimensions='1' type-id='type-id-21' size-in-bits='160' id='type-id-86'>
+      <subrange length='20' type-id='type-id-53' id='type-id-93'/>
+
+    </array-type-def>
+    <typedef-decl name='FILE' type-id='type-id-74' filepath='/usr/include/bits/types/FILE.h' line='7' column='1' id='type-id-94'/>
+    <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-95'/>
+    <function-decl name='rte_bus_dump' mangled-name='rte_bus_dump' filepath='../lib/librte_eal/common/eal_common_bus.c' line='105' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bus_dump@@DPDK_20.0'>
+      <parameter type-id='type-id-95' name='f' filepath='../lib/librte_eal/common/eal_common_bus.c' line='105' column='1'/>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-decl name='rte_bus_probe' mangled-name='rte_bus_probe' filepath='../lib/librte_eal/common/eal_common_bus.c' line='61' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bus_probe@@DPDK_20.0'>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_bus_scan' mangled-name='rte_bus_scan' filepath='../lib/librte_eal/common/eal_common_bus.c' line='44' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bus_scan@@DPDK_20.0'>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_bus_unregister' mangled-name='rte_bus_unregister' filepath='../lib/librte_eal/common/eal_common_bus.c' line='36' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bus_unregister@@DPDK_20.0'>
+      <parameter type-id='type-id-19' name='bus' filepath='../lib/librte_eal/common/eal_common_bus.c' line='36' column='1'/>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-decl name='rte_bus_register' mangled-name='rte_bus_register' filepath='../lib/librte_eal/common/eal_common_bus.c' line='20' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_bus_register@@DPDK_20.0'>
+      <parameter type-id='type-id-19' name='bus' filepath='../lib/librte_eal/common/eal_common_bus.c' line='20' column='1'/>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-60'>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-24'>
+      <return type-id='type-id-23'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-51'>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-43'/>
+      <return type-id='type-id-23'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-71'>
+      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-43'/>
+      <return type-id='type-id-23'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-44'>
+      <parameter type-id='type-id-41'/>
+      <parameter type-id='type-id-43'/>
+      <return type-id='type-id-23'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-49'>
+      <parameter type-id='type-id-31'/>
+      <return type-id='type-id-23'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-57'>
+      <parameter type-id='type-id-31'/>
+      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-56'/>
+      <return type-id='type-id-23'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-69'>
+      <parameter type-id='type-id-43'/>
+      <return type-id='type-id-23'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-47'>
+      <parameter type-id='type-id-41'/>
+      <parameter type-id='type-id-46'/>
+      <parameter type-id='type-id-43'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-67'>
+      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-66'/>
+      <return type-id='type-id-43'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eal/common/eal_common_cpuflags.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='rte_cpu_is_supported' mangled-name='rte_cpu_is_supported' filepath='../lib/librte_eal/common/eal_common_cpuflags.c' line='11' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cpu_is_supported@@DPDK_20.0'>
+      <return type-id='type-id-23'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eal/common/eal_common_class.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_class' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_class.h' line='35' column='1' id='type-id-64'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-96' visibility='default' filepath='../lib/librte_eal/common/include/rte_class.h' line='36' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-5' visibility='default' filepath='../lib/librte_eal/common/include/rte_class.h' line='37' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_iterate' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_class.h' line='38' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_class.h' line='36' column='1' id='type-id-96'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-63' visibility='default' filepath='../lib/librte_eal/common/include/rte_class.h' line='36' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-97' visibility='default' filepath='../lib/librte_eal/common/include/rte_class.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-97'/>
+    <function-decl name='rte_class_unregister' mangled-name='rte_class_unregister' filepath='../lib/librte_eal/common/eal_common_class.c' line='26' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_class_unregister@@EXPERIMENTAL'>
+      <parameter type-id='type-id-63' name='class' filepath='../lib/librte_eal/common/eal_common_class.c' line='26' column='1'/>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-decl name='rte_class_register' mangled-name='rte_class_register' filepath='../lib/librte_eal/common/eal_common_class.c' line='16' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_class_register@@EXPERIMENTAL'>
+      <parameter type-id='type-id-63' name='class' filepath='../lib/librte_eal/common/eal_common_class.c' line='16' column='1'/>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-decl name='rte_class_find_by_name' mangled-name='rte_class_find_by_name' filepath='../lib/librte_eal/common/eal_common_class.c' line='59' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_class_find_by_name@@EXPERIMENTAL'>
+      <parameter type-id='type-id-5' name='name' filepath='../lib/librte_eal/common/eal_common_class.c' line='59' column='1'/>
+      <return type-id='type-id-63'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-64' const='yes' id='type-id-98'/>
+    <pointer-type-def type-id='type-id-98' size-in-bits='64' id='type-id-99'/>
+    <pointer-type-def type-id='type-id-100' size-in-bits='64' id='type-id-101'/>
+    <typedef-decl name='rte_class_cmp_t' type-id='type-id-101' filepath='../lib/librte_eal/common/include/rte_class.h' line='56' column='1' id='type-id-102'/>
+    <function-decl name='rte_class_find' mangled-name='rte_class_find' filepath='../lib/librte_eal/common/eal_common_class.c' line='33' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_class_find@@EXPERIMENTAL'>
+      <parameter type-id='type-id-99' name='start' filepath='../lib/librte_eal/common/eal_common_class.c' line='33' column='1'/>
+      <parameter type-id='type-id-102' name='cmp' filepath='../lib/librte_eal/common/eal_common_class.c' line='33' column='1'/>
+      <parameter type-id='type-id-43' name='data' filepath='../lib/librte_eal/common/eal_common_class.c' line='34' column='1'/>
+      <return type-id='type-id-63'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-100'>
+      <parameter type-id='type-id-99'/>
+      <parameter type-id='type-id-43'/>
+      <return type-id='type-id-23'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eal/common/eal_common_devargs.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_devargs' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='47' column='1' id='type-id-39'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-103' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='type' type-id='type-id-104' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='policy' type-id='type-id-105' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='name' type-id='type-id-106' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='' type-id='type-id-107' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='bus' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='cls' type-id='type-id-63' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='bus_str' type-id='type-id-5' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='cls_str' type-id='type-id-5' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='data' type-id='type-id-5' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='66' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1' id='type-id-103'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-30' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-108' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-108'/>
+    <enum-decl name='rte_devtype' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='31' column='1' id='type-id-104'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTE_DEVTYPE_WHITELISTED_PCI' value='0'/>
+      <enumerator name='RTE_DEVTYPE_BLACKLISTED_PCI' value='1'/>
+      <enumerator name='RTE_DEVTYPE_VIRTUAL' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_dev_policy' filepath='../lib/librte_eal/common/include/rte_dev.h' line='72' column='1' id='type-id-105'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTE_DEV_WHITELISTED' value='0'/>
+      <enumerator name='RTE_DEV_BLACKLISTED' value='1'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-21' size-in-bits='512' id='type-id-106'>
+      <subrange length='64' type-id='type-id-53' id='type-id-109'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='57' column='1' id='type-id-107'>
+      <data-member access='private'>
+        <var-decl name='args' type-id='type-id-75' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='drv_str' type-id='type-id-5' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='60' column='1'/>
+      </data-member>
+    </union-decl>
+    <qualified-type-def type-id='type-id-39' const='yes' id='type-id-110'/>
+    <pointer-type-def type-id='type-id-110' size-in-bits='64' id='type-id-111'/>
+    <function-decl name='rte_devargs_next' mangled-name='rte_devargs_next' filepath='../lib/librte_eal/common/eal_common_devargs.c' line='388' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_devargs_next@@DPDK_20.0'>
+      <parameter type-id='type-id-5' name='busname' filepath='../lib/librte_eal/common/eal_common_devargs.c' line='388' column='1'/>
+      <parameter type-id='type-id-111' name='start' filepath='../lib/librte_eal/common/eal_common_devargs.c' line='388' column='1'/>
+      <return type-id='type-id-30'/>
+    </function-decl>
+    <function-decl name='rte_devargs_dump' mangled-name='rte_devargs_dump' filepath='../lib/librte_eal/common/eal_common_devargs.c' line='374' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_devargs_dump@@DPDK_20.0'>
+      <parameter type-id='type-id-95' name='f' filepath='../lib/librte_eal/common/eal_common_devargs.c' line='374' column='1'/>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-112'/>
+    <function-decl name='rte_devargs_type_count' mangled-name='rte_devargs_type_count' filepath='../lib/librte_eal/common/eal_common_devargs.c' line='359' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_devargs_type_count@@DPDK_20.0'>
+      <parameter type-id='type-id-104' name='devtype' filepath='../lib/librte_eal/common/eal_common_devargs.c' line='359' column='1'/>
+      <return type-id='type-id-112'/>
+    </function-decl>
+    <function-decl name='rte_devargs_remove' mangled-name='rte_devargs_remove' filepath='../lib/librte_eal/common/eal_common_devargs.c' line='337' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_devargs_remove@@DPDK_20.0'>
+      <parameter type-id='type-id-30' name='devargs' filepath='../lib/librte_eal/common/eal_common_devargs.c' line='337' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_devargs_add' mangled-name='rte_devargs_add' filepath='../lib/librte_eal/common/eal_common_devargs.c' line='301' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_devargs_add@@DPDK_20.0'>
+      <parameter type-id='type-id-104' name='devtype' filepath='../lib/librte_eal/common/eal_common_devargs.c' line='301' column='1'/>
+      <parameter type-id='type-id-5' name='devargs_str' filepath='../lib/librte_eal/common/eal_common_devargs.c' line='301' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_devargs_insert' mangled-name='rte_devargs_insert' filepath='../lib/librte_eal/common/eal_common_devargs.c' line='264' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_devargs_insert@@DPDK_20.0'>
+      <parameter type-id='type-id-108' name='da' filepath='../lib/librte_eal/common/eal_common_devargs.c' line='264' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_devargs_parsef' mangled-name='rte_devargs_parsef' filepath='../lib/librte_eal/common/eal_common_devargs.c' line='233' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_devargs_parsef@@DPDK_20.0'>
+      <parameter type-id='type-id-30' name='da' filepath='../lib/librte_eal/common/eal_common_devargs.c' line='233' column='1'/>
+      <parameter type-id='type-id-5' name='format' filepath='../lib/librte_eal/common/eal_common_devargs.c' line='233' column='1'/>
+      <parameter is-variadic='yes'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_devargs_parse' mangled-name='rte_devargs_parse' filepath='../lib/librte_eal/common/eal_common_devargs.c' line='178' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_devargs_parse@@DPDK_20.0'>
+      <parameter type-id='type-id-30' name='da' filepath='../lib/librte_eal/common/eal_common_devargs.c' line='178' column='1'/>
+      <parameter type-id='type-id-5' name='dev' filepath='../lib/librte_eal/common/eal_common_devargs.c' line='178' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eal/common/eal_common_dev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='rte_dev_remove' mangled-name='rte_dev_remove' filepath='../lib/librte_eal/common/eal_common_dev.c' line='332' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_dev_remove@@DPDK_20.0'>
+      <parameter type-id='type-id-31' name='dev' filepath='../lib/librte_eal/common/eal_common_dev.c' line='332' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_eal_hotplug_remove' mangled-name='rte_eal_hotplug_remove' filepath='../lib/librte_eal/common/eal_common_dev.c' line='289' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eal_hotplug_remove@@DPDK_20.0'>
+      <parameter type-id='type-id-5' name='busname' filepath='../lib/librte_eal/common/eal_common_dev.c' line='289' column='1'/>
+      <parameter type-id='type-id-5' name='devname' filepath='../lib/librte_eal/common/eal_common_dev.c' line='289' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_dev_probe' mangled-name='rte_dev_probe' filepath='../lib/librte_eal/common/eal_common_dev.c' line='196' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_dev_probe@@DPDK_20.0'>
+      <parameter type-id='type-id-5' name='devargs' filepath='../lib/librte_eal/common/eal_common_dev.c' line='196' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_eal_hotplug_add' mangled-name='rte_eal_hotplug_add' filepath='../lib/librte_eal/common/eal_common_dev.c' line='112' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eal_hotplug_add@@DPDK_20.0'>
+      <parameter type-id='type-id-5' name='busname' filepath='../lib/librte_eal/common/eal_common_dev.c' line='112' column='1'/>
+      <parameter type-id='type-id-5' name='devname' filepath='../lib/librte_eal/common/eal_common_dev.c' line='112' column='1'/>
+      <parameter type-id='type-id-5' name='drvargs' filepath='../lib/librte_eal/common/eal_common_dev.c' line='113' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_dev_is_probed' mangled-name='rte_dev_is_probed' filepath='../lib/librte_eal/common/eal_common_dev.c' line='80' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_dev_is_probed@@DPDK_20.0'>
+      <parameter type-id='type-id-41' name='dev' filepath='../lib/librte_eal/common/eal_common_dev.c' line='80' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_dev_dma_unmap' mangled-name='rte_dev_dma_unmap' filepath='../lib/librte_eal/common/eal_common_dev.c' line='779' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_dev_dma_unmap@@EXPERIMENTAL'>
+      <parameter type-id='type-id-31' name='dev' filepath='../lib/librte_eal/common/eal_common_dev.c' line='779' column='1'/>
+      <parameter type-id='type-id-43' name='addr' filepath='../lib/librte_eal/common/eal_common_dev.c' line='779' column='1'/>
+      <parameter type-id='type-id-55' name='iova' filepath='../lib/librte_eal/common/eal_common_dev.c' line='779' column='1'/>
+      <parameter type-id='type-id-56' name='len' filepath='../lib/librte_eal/common/eal_common_dev.c' line='780' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_dev_dma_map' mangled-name='rte_dev_dma_map' filepath='../lib/librte_eal/common/eal_common_dev.c' line='762' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_dev_dma_map@@EXPERIMENTAL'>
+      <parameter type-id='type-id-31' name='dev' filepath='../lib/librte_eal/common/eal_common_dev.c' line='779' column='1'/>
+      <parameter type-id='type-id-43' name='addr' filepath='../lib/librte_eal/common/eal_common_dev.c' line='779' column='1'/>
+      <parameter type-id='type-id-55' name='iova' filepath='../lib/librte_eal/common/eal_common_dev.c' line='779' column='1'/>
+      <parameter type-id='type-id-56' name='len' filepath='../lib/librte_eal/common/eal_common_dev.c' line='780' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <enum-decl name='rte_dev_event_type' filepath='../lib/librte_eal/common/include/rte_dev.h' line='30' column='1' id='type-id-113'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTE_DEV_EVENT_ADD' value='0'/>
+      <enumerator name='RTE_DEV_EVENT_REMOVE' value='1'/>
+      <enumerator name='RTE_DEV_EVENT_MAX' value='2'/>
+    </enum-decl>
+    <function-decl name='rte_dev_event_callback_process' mangled-name='rte_dev_event_callback_process' filepath='../lib/librte_eal/common/eal_common_dev.c' line='540' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_dev_event_callback_process@@EXPERIMENTAL'>
+      <parameter type-id='type-id-5' name='device_name' filepath='../lib/librte_eal/common/eal_common_dev.c' line='540' column='1'/>
+      <parameter type-id='type-id-113' name='event' filepath='../lib/librte_eal/common/eal_common_dev.c' line='541' column='1'/>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-114' size-in-bits='64' id='type-id-115'/>
+    <typedef-decl name='rte_dev_event_cb_fn' type-id='type-id-115' filepath='../lib/librte_eal/common/include/rte_dev.h' line='42' column='1' id='type-id-116'/>
+    <function-decl name='rte_dev_event_callback_unregister' mangled-name='rte_dev_event_callback_unregister' filepath='../lib/librte_eal/common/eal_common_dev.c' line='495' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_dev_event_callback_unregister@@EXPERIMENTAL'>
+      <parameter type-id='type-id-5' name='device_name' filepath='../lib/librte_eal/common/eal_common_dev.c' line='495' column='1'/>
+      <parameter type-id='type-id-116' name='cb_fn' filepath='../lib/librte_eal/common/eal_common_dev.c' line='496' column='1'/>
+      <parameter type-id='type-id-43' name='cb_arg' filepath='../lib/librte_eal/common/eal_common_dev.c' line='497' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_dev_event_callback_register' mangled-name='rte_dev_event_callback_register' filepath='../lib/librte_eal/common/eal_common_dev.c' line='429' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_dev_event_callback_register@@EXPERIMENTAL'>
+      <parameter type-id='type-id-5' name='device_name' filepath='../lib/librte_eal/common/eal_common_dev.c' line='429' column='1'/>
+      <parameter type-id='type-id-116' name='cb_fn' filepath='../lib/librte_eal/common/eal_common_dev.c' line='430' column='1'/>
+      <parameter type-id='type-id-43' name='cb_arg' filepath='../lib/librte_eal/common/eal_common_dev.c' line='431' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-62' size-in-bits='64' id='type-id-117'/>
+    <function-decl name='rte_dev_iterator_next' mangled-name='rte_dev_iterator_next' filepath='../lib/librte_eal/common/eal_common_dev.c' line='718' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_dev_iterator_next@@EXPERIMENTAL'>
+      <parameter type-id='type-id-117' name='it' filepath='../lib/librte_eal/common/eal_common_dev.c' line='718' column='1'/>
+      <return type-id='type-id-31'/>
+    </function-decl>
+    <function-decl name='rte_dev_iterator_init' mangled-name='rte_dev_iterator_init' filepath='../lib/librte_eal/common/eal_common_dev.c' line='566' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_dev_iterator_init@@EXPERIMENTAL'>
+      <parameter type-id='type-id-117' name='it' filepath='../lib/librte_eal/common/eal_common_dev.c' line='566' column='1'/>
+      <parameter type-id='type-id-5' name='dev_str' filepath='../lib/librte_eal/common/eal_common_dev.c' line='567' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-114'>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-113'/>
+      <parameter type-id='type-id-43'/>
+      <return type-id='type-id-42'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eal/common/eal_common_errno.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='per_lcore__rte_errno' type-id='type-id-23' mangled-name='per_lcore__rte_errno' visibility='default' filepath='../lib/librte_eal/common/include/rte_errno.h' line='20' column='1' elf-symbol-id='per_lcore__rte_errno@@DPDK_20.0'/>
+    <function-decl name='rte_strerror' mangled-name='rte_strerror' filepath='../lib/librte_eal/common/eal_common_errno.c' line='21' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_strerror@@DPDK_20.0'>
+      <parameter type-id='type-id-23' name='errnum' filepath='../lib/librte_eal/common/eal_common_errno.c' line='21' column='1'/>
+      <return type-id='type-id-5'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eal/common/eal_common_fbarray.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_fbarray' size-in-bits='768' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_fbarray.h' line='44' column='1' id='type-id-118'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-106' visibility='default' filepath='../lib/librte_eal/common/include/rte_fbarray.h' line='45' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='count' type-id='type-id-112' visibility='default' filepath='../lib/librte_eal/common/include/rte_fbarray.h' line='46' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='len' type-id='type-id-112' visibility='default' filepath='../lib/librte_eal/common/include/rte_fbarray.h' line='47' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_sz' type-id='type-id-112' visibility='default' filepath='../lib/librte_eal/common/include/rte_fbarray.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='data' type-id='type-id-43' visibility='default' filepath='../lib/librte_eal/common/include/rte_fbarray.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='rwlock' type-id='type-id-119' visibility='default' filepath='../lib/librte_eal/common/include/rte_fbarray.h' line='50' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-119' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_rwlock.h' line='33' column='1' id='type-id-120'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-121' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_rwlock.h' line='34' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='__int32_t' type-id='type-id-23' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-122'/>
+    <typedef-decl name='int32_t' type-id='type-id-122' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-123'/>
+    <qualified-type-def type-id='type-id-123' volatile='yes' id='type-id-121'/>
+    <typedef-decl name='rte_rwlock_t' type-id='type-id-120' filepath='../lib/librte_eal/common/include/generic/rte_rwlock.h' line='35' column='1' id='type-id-119'/>
+    <pointer-type-def type-id='type-id-118' size-in-bits='64' id='type-id-124'/>
+    <function-decl name='rte_fbarray_dump_metadata' mangled-name='rte_fbarray_dump_metadata' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1482' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fbarray_dump_metadata@@EXPERIMENTAL'>
+      <parameter type-id='type-id-124' name='arr' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1482' column='1'/>
+      <parameter type-id='type-id-95' name='f' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1482' column='1'/>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-decl name='rte_fbarray_find_rev_biggest_used' mangled-name='rte_fbarray_find_rev_biggest_used' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1425' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fbarray_find_rev_biggest_used@@EXPERIMENTAL'>
+      <parameter type-id='type-id-124' name='arr' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1425' column='1'/>
+      <parameter type-id='type-id-112' name='start' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1425' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_fbarray_find_rev_biggest_free' mangled-name='rte_fbarray_find_rev_biggest_free' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1419' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fbarray_find_rev_biggest_free@@EXPERIMENTAL'>
+      <parameter type-id='type-id-124' name='arr' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1425' column='1'/>
+      <parameter type-id='type-id-112' name='start' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1425' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_fbarray_find_biggest_used' mangled-name='rte_fbarray_find_biggest_used' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1413' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fbarray_find_biggest_used@@EXPERIMENTAL'>
+      <parameter type-id='type-id-124' name='arr' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1425' column='1'/>
+      <parameter type-id='type-id-112' name='start' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1425' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_fbarray_find_biggest_free' mangled-name='rte_fbarray_find_biggest_free' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1407' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fbarray_find_biggest_free@@EXPERIMENTAL'>
+      <parameter type-id='type-id-124' name='arr' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1425' column='1'/>
+      <parameter type-id='type-id-112' name='start' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1425' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_fbarray_find_rev_contig_used' mangled-name='rte_fbarray_find_rev_contig_used' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1450' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fbarray_find_rev_contig_used@@EXPERIMENTAL'>
+      <parameter type-id='type-id-124' name='arr' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1425' column='1'/>
+      <parameter type-id='type-id-112' name='start' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1425' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_fbarray_find_rev_contig_free' mangled-name='rte_fbarray_find_rev_contig_free' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1444' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fbarray_find_rev_contig_free@@EXPERIMENTAL'>
+      <parameter type-id='type-id-124' name='arr' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1425' column='1'/>
+      <parameter type-id='type-id-112' name='start' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1425' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_fbarray_find_prev_n_used' mangled-name='rte_fbarray_find_prev_n_used' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1264' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fbarray_find_prev_n_used@@EXPERIMENTAL'>
+      <parameter type-id='type-id-124' name='arr' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1264' column='1'/>
+      <parameter type-id='type-id-112' name='start' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1264' column='1'/>
+      <parameter type-id='type-id-112' name='n' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1265' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_fbarray_find_prev_n_free' mangled-name='rte_fbarray_find_prev_n_free' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1257' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fbarray_find_prev_n_free@@EXPERIMENTAL'>
+      <parameter type-id='type-id-124' name='arr' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1264' column='1'/>
+      <parameter type-id='type-id-112' name='start' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1264' column='1'/>
+      <parameter type-id='type-id-112' name='n' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1265' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_fbarray_find_prev_used' mangled-name='rte_fbarray_find_prev_used' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1185' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fbarray_find_prev_used@@EXPERIMENTAL'>
+      <parameter type-id='type-id-124' name='arr' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1425' column='1'/>
+      <parameter type-id='type-id-112' name='start' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1425' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_fbarray_find_prev_free' mangled-name='rte_fbarray_find_prev_free' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1179' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fbarray_find_prev_free@@EXPERIMENTAL'>
+      <parameter type-id='type-id-124' name='arr' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1425' column='1'/>
+      <parameter type-id='type-id-112' name='start' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1425' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_fbarray_find_contig_used' mangled-name='rte_fbarray_find_contig_used' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1438' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fbarray_find_contig_used@@EXPERIMENTAL'>
+      <parameter type-id='type-id-124' name='arr' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1425' column='1'/>
+      <parameter type-id='type-id-112' name='start' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1425' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_fbarray_find_contig_free' mangled-name='rte_fbarray_find_contig_free' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fbarray_find_contig_free@@EXPERIMENTAL'>
+      <parameter type-id='type-id-124' name='arr' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1425' column='1'/>
+      <parameter type-id='type-id-112' name='start' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1425' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_fbarray_find_next_n_used' mangled-name='rte_fbarray_find_next_n_used' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1250' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fbarray_find_next_n_used@@EXPERIMENTAL'>
+      <parameter type-id='type-id-124' name='arr' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1264' column='1'/>
+      <parameter type-id='type-id-112' name='start' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1264' column='1'/>
+      <parameter type-id='type-id-112' name='n' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1265' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_fbarray_find_next_n_free' mangled-name='rte_fbarray_find_next_n_free' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1243' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fbarray_find_next_n_free@@EXPERIMENTAL'>
+      <parameter type-id='type-id-124' name='arr' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1264' column='1'/>
+      <parameter type-id='type-id-112' name='start' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1264' column='1'/>
+      <parameter type-id='type-id-112' name='n' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1265' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_fbarray_find_next_used' mangled-name='rte_fbarray_find_next_used' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1173' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fbarray_find_next_used@@EXPERIMENTAL'>
+      <parameter type-id='type-id-124' name='arr' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1425' column='1'/>
+      <parameter type-id='type-id-112' name='start' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1425' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_fbarray_find_next_free' mangled-name='rte_fbarray_find_next_free' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1167' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fbarray_find_next_free@@EXPERIMENTAL'>
+      <parameter type-id='type-id-124' name='arr' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1425' column='1'/>
+      <parameter type-id='type-id-112' name='start' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1425' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_fbarray_is_used' mangled-name='rte_fbarray_is_used' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1098' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fbarray_is_used@@EXPERIMENTAL'>
+      <parameter type-id='type-id-124' name='arr' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1098' column='1'/>
+      <parameter type-id='type-id-112' name='idx' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1098' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_fbarray_set_free' mangled-name='rte_fbarray_set_free' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1092' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fbarray_set_free@@EXPERIMENTAL'>
+      <parameter type-id='type-id-124' name='arr' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1425' column='1'/>
+      <parameter type-id='type-id-112' name='start' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1425' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_fbarray_set_used' mangled-name='rte_fbarray_set_used' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1086' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fbarray_set_used@@EXPERIMENTAL'>
+      <parameter type-id='type-id-124' name='arr' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1425' column='1'/>
+      <parameter type-id='type-id-112' name='start' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1425' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-118' const='yes' id='type-id-125'/>
+    <pointer-type-def type-id='type-id-125' size-in-bits='64' id='type-id-126'/>
+    <function-decl name='rte_fbarray_find_idx' mangled-name='rte_fbarray_find_idx' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1456' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fbarray_find_idx@@EXPERIMENTAL'>
+      <parameter type-id='type-id-126' name='arr' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1456' column='1'/>
+      <parameter type-id='type-id-43' name='elt' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1456' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_fbarray_get' mangled-name='rte_fbarray_get' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1067' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fbarray_get@@EXPERIMENTAL'>
+      <parameter type-id='type-id-126' name='arr' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1067' column='1'/>
+      <parameter type-id='type-id-112' name='idx' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='1067' column='1'/>
+      <return type-id='type-id-43'/>
+    </function-decl>
+    <function-decl name='rte_fbarray_detach' mangled-name='rte_fbarray_detach' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='928' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fbarray_detach@@EXPERIMENTAL'>
+      <parameter type-id='type-id-124' name='arr' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='928' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_fbarray_destroy' mangled-name='rte_fbarray_destroy' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='982' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fbarray_destroy@@EXPERIMENTAL'>
+      <parameter type-id='type-id-124' name='arr' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='982' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_fbarray_attach' mangled-name='rte_fbarray_attach' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='837' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fbarray_attach@@EXPERIMENTAL'>
+      <parameter type-id='type-id-124' name='arr' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='837' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_fbarray_init' mangled-name='rte_fbarray_init' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='713' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fbarray_init@@EXPERIMENTAL'>
+      <parameter type-id='type-id-124' name='arr' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='713' column='1'/>
+      <parameter type-id='type-id-5' name='name' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='713' column='1'/>
+      <parameter type-id='type-id-112' name='len' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='713' column='1'/>
+      <parameter type-id='type-id-112' name='elt_sz' filepath='../lib/librte_eal/common/eal_common_fbarray.c' line='714' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eal/common/eal_common_hexdump.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='rte_memdump' mangled-name='rte_memdump' filepath='../lib/librte_eal/common/eal_common_hexdump.c' line='52' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_memdump@@DPDK_20.0'>
+      <parameter type-id='type-id-95' name='f' filepath='../lib/librte_eal/common/eal_common_hexdump.c' line='52' column='1'/>
+      <parameter type-id='type-id-5' name='title' filepath='../lib/librte_eal/common/eal_common_hexdump.c' line='52' column='1'/>
+      <parameter type-id='type-id-43' name='buf' filepath='../lib/librte_eal/common/eal_common_hexdump.c' line='52' column='1'/>
+      <parameter type-id='type-id-112' name='len' filepath='../lib/librte_eal/common/eal_common_hexdump.c' line='52' column='1'/>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-decl name='rte_hexdump' mangled-name='rte_hexdump' filepath='../lib/librte_eal/common/eal_common_hexdump.c' line='14' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_hexdump@@DPDK_20.0'>
+      <parameter type-id='type-id-95' name='f' filepath='../lib/librte_eal/common/eal_common_hexdump.c' line='14' column='1'/>
+      <parameter type-id='type-id-5' name='title' filepath='../lib/librte_eal/common/eal_common_hexdump.c' line='14' column='1'/>
+      <parameter type-id='type-id-43' name='buf' filepath='../lib/librte_eal/common/eal_common_hexdump.c' line='14' column='1'/>
+      <parameter type-id='type-id-112' name='len' filepath='../lib/librte_eal/common/eal_common_hexdump.c' line='14' column='1'/>
+      <return type-id='type-id-42'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eal/common/eal_common_hypervisor.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <enum-decl name='rte_hypervisor' filepath='../lib/librte_eal/common/include/rte_hypervisor.h' line='13' column='1' id='type-id-127'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTE_HYPERVISOR_NONE' value='0'/>
+      <enumerator name='RTE_HYPERVISOR_KVM' value='1'/>
+      <enumerator name='RTE_HYPERVISOR_HYPERV' value='2'/>
+      <enumerator name='RTE_HYPERVISOR_VMWARE' value='3'/>
+      <enumerator name='RTE_HYPERVISOR_UNKNOWN' value='4'/>
+    </enum-decl>
+    <function-decl name='rte_hypervisor_get_name' mangled-name='rte_hypervisor_get_name' filepath='../lib/librte_eal/common/eal_common_hypervisor.c' line='8' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_hypervisor_get_name@@DPDK_20.0'>
+      <parameter type-id='type-id-127' name='id' filepath='../lib/librte_eal/common/eal_common_hypervisor.c' line='8' column='1'/>
+      <return type-id='type-id-5'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eal/common/eal_common_launch.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='rte_eal_mp_wait_lcore' mangled-name='rte_eal_mp_wait_lcore' filepath='../lib/librte_eal/common/eal_common_launch.c' line='85' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eal_mp_wait_lcore@@DPDK_20.0'>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <enum-decl name='rte_lcore_state_t' filepath='../lib/librte_eal/common/include/rte_launch.h' line='21' column='1' id='type-id-128'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='WAIT' value='0'/>
+      <enumerator name='RUNNING' value='1'/>
+      <enumerator name='FINISHED' value='2'/>
+    </enum-decl>
+    <function-decl name='rte_eal_get_lcore_state' mangled-name='rte_eal_get_lcore_state' filepath='../lib/librte_eal/common/eal_common_launch.c' line='75' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eal_get_lcore_state@@DPDK_20.0'>
+      <parameter type-id='type-id-112' name='lcore_id' filepath='../lib/librte_eal/common/eal_common_launch.c' line='75' column='1'/>
+      <return type-id='type-id-128'/>
+    </function-decl>
+    <enum-decl name='rte_rmt_call_master_t' filepath='../lib/librte_eal/common/include/rte_launch.h' line='71' column='1' id='type-id-129'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='SKIP_MASTER' value='0'/>
+      <enumerator name='CALL_MASTER' value='1'/>
+    </enum-decl>
+    <function-decl name='rte_eal_mp_remote_launch' mangled-name='rte_eal_mp_remote_launch' filepath='../lib/librte_eal/common/eal_common_launch.c' line='46' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eal_mp_remote_launch@@DPDK_20.0'>
+      <parameter type-id='type-id-70' name='f' filepath='../lib/librte_eal/common/eal_common_launch.c' line='46' column='1'/>
+      <parameter type-id='type-id-43' name='arg' filepath='../lib/librte_eal/common/eal_common_launch.c' line='46' column='1'/>
+      <parameter type-id='type-id-129' name='call_master' filepath='../lib/librte_eal/common/eal_common_launch.c' line='47' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_eal_wait_lcore' mangled-name='rte_eal_wait_lcore' filepath='../lib/librte_eal/common/eal_common_launch.c' line='24' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eal_wait_lcore@@DPDK_20.0'>
+      <parameter type-id='type-id-112' name='slave_id' filepath='../lib/librte_eal/common/eal_common_launch.c' line='24' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eal/common/eal_common_lcore.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='rte_socket_id_by_idx' mangled-name='rte_socket_id_by_idx' filepath='../lib/librte_eal/common/eal_common_lcore.c' line='197' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_socket_id_by_idx@@DPDK_20.0'>
+      <parameter type-id='type-id-112' name='idx' filepath='../lib/librte_eal/common/eal_common_lcore.c' line='197' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_socket_count' mangled-name='rte_socket_count' filepath='../lib/librte_eal/common/eal_common_lcore.c' line='190' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_socket_count@@DPDK_20.0'>
+      <return type-id='type-id-112'/>
+    </function-decl>
+    <function-decl name='rte_lcore_to_socket_id' mangled-name='rte_lcore_to_socket_id' filepath='../lib/librte_eal/common/eal_common_lcore.c' line='95' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_lcore_to_socket_id@@DPDK_20.0'>
+      <parameter type-id='type-id-112' name='lcore_id' filepath='../lib/librte_eal/common/eal_common_lcore.c' line='95' column='1'/>
+      <return type-id='type-id-112'/>
+    </function-decl>
+    <function-decl name='rte_get_next_lcore' mangled-name='rte_get_next_lcore' filepath='../lib/librte_eal/common/eal_common_lcore.c' line='75' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_get_next_lcore@@DPDK_20.0'>
+      <parameter type-id='type-id-112' name='i' filepath='../lib/librte_eal/common/eal_common_lcore.c' line='75' column='1'/>
+      <parameter type-id='type-id-23' name='skip_master' filepath='../lib/librte_eal/common/eal_common_lcore.c' line='75' column='1'/>
+      <parameter type-id='type-id-23' name='wrap' filepath='../lib/librte_eal/common/eal_common_lcore.c' line='75' column='1'/>
+      <return type-id='type-id-112'/>
+    </function-decl>
+    <function-decl name='rte_lcore_is_enabled' mangled-name='rte_lcore_is_enabled' filepath='../lib/librte_eal/common/eal_common_lcore.c' line='66' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_lcore_is_enabled@@DPDK_20.0'>
+      <parameter type-id='type-id-112' name='idx' filepath='../lib/librte_eal/common/eal_common_lcore.c' line='197' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <enum-decl name='rte_lcore_role_t' filepath='../lib/librte_eal/common/include/rte_eal.h' line='37' column='1' id='type-id-130'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='ROLE_RTE' value='0'/>
+      <enumerator name='ROLE_OFF' value='1'/>
+      <enumerator name='ROLE_SERVICE' value='2'/>
+    </enum-decl>
+    <function-decl name='rte_eal_lcore_role' mangled-name='rte_eal_lcore_role' filepath='../lib/librte_eal/common/eal_common_lcore.c' line='57' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eal_lcore_role@@DPDK_20.0'>
+      <parameter type-id='type-id-112' name='lcore_id' filepath='../lib/librte_eal/common/eal_common_lcore.c' line='57' column='1'/>
+      <return type-id='type-id-130'/>
+    </function-decl>
+    <function-decl name='rte_lcore_index' mangled-name='rte_lcore_index' filepath='../lib/librte_eal/common/eal_common_lcore.c' line='29' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_lcore_index@@DPDK_20.0'>
+      <parameter type-id='type-id-23' name='lcore_id' filepath='../lib/librte_eal/common/eal_common_lcore.c' line='29' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_lcore_count' mangled-name='rte_lcore_count' filepath='../lib/librte_eal/common/eal_common_lcore.c' line='24' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_lcore_count@@DPDK_20.0'>
+      <return type-id='type-id-112'/>
+    </function-decl>
+    <function-decl name='rte_get_master_lcore' mangled-name='rte_get_master_lcore' filepath='../lib/librte_eal/common/eal_common_lcore.c' line='19' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_get_master_lcore@@DPDK_20.0'>
+      <return type-id='type-id-112'/>
+    </function-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='1024' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-131' visibility='default' filepath='/usr/include/bits/cpu-set.h' line='39' column='1' id='type-id-132'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__bits' type-id='type-id-133' visibility='default' filepath='/usr/include/bits/cpu-set.h' line='41' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='__cpu_mask' type-id='type-id-53' filepath='/usr/include/bits/cpu-set.h' line='32' column='1' id='type-id-134'/>
+
+    <array-type-def dimensions='1' type-id='type-id-134' size-in-bits='1024' id='type-id-133'>
+      <subrange length='16' type-id='type-id-53' id='type-id-135'/>
+
+    </array-type-def>
+    <typedef-decl name='cpu_set_t' type-id='type-id-132' filepath='/usr/include/bits/cpu-set.h' line='42' column='1' id='type-id-131'/>
+    <typedef-decl name='rte_cpuset_t' type-id='type-id-131' filepath='../lib/librte_eal/linux/eal/include/rte_os.h' line='16' column='1' id='type-id-136'/>
+    <function-decl name='rte_lcore_cpuset' mangled-name='rte_lcore_cpuset' filepath='../lib/librte_eal/common/eal_common_lcore.c' line='51' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_lcore_cpuset@@EXPERIMENTAL'>
+      <parameter type-id='type-id-112' name='lcore_id' filepath='../lib/librte_eal/common/eal_common_lcore.c' line='51' column='1'/>
+      <return type-id='type-id-136'/>
+    </function-decl>
+    <function-decl name='rte_lcore_to_cpu_id' mangled-name='rte_lcore_to_cpu_id' filepath='../lib/librte_eal/common/eal_common_lcore.c' line='40' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_lcore_to_cpu_id@@EXPERIMENTAL'>
+      <parameter type-id='type-id-23' name='lcore_id' filepath='../lib/librte_eal/common/eal_common_lcore.c' line='29' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eal/common/eal_common_log.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_logs' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_log.h' line='32' column='1' id='type-id-137'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-138' visibility='default' filepath='../lib/librte_eal/common/include/rte_log.h' line='33' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='level' type-id='type-id-138' visibility='default' filepath='../lib/librte_eal/common/include/rte_log.h' line='34' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='file' type-id='type-id-95' visibility='default' filepath='../lib/librte_eal/common/include/rte_log.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dynamic_types_len' type-id='type-id-56' visibility='default' filepath='../lib/librte_eal/common/include/rte_log.h' line='36' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dynamic_types' type-id='type-id-139' visibility='default' filepath='../lib/librte_eal/common/include/rte_log.h' line='37' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='__uint32_t' type-id='type-id-112' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-140'/>
+    <typedef-decl name='uint32_t' type-id='type-id-140' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-138'/>
+    <class-decl name='rte_log_dynamic_type' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/eal_common_log.c' line='56' column='1' id='type-id-141'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-5' visibility='default' filepath='../lib/librte_eal/common/eal_common_log.c' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='loglevel' type-id='type-id-138' visibility='default' filepath='../lib/librte_eal/common/eal_common_log.c' line='58' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-141' size-in-bits='64' id='type-id-139'/>
+    <var-decl name='rte_logs' type-id='type-id-137' mangled-name='rte_logs' visibility='default' filepath='../lib/librte_eal/common/include/rte_log.h' line='41' column='1' elf-symbol-id='rte_logs@@DPDK_20.0'/>
+    <function-decl name='rte_log' mangled-name='rte_log' filepath='../lib/librte_eal/common/eal_common_log.c' line='442' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_log@@DPDK_20.0'>
+      <parameter type-id='type-id-138' name='level' filepath='../lib/librte_eal/common/eal_common_log.c' line='442' column='1'/>
+      <parameter type-id='type-id-138' name='logtype' filepath='../lib/librte_eal/common/eal_common_log.c' line='442' column='1'/>
+      <parameter type-id='type-id-5' name='format' filepath='../lib/librte_eal/common/eal_common_log.c' line='442' column='1'/>
+      <parameter is-variadic='yes'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <class-decl name='__va_list_tag' size-in-bits='192' is-struct='yes' visibility='default' id='type-id-142'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='gp_offset' type-id='type-id-112' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fp_offset' type-id='type-id-112' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='overflow_arg_area' type-id='type-id-43' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='reg_save_area' type-id='type-id-43' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-142' size-in-bits='64' id='type-id-143'/>
+    <function-decl name='rte_vlog' mangled-name='rte_vlog' filepath='../lib/librte_eal/common/eal_common_log.c' line='415' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vlog@@DPDK_20.0'>
+      <parameter type-id='type-id-138' name='level' filepath='../lib/librte_eal/common/eal_common_log.c' line='415' column='1'/>
+      <parameter type-id='type-id-138' name='logtype' filepath='../lib/librte_eal/common/eal_common_log.c' line='415' column='1'/>
+      <parameter type-id='type-id-5' name='format' filepath='../lib/librte_eal/common/eal_common_log.c' line='415' column='1'/>
+      <parameter type-id='type-id-143' name='ap' filepath='../lib/librte_eal/common/eal_common_log.c' line='415' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_log_dump' mangled-name='rte_log_dump' filepath='../lib/librte_eal/common/eal_common_log.c' line='394' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_log_dump@@DPDK_20.0'>
+      <parameter type-id='type-id-95' name='f' filepath='../lib/librte_eal/common/eal_common_devargs.c' line='374' column='1'/>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-decl name='rte_log_register' mangled-name='rte_log_register' filepath='../lib/librte_eal/common/eal_common_log.c' line='263' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_log_register@@DPDK_20.0'>
+      <parameter type-id='type-id-5' name='name' filepath='../lib/librte_eal/common/eal_common_log.c' line='263' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_log_cur_msg_logtype' mangled-name='rte_log_cur_msg_logtype' filepath='../lib/librte_eal/common/eal_common_log.c' line='224' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_log_cur_msg_logtype@@DPDK_20.0'>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_log_cur_msg_loglevel' mangled-name='rte_log_cur_msg_loglevel' filepath='../lib/librte_eal/common/eal_common_log.c' line='218' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_log_cur_msg_loglevel@@DPDK_20.0'>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_log_set_level_pattern' mangled-name='rte_log_set_level_pattern' filepath='../lib/librte_eal/common/eal_common_log.c' line='194' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_log_set_level_pattern@@DPDK_20.0'>
+      <parameter type-id='type-id-5' name='pattern' filepath='../lib/librte_eal/common/eal_common_log.c' line='194' column='1'/>
+      <parameter type-id='type-id-138' name='level' filepath='../lib/librte_eal/common/eal_common_log.c' line='194' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_log_set_level_regexp' mangled-name='rte_log_set_level_regexp' filepath='../lib/librte_eal/common/eal_common_log.c' line='130' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_log_set_level_regexp@@DPDK_20.0'>
+      <parameter type-id='type-id-5' name='regex' filepath='../lib/librte_eal/common/eal_common_log.c' line='130' column='1'/>
+      <parameter type-id='type-id-138' name='level' filepath='../lib/librte_eal/common/eal_common_log.c' line='130' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_log_set_level' mangled-name='rte_log_set_level' filepath='../lib/librte_eal/common/eal_common_log.c' line='116' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_log_set_level@@DPDK_20.0'>
+      <parameter type-id='type-id-138' name='type' filepath='../lib/librte_eal/common/eal_common_log.c' line='116' column='1'/>
+      <parameter type-id='type-id-138' name='level' filepath='../lib/librte_eal/common/eal_common_log.c' line='116' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_log_get_level' mangled-name='rte_log_get_level' filepath='../lib/librte_eal/common/eal_common_log.c' line='107' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_log_get_level@@DPDK_20.0'>
+      <parameter type-id='type-id-138' name='type' filepath='../lib/librte_eal/common/eal_common_log.c' line='107' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_log_get_global_level' mangled-name='rte_log_get_global_level' filepath='../lib/librte_eal/common/eal_common_log.c' line='101' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_log_get_global_level@@DPDK_20.0'>
+      <return type-id='type-id-138'/>
+    </function-decl>
+    <function-decl name='rte_log_set_global_level' mangled-name='rte_log_set_global_level' filepath='../lib/librte_eal/common/eal_common_log.c' line='94' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_log_set_global_level@@DPDK_20.0'>
+      <parameter type-id='type-id-138' name='level' filepath='../lib/librte_eal/common/eal_common_log.c' line='94' column='1'/>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-decl name='rte_openlog_stream' mangled-name='rte_openlog_stream' filepath='../lib/librte_eal/common/eal_common_log.c' line='68' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_openlog_stream@@DPDK_20.0'>
+      <parameter type-id='type-id-95' name='f' filepath='../lib/librte_eal/common/eal_common_log.c' line='68' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_log_register_type_and_pick_level' mangled-name='rte_log_register_type_and_pick_level' filepath='../lib/librte_eal/common/eal_common_log.c' line='290' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_log_register_type_and_pick_level@@EXPERIMENTAL'>
+      <parameter type-id='type-id-5' name='name' filepath='../lib/librte_eal/common/eal_common_log.c' line='290' column='1'/>
+      <parameter type-id='type-id-138' name='level_def' filepath='../lib/librte_eal/common/eal_common_log.c' line='290' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_log_get_stream' mangled-name='rte_log_get_stream' filepath='../lib/librte_eal/common/eal_common_log.c' line='75' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_log_get_stream@@EXPERIMENTAL'>
+      <return type-id='type-id-95'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eal/common/eal_common_mcfg.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='rte_mcfg_mempool_write_unlock' mangled-name='rte_mcfg_mempool_write_unlock' filepath='../lib/librte_eal/common/eal_common_mcfg.c' line='146' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mcfg_mempool_write_unlock@@DPDK_20.0'>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-decl name='rte_mcfg_mempool_write_lock' mangled-name='rte_mcfg_mempool_write_lock' filepath='../lib/librte_eal/common/eal_common_mcfg.c' line='139' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mcfg_mempool_write_lock@@DPDK_20.0'>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-decl name='rte_mcfg_mempool_read_unlock' mangled-name='rte_mcfg_mempool_read_unlock' filepath='../lib/librte_eal/common/eal_common_mcfg.c' line='132' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mcfg_mempool_read_unlock@@DPDK_20.0'>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-decl name='rte_mcfg_mempool_read_lock' mangled-name='rte_mcfg_mempool_read_lock' filepath='../lib/librte_eal/common/eal_common_mcfg.c' line='125' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mcfg_mempool_read_lock@@DPDK_20.0'>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-decl name='rte_mcfg_tailq_write_unlock' mangled-name='rte_mcfg_tailq_write_unlock' filepath='../lib/librte_eal/common/eal_common_mcfg.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mcfg_tailq_write_unlock@@DPDK_20.0'>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-decl name='rte_mcfg_tailq_write_lock' mangled-name='rte_mcfg_tailq_write_lock' filepath='../lib/librte_eal/common/eal_common_mcfg.c' line='111' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mcfg_tailq_write_lock@@DPDK_20.0'>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-decl name='rte_mcfg_tailq_read_unlock' mangled-name='rte_mcfg_tailq_read_unlock' filepath='../lib/librte_eal/common/eal_common_mcfg.c' line='104' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mcfg_tailq_read_unlock@@DPDK_20.0'>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-decl name='rte_mcfg_tailq_read_lock' mangled-name='rte_mcfg_tailq_read_lock' filepath='../lib/librte_eal/common/eal_common_mcfg.c' line='97' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mcfg_tailq_read_lock@@DPDK_20.0'>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-decl name='rte_mcfg_mem_write_unlock' mangled-name='rte_mcfg_mem_write_unlock' filepath='../lib/librte_eal/common/eal_common_mcfg.c' line='90' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mcfg_mem_write_unlock@@DPDK_20.0'>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-decl name='rte_mcfg_mem_write_lock' mangled-name='rte_mcfg_mem_write_lock' filepath='../lib/librte_eal/common/eal_common_mcfg.c' line='83' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mcfg_mem_write_lock@@DPDK_20.0'>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-decl name='rte_mcfg_mem_read_unlock' mangled-name='rte_mcfg_mem_read_unlock' filepath='../lib/librte_eal/common/eal_common_mcfg.c' line='76' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mcfg_mem_read_unlock@@DPDK_20.0'>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-decl name='rte_mcfg_mem_read_lock' mangled-name='rte_mcfg_mem_read_lock' filepath='../lib/librte_eal/common/eal_common_mcfg.c' line='69' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mcfg_mem_read_lock@@DPDK_20.0'>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <type-decl name='bool' size-in-bits='8' id='type-id-144'/>
+    <function-decl name='rte_mcfg_get_single_file_segments' mangled-name='rte_mcfg_get_single_file_segments' filepath='../lib/librte_eal/common/eal_common_mcfg.c' line='167' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mcfg_get_single_file_segments@@EXPERIMENTAL'>
+      <return type-id='type-id-144'/>
+    </function-decl>
+    <function-decl name='rte_mcfg_timer_unlock' mangled-name='rte_mcfg_timer_unlock' filepath='../lib/librte_eal/common/eal_common_mcfg.c' line='160' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mcfg_timer_unlock@@EXPERIMENTAL'>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-decl name='rte_mcfg_timer_lock' mangled-name='rte_mcfg_timer_lock' filepath='../lib/librte_eal/common/eal_common_mcfg.c' line='153' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mcfg_timer_lock@@EXPERIMENTAL'>
+      <return type-id='type-id-42'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eal/common/eal_common_memory.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='rte_mem_lock_page' mangled-name='rte_mem_lock_page' filepath='../lib/librte_eal/common/eal_common_memory.c' line='533' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mem_lock_page@@DPDK_20.0'>
+      <parameter type-id='type-id-43' name='virt' filepath='../lib/librte_eal/common/eal_common_memory.c' line='533' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_memory_get_nrank' mangled-name='rte_memory_get_nrank' filepath='../lib/librte_eal/common/eal_common_memory.c' line='511' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_memory_get_nrank@@DPDK_20.0'>
+      <return type-id='type-id-112'/>
+    </function-decl>
+    <function-decl name='rte_memory_get_nchannel' mangled-name='rte_memory_get_nchannel' filepath='../lib/librte_eal/common/eal_common_memory.c' line='505' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_memory_get_nchannel@@DPDK_20.0'>
+      <return type-id='type-id-112'/>
+    </function-decl>
+    <function-decl name='rte_dump_physmem_layout' mangled-name='rte_dump_physmem_layout' filepath='../lib/librte_eal/common/eal_common_memory.c' line='408' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_dump_physmem_layout@@DPDK_20.0'>
+      <parameter type-id='type-id-95' name='f' filepath='../lib/librte_eal/common/eal_common_memory.c' line='408' column='1'/>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-decl name='rte_eal_get_physmem_size' mangled-name='rte_eal_get_physmem_size' filepath='../lib/librte_eal/common/eal_common_memory.c' line='308' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eal_get_physmem_size@@DPDK_20.0'>
+      <return type-id='type-id-55'/>
+    </function-decl>
+    <function-decl name='rte_mem_alloc_validator_unregister' mangled-name='rte_mem_alloc_validator_unregister' filepath='../lib/librte_eal/common/eal_common_memory.c' line='395' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mem_alloc_validator_unregister@@EXPERIMENTAL'>
+      <parameter type-id='type-id-5' name='name' filepath='../lib/librte_eal/common/eal_common_memory.c' line='395' column='1'/>
+      <parameter type-id='type-id-23' name='socket_id' filepath='../lib/librte_eal/common/eal_common_memory.c' line='395' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-145' size-in-bits='64' id='type-id-146'/>
+    <typedef-decl name='rte_mem_alloc_validator_t' type-id='type-id-146' filepath='../lib/librte_eal/common/include/rte_memory.h' line='720' column='1' id='type-id-147'/>
+    <function-decl name='rte_mem_alloc_validator_register' mangled-name='rte_mem_alloc_validator_register' filepath='../lib/librte_eal/common/eal_common_memory.c' line='381' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mem_alloc_validator_register@@EXPERIMENTAL'>
+      <parameter type-id='type-id-5' name='name' filepath='../lib/librte_eal/common/eal_common_memory.c' line='381' column='1'/>
+      <parameter type-id='type-id-147' name='clb' filepath='../lib/librte_eal/common/eal_common_memory.c' line='382' column='1'/>
+      <parameter type-id='type-id-23' name='socket_id' filepath='../lib/librte_eal/common/eal_common_memory.c' line='382' column='1'/>
+      <parameter type-id='type-id-56' name='limit' filepath='../lib/librte_eal/common/eal_common_memory.c' line='382' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_mem_event_callback_unregister' mangled-name='rte_mem_event_callback_unregister' filepath='../lib/librte_eal/common/eal_common_memory.c' line='369' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mem_event_callback_unregister@@EXPERIMENTAL'>
+      <parameter type-id='type-id-5' name='name' filepath='../lib/librte_eal/common/eal_common_memory.c' line='369' column='1'/>
+      <parameter type-id='type-id-43' name='arg' filepath='../lib/librte_eal/common/eal_common_memory.c' line='369' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <enum-decl name='rte_mem_event' filepath='../lib/librte_eal/common/include/rte_memory.h' line='650' column='1' id='type-id-148'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTE_MEM_EVENT_ALLOC' value='0'/>
+      <enumerator name='RTE_MEM_EVENT_FREE' value='1'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-149' size-in-bits='64' id='type-id-150'/>
+    <typedef-decl name='rte_mem_event_callback_t' type-id='type-id-150' filepath='../lib/librte_eal/common/include/rte_memory.h' line='660' column='1' id='type-id-151'/>
+    <function-decl name='rte_mem_event_callback_register' mangled-name='rte_mem_event_callback_register' filepath='../lib/librte_eal/common/eal_common_memory.c' line='356' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mem_event_callback_register@@EXPERIMENTAL'>
+      <parameter type-id='type-id-5' name='name' filepath='../lib/librte_eal/common/eal_common_memory.c' line='356' column='1'/>
+      <parameter type-id='type-id-151' name='clb' filepath='../lib/librte_eal/common/eal_common_memory.c' line='356' column='1'/>
+      <parameter type-id='type-id-43' name='arg' filepath='../lib/librte_eal/common/eal_common_memory.c' line='357' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-152'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-152' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-153'/>
+    <typedef-decl name='uint8_t' type-id='type-id-153' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-154'/>
+    <function-decl name='rte_mem_set_dma_mask' mangled-name='rte_mem_set_dma_mask' filepath='../lib/librte_eal/common/eal_common_memory.c' line='496' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mem_set_dma_mask@@EXPERIMENTAL'>
+      <parameter type-id='type-id-154' name='maskbits' filepath='../lib/librte_eal/common/eal_common_memory.c' line='496' column='1'/>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-decl name='rte_mem_check_dma_mask_thread_unsafe' mangled-name='rte_mem_check_dma_mask_thread_unsafe' filepath='../lib/librte_eal/common/eal_common_memory.c' line='483' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mem_check_dma_mask_thread_unsafe@@EXPERIMENTAL'>
+      <parameter type-id='type-id-154' name='maskbits' filepath='../lib/librte_eal/common/eal_common_memory.c' line='483' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_mem_check_dma_mask' mangled-name='rte_mem_check_dma_mask' filepath='../lib/librte_eal/common/eal_common_memory.c' line='477' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mem_check_dma_mask@@EXPERIMENTAL'>
+      <parameter type-id='type-id-154' name='maskbits' filepath='../lib/librte_eal/common/eal_common_memory.c' line='483' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_extmem_detach' mangled-name='rte_extmem_detach' filepath='../lib/librte_eal/common/eal_common_memory.c' line='886' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_extmem_detach@@EXPERIMENTAL'>
+      <parameter type-id='type-id-43' name='va_addr' filepath='../lib/librte_eal/common/eal_common_memory.c' line='886' column='1'/>
+      <parameter type-id='type-id-56' name='len' filepath='../lib/librte_eal/common/eal_common_memory.c' line='886' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_extmem_attach' mangled-name='rte_extmem_attach' filepath='../lib/librte_eal/common/eal_common_memory.c' line='880' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_extmem_attach@@EXPERIMENTAL'>
+      <parameter type-id='type-id-43' name='va_addr' filepath='../lib/librte_eal/common/eal_common_memory.c' line='886' column='1'/>
+      <parameter type-id='type-id-56' name='len' filepath='../lib/librte_eal/common/eal_common_memory.c' line='886' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_extmem_unregister' mangled-name='rte_extmem_unregister' filepath='../lib/librte_eal/common/eal_common_memory.c' line='825' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_extmem_unregister@@EXPERIMENTAL'>
+      <parameter type-id='type-id-43' name='va_addr' filepath='../lib/librte_eal/common/eal_common_memory.c' line='825' column='1'/>
+      <parameter type-id='type-id-56' name='len' filepath='../lib/librte_eal/common/eal_common_memory.c' line='825' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <typedef-decl name='rte_iova_t' type-id='type-id-55' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-155'/>
+    <pointer-type-def type-id='type-id-155' size-in-bits='64' id='type-id-156'/>
+    <function-decl name='rte_extmem_register' mangled-name='rte_extmem_register' filepath='../lib/librte_eal/common/eal_common_memory.c' line='776' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_extmem_register@@EXPERIMENTAL'>
+      <parameter type-id='type-id-43' name='va_addr' filepath='../lib/librte_eal/common/eal_common_memory.c' line='776' column='1'/>
+      <parameter type-id='type-id-56' name='len' filepath='../lib/librte_eal/common/eal_common_memory.c' line='776' column='1'/>
+      <parameter type-id='type-id-156' name='iova_addrs' filepath='../lib/librte_eal/common/eal_common_memory.c' line='776' column='1'/>
+      <parameter type-id='type-id-112' name='n_pages' filepath='../lib/librte_eal/common/eal_common_memory.c' line='777' column='1'/>
+      <parameter type-id='type-id-56' name='page_sz' filepath='../lib/librte_eal/common/eal_common_memory.c' line='777' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <class-decl name='rte_memseg' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='48' column='1' id='type-id-157'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-158' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='len' type-id='type-id-56' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='hugepage_sz' type-id='type-id-55' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='60' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='socket_id' type-id='type-id-123' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='nchannel' type-id='type-id-138' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='nrank' type-id='type-id-138' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='flags' type-id='type-id-138' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='64' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='50' column='1' id='type-id-158'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-159' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-155' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='52' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-55' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-159'/>
+    <qualified-type-def type-id='type-id-157' const='yes' id='type-id-160'/>
+    <pointer-type-def type-id='type-id-160' size-in-bits='64' id='type-id-161'/>
+    <pointer-type-def type-id='type-id-56' size-in-bits='64' id='type-id-162'/>
+    <function-decl name='rte_memseg_get_fd_offset_thread_unsafe' mangled-name='rte_memseg_get_fd_offset_thread_unsafe' filepath='../lib/librte_eal/common/eal_common_memory.c' line='721' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_memseg_get_fd_offset_thread_unsafe@@EXPERIMENTAL'>
+      <parameter type-id='type-id-161' name='ms' filepath='../lib/librte_eal/common/eal_common_memory.c' line='721' column='1'/>
+      <parameter type-id='type-id-162' name='offset' filepath='../lib/librte_eal/common/eal_common_memory.c' line='722' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_memseg_get_fd_offset' mangled-name='rte_memseg_get_fd_offset' filepath='../lib/librte_eal/common/eal_common_memory.c' line='764' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_memseg_get_fd_offset@@EXPERIMENTAL'>
+      <parameter type-id='type-id-161' name='ms' filepath='../lib/librte_eal/common/eal_common_memory.c' line='764' column='1'/>
+      <parameter type-id='type-id-162' name='offset' filepath='../lib/librte_eal/common/eal_common_memory.c' line='764' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_memseg_get_fd_thread_unsafe' mangled-name='rte_memseg_get_fd_thread_unsafe' filepath='../lib/librte_eal/common/eal_common_memory.c' line='667' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_memseg_get_fd_thread_unsafe@@EXPERIMENTAL'>
+      <parameter type-id='type-id-161' name='ms' filepath='../lib/librte_eal/common/eal_common_memory.c' line='667' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_memseg_get_fd' mangled-name='rte_memseg_get_fd' filepath='../lib/librte_eal/common/eal_common_memory.c' line='709' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_memseg_get_fd@@EXPERIMENTAL'>
+      <parameter type-id='type-id-161' name='ms' filepath='../lib/librte_eal/common/eal_common_memory.c' line='709' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <class-decl name='rte_memseg_list' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='71' column='1' id='type-id-163'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-164' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='page_sz' type-id='type-id-55' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='socket_id' type-id='type-id-23' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='version' type-id='type-id-165' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='len' type-id='type-id-56' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='82' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='external' type-id='type-id-112' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='83' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='heap' type-id='type-id-112' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='memseg_arr' type-id='type-id-118' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='85' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='73' column='1' id='type-id-164'>
+      <data-member access='private'>
+        <var-decl name='base_va' type-id='type-id-43' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='addr_64' type-id='type-id-55' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='76' column='1'/>
+      </data-member>
+    </union-decl>
+    <qualified-type-def type-id='type-id-138' volatile='yes' id='type-id-165'/>
+    <qualified-type-def type-id='type-id-163' const='yes' id='type-id-166'/>
+    <pointer-type-def type-id='type-id-166' size-in-bits='64' id='type-id-167'/>
+    <pointer-type-def type-id='type-id-168' size-in-bits='64' id='type-id-169'/>
+    <typedef-decl name='rte_memseg_list_walk_t' type-id='type-id-169' filepath='../lib/librte_eal/common/include/rte_memory.h' line='198' column='1' id='type-id-170'/>
+    <function-decl name='rte_memseg_list_walk_thread_unsafe' mangled-name='rte_memseg_list_walk_thread_unsafe' filepath='../lib/librte_eal/common/eal_common_memory.c' line='635' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_memseg_list_walk_thread_unsafe@@EXPERIMENTAL'>
+      <parameter type-id='type-id-170' name='func' filepath='../lib/librte_eal/common/eal_common_memory.c' line='635' column='1'/>
+      <parameter type-id='type-id-43' name='arg' filepath='../lib/librte_eal/common/eal_common_memory.c' line='635' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-171' size-in-bits='64' id='type-id-172'/>
+    <typedef-decl name='rte_memseg_contig_walk_t' type-id='type-id-172' filepath='../lib/librte_eal/common/include/rte_memory.h' line='187' column='1' id='type-id-173'/>
+    <function-decl name='rte_memseg_contig_walk_thread_unsafe' mangled-name='rte_memseg_contig_walk_thread_unsafe' filepath='../lib/librte_eal/common/eal_common_memory.c' line='542' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_memseg_contig_walk_thread_unsafe@@EXPERIMENTAL'>
+      <parameter type-id='type-id-173' name='func' filepath='../lib/librte_eal/common/eal_common_memory.c' line='542' column='1'/>
+      <parameter type-id='type-id-43' name='arg' filepath='../lib/librte_eal/common/eal_common_memory.c' line='542' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-174' size-in-bits='64' id='type-id-175'/>
+    <typedef-decl name='rte_memseg_walk_t' type-id='type-id-175' filepath='../lib/librte_eal/common/include/rte_memory.h' line='175' column='1' id='type-id-176'/>
+    <function-decl name='rte_memseg_walk_thread_unsafe' mangled-name='rte_memseg_walk_thread_unsafe' filepath='../lib/librte_eal/common/eal_common_memory.c' line='594' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_memseg_walk_thread_unsafe@@EXPERIMENTAL'>
+      <parameter type-id='type-id-176' name='func' filepath='../lib/librte_eal/common/eal_common_memory.c' line='594' column='1'/>
+      <parameter type-id='type-id-43' name='arg' filepath='../lib/librte_eal/common/eal_common_memory.c' line='594' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_memseg_list_walk' mangled-name='rte_memseg_list_walk' filepath='../lib/librte_eal/common/eal_common_memory.c' line='654' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_memseg_list_walk@@EXPERIMENTAL'>
+      <parameter type-id='type-id-170' name='func' filepath='../lib/librte_eal/common/eal_common_memory.c' line='654' column='1'/>
+      <parameter type-id='type-id-43' name='arg' filepath='../lib/librte_eal/common/eal_common_memory.c' line='654' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_memseg_contig_walk' mangled-name='rte_memseg_contig_walk' filepath='../lib/librte_eal/common/eal_common_memory.c' line='581' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_memseg_contig_walk@@EXPERIMENTAL'>
+      <parameter type-id='type-id-173' name='func' filepath='../lib/librte_eal/common/eal_common_memory.c' line='581' column='1'/>
+      <parameter type-id='type-id-43' name='arg' filepath='../lib/librte_eal/common/eal_common_memory.c' line='581' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_memseg_walk' mangled-name='rte_memseg_walk' filepath='../lib/librte_eal/common/eal_common_memory.c' line='622' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_memseg_walk@@EXPERIMENTAL'>
+      <parameter type-id='type-id-176' name='func' filepath='../lib/librte_eal/common/eal_common_memory.c' line='622' column='1'/>
+      <parameter type-id='type-id-43' name='arg' filepath='../lib/librte_eal/common/eal_common_memory.c' line='622' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-163' size-in-bits='64' id='type-id-177'/>
+    <function-decl name='rte_mem_virt2memseg_list' mangled-name='rte_mem_virt2memseg_list' filepath='../lib/librte_eal/common/eal_common_memory.c' line='231' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mem_virt2memseg_list@@EXPERIMENTAL'>
+      <parameter type-id='type-id-43' name='addr' filepath='../lib/librte_eal/common/eal_common_memory.c' line='231' column='1'/>
+      <return type-id='type-id-177'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-157' size-in-bits='64' id='type-id-178'/>
+    <function-decl name='rte_mem_virt2memseg' mangled-name='rte_mem_virt2memseg' filepath='../lib/librte_eal/common/eal_common_memory.c' line='287' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mem_virt2memseg@@EXPERIMENTAL'>
+      <parameter type-id='type-id-43' name='addr' filepath='../lib/librte_eal/common/eal_common_memory.c' line='287' column='1'/>
+      <parameter type-id='type-id-167' name='msl' filepath='../lib/librte_eal/common/eal_common_memory.c' line='287' column='1'/>
+      <return type-id='type-id-178'/>
+    </function-decl>
+    <function-decl name='rte_mem_iova2virt' mangled-name='rte_mem_iova2virt' filepath='../lib/librte_eal/common/eal_common_memory.c' line='268' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mem_iova2virt@@EXPERIMENTAL'>
+      <parameter type-id='type-id-155' name='iova' filepath='../lib/librte_eal/common/eal_common_memory.c' line='268' column='1'/>
+      <return type-id='type-id-43'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-171'>
+      <parameter type-id='type-id-167'/>
+      <parameter type-id='type-id-161'/>
+      <parameter type-id='type-id-56'/>
+      <parameter type-id='type-id-43'/>
+      <return type-id='type-id-23'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-174'>
+      <parameter type-id='type-id-167'/>
+      <parameter type-id='type-id-161'/>
+      <parameter type-id='type-id-43'/>
+      <return type-id='type-id-23'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-168'>
+      <parameter type-id='type-id-167'/>
+      <parameter type-id='type-id-43'/>
+      <return type-id='type-id-23'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-145'>
+      <parameter type-id='type-id-23'/>
+      <parameter type-id='type-id-56'/>
+      <parameter type-id='type-id-56'/>
+      <return type-id='type-id-23'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-149'>
+      <parameter type-id='type-id-148'/>
+      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-56'/>
+      <parameter type-id='type-id-43'/>
+      <return type-id='type-id-42'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eal/common/eal_common_memzone.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-179'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-180' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-158' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-56' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-55' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-123' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-138' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-21' size-in-bits='256' id='type-id-180'>
+      <subrange length='32' type-id='type-id-53' id='type-id-181'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-179' const='yes' id='type-id-182'/>
+    <pointer-type-def type-id='type-id-182' size-in-bits='64' id='type-id-183'/>
+    <pointer-type-def type-id='type-id-184' size-in-bits='64' id='type-id-185'/>
+    <function-decl name='rte_memzone_walk' mangled-name='rte_memzone_walk' filepath='../lib/librte_eal/common/eal_common_memzone.c' line='392' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_memzone_walk@@DPDK_20.0'>
+      <parameter type-id='type-id-185' name='func' filepath='../lib/librte_eal/common/eal_common_memzone.c' line='392' column='1'/>
+      <parameter type-id='type-id-43' name='arg' filepath='../lib/librte_eal/common/eal_common_memzone.c' line='393' column='1'/>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-decl name='rte_memzone_dump' mangled-name='rte_memzone_dump' filepath='../lib/librte_eal/common/eal_common_memzone.c' line='356' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_memzone_dump@@DPDK_20.0'>
+      <parameter type-id='type-id-95' name='f' filepath='../lib/librte_eal/common/eal_common_memory.c' line='408' column='1'/>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-decl name='rte_memzone_lookup' mangled-name='rte_memzone_lookup' filepath='../lib/librte_eal/common/eal_common_memzone.c' line='288' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_memzone_lookup@@DPDK_20.0'>
+      <parameter type-id='type-id-5' name='name' filepath='../lib/librte_eal/common/eal_common_memzone.c' line='288' column='1'/>
+      <return type-id='type-id-183'/>
+    </function-decl>
+    <function-decl name='rte_memzone_free' mangled-name='rte_memzone_free' filepath='../lib/librte_eal/common/eal_common_memzone.c' line='245' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_memzone_free@@DPDK_20.0'>
+      <parameter type-id='type-id-183' name='mz' filepath='../lib/librte_eal/common/eal_common_memzone.c' line='245' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_memzone_reserve' mangled-name='rte_memzone_reserve' filepath='../lib/librte_eal/common/eal_common_memzone.c' line='237' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_memzone_reserve@@DPDK_20.0'>
+      <parameter type-id='type-id-5' name='name' filepath='../lib/librte_eal/common/eal_common_memzone.c' line='237' column='1'/>
+      <parameter type-id='type-id-56' name='len' filepath='../lib/librte_eal/common/eal_common_memzone.c' line='237' column='1'/>
+      <parameter type-id='type-id-23' name='socket_id' filepath='../lib/librte_eal/common/eal_common_memzone.c' line='237' column='1'/>
+      <parameter type-id='type-id-112' name='flags' filepath='../lib/librte_eal/common/eal_common_memzone.c' line='238' column='1'/>
+      <return type-id='type-id-183'/>
+    </function-decl>
+    <function-decl name='rte_memzone_reserve_aligned' mangled-name='rte_memzone_reserve_aligned' filepath='../lib/librte_eal/common/eal_common_memzone.c' line='225' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_memzone_reserve_aligned@@DPDK_20.0'>
+      <parameter type-id='type-id-5' name='name' filepath='../lib/librte_eal/common/eal_common_memzone.c' line='225' column='1'/>
+      <parameter type-id='type-id-56' name='len' filepath='../lib/librte_eal/common/eal_common_memzone.c' line='225' column='1'/>
+      <parameter type-id='type-id-23' name='socket_id' filepath='../lib/librte_eal/common/eal_common_memzone.c' line='225' column='1'/>
+      <parameter type-id='type-id-112' name='flags' filepath='../lib/librte_eal/common/eal_common_memzone.c' line='226' column='1'/>
+      <parameter type-id='type-id-112' name='align' filepath='../lib/librte_eal/common/eal_common_memzone.c' line='226' column='1'/>
+      <return type-id='type-id-183'/>
+    </function-decl>
+    <function-decl name='rte_memzone_reserve_bounded' mangled-name='rte_memzone_reserve_bounded' filepath='../lib/librte_eal/common/eal_common_memzone.c' line='213' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_memzone_reserve_bounded@@DPDK_20.0'>
+      <parameter type-id='type-id-5' name='name' filepath='../lib/librte_eal/common/eal_common_memzone.c' line='213' column='1'/>
+      <parameter type-id='type-id-56' name='len' filepath='../lib/librte_eal/common/eal_common_memzone.c' line='213' column='1'/>
+      <parameter type-id='type-id-23' name='socket_id' filepath='../lib/librte_eal/common/eal_common_memzone.c' line='213' column='1'/>
+      <parameter type-id='type-id-112' name='flags' filepath='../lib/librte_eal/common/eal_common_memzone.c' line='214' column='1'/>
+      <parameter type-id='type-id-112' name='align' filepath='../lib/librte_eal/common/eal_common_memzone.c' line='214' column='1'/>
+      <parameter type-id='type-id-112' name='bound' filepath='../lib/librte_eal/common/eal_common_memzone.c' line='214' column='1'/>
+      <return type-id='type-id-183'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-184'>
+      <parameter type-id='type-id-183'/>
+      <parameter type-id='type-id-43'/>
+      <return type-id='type-id-42'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eal/common/eal_common_options.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+
+    <array-type-def dimensions='1' type-id='type-id-22' size-in-bits='infinite' id='type-id-186'>
+      <subrange length='infinite' id='type-id-187'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-186' const='yes' id='type-id-188'/>
+    <var-decl name='eal_short_options' type-id='type-id-188' visibility='default' filepath='../lib/librte_eal/common/eal_options.h' line='75' column='1'/>
+    <class-decl name='option' size-in-bits='256' is-struct='yes' visibility='default' filepath='/usr/include/bits/getopt_ext.h' line='50' column='1' id='type-id-189'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/getopt_ext.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='has_arg' type-id='type-id-23' visibility='default' filepath='/usr/include/bits/getopt_ext.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='flag' type-id='type-id-190' visibility='default' filepath='/usr/include/bits/getopt_ext.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='val' type-id='type-id-23' visibility='default' filepath='/usr/include/bits/getopt_ext.h' line='57' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-190'/>
+    <qualified-type-def type-id='type-id-189' const='yes' id='type-id-191'/>
+
+    <array-type-def dimensions='1' type-id='type-id-191' size-in-bits='infinite' id='type-id-192'>
+      <subrange length='infinite' id='type-id-187'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-192' const='yes' id='type-id-193'/>
+    <var-decl name='eal_long_options' type-id='type-id-193' visibility='default' filepath='../lib/librte_eal/common/eal_options.h' line='76' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eal/common/eal_common_proc.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='rte_eal_primary_proc_alive' mangled-name='rte_eal_primary_proc_alive' filepath='../lib/librte_eal/common/eal_common_proc.c' line='146' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eal_primary_proc_alive@@DPDK_20.0'>
+      <parameter type-id='type-id-5' name='config_file_path' filepath='../lib/librte_eal/common/eal_common_proc.c' line='146' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <class-decl name='rte_mp_msg' size-in-bits='2880' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal.h' line='166' column='1' id='type-id-194'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-106' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal.h' line='167' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='len_param' type-id='type-id-23' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal.h' line='168' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='num_fds' type-id='type-id-23' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal.h' line='169' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='param' type-id='type-id-195' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal.h' line='170' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='fds' type-id='type-id-196' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-154' size-in-bits='2048' id='type-id-195'>
+      <subrange length='256' type-id='type-id-53' id='type-id-197'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-23' size-in-bits='256' id='type-id-196'>
+      <subrange length='8' type-id='type-id-53' id='type-id-198'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-194' size-in-bits='64' id='type-id-199'/>
+    <function-decl name='rte_mp_reply' mangled-name='rte_mp_reply' filepath='../lib/librte_eal/common/eal_common_proc.c' line='1198' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mp_reply@@EXPERIMENTAL'>
+      <parameter type-id='type-id-199' name='msg' filepath='../lib/librte_eal/common/eal_common_proc.c' line='1198' column='1'/>
+      <parameter type-id='type-id-5' name='peer' filepath='../lib/librte_eal/common/eal_common_proc.c' line='1198' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='9' column='1' id='type-id-200'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tv_sec' type-id='type-id-201' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='11' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tv_nsec' type-id='type-id-202' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='__time_t' type-id='type-id-88' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-201'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-88' filepath='/usr/include/bits/types.h' line='196' column='1' id='type-id-202'/>
+    <qualified-type-def type-id='type-id-200' const='yes' id='type-id-203'/>
+    <pointer-type-def type-id='type-id-203' size-in-bits='64' id='type-id-204'/>
+    <qualified-type-def type-id='type-id-194' const='yes' id='type-id-205'/>
+    <pointer-type-def type-id='type-id-205' size-in-bits='64' id='type-id-206'/>
+    <class-decl name='rte_mp_reply' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal.h' line='174' column='1' id='type-id-207'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_sent' type-id='type-id-23' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal.h' line='175' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_received' type-id='type-id-23' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal.h' line='176' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='msgs' type-id='type-id-199' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal.h' line='177' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-207' const='yes' id='type-id-208'/>
+    <pointer-type-def type-id='type-id-208' size-in-bits='64' id='type-id-209'/>
+    <pointer-type-def type-id='type-id-210' size-in-bits='64' id='type-id-211'/>
+    <typedef-decl name='rte_mp_async_reply_t' type-id='type-id-211' filepath='../lib/librte_eal/common/include/rte_eal.h' line='209' column='1' id='type-id-212'/>
+    <function-decl name='rte_mp_request_async' mangled-name='rte_mp_request_async' filepath='../lib/librte_eal/common/eal_common_proc.c' line='1048' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mp_request_async@@EXPERIMENTAL'>
+      <parameter type-id='type-id-199' name='req' filepath='../lib/librte_eal/common/eal_common_proc.c' line='1048' column='1'/>
+      <parameter type-id='type-id-204' name='ts' filepath='../lib/librte_eal/common/eal_common_proc.c' line='1048' column='1'/>
+      <parameter type-id='type-id-212' name='clb' filepath='../lib/librte_eal/common/eal_common_proc.c' line='1049' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-207' size-in-bits='64' id='type-id-213'/>
+    <function-decl name='rte_mp_request_sync' mangled-name='rte_mp_request_sync' filepath='../lib/librte_eal/common/eal_common_proc.c' line='952' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mp_request_sync@@EXPERIMENTAL'>
+      <parameter type-id='type-id-199' name='req' filepath='../lib/librte_eal/common/eal_common_proc.c' line='952' column='1'/>
+      <parameter type-id='type-id-213' name='reply' filepath='../lib/librte_eal/common/eal_common_proc.c' line='952' column='1'/>
+      <parameter type-id='type-id-204' name='ts' filepath='../lib/librte_eal/common/eal_common_proc.c' line='953' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_mp_sendmsg' mangled-name='rte_mp_sendmsg' filepath='../lib/librte_eal/common/eal_common_proc.c' line='805' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mp_sendmsg@@EXPERIMENTAL'>
+      <parameter type-id='type-id-199' name='msg' filepath='../lib/librte_eal/common/eal_common_proc.c' line='805' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_mp_action_unregister' mangled-name='rte_mp_action_unregister' filepath='../lib/librte_eal/common/eal_common_proc.c' line='235' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mp_action_unregister@@EXPERIMENTAL'>
+      <parameter type-id='type-id-5' name='name' filepath='../lib/librte_eal/common/eal_common_proc.c' line='235' column='1'/>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-214' size-in-bits='64' id='type-id-215'/>
+    <typedef-decl name='rte_mp_t' type-id='type-id-215' filepath='../lib/librte_eal/common/include/rte_eal.h' line='193' column='1' id='type-id-216'/>
+    <function-decl name='rte_mp_action_register' mangled-name='rte_mp_action_register' filepath='../lib/librte_eal/common/eal_common_proc.c' line='201' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mp_action_register@@EXPERIMENTAL'>
+      <parameter type-id='type-id-5' name='name' filepath='../lib/librte_eal/common/eal_common_proc.c' line='201' column='1'/>
+      <parameter type-id='type-id-216' name='action' filepath='../lib/librte_eal/common/eal_common_proc.c' line='201' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-210'>
+      <parameter type-id='type-id-206'/>
+      <parameter type-id='type-id-209'/>
+      <return type-id='type-id-23'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-214'>
+      <parameter type-id='type-id-206'/>
+      <parameter type-id='type-id-43'/>
+      <return type-id='type-id-23'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eal/common/eal_common_string_fns.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <typedef-decl name='__ssize_t' type-id='type-id-88' filepath='/usr/include/bits/types.h' line='193' column='1' id='type-id-217'/>
+    <typedef-decl name='ssize_t' type-id='type-id-217' filepath='/usr/include/stdio.h' line='77' column='1' id='type-id-218'/>
+    <function-decl name='rte_strscpy' mangled-name='rte_strscpy' filepath='../lib/librte_eal/common/eal_common_string_fns.c' line='48' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_strscpy@@DPDK_20.0'>
+      <parameter type-id='type-id-75' name='dst' filepath='../lib/librte_eal/common/eal_common_string_fns.c' line='48' column='1'/>
+      <parameter type-id='type-id-5' name='src' filepath='../lib/librte_eal/common/eal_common_string_fns.c' line='48' column='1'/>
+      <parameter type-id='type-id-56' name='dsize' filepath='../lib/librte_eal/common/eal_common_string_fns.c' line='48' column='1'/>
+      <return type-id='type-id-218'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-75' size-in-bits='64' id='type-id-219'/>
+    <function-decl name='rte_strsplit' mangled-name='rte_strsplit' filepath='../lib/librte_eal/common/eal_common_string_fns.c' line='14' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_strsplit@@DPDK_20.0'>
+      <parameter type-id='type-id-75' name='string' filepath='../lib/librte_eal/common/eal_common_string_fns.c' line='14' column='1'/>
+      <parameter type-id='type-id-23' name='stringlen' filepath='../lib/librte_eal/common/eal_common_string_fns.c' line='14' column='1'/>
+      <parameter type-id='type-id-219' name='tokens' filepath='../lib/librte_eal/common/eal_common_string_fns.c' line='15' column='1'/>
+      <parameter type-id='type-id-23' name='maxtokens' filepath='../lib/librte_eal/common/eal_common_string_fns.c' line='15' column='1'/>
+      <parameter type-id='type-id-21' name='delim' filepath='../lib/librte_eal/common/eal_common_string_fns.c' line='15' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eal/common/eal_common_tailqs.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_tailq_elem' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_tailq.h' line='45' column='1' id='type-id-220'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='head' type-id='type-id-221' visibility='default' filepath='../lib/librte_eal/common/include/rte_tailq.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='next' type-id='type-id-222' visibility='default' filepath='../lib/librte_eal/common/include/rte_tailq.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='name' type-id='type-id-223' visibility='default' filepath='../lib/librte_eal/common/include/rte_tailq.h' line='52' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_tailq_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_tailq.h' line='40' column='1' id='type-id-224'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tailq_head' type-id='type-id-225' visibility='default' filepath='../lib/librte_eal/common/include/rte_tailq.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-180' visibility='default' filepath='../lib/librte_eal/common/include/rte_tailq.h' line='42' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_tailq_entry_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_tailq.h' line='28' column='1' id='type-id-225'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-226' visibility='default' filepath='../lib/librte_eal/common/include/rte_tailq.h' line='28' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-227' visibility='default' filepath='../lib/librte_eal/common/include/rte_tailq.h' line='28' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_tailq_entry' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_tailq.h' line='23' column='1' id='type-id-228'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-229' visibility='default' filepath='../lib/librte_eal/common/include/rte_tailq.h' line='24' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data' type-id='type-id-43' visibility='default' filepath='../lib/librte_eal/common/include/rte_tailq.h' line='25' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_tailq.h' line='24' column='1' id='type-id-229'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-226' visibility='default' filepath='../lib/librte_eal/common/include/rte_tailq.h' line='24' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-227' visibility='default' filepath='../lib/librte_eal/common/include/rte_tailq.h' line='24' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-228' size-in-bits='64' id='type-id-226'/>
+    <pointer-type-def type-id='type-id-226' size-in-bits='64' id='type-id-227'/>
+    <pointer-type-def type-id='type-id-224' size-in-bits='64' id='type-id-221'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_tailq.h' line='51' column='1' id='type-id-222'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-230' visibility='default' filepath='../lib/librte_eal/common/include/rte_tailq.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-231' visibility='default' filepath='../lib/librte_eal/common/include/rte_tailq.h' line='51' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-220' size-in-bits='64' id='type-id-230'/>
+    <pointer-type-def type-id='type-id-230' size-in-bits='64' id='type-id-231'/>
+
+    <array-type-def dimensions='1' type-id='type-id-22' size-in-bits='256' id='type-id-232'>
+      <subrange length='32' type-id='type-id-53' id='type-id-181'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-232' const='yes' id='type-id-223'/>
+    <function-decl name='rte_eal_tailq_register' mangled-name='rte_eal_tailq_register' filepath='../lib/librte_eal/common/eal_common_tailqs.c' line='120' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eal_tailq_register@@DPDK_20.0'>
+      <parameter type-id='type-id-230' name='t' filepath='../lib/librte_eal/common/eal_common_tailqs.c' line='120' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_dump_tailq' mangled-name='rte_dump_tailq' filepath='../lib/librte_eal/common/eal_common_tailqs.c' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_dump_tailq@@DPDK_20.0'>
+      <parameter type-id='type-id-95' name='f' filepath='../lib/librte_eal/common/eal_common_tailqs.c' line='55' column='1'/>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-decl name='rte_eal_tailq_lookup' mangled-name='rte_eal_tailq_lookup' filepath='../lib/librte_eal/common/eal_common_tailqs.c' line='37' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eal_tailq_lookup@@DPDK_20.0'>
+      <parameter type-id='type-id-5' name='name' filepath='../lib/librte_eal/common/eal_common_tailqs.c' line='37' column='1'/>
+      <return type-id='type-id-221'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eal/common/eal_common_thread.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <typedef-decl name='pthread_t' type-id='type-id-53' filepath='/usr/include/bits/pthreadtypes.h' line='27' column='1' id='type-id-233'/>
+    <pointer-type-def type-id='type-id-233' size-in-bits='64' id='type-id-234'/>
+    <union-decl name='pthread_attr_t' size-in-bits='448' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='56' column='1' id='type-id-235'>
+      <data-member access='private'>
+        <var-decl name='__size' type-id='type-id-236' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='__align' type-id='type-id-88' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='59' column='1'/>
+      </data-member>
+    </union-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-21' size-in-bits='448' id='type-id-236'>
+      <subrange length='56' type-id='type-id-53' id='type-id-237'/>
+
+    </array-type-def>
+    <typedef-decl name='pthread_attr_t' type-id='type-id-235' filepath='/usr/include/bits/pthreadtypes.h' line='62' column='1' id='type-id-238'/>
+    <qualified-type-def type-id='type-id-238' const='yes' id='type-id-239'/>
+    <pointer-type-def type-id='type-id-239' size-in-bits='64' id='type-id-240'/>
+    <pointer-type-def type-id='type-id-241' size-in-bits='64' id='type-id-242'/>
+    <function-decl name='rte_ctrl_thread_create' mangled-name='rte_ctrl_thread_create' filepath='../lib/librte_eal/common/eal_common_thread.c' line='169' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_ctrl_thread_create@@DPDK_20.0'>
+      <parameter type-id='type-id-234' name='thread' filepath='../lib/librte_eal/common/eal_common_thread.c' line='169' column='1'/>
+      <parameter type-id='type-id-5' name='name' filepath='../lib/librte_eal/common/eal_common_thread.c' line='169' column='1'/>
+      <parameter type-id='type-id-240' name='attr' filepath='../lib/librte_eal/common/eal_common_thread.c' line='170' column='1'/>
+      <parameter type-id='type-id-242' name='start_routine' filepath='../lib/librte_eal/common/eal_common_thread.c' line='171' column='1'/>
+      <parameter type-id='type-id-43' name='arg' filepath='../lib/librte_eal/common/eal_common_thread.c' line='171' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-136' size-in-bits='64' id='type-id-243'/>
+    <function-decl name='rte_thread_get_affinity' mangled-name='rte_thread_get_affinity' filepath='../lib/librte_eal/common/eal_common_thread.c' line='104' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_thread_get_affinity@@DPDK_20.0'>
+      <parameter type-id='type-id-243' name='cpusetp' filepath='../lib/librte_eal/common/eal_common_thread.c' line='104' column='1'/>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-decl name='rte_thread_set_affinity' mangled-name='rte_thread_set_affinity' filepath='../lib/librte_eal/common/eal_common_thread.c' line='70' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_thread_set_affinity@@DPDK_20.0'>
+      <parameter type-id='type-id-243' name='cpusetp' filepath='../lib/librte_eal/common/eal_common_thread.c' line='70' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_lcore_has_role' mangled-name='rte_lcore_has_role' filepath='../lib/librte_eal/common/eal_common_thread.c' line='31' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_lcore_has_role@@DPDK_20.0'>
+      <parameter type-id='type-id-112' name='lcore_id' filepath='../lib/librte_eal/common/eal_common_thread.c' line='31' column='1'/>
+      <parameter type-id='type-id-130' name='role' filepath='../lib/librte_eal/common/eal_common_thread.c' line='31' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_socket_id' mangled-name='rte_socket_id' filepath='../lib/librte_eal/common/eal_common_thread.c' line='25' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_socket_id@@DPDK_20.0'>
+      <return type-id='type-id-112'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-241'>
+      <parameter type-id='type-id-43'/>
+      <return type-id='type-id-43'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eal/common/eal_common_timer.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <pointer-type-def type-id='type-id-244' size-in-bits='64' id='type-id-245'/>
+    <var-decl name='rte_delay_us' type-id='type-id-245' mangled-name='rte_delay_us' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_cycles.h' line='139' column='1' elf-symbol-id='rte_delay_us@@DPDK_20.0'/>
+    <function-decl name='rte_delay_us_callback_register' mangled-name='rte_delay_us_callback_register' filepath='../lib/librte_eal/common/eal_common_timer.c' line='107' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_delay_us_callback_register@@DPDK_20.0'>
+      <parameter type-id='type-id-245' name='userfunc' filepath='../lib/librte_eal/common/eal_common_timer.c' line='107' column='1'/>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-decl name='rte_get_tsc_hz' mangled-name='rte_get_tsc_hz' filepath='../lib/librte_eal/common/eal_common_timer.c' line='61' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_get_tsc_hz@@DPDK_20.0'>
+      <return type-id='type-id-55'/>
+    </function-decl>
+    <function-decl name='rte_delay_us_block' mangled-name='rte_delay_us_block' filepath='../lib/librte_eal/common/eal_common_timer.c' line='30' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_delay_us_block@@DPDK_20.0'>
+      <parameter type-id='type-id-112' name='us' filepath='../lib/librte_eal/common/eal_common_timer.c' line='30' column='1'/>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-decl name='rte_delay_us_sleep' mangled-name='rte_delay_us_sleep' filepath='../lib/librte_eal/common/eal_common_timer.c' line='39' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_delay_us_sleep@@EXPERIMENTAL'>
+      <parameter type-id='type-id-112' name='us' filepath='../lib/librte_eal/common/eal_common_timer.c' line='30' column='1'/>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-244'>
+      <parameter type-id='type-id-112'/>
+      <return type-id='type-id-42'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eal/common/eal_common_uuid.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <qualified-type-def type-id='type-id-152' const='yes' id='type-id-246'/>
+    <pointer-type-def type-id='type-id-246' size-in-bits='64' id='type-id-247'/>
+    <function-decl name='rte_uuid_unparse' mangled-name='rte_uuid_unparse' filepath='../lib/librte_eal/common/eal_common_uuid.c' line='155' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_uuid_unparse@@DPDK_20.0'>
+      <parameter type-id='type-id-247' name='uu' filepath='../lib/librte_eal/common/eal_common_uuid.c' line='155' column='1'/>
+      <parameter type-id='type-id-75' name='out' filepath='../lib/librte_eal/common/eal_common_uuid.c' line='155' column='1'/>
+      <parameter type-id='type-id-56' name='len' filepath='../lib/librte_eal/common/eal_common_uuid.c' line='155' column='1'/>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-152' size-in-bits='64' id='type-id-248'/>
+    <function-decl name='rte_uuid_parse' mangled-name='rte_uuid_parse' filepath='../lib/librte_eal/common/eal_common_uuid.c' line='113' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_uuid_parse@@DPDK_20.0'>
+      <parameter type-id='type-id-5' name='in' filepath='../lib/librte_eal/common/eal_common_uuid.c' line='113' column='1'/>
+      <parameter type-id='type-id-248' name='uu' filepath='../lib/librte_eal/common/eal_common_uuid.c' line='113' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_uuid_compare' mangled-name='rte_uuid_compare' filepath='../lib/librte_eal/common/eal_common_uuid.c' line='94' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_uuid_compare@@DPDK_20.0'>
+      <parameter type-id='type-id-247' name='uu1' filepath='../lib/librte_eal/common/eal_common_uuid.c' line='94' column='1'/>
+      <parameter type-id='type-id-247' name='uu2' filepath='../lib/librte_eal/common/eal_common_uuid.c' line='94' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_uuid_is_null' mangled-name='rte_uuid_is_null' filepath='../lib/librte_eal/common/eal_common_uuid.c' line='80' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_uuid_is_null@@DPDK_20.0'>
+      <parameter type-id='type-id-247' name='uu' filepath='../lib/librte_eal/common/eal_common_uuid.c' line='80' column='1'/>
+      <return type-id='type-id-144'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eal/common/rte_keepalive.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_keepalive' size-in-bits='75264' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/rte_keepalive.c' line='14' column='1' id='type-id-249'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='live_data' type-id='type-id-250' visibility='default' filepath='../lib/librte_eal/common/rte_keepalive.c' line='21' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='65536'>
+        <var-decl name='last_alive' type-id='type-id-251' visibility='default' filepath='../lib/librte_eal/common/rte_keepalive.c' line='24' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='73728'>
+        <var-decl name='active_cores' type-id='type-id-252' visibility='default' filepath='../lib/librte_eal/common/rte_keepalive.c' line='30' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='74752'>
+        <var-decl name='callback' type-id='type-id-253' visibility='default' filepath='../lib/librte_eal/common/rte_keepalive.c' line='33' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='74816'>
+        <var-decl name='callback_data' type-id='type-id-43' visibility='default' filepath='../lib/librte_eal/common/rte_keepalive.c' line='39' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='74880'>
+        <var-decl name='tsc_initial' type-id='type-id-55' visibility='default' filepath='../lib/librte_eal/common/rte_keepalive.c' line='40' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='74944'>
+        <var-decl name='tsc_mhz' type-id='type-id-55' visibility='default' filepath='../lib/librte_eal/common/rte_keepalive.c' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='75008'>
+        <var-decl name='relay_callback' type-id='type-id-254' visibility='default' filepath='../lib/librte_eal/common/rte_keepalive.c' line='44' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='75072'>
+        <var-decl name='relay_callback_data' type-id='type-id-43' visibility='default' filepath='../lib/librte_eal/common/rte_keepalive.c' line='50' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='512' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/rte_keepalive.c' line='16' column='1' id='type-id-255'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='core_state' type-id='type-id-256' visibility='default' filepath='../lib/librte_eal/common/rte_keepalive.c' line='20' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_keepalive_state' filepath='../lib/librte_eal/common/include/rte_keepalive.h' line='24' column='1' id='type-id-256'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTE_KA_STATE_UNUSED' value='0'/>
+      <enumerator name='RTE_KA_STATE_ALIVE' value='1'/>
+      <enumerator name='RTE_KA_STATE_MISSING' value='4'/>
+      <enumerator name='RTE_KA_STATE_DEAD' value='2'/>
+      <enumerator name='RTE_KA_STATE_GONE' value='3'/>
+      <enumerator name='RTE_KA_STATE_DOZING' value='5'/>
+      <enumerator name='RTE_KA_STATE_SLEEP' value='6'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-255' size-in-bits='65536' id='type-id-250'>
+      <subrange length='128' type-id='type-id-53' id='type-id-257'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-55' size-in-bits='8192' id='type-id-251'>
+      <subrange length='128' type-id='type-id-53' id='type-id-257'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-154' size-in-bits='1024' id='type-id-252'>
+      <subrange length='128' type-id='type-id-53' id='type-id-257'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-23' const='yes' id='type-id-258'/>
+    <pointer-type-def type-id='type-id-259' size-in-bits='64' id='type-id-260'/>
+    <typedef-decl name='rte_keepalive_failure_callback_t' type-id='type-id-260' filepath='../lib/librte_eal/common/include/rte_keepalive.h' line='42' column='1' id='type-id-253'/>
+    <pointer-type-def type-id='type-id-261' size-in-bits='64' id='type-id-262'/>
+    <typedef-decl name='rte_keepalive_relay_callback_t' type-id='type-id-262' filepath='../lib/librte_eal/common/include/rte_keepalive.h' line='57' column='1' id='type-id-254'/>
+    <pointer-type-def type-id='type-id-249' size-in-bits='64' id='type-id-263'/>
+    <function-decl name='rte_keepalive_mark_sleep' mangled-name='rte_keepalive_mark_sleep' filepath='../lib/librte_eal/common/rte_keepalive.c' line='159' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_keepalive_mark_sleep@@DPDK_20.0'>
+      <parameter type-id='type-id-263' name='keepcfg' filepath='../lib/librte_eal/common/rte_keepalive.c' line='159' column='1'/>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-decl name='rte_keepalive_mark_alive' mangled-name='rte_keepalive_mark_alive' filepath='../lib/librte_eal/common/rte_keepalive.c' line='153' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_keepalive_mark_alive@@DPDK_20.0'>
+      <parameter type-id='type-id-263' name='keepcfg' filepath='../lib/librte_eal/common/rte_keepalive.c' line='159' column='1'/>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-decl name='rte_keepalive_register_core' mangled-name='rte_keepalive_register_core' filepath='../lib/librte_eal/common/rte_keepalive.c' line='144' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_keepalive_register_core@@DPDK_20.0'>
+      <parameter type-id='type-id-263' name='keepcfg' filepath='../lib/librte_eal/common/rte_keepalive.c' line='144' column='1'/>
+      <parameter type-id='type-id-258' name='id_core' filepath='../lib/librte_eal/common/rte_keepalive.c' line='144' column='1'/>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-decl name='rte_keepalive_register_relay_callback' mangled-name='rte_keepalive_register_relay_callback' filepath='../lib/librte_eal/common/rte_keepalive.c' line='135' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_keepalive_register_relay_callback@@DPDK_20.0'>
+      <parameter type-id='type-id-263' name='keepcfg' filepath='../lib/librte_eal/common/rte_keepalive.c' line='135' column='1'/>
+      <parameter type-id='type-id-254' name='callback' filepath='../lib/librte_eal/common/rte_keepalive.c' line='136' column='1'/>
+      <parameter type-id='type-id-43' name='data' filepath='../lib/librte_eal/common/rte_keepalive.c' line='137' column='1'/>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-decl name='rte_keepalive_create' mangled-name='rte_keepalive_create' filepath='../lib/librte_eal/common/rte_keepalive.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_keepalive_create@@DPDK_20.0'>
+      <parameter type-id='type-id-253' name='callback' filepath='../lib/librte_eal/common/rte_keepalive.c' line='118' column='1'/>
+      <parameter type-id='type-id-43' name='data' filepath='../lib/librte_eal/common/rte_keepalive.c' line='119' column='1'/>
+      <return type-id='type-id-263'/>
+    </function-decl>
+    <function-decl name='rte_keepalive_dispatch_pings' mangled-name='rte_keepalive_dispatch_pings' filepath='../lib/librte_eal/common/rte_keepalive.c' line='64' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_keepalive_dispatch_pings@@DPDK_20.0'>
+      <parameter type-id='type-id-43' name='ptr_timer' filepath='../lib/librte_eal/common/rte_keepalive.c' line='64' column='1'/>
+      <parameter type-id='type-id-43' name='ptr_data' filepath='../lib/librte_eal/common/rte_keepalive.c' line='65' column='1'/>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-259'>
+      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-258'/>
+      <return type-id='type-id-42'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-261'>
+      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-258'/>
+      <parameter type-id='type-id-256'/>
+      <parameter type-id='type-id-55'/>
+      <return type-id='type-id-42'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eal/common/rte_malloc.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='rte_malloc_virt2iova' mangled-name='rte_malloc_virt2iova' filepath='../lib/librte_eal/common/rte_malloc.c' line='318' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_malloc_virt2iova@@DPDK_20.0'>
+      <parameter type-id='type-id-43' name='addr' filepath='../lib/librte_eal/common/rte_malloc.c' line='318' column='1'/>
+      <return type-id='type-id-155'/>
+    </function-decl>
+    <function-decl name='rte_malloc_set_limit' mangled-name='rte_malloc_set_limit' filepath='../lib/librte_eal/common/rte_malloc.c' line='308' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_malloc_set_limit@@DPDK_20.0'>
+      <parameter type-id='type-id-5' name='type' filepath='../lib/librte_eal/common/rte_malloc.c' line='308' column='1'/>
+      <parameter type-id='type-id-56' name='max' filepath='../lib/librte_eal/common/rte_malloc.c' line='309' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_malloc_dump_stats' mangled-name='rte_malloc_dump_stats' filepath='../lib/librte_eal/common/rte_malloc.c' line='279' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_malloc_dump_stats@@DPDK_20.0'>
+      <parameter type-id='type-id-95' name='f' filepath='../lib/librte_eal/common/rte_malloc.c' line='279' column='1'/>
+      <parameter type-id='type-id-5' name='type' filepath='../lib/librte_eal/common/rte_malloc.c' line='279' column='1'/>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <class-decl name='rte_malloc_socket_stats' size-in-bits='320' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_malloc.h' line='26' column='1' id='type-id-264'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='heap_totalsz_bytes' type-id='type-id-56' visibility='default' filepath='../lib/librte_eal/common/include/rte_malloc.h' line='27' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='heap_freesz_bytes' type-id='type-id-56' visibility='default' filepath='../lib/librte_eal/common/include/rte_malloc.h' line='28' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='greatest_free_size' type-id='type-id-56' visibility='default' filepath='../lib/librte_eal/common/include/rte_malloc.h' line='29' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='free_count' type-id='type-id-112' visibility='default' filepath='../lib/librte_eal/common/include/rte_malloc.h' line='30' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='alloc_count' type-id='type-id-112' visibility='default' filepath='../lib/librte_eal/common/include/rte_malloc.h' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='heap_allocsz_bytes' type-id='type-id-56' visibility='default' filepath='../lib/librte_eal/common/include/rte_malloc.h' line='32' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-264' size-in-bits='64' id='type-id-265'/>
+    <function-decl name='rte_malloc_get_socket_stats' mangled-name='rte_malloc_get_socket_stats' filepath='../lib/librte_eal/common/rte_malloc.c' line='185' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_malloc_get_socket_stats@@DPDK_20.0'>
+      <parameter type-id='type-id-23' name='socket' filepath='../lib/librte_eal/common/rte_malloc.c' line='185' column='1'/>
+      <parameter type-id='type-id-265' name='socket_stats' filepath='../lib/librte_eal/common/rte_malloc.c' line='186' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_malloc_validate' mangled-name='rte_malloc_validate' filepath='../lib/librte_eal/common/rte_malloc.c' line='171' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_malloc_validate@@DPDK_20.0'>
+      <parameter type-id='type-id-43' name='ptr' filepath='../lib/librte_eal/common/rte_malloc.c' line='171' column='1'/>
+      <parameter type-id='type-id-162' name='size' filepath='../lib/librte_eal/common/rte_malloc.c' line='171' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_realloc' mangled-name='rte_realloc' filepath='../lib/librte_eal/common/rte_malloc.c' line='165' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_realloc@@DPDK_20.0'>
+      <parameter type-id='type-id-43' name='ptr' filepath='../lib/librte_eal/common/rte_malloc.c' line='165' column='1'/>
+      <parameter type-id='type-id-56' name='size' filepath='../lib/librte_eal/common/rte_malloc.c' line='165' column='1'/>
+      <parameter type-id='type-id-112' name='align' filepath='../lib/librte_eal/common/rte_malloc.c' line='165' column='1'/>
+      <return type-id='type-id-43'/>
+    </function-decl>
+    <function-decl name='rte_calloc' mangled-name='rte_calloc' filepath='../lib/librte_eal/common/rte_malloc.c' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_calloc@@DPDK_20.0'>
+      <parameter type-id='type-id-5' name='type' filepath='../lib/librte_eal/common/rte_malloc.c' line='115' column='1'/>
+      <parameter type-id='type-id-56' name='num' filepath='../lib/librte_eal/common/rte_malloc.c' line='115' column='1'/>
+      <parameter type-id='type-id-56' name='size' filepath='../lib/librte_eal/common/rte_malloc.c' line='115' column='1'/>
+      <parameter type-id='type-id-112' name='align' filepath='../lib/librte_eal/common/rte_malloc.c' line='115' column='1'/>
+      <return type-id='type-id-43'/>
+    </function-decl>
+    <function-decl name='rte_calloc_socket' mangled-name='rte_calloc_socket' filepath='../lib/librte_eal/common/rte_malloc.c' line='106' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_calloc_socket@@DPDK_20.0'>
+      <parameter type-id='type-id-5' name='type' filepath='../lib/librte_eal/common/rte_malloc.c' line='106' column='1'/>
+      <parameter type-id='type-id-56' name='num' filepath='../lib/librte_eal/common/rte_malloc.c' line='106' column='1'/>
+      <parameter type-id='type-id-56' name='size' filepath='../lib/librte_eal/common/rte_malloc.c' line='106' column='1'/>
+      <parameter type-id='type-id-112' name='align' filepath='../lib/librte_eal/common/rte_malloc.c' line='106' column='1'/>
+      <parameter type-id='type-id-23' name='socket' filepath='../lib/librte_eal/common/rte_malloc.c' line='106' column='1'/>
+      <return type-id='type-id-43'/>
+    </function-decl>
+    <function-decl name='rte_zmalloc' mangled-name='rte_zmalloc' filepath='../lib/librte_eal/common/rte_malloc.c' line='97' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_zmalloc@@DPDK_20.0'>
+      <parameter type-id='type-id-5' name='type' filepath='../lib/librte_eal/common/rte_malloc.c' line='97' column='1'/>
+      <parameter type-id='type-id-56' name='size' filepath='../lib/librte_eal/common/rte_malloc.c' line='97' column='1'/>
+      <parameter type-id='type-id-112' name='align' filepath='../lib/librte_eal/common/rte_malloc.c' line='97' column='1'/>
+      <return type-id='type-id-43'/>
+    </function-decl>
+    <function-decl name='rte_zmalloc_socket' mangled-name='rte_zmalloc_socket' filepath='../lib/librte_eal/common/rte_malloc.c' line='77' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_zmalloc_socket@@DPDK_20.0'>
+      <parameter type-id='type-id-5' name='type' filepath='../lib/librte_eal/common/rte_malloc.c' line='77' column='1'/>
+      <parameter type-id='type-id-56' name='size' filepath='../lib/librte_eal/common/rte_malloc.c' line='77' column='1'/>
+      <parameter type-id='type-id-112' name='align' filepath='../lib/librte_eal/common/rte_malloc.c' line='77' column='1'/>
+      <parameter type-id='type-id-23' name='socket' filepath='../lib/librte_eal/common/rte_malloc.c' line='77' column='1'/>
+      <return type-id='type-id-43'/>
+    </function-decl>
+    <function-decl name='rte_malloc' mangled-name='rte_malloc' filepath='../lib/librte_eal/common/rte_malloc.c' line='68' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_malloc@@DPDK_20.0'>
+      <parameter type-id='type-id-5' name='type' filepath='../lib/librte_eal/common/rte_malloc.c' line='97' column='1'/>
+      <parameter type-id='type-id-56' name='size' filepath='../lib/librte_eal/common/rte_malloc.c' line='97' column='1'/>
+      <parameter type-id='type-id-112' name='align' filepath='../lib/librte_eal/common/rte_malloc.c' line='97' column='1'/>
+      <return type-id='type-id-43'/>
+    </function-decl>
+    <function-decl name='rte_malloc_socket' mangled-name='rte_malloc_socket' filepath='../lib/librte_eal/common/rte_malloc.c' line='44' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_malloc_socket@@DPDK_20.0'>
+      <parameter type-id='type-id-5' name='type' filepath='../lib/librte_eal/common/rte_malloc.c' line='44' column='1'/>
+      <parameter type-id='type-id-56' name='size' filepath='../lib/librte_eal/common/rte_malloc.c' line='44' column='1'/>
+      <parameter type-id='type-id-112' name='align' filepath='../lib/librte_eal/common/rte_malloc.c' line='44' column='1'/>
+      <parameter type-id='type-id-23' name='socket_arg' filepath='../lib/librte_eal/common/rte_malloc.c' line='45' column='1'/>
+      <return type-id='type-id-43'/>
+    </function-decl>
+    <function-decl name='rte_free' mangled-name='rte_free' filepath='../lib/librte_eal/common/rte_malloc.c' line='33' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_free@@DPDK_20.0'>
+      <parameter type-id='type-id-43' name='addr' filepath='../lib/librte_eal/common/rte_malloc.c' line='33' column='1'/>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-decl name='rte_malloc_dump_heaps' mangled-name='rte_malloc_dump_heaps' filepath='../lib/librte_eal/common/rte_malloc.c' line='203' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_malloc_dump_heaps@@EXPERIMENTAL'>
+      <parameter type-id='type-id-95' name='f' filepath='../lib/librte_eal/common/eal_common_bus.c' line='105' column='1'/>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-decl name='rte_malloc_heap_socket_is_external' mangled-name='rte_malloc_heap_socket_is_external' filepath='../lib/librte_eal/common/rte_malloc.c' line='251' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_malloc_heap_socket_is_external@@EXPERIMENTAL'>
+      <parameter type-id='type-id-23' name='socket_id' filepath='../lib/librte_eal/common/rte_malloc.c' line='251' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_malloc_heap_get_socket' mangled-name='rte_malloc_heap_get_socket' filepath='../lib/librte_eal/common/rte_malloc.c' line='215' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_malloc_heap_get_socket@@EXPERIMENTAL'>
+      <parameter type-id='type-id-5' name='name' filepath='../lib/librte_eal/common/rte_malloc.c' line='215' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_malloc_heap_destroy' mangled-name='rte_malloc_heap_destroy' filepath='../lib/librte_eal/common/rte_malloc.c' line='588' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_malloc_heap_destroy@@EXPERIMENTAL'>
+      <parameter type-id='type-id-5' name='heap_name' filepath='../lib/librte_eal/common/rte_malloc.c' line='588' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_malloc_heap_create' mangled-name='rte_malloc_heap_create' filepath='../lib/librte_eal/common/rte_malloc.c' line='537' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_malloc_heap_create@@EXPERIMENTAL'>
+      <parameter type-id='type-id-5' name='heap_name' filepath='../lib/librte_eal/common/rte_malloc.c' line='537' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_malloc_heap_memory_detach' mangled-name='rte_malloc_heap_memory_detach' filepath='../lib/librte_eal/common/rte_malloc.c' line='531' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_malloc_heap_memory_detach@@EXPERIMENTAL'>
+      <parameter type-id='type-id-5' name='heap_name' filepath='../lib/librte_eal/common/rte_malloc.c' line='531' column='1'/>
+      <parameter type-id='type-id-43' name='va_addr' filepath='../lib/librte_eal/common/rte_malloc.c' line='531' column='1'/>
+      <parameter type-id='type-id-56' name='len' filepath='../lib/librte_eal/common/rte_malloc.c' line='531' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_malloc_heap_memory_attach' mangled-name='rte_malloc_heap_memory_attach' filepath='../lib/librte_eal/common/rte_malloc.c' line='525' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_malloc_heap_memory_attach@@EXPERIMENTAL'>
+      <parameter type-id='type-id-5' name='heap_name' filepath='../lib/librte_eal/common/rte_malloc.c' line='531' column='1'/>
+      <parameter type-id='type-id-43' name='va_addr' filepath='../lib/librte_eal/common/rte_malloc.c' line='531' column='1'/>
+      <parameter type-id='type-id-56' name='len' filepath='../lib/librte_eal/common/rte_malloc.c' line='531' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_malloc_heap_memory_remove' mangled-name='rte_malloc_heap_memory_remove' filepath='../lib/librte_eal/common/rte_malloc.c' line='410' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_malloc_heap_memory_remove@@EXPERIMENTAL'>
+      <parameter type-id='type-id-5' name='heap_name' filepath='../lib/librte_eal/common/rte_malloc.c' line='410' column='1'/>
+      <parameter type-id='type-id-43' name='va_addr' filepath='../lib/librte_eal/common/rte_malloc.c' line='410' column='1'/>
+      <parameter type-id='type-id-56' name='len' filepath='../lib/librte_eal/common/rte_malloc.c' line='410' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_malloc_heap_memory_add' mangled-name='rte_malloc_heap_memory_add' filepath='../lib/librte_eal/common/rte_malloc.c' line='355' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_malloc_heap_memory_add@@EXPERIMENTAL'>
+      <parameter type-id='type-id-5' name='heap_name' filepath='../lib/librte_eal/common/rte_malloc.c' line='355' column='1'/>
+      <parameter type-id='type-id-43' name='va_addr' filepath='../lib/librte_eal/common/rte_malloc.c' line='355' column='1'/>
+      <parameter type-id='type-id-56' name='len' filepath='../lib/librte_eal/common/rte_malloc.c' line='355' column='1'/>
+      <parameter type-id='type-id-156' name='iova_addrs' filepath='../lib/librte_eal/common/rte_malloc.c' line='356' column='1'/>
+      <parameter type-id='type-id-112' name='n_pages' filepath='../lib/librte_eal/common/rte_malloc.c' line='356' column='1'/>
+      <parameter type-id='type-id-56' name='page_sz' filepath='../lib/librte_eal/common/rte_malloc.c' line='356' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_realloc_socket' mangled-name='rte_realloc_socket' filepath='../lib/librte_eal/common/rte_malloc.c' line='124' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_realloc_socket@@EXPERIMENTAL'>
+      <parameter type-id='type-id-43' name='ptr' filepath='../lib/librte_eal/common/rte_malloc.c' line='124' column='1'/>
+      <parameter type-id='type-id-56' name='size' filepath='../lib/librte_eal/common/rte_malloc.c' line='124' column='1'/>
+      <parameter type-id='type-id-112' name='align' filepath='../lib/librte_eal/common/rte_malloc.c' line='124' column='1'/>
+      <parameter type-id='type-id-23' name='socket' filepath='../lib/librte_eal/common/rte_malloc.c' line='124' column='1'/>
+      <return type-id='type-id-43'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eal/common/rte_option.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_option' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_option.h' line='39' column='1' id='type-id-266'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-267' visibility='default' filepath='../lib/librte_eal/common/include/rte_option.h' line='40' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-5' visibility='default' filepath='../lib/librte_eal/common/include/rte_option.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='usage' type-id='type-id-5' visibility='default' filepath='../lib/librte_eal/common/include/rte_option.h' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cb' type-id='type-id-268' visibility='default' filepath='../lib/librte_eal/common/include/rte_option.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='enabled' type-id='type-id-23' visibility='default' filepath='../lib/librte_eal/common/include/rte_option.h' line='44' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_option.h' line='40' column='1' id='type-id-267'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-269' visibility='default' filepath='../lib/librte_eal/common/include/rte_option.h' line='40' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-270' visibility='default' filepath='../lib/librte_eal/common/include/rte_option.h' line='40' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-266' size-in-bits='64' id='type-id-269'/>
+    <pointer-type-def type-id='type-id-269' size-in-bits='64' id='type-id-270'/>
+    <typedef-decl name='rte_option_cb' type-id='type-id-25' filepath='../lib/librte_eal/common/include/rte_option.h' line='30' column='1' id='type-id-268'/>
+    <function-decl name='rte_option_register' mangled-name='rte_option_register' filepath='../lib/librte_eal/common/rte_option.c' line='42' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_option_register@@EXPERIMENTAL'>
+      <parameter type-id='type-id-269' name='opt' filepath='../lib/librte_eal/common/rte_option.c' line='42' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eal/common/rte_random.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='rte_rand' mangled-name='rte_rand' filepath='../lib/librte_eal/common/rte_random.c' line='131' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rand@@DPDK_20.0'>
+      <return type-id='type-id-55'/>
+    </function-decl>
+    <function-decl name='rte_srand' mangled-name='rte_srand' filepath='../lib/librte_eal/common/rte_random.c' line='80' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_srand@@DPDK_20.0'>
+      <parameter type-id='type-id-55' name='seed' filepath='../lib/librte_eal/common/rte_random.c' line='80' column='1'/>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-decl name='rte_rand_max' mangled-name='rte_rand_max' filepath='../lib/librte_eal/common/rte_random.c' line='141' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rand_max@@EXPERIMENTAL'>
+      <parameter type-id='type-id-55' name='upper_bound' filepath='../lib/librte_eal/common/rte_random.c' line='141' column='1'/>
+      <return type-id='type-id-55'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eal/common/rte_reciprocal.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_reciprocal_u64' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_reciprocal.h' line='35' column='1' id='type-id-271'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='m' type-id='type-id-55' visibility='default' filepath='../lib/librte_eal/common/include/rte_reciprocal.h' line='36' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='sh1' type-id='type-id-154' visibility='default' filepath='../lib/librte_eal/common/include/rte_reciprocal.h' line='37' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='sh2' type-id='type-id-154' visibility='default' filepath='../lib/librte_eal/common/include/rte_reciprocal.h' line='37' column='1'/>
+      </data-member>
+    </class-decl>
+    <function-decl name='rte_reciprocal_value_u64' mangled-name='rte_reciprocal_value_u64' filepath='../lib/librte_eal/common/rte_reciprocal.c' line='102' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_reciprocal_value_u64@@DPDK_20.0'>
+      <parameter type-id='type-id-55' name='d' filepath='../lib/librte_eal/common/rte_reciprocal.c' line='102' column='1'/>
+      <return type-id='type-id-271'/>
+    </function-decl>
+    <class-decl name='rte_reciprocal' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_reciprocal.h' line='30' column='1' id='type-id-272'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='m' type-id='type-id-138' visibility='default' filepath='../lib/librte_eal/common/include/rte_reciprocal.h' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='sh1' type-id='type-id-154' visibility='default' filepath='../lib/librte_eal/common/include/rte_reciprocal.h' line='32' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='sh2' type-id='type-id-154' visibility='default' filepath='../lib/librte_eal/common/include/rte_reciprocal.h' line='32' column='1'/>
+      </data-member>
+    </class-decl>
+    <function-decl name='rte_reciprocal_value' mangled-name='rte_reciprocal_value' filepath='../lib/librte_eal/common/rte_reciprocal.c' line='14' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_reciprocal_value@@DPDK_20.0'>
+      <parameter type-id='type-id-138' name='d' filepath='../lib/librte_eal/common/rte_reciprocal.c' line='14' column='1'/>
+      <return type-id='type-id-272'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eal/common/rte_service.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='rte_service_dump' mangled-name='rte_service_dump' filepath='../lib/librte_eal/common/rte_service.c' line='849' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_service_dump@@DPDK_20.0'>
+      <parameter type-id='type-id-95' name='f' filepath='../lib/librte_eal/common/rte_service.c' line='849' column='1'/>
+      <parameter type-id='type-id-138' name='id' filepath='../lib/librte_eal/common/rte_service.c' line='849' column='1'/>
+      <return type-id='type-id-123'/>
+    </function-decl>
+    <function-decl name='rte_service_lcore_attr_reset_all' mangled-name='rte_service_lcore_attr_reset_all' filepath='../lib/librte_eal/common/rte_service.c' line='815' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_service_lcore_attr_reset_all@@DPDK_20.0'>
+      <parameter type-id='type-id-138' name='lcore' filepath='../lib/librte_eal/common/rte_service.c' line='815' column='1'/>
+      <return type-id='type-id-123'/>
+    </function-decl>
+    <function-decl name='rte_service_attr_reset_all' mangled-name='rte_service_attr_reset_all' filepath='../lib/librte_eal/common/rte_service.c' line='804' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_service_attr_reset_all@@DPDK_20.0'>
+      <parameter type-id='type-id-138' name='id' filepath='../lib/librte_eal/common/rte_service.c' line='804' column='1'/>
+      <return type-id='type-id-123'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-55' size-in-bits='64' id='type-id-273'/>
+    <function-decl name='rte_service_lcore_attr_get' mangled-name='rte_service_lcore_attr_get' filepath='../lib/librte_eal/common/rte_service.c' line='755' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_service_lcore_attr_get@@DPDK_20.0'>
+      <parameter type-id='type-id-138' name='lcore' filepath='../lib/librte_eal/common/rte_service.c' line='755' column='1'/>
+      <parameter type-id='type-id-138' name='attr_id' filepath='../lib/librte_eal/common/rte_service.c' line='755' column='1'/>
+      <parameter type-id='type-id-273' name='attr_value' filepath='../lib/librte_eal/common/rte_service.c' line='756' column='1'/>
+      <return type-id='type-id-123'/>
+    </function-decl>
+    <function-decl name='rte_service_attr_get' mangled-name='rte_service_attr_get' filepath='../lib/librte_eal/common/rte_service.c' line='734' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_service_attr_get@@DPDK_20.0'>
+      <parameter type-id='type-id-138' name='lcore' filepath='../lib/librte_eal/common/rte_service.c' line='755' column='1'/>
+      <parameter type-id='type-id-138' name='attr_id' filepath='../lib/librte_eal/common/rte_service.c' line='755' column='1'/>
+      <parameter type-id='type-id-273' name='attr_value' filepath='../lib/librte_eal/common/rte_service.c' line='756' column='1'/>
+      <return type-id='type-id-123'/>
+    </function-decl>
+    <function-decl name='rte_service_lcore_stop' mangled-name='rte_service_lcore_stop' filepath='../lib/librte_eal/common/rte_service.c' line='704' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_service_lcore_stop@@DPDK_20.0'>
+      <parameter type-id='type-id-138' name='lcore' filepath='../lib/librte_eal/common/rte_service.c' line='704' column='1'/>
+      <return type-id='type-id-123'/>
+    </function-decl>
+    <function-decl name='rte_service_lcore_start' mangled-name='rte_service_lcore_start' filepath='../lib/librte_eal/common/rte_service.c' line='681' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_service_lcore_start@@DPDK_20.0'>
+      <parameter type-id='type-id-138' name='id' filepath='../lib/librte_eal/common/rte_service.c' line='804' column='1'/>
+      <return type-id='type-id-123'/>
+    </function-decl>
+    <function-decl name='rte_service_lcore_del' mangled-name='rte_service_lcore_del' filepath='../lib/librte_eal/common/rte_service.c' line='662' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_service_lcore_del@@DPDK_20.0'>
+      <parameter type-id='type-id-138' name='lcore' filepath='../lib/librte_eal/common/rte_service.c' line='815' column='1'/>
+      <return type-id='type-id-123'/>
+    </function-decl>
+    <function-decl name='rte_service_lcore_add' mangled-name='rte_service_lcore_add' filepath='../lib/librte_eal/common/rte_service.c' line='643' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_service_lcore_add@@DPDK_20.0'>
+      <parameter type-id='type-id-138' name='lcore' filepath='../lib/librte_eal/common/rte_service.c' line='643' column='1'/>
+      <return type-id='type-id-123'/>
+    </function-decl>
+    <function-decl name='rte_service_lcore_reset_all' mangled-name='rte_service_lcore_reset_all' filepath='../lib/librte_eal/common/rte_service.c' line='623' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_service_lcore_reset_all@@DPDK_20.0'>
+      <return type-id='type-id-123'/>
+    </function-decl>
+    <function-decl name='rte_service_map_lcore_get' mangled-name='rte_service_map_lcore_get' filepath='../lib/librte_eal/common/rte_service.c' line='597' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_service_map_lcore_get@@DPDK_20.0'>
+      <parameter type-id='type-id-138' name='id' filepath='../lib/librte_eal/common/rte_service.c' line='597' column='1'/>
+      <parameter type-id='type-id-138' name='lcore' filepath='../lib/librte_eal/common/rte_service.c' line='597' column='1'/>
+      <return type-id='type-id-123'/>
+    </function-decl>
+    <function-decl name='rte_service_map_lcore_set' mangled-name='rte_service_map_lcore_set' filepath='../lib/librte_eal/common/rte_service.c' line='588' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_service_map_lcore_set@@DPDK_20.0'>
+      <parameter type-id='type-id-138' name='id' filepath='../lib/librte_eal/common/rte_service.c' line='588' column='1'/>
+      <parameter type-id='type-id-138' name='lcore' filepath='../lib/librte_eal/common/rte_service.c' line='588' column='1'/>
+      <parameter type-id='type-id-138' name='enabled' filepath='../lib/librte_eal/common/rte_service.c' line='588' column='1'/>
+      <return type-id='type-id-123'/>
+    </function-decl>
+    <function-decl name='rte_service_start_with_defaults' mangled-name='rte_service_start_with_defaults' filepath='../lib/librte_eal/common/rte_service.c' line='502' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_service_start_with_defaults@@DPDK_20.0'>
+      <return type-id='type-id-123'/>
+    </function-decl>
+    <function-decl name='rte_service_lcore_count_services' mangled-name='rte_service_lcore_count_services' filepath='../lib/librte_eal/common/rte_service.c' line='489' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_service_lcore_count_services@@DPDK_20.0'>
+      <parameter type-id='type-id-138' name='lcore' filepath='../lib/librte_eal/common/rte_service.c' line='815' column='1'/>
+      <return type-id='type-id-123'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-138' size-in-bits='64' id='type-id-274'/>
+    <function-decl name='rte_service_lcore_list' mangled-name='rte_service_lcore_list' filepath='../lib/librte_eal/common/rte_service.c' line='466' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_service_lcore_list@@DPDK_20.0'>
+      <parameter type-id='type-id-274' name='array' filepath='../lib/librte_eal/common/rte_service.c' line='466' column='1'/>
+      <parameter type-id='type-id-138' name='n' filepath='../lib/librte_eal/common/rte_service.c' line='466' column='1'/>
+      <return type-id='type-id-123'/>
+    </function-decl>
+    <function-decl name='rte_service_lcore_count' mangled-name='rte_service_lcore_count' filepath='../lib/librte_eal/common/rte_service.c' line='456' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_service_lcore_count@@DPDK_20.0'>
+      <return type-id='type-id-123'/>
+    </function-decl>
+    <function-decl name='rte_service_run_iter_on_app_lcore' mangled-name='rte_service_run_iter_on_app_lcore' filepath='../lib/librte_eal/common/rte_service.c' line='398' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_service_run_iter_on_app_lcore@@DPDK_20.0'>
+      <parameter type-id='type-id-138' name='id' filepath='../lib/librte_eal/common/rte_service.c' line='597' column='1'/>
+      <parameter type-id='type-id-138' name='lcore' filepath='../lib/librte_eal/common/rte_service.c' line='597' column='1'/>
+      <return type-id='type-id-123'/>
+    </function-decl>
+    <function-decl name='rte_service_may_be_active' mangled-name='rte_service_may_be_active' filepath='../lib/librte_eal/common/rte_service.c' line='380' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_service_may_be_active@@DPDK_20.0'>
+      <parameter type-id='type-id-138' name='id' filepath='../lib/librte_eal/common/rte_service.c' line='380' column='1'/>
+      <return type-id='type-id-123'/>
+    </function-decl>
+    <function-decl name='rte_service_runstate_get' mangled-name='rte_service_runstate_get' filepath='../lib/librte_eal/common/rte_service.c' line='315' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_service_runstate_get@@DPDK_20.0'>
+      <parameter type-id='type-id-138' name='id' filepath='../lib/librte_eal/common/rte_service.c' line='380' column='1'/>
+      <return type-id='type-id-123'/>
+    </function-decl>
+    <function-decl name='rte_service_runstate_set' mangled-name='rte_service_runstate_set' filepath='../lib/librte_eal/common/rte_service.c' line='300' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_service_runstate_set@@DPDK_20.0'>
+      <parameter type-id='type-id-138' name='id' filepath='../lib/librte_eal/common/rte_service.c' line='300' column='1'/>
+      <parameter type-id='type-id-138' name='runstate' filepath='../lib/librte_eal/common/rte_service.c' line='300' column='1'/>
+      <return type-id='type-id-123'/>
+    </function-decl>
+    <function-decl name='rte_service_component_runstate_set' mangled-name='rte_service_component_runstate_set' filepath='../lib/librte_eal/common/rte_service.c' line='285' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_service_component_runstate_set@@DPDK_20.0'>
+      <parameter type-id='type-id-138' name='id' filepath='../lib/librte_eal/common/rte_service.c' line='300' column='1'/>
+      <parameter type-id='type-id-138' name='runstate' filepath='../lib/librte_eal/common/rte_service.c' line='300' column='1'/>
+      <return type-id='type-id-123'/>
+    </function-decl>
+    <function-decl name='rte_service_component_unregister' mangled-name='rte_service_component_unregister' filepath='../lib/librte_eal/common/rte_service.c' line='264' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_service_component_unregister@@DPDK_20.0'>
+      <parameter type-id='type-id-138' name='id' filepath='../lib/librte_eal/common/rte_service.c' line='804' column='1'/>
+      <return type-id='type-id-123'/>
+    </function-decl>
+    <class-decl name='rte_service_spec' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_service_component.h' line='26' column='1' id='type-id-275'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-180' visibility='default' filepath='../lib/librte_eal/common/include/rte_service_component.h' line='30' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='callback' type-id='type-id-276' visibility='default' filepath='../lib/librte_eal/common/include/rte_service_component.h' line='32' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='callback_userdata' type-id='type-id-43' visibility='default' filepath='../lib/librte_eal/common/include/rte_service_component.h' line='34' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='capabilities' type-id='type-id-138' visibility='default' filepath='../lib/librte_eal/common/include/rte_service_component.h' line='38' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='socket_id' type-id='type-id-23' visibility='default' filepath='../lib/librte_eal/common/include/rte_service_component.h' line='40' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-277' size-in-bits='64' id='type-id-278'/>
+    <typedef-decl name='rte_service_func' type-id='type-id-278' filepath='../lib/librte_eal/common/include/rte_service_component.h' line='18' column='1' id='type-id-276'/>
+    <qualified-type-def type-id='type-id-275' const='yes' id='type-id-279'/>
+    <pointer-type-def type-id='type-id-279' size-in-bits='64' id='type-id-280'/>
+    <function-decl name='rte_service_component_register' mangled-name='rte_service_component_register' filepath='../lib/librte_eal/common/rte_service.c' line='231' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_service_component_register@@DPDK_20.0'>
+      <parameter type-id='type-id-280' name='spec' filepath='../lib/librte_eal/common/rte_service.c' line='231' column='1'/>
+      <parameter type-id='type-id-274' name='id_ptr' filepath='../lib/librte_eal/common/rte_service.c' line='232' column='1'/>
+      <return type-id='type-id-123'/>
+    </function-decl>
+    <function-decl name='rte_service_probe_capability' mangled-name='rte_service_probe_capability' filepath='../lib/librte_eal/common/rte_service.c' line='223' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_service_probe_capability@@DPDK_20.0'>
+      <parameter type-id='type-id-138' name='id' filepath='../lib/librte_eal/common/rte_service.c' line='300' column='1'/>
+      <parameter type-id='type-id-138' name='runstate' filepath='../lib/librte_eal/common/rte_service.c' line='300' column='1'/>
+      <return type-id='type-id-123'/>
+    </function-decl>
+    <function-decl name='rte_service_get_name' mangled-name='rte_service_get_name' filepath='../lib/librte_eal/common/rte_service.c' line='215' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_service_get_name@@DPDK_20.0'>
+      <parameter type-id='type-id-138' name='id' filepath='../lib/librte_eal/common/rte_service.c' line='215' column='1'/>
+      <return type-id='type-id-5'/>
+    </function-decl>
+    <function-decl name='rte_service_get_by_name' mangled-name='rte_service_get_by_name' filepath='../lib/librte_eal/common/rte_service.c' line='197' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_service_get_by_name@@DPDK_20.0'>
+      <parameter type-id='type-id-5' name='name' filepath='../lib/librte_eal/common/rte_service.c' line='197' column='1'/>
+      <parameter type-id='type-id-274' name='service_id' filepath='../lib/librte_eal/common/rte_service.c' line='197' column='1'/>
+      <return type-id='type-id-123'/>
+    </function-decl>
+    <function-decl name='rte_service_get_count' mangled-name='rte_service_get_count' filepath='../lib/librte_eal/common/rte_service.c' line='191' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_service_get_count@@DPDK_20.0'>
+      <return type-id='type-id-138'/>
+    </function-decl>
+    <function-decl name='rte_service_set_runstate_mapped_check' mangled-name='rte_service_set_runstate_mapped_check' filepath='../lib/librte_eal/common/rte_service.c' line='177' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_service_set_runstate_mapped_check@@DPDK_20.0'>
+      <parameter type-id='type-id-138' name='id' filepath='../lib/librte_eal/common/rte_service.c' line='177' column='1'/>
+      <parameter type-id='type-id-123' name='enabled' filepath='../lib/librte_eal/common/rte_service.c' line='177' column='1'/>
+      <return type-id='type-id-123'/>
+    </function-decl>
+    <function-decl name='rte_service_set_stats_enable' mangled-name='rte_service_set_stats_enable' filepath='../lib/librte_eal/common/rte_service.c' line='163' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_service_set_stats_enable@@DPDK_20.0'>
+      <parameter type-id='type-id-138' name='id' filepath='../lib/librte_eal/common/rte_service.c' line='177' column='1'/>
+      <parameter type-id='type-id-123' name='enabled' filepath='../lib/librte_eal/common/rte_service.c' line='177' column='1'/>
+      <return type-id='type-id-123'/>
+    </function-decl>
+    <function-decl name='rte_service_finalize' mangled-name='rte_service_finalize' filepath='../lib/librte_eal/common/rte_service.c' line='120' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_service_finalize@@DPDK_20.0'>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-277'>
+      <parameter type-id='type-id-43'/>
+      <return type-id='type-id-123'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eal/common/arch/x86/rte_spinlock.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='rte_rtm_supported' type-id='type-id-154' mangled-name='rte_rtm_supported' visibility='default' filepath='../lib/librte_eal/common/arch/x86/rte_spinlock.c' line='9' column='1' elf-symbol-id='rte_rtm_supported@@DPDK_20.0'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eal/common/arch/x86/rte_cpuflags.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <enum-decl name='rte_cpu_flag_t' filepath='../lib/librte_eal/common/include/arch/x86/rte_cpuflags.h' line='12' column='1' id='type-id-281'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTE_CPUFLAG_SSE3' value='0'/>
+      <enumerator name='RTE_CPUFLAG_PCLMULQDQ' value='1'/>
+      <enumerator name='RTE_CPUFLAG_DTES64' value='2'/>
+      <enumerator name='RTE_CPUFLAG_MONITOR' value='3'/>
+      <enumerator name='RTE_CPUFLAG_DS_CPL' value='4'/>
+      <enumerator name='RTE_CPUFLAG_VMX' value='5'/>
+      <enumerator name='RTE_CPUFLAG_SMX' value='6'/>
+      <enumerator name='RTE_CPUFLAG_EIST' value='7'/>
+      <enumerator name='RTE_CPUFLAG_TM2' value='8'/>
+      <enumerator name='RTE_CPUFLAG_SSSE3' value='9'/>
+      <enumerator name='RTE_CPUFLAG_CNXT_ID' value='10'/>
+      <enumerator name='RTE_CPUFLAG_FMA' value='11'/>
+      <enumerator name='RTE_CPUFLAG_CMPXCHG16B' value='12'/>
+      <enumerator name='RTE_CPUFLAG_XTPR' value='13'/>
+      <enumerator name='RTE_CPUFLAG_PDCM' value='14'/>
+      <enumerator name='RTE_CPUFLAG_PCID' value='15'/>
+      <enumerator name='RTE_CPUFLAG_DCA' value='16'/>
+      <enumerator name='RTE_CPUFLAG_SSE4_1' value='17'/>
+      <enumerator name='RTE_CPUFLAG_SSE4_2' value='18'/>
+      <enumerator name='RTE_CPUFLAG_X2APIC' value='19'/>
+      <enumerator name='RTE_CPUFLAG_MOVBE' value='20'/>
+      <enumerator name='RTE_CPUFLAG_POPCNT' value='21'/>
+      <enumerator name='RTE_CPUFLAG_TSC_DEADLINE' value='22'/>
+      <enumerator name='RTE_CPUFLAG_AES' value='23'/>
+      <enumerator name='RTE_CPUFLAG_XSAVE' value='24'/>
+      <enumerator name='RTE_CPUFLAG_OSXSAVE' value='25'/>
+      <enumerator name='RTE_CPUFLAG_AVX' value='26'/>
+      <enumerator name='RTE_CPUFLAG_F16C' value='27'/>
+      <enumerator name='RTE_CPUFLAG_RDRAND' value='28'/>
+      <enumerator name='RTE_CPUFLAG_HYPERVISOR' value='29'/>
+      <enumerator name='RTE_CPUFLAG_FPU' value='30'/>
+      <enumerator name='RTE_CPUFLAG_VME' value='31'/>
+      <enumerator name='RTE_CPUFLAG_DE' value='32'/>
+      <enumerator name='RTE_CPUFLAG_PSE' value='33'/>
+      <enumerator name='RTE_CPUFLAG_TSC' value='34'/>
+      <enumerator name='RTE_CPUFLAG_MSR' value='35'/>
+      <enumerator name='RTE_CPUFLAG_PAE' value='36'/>
+      <enumerator name='RTE_CPUFLAG_MCE' value='37'/>
+      <enumerator name='RTE_CPUFLAG_CX8' value='38'/>
+      <enumerator name='RTE_CPUFLAG_APIC' value='39'/>
+      <enumerator name='RTE_CPUFLAG_SEP' value='40'/>
+      <enumerator name='RTE_CPUFLAG_MTRR' value='41'/>
+      <enumerator name='RTE_CPUFLAG_PGE' value='42'/>
+      <enumerator name='RTE_CPUFLAG_MCA' value='43'/>
+      <enumerator name='RTE_CPUFLAG_CMOV' value='44'/>
+      <enumerator name='RTE_CPUFLAG_PAT' value='45'/>
+      <enumerator name='RTE_CPUFLAG_PSE36' value='46'/>
+      <enumerator name='RTE_CPUFLAG_PSN' value='47'/>
+      <enumerator name='RTE_CPUFLAG_CLFSH' value='48'/>
+      <enumerator name='RTE_CPUFLAG_DS' value='49'/>
+      <enumerator name='RTE_CPUFLAG_ACPI' value='50'/>
+      <enumerator name='RTE_CPUFLAG_MMX' value='51'/>
+      <enumerator name='RTE_CPUFLAG_FXSR' value='52'/>
+      <enumerator name='RTE_CPUFLAG_SSE' value='53'/>
+      <enumerator name='RTE_CPUFLAG_SSE2' value='54'/>
+      <enumerator name='RTE_CPUFLAG_SS' value='55'/>
+      <enumerator name='RTE_CPUFLAG_HTT' value='56'/>
+      <enumerator name='RTE_CPUFLAG_TM' value='57'/>
+      <enumerator name='RTE_CPUFLAG_PBE' value='58'/>
+      <enumerator name='RTE_CPUFLAG_DIGTEMP' value='59'/>
+      <enumerator name='RTE_CPUFLAG_TRBOBST' value='60'/>
+      <enumerator name='RTE_CPUFLAG_ARAT' value='61'/>
+      <enumerator name='RTE_CPUFLAG_PLN' value='62'/>
+      <enumerator name='RTE_CPUFLAG_ECMD' value='63'/>
+      <enumerator name='RTE_CPUFLAG_PTM' value='64'/>
+      <enumerator name='RTE_CPUFLAG_MPERF_APERF_MSR' value='65'/>
+      <enumerator name='RTE_CPUFLAG_ACNT2' value='66'/>
+      <enumerator name='RTE_CPUFLAG_ENERGY_EFF' value='67'/>
+      <enumerator name='RTE_CPUFLAG_FSGSBASE' value='68'/>
+      <enumerator name='RTE_CPUFLAG_BMI1' value='69'/>
+      <enumerator name='RTE_CPUFLAG_HLE' value='70'/>
+      <enumerator name='RTE_CPUFLAG_AVX2' value='71'/>
+      <enumerator name='RTE_CPUFLAG_SMEP' value='72'/>
+      <enumerator name='RTE_CPUFLAG_BMI2' value='73'/>
+      <enumerator name='RTE_CPUFLAG_ERMS' value='74'/>
+      <enumerator name='RTE_CPUFLAG_INVPCID' value='75'/>
+      <enumerator name='RTE_CPUFLAG_RTM' value='76'/>
+      <enumerator name='RTE_CPUFLAG_AVX512F' value='77'/>
+      <enumerator name='RTE_CPUFLAG_RDSEED' value='78'/>
+      <enumerator name='RTE_CPUFLAG_LAHF_SAHF' value='79'/>
+      <enumerator name='RTE_CPUFLAG_LZCNT' value='80'/>
+      <enumerator name='RTE_CPUFLAG_SYSCALL' value='81'/>
+      <enumerator name='RTE_CPUFLAG_XD' value='82'/>
+      <enumerator name='RTE_CPUFLAG_1GB_PG' value='83'/>
+      <enumerator name='RTE_CPUFLAG_RDTSCP' value='84'/>
+      <enumerator name='RTE_CPUFLAG_EM64T' value='85'/>
+      <enumerator name='RTE_CPUFLAG_INVTSC' value='86'/>
+      <enumerator name='RTE_CPUFLAG_NUMFLAGS' value='87'/>
+    </enum-decl>
+    <function-decl name='rte_cpu_get_flag_name' mangled-name='rte_cpu_get_flag_name' filepath='../lib/librte_eal/common/arch/x86/rte_cpuflags.c' line='156' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cpu_get_flag_name@@DPDK_20.0'>
+      <parameter type-id='type-id-281' name='feature' filepath='../lib/librte_eal/common/arch/x86/rte_cpuflags.c' line='156' column='1'/>
+      <return type-id='type-id-5'/>
+    </function-decl>
+    <function-decl name='rte_cpu_get_flag_enabled' mangled-name='rte_cpu_get_flag_enabled' filepath='../lib/librte_eal/common/arch/x86/rte_cpuflags.c' line='126' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cpu_get_flag_enabled@@DPDK_20.0'>
+      <parameter type-id='type-id-281' name='feature' filepath='../lib/librte_eal/common/arch/x86/rte_cpuflags.c' line='126' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eal/common/arch/x86/rte_hypervisor.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='rte_hypervisor_get' mangled-name='rte_hypervisor_get' filepath='../lib/librte_eal/common/arch/x86/rte_hypervisor.c' line='17' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_hypervisor_get@@DPDK_20.0'>
+      <return type-id='type-id-127'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eal/linux/eal/eal_alarm.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <pointer-type-def type-id='type-id-282' size-in-bits='64' id='type-id-283'/>
+    <typedef-decl name='rte_eal_alarm_callback' type-id='type-id-283' filepath='../lib/librte_eal/common/include/rte_alarm.h' line='26' column='1' id='type-id-284'/>
+    <function-decl name='rte_eal_alarm_cancel' mangled-name='rte_eal_alarm_cancel' filepath='../lib/librte_eal/linux/eal/eal_alarm.c' line='179' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eal_alarm_cancel@@DPDK_20.0'>
+      <parameter type-id='type-id-284' name='cb_fn' filepath='../lib/librte_eal/linux/eal/eal_alarm.c' line='179' column='1'/>
+      <parameter type-id='type-id-43' name='cb_arg' filepath='../lib/librte_eal/linux/eal/eal_alarm.c' line='179' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_eal_alarm_set' mangled-name='rte_eal_alarm_set' filepath='../lib/librte_eal/linux/eal/eal_alarm.c' line='116' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eal_alarm_set@@DPDK_20.0'>
+      <parameter type-id='type-id-55' name='us' filepath='../lib/librte_eal/linux/eal/eal_alarm.c' line='116' column='1'/>
+      <parameter type-id='type-id-284' name='cb_fn' filepath='../lib/librte_eal/linux/eal/eal_alarm.c' line='116' column='1'/>
+      <parameter type-id='type-id-43' name='cb_arg' filepath='../lib/librte_eal/linux/eal/eal_alarm.c' line='116' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-282'>
+      <parameter type-id='type-id-43'/>
+      <return type-id='type-id-42'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eal/linux/eal/eal_debug.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='rte_exit' mangled-name='rte_exit' filepath='../lib/librte_eal/linux/eal/eal_debug.c' line='70' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_exit@@DPDK_20.0'>
+      <parameter type-id='type-id-23' name='exit_code' filepath='../lib/librte_eal/linux/eal/eal_debug.c' line='70' column='1'/>
+      <parameter type-id='type-id-5' name='format' filepath='../lib/librte_eal/linux/eal/eal_debug.c' line='70' column='1'/>
+      <parameter is-variadic='yes'/>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-decl name='__rte_panic' mangled-name='__rte_panic' filepath='../lib/librte_eal/linux/eal/eal_debug.c' line='52' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__rte_panic@@DPDK_20.0'>
+      <parameter type-id='type-id-5' name='funcname' filepath='../lib/librte_eal/linux/eal/eal_debug.c' line='52' column='1'/>
+      <parameter type-id='type-id-5' name='format' filepath='../lib/librte_eal/linux/eal/eal_debug.c' line='52' column='1'/>
+      <parameter is-variadic='yes'/>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-decl name='rte_dump_registers' mangled-name='rte_dump_registers' filepath='../lib/librte_eal/linux/eal/eal_debug.c' line='46' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_dump_registers@@DPDK_20.0'>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-decl name='rte_dump_stack' mangled-name='rte_dump_stack' filepath='../lib/librte_eal/linux/eal/eal_debug.c' line='22' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_dump_stack@@DPDK_20.0'>
+      <return type-id='type-id-42'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eal/linux/eal/eal_interrupts.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_intr_handle' size-in-bits='213248' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='69' column='1' id='type-id-285'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-286' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-23' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-287' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='max_intr' type-id='type-id-138' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='nb_efd' type-id='type-id-138' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='efd_counter_size' type-id='type-id-154' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='efds' type-id='type-id-288' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16576'>
+        <var-decl name='elist' type-id='type-id-289' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='213184'>
+        <var-decl name='intr_vec' type-id='type-id-190' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='71' column='1' id='type-id-286'>
+      <data-member access='private'>
+        <var-decl name='vfio_dev_fd' type-id='type-id-23' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='uio_cfg_fd' type-id='type-id-23' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='73' column='1'/>
+      </data-member>
+    </union-decl>
+    <enum-decl name='rte_intr_handle_type' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='27' column='1' id='type-id-287'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTE_INTR_HANDLE_UNKNOWN' value='0'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO' value='1'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO_INTX' value='2'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_LEGACY' value='3'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSI' value='4'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSIX' value='5'/>
+      <enumerator name='RTE_INTR_HANDLE_ALARM' value='6'/>
+      <enumerator name='RTE_INTR_HANDLE_EXT' value='7'/>
+      <enumerator name='RTE_INTR_HANDLE_VDEV' value='8'/>
+      <enumerator name='RTE_INTR_HANDLE_DEV_EVENT' value='9'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_REQ' value='10'/>
+      <enumerator name='RTE_INTR_HANDLE_MAX' value='11'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-23' size-in-bits='16384' id='type-id-288'>
+      <subrange length='512' type-id='type-id-53' id='type-id-290'/>
+
+    </array-type-def>
+    <class-decl name='rte_epoll_event' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='61' column='1' id='type-id-291'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='status' type-id='type-id-165' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-23' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='epfd' type-id='type-id-23' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='epdata' type-id='type-id-292' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_epoll_data' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='47' column='1' id='type-id-292'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event' type-id='type-id-138' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='data' type-id='type-id-43' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cb_fun' type-id='type-id-293' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='cb_arg' type-id='type-id-43' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='51' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-294' size-in-bits='64' id='type-id-295'/>
+    <typedef-decl name='rte_intr_event_cb_t' type-id='type-id-295' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='45' column='1' id='type-id-293'/>
+
+    <array-type-def dimensions='1' type-id='type-id-291' size-in-bits='196608' id='type-id-289'>
+      <subrange length='512' type-id='type-id-53' id='type-id-290'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-285' size-in-bits='64' id='type-id-296'/>
+    <function-decl name='rte_intr_cap_multiple' mangled-name='rte_intr_cap_multiple' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='1480' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_intr_cap_multiple@@DPDK_20.0'>
+      <parameter type-id='type-id-296' name='intr_handle' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='1480' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_intr_allow_others' mangled-name='rte_intr_allow_others' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='1471' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_intr_allow_others@@DPDK_20.0'>
+      <parameter type-id='type-id-296' name='intr_handle' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='1480' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_intr_dp_is_en' mangled-name='rte_intr_dp_is_en' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='1465' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_intr_dp_is_en@@DPDK_20.0'>
+      <parameter type-id='type-id-296' name='intr_handle' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='1480' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_intr_efd_disable' mangled-name='rte_intr_efd_disable' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='1451' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_intr_efd_disable@@DPDK_20.0'>
+      <parameter type-id='type-id-296' name='intr_handle' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='1451' column='1'/>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-decl name='rte_intr_efd_enable' mangled-name='rte_intr_efd_enable' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='1413' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_intr_efd_enable@@DPDK_20.0'>
+      <parameter type-id='type-id-296' name='intr_handle' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='1413' column='1'/>
+      <parameter type-id='type-id-138' name='nb_efd' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='1413' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_intr_free_epoll_fd' mangled-name='rte_intr_free_epoll_fd' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='1395' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_intr_free_epoll_fd@@DPDK_20.0'>
+      <parameter type-id='type-id-296' name='intr_handle' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='1395' column='1'/>
+      <return type-id='type-id-42'/>
+    </function-decl>
+    <function-decl name='rte_intr_rx_ctl' mangled-name='rte_intr_rx_ctl' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='1332' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_intr_rx_ctl@@DPDK_20.0'>
+      <parameter type-id='type-id-296' name='intr_handle' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='1332' column='1'/>
+      <parameter type-id='type-id-23' name='epfd' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='1332' column='1'/>
+      <parameter type-id='type-id-23' name='op' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='1333' column='1'/>
+      <parameter type-id='type-id-112' name='vec' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='1333' column='1'/>
+      <parameter type-id='type-id-43' name='data' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='1333' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-291' size-in-bits='64' id='type-id-297'/>
+    <function-decl name='rte_epoll_ctl' mangled-name='rte_epoll_ctl' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='1294' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_epoll_ctl@@DPDK_20.0'>
+      <parameter type-id='type-id-23' name='epfd' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='1294' column='1'/>
+      <parameter type-id='type-id-23' name='op' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='1294' column='1'/>
+      <parameter type-id='type-id-23' name='fd' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='1294' column='1'/>
+      <parameter type-id='type-id-297' name='event' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='1295' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_epoll_wait' mangled-name='rte_epoll_wait' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='1243' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_epoll_wait@@DPDK_20.0'>
+      <parameter type-id='type-id-23' name='epfd' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='1243' column='1'/>
+      <parameter type-id='type-id-297' name='events' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='1243' column='1'/>
+      <parameter type-id='type-id-23' name='maxevents' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='1244' column='1'/>
+      <parameter type-id='type-id-23' name='timeout' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='1244' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_intr_tls_epfd' mangled-name='rte_intr_tls_epfd' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='1234' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_intr_tls_epfd@@DPDK_20.0'>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-285' const='yes' id='type-id-298'/>
+    <pointer-type-def type-id='type-id-298' size-in-bits='64' id='type-id-299'/>
+    <function-decl name='rte_intr_disable' mangled-name='rte_intr_disable' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='779' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_intr_disable@@DPDK_20.0'>
+      <parameter type-id='type-id-299' name='intr_handle' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='779' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_intr_enable' mangled-name='rte_intr_enable' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='663' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_intr_enable@@DPDK_20.0'>
+      <parameter type-id='type-id-299' name='intr_handle' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='779' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <typedef-decl name='rte_intr_callback_fn' type-id='type-id-283' filepath='../lib/librte_eal/common/include/rte_interrupts.h' line='26' column='1' id='type-id-300'/>
+    <function-decl name='rte_intr_callback_unregister' mangled-name='rte_intr_callback_unregister' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='599' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_intr_callback_unregister@@DPDK_20.0'>
+      <parameter type-id='type-id-299' name='intr_handle' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='599' column='1'/>
+      <parameter type-id='type-id-300' name='cb_fn' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='600' column='1'/>
+      <parameter type-id='type-id-43' name='cb_arg' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='600' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_intr_callback_register' mangled-name='rte_intr_callback_register' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='475' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_intr_callback_register@@DPDK_20.0'>
+      <parameter type-id='type-id-299' name='intr_handle' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='599' column='1'/>
+      <parameter type-id='type-id-300' name='cb_fn' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='600' column='1'/>
+      <parameter type-id='type-id-43' name='cb_arg' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='600' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_intr_ack' mangled-name='rte_intr_ack' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='730' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_intr_ack@@EXPERIMENTAL'>
+      <parameter type-id='type-id-299' name='intr_handle' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='779' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-301' size-in-bits='64' id='type-id-302'/>
+    <typedef-decl name='rte_intr_unregister_callback_fn' type-id='type-id-302' filepath='../lib/librte_eal/common/include/rte_interrupts.h' line='32' column='1' id='type-id-303'/>
+    <function-decl name='rte_intr_callback_unregister_pending' mangled-name='rte_intr_callback_unregister_pending' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='548' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_intr_callback_unregister_pending@@EXPERIMENTAL'>
+      <parameter type-id='type-id-299' name='intr_handle' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='548' column='1'/>
+      <parameter type-id='type-id-300' name='cb_fn' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='549' column='1'/>
+      <parameter type-id='type-id-43' name='cb_arg' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='549' column='1'/>
+      <parameter type-id='type-id-303' name='ucb_fn' filepath='../lib/librte_eal/linux/eal/eal_interrupts.c' line='550' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-294'>
+      <parameter type-id='type-id-23'/>
+      <parameter type-id='type-id-43'/>
+      <return type-id='type-id-42'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-301'>
+      <parameter type-id='type-id-296'/>
+      <parameter type-id='type-id-43'/>
+      <return type-id='type-id-42'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eal/linux/eal/eal_thread.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='per_lcore__lcore_id' type-id='type-id-112' mangled-name='per_lcore__lcore_id' visibility='default' filepath='../lib/librte_eal/common/include/rte_lcore.h' line='25' column='1' elf-symbol-id='per_lcore__lcore_id@@DPDK_20.0'/>
+    <var-decl name='per_lcore__cpuset' type-id='type-id-136' visibility='default' filepath='../lib/librte_eal/common/include/rte_lcore.h' line='26' column='1'/>
+    <function-decl name='rte_thread_setname' mangled-name='rte_thread_setname' filepath='../lib/librte_eal/linux/eal/eal_thread.c' line='177' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_thread_setname@@DPDK_20.0'>
+      <parameter type-id='type-id-233' name='id' filepath='../lib/librte_eal/linux/eal/eal_thread.c' line='177' column='1'/>
+      <parameter type-id='type-id-5' name='name' filepath='../lib/librte_eal/linux/eal/eal_thread.c' line='177' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_sys_gettid' mangled-name='rte_sys_gettid' filepath='../lib/librte_eal/linux/eal/eal_thread.c' line='172' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_sys_gettid@@DPDK_20.0'>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_eal_remote_launch' mangled-name='rte_eal_remote_launch' filepath='../lib/librte_eal/linux/eal/eal_thread.c' line='37' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eal_remote_launch@@DPDK_20.0'>
+      <parameter type-id='type-id-70' name='f' filepath='../lib/librte_eal/linux/eal/eal_thread.c' line='37' column='1'/>
+      <parameter type-id='type-id-43' name='arg' filepath='../lib/librte_eal/linux/eal/eal_thread.c' line='37' column='1'/>
+      <parameter type-id='type-id-112' name='slave_id' filepath='../lib/librte_eal/linux/eal/eal_thread.c' line='37' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eal/linux/eal/eal_timer.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <enum-decl name='timer_source' filepath='../lib/librte_eal/common/include/generic/rte_cycles.h' line='24' column='1' id='type-id-304'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='EAL_TIMER_TSC' value='0'/>
+      <enumerator name='EAL_TIMER_HPET' value='1'/>
+    </enum-decl>
+    <var-decl name='eal_timer_source' type-id='type-id-304' mangled-name='eal_timer_source' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_cycles.h' line='28' column='1' elf-symbol-id='eal_timer_source@@DPDK_20.0'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eal/linux/eal/eal_vfio.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='rte_vfio_container_dma_unmap' mangled-name='rte_vfio_container_dma_unmap' filepath='../lib/librte_eal/linux/eal/eal_vfio.c' line='2026' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vfio_container_dma_unmap@@DPDK_20.0'>
+      <parameter type-id='type-id-23' name='container_fd' filepath='../lib/librte_eal/linux/eal/eal_vfio.c' line='2026' column='1'/>
+      <parameter type-id='type-id-55' name='vaddr' filepath='../lib/librte_eal/linux/eal/eal_vfio.c' line='2026' column='1'/>
+      <parameter type-id='type-id-55' name='iova' filepath='../lib/librte_eal/linux/eal/eal_vfio.c' line='2026' column='1'/>
+      <parameter type-id='type-id-55' name='len' filepath='../lib/librte_eal/linux/eal/eal_vfio.c' line='2027' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_vfio_container_dma_map' mangled-name='rte_vfio_container_dma_map' filepath='../lib/librte_eal/linux/eal/eal_vfio.c' line='2006' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vfio_container_dma_map@@DPDK_20.0'>
+      <parameter type-id='type-id-23' name='container_fd' filepath='../lib/librte_eal/linux/eal/eal_vfio.c' line='2026' column='1'/>
+      <parameter type-id='type-id-55' name='vaddr' filepath='../lib/librte_eal/linux/eal/eal_vfio.c' line='2026' column='1'/>
+      <parameter type-id='type-id-55' name='iova' filepath='../lib/librte_eal/linux/eal/eal_vfio.c' line='2026' column='1'/>
+      <parameter type-id='type-id-55' name='len' filepath='../lib/librte_eal/linux/eal/eal_vfio.c' line='2027' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_vfio_container_group_unbind' mangled-name='rte_vfio_container_group_unbind' filepath='../lib/librte_eal/linux/eal/eal_vfio.c' line='1967' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vfio_container_group_unbind@@DPDK_20.0'>
+      <parameter type-id='type-id-23' name='container_fd' filepath='../lib/librte_eal/linux/eal/eal_vfio.c' line='1967' column='1'/>
+      <parameter type-id='type-id-23' name='iommu_group_num' filepath='../lib/librte_eal/linux/eal/eal_vfio.c' line='1967' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_vfio_container_group_bind' mangled-name='rte_vfio_container_group_bind' filepath='../lib/librte_eal/linux/eal/eal_vfio.c' line='1953' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vfio_container_group_bind@@DPDK_20.0'>
+      <parameter type-id='type-id-23' name='container_fd' filepath='../lib/librte_eal/linux/eal/eal_vfio.c' line='1953' column='1'/>
+      <parameter type-id='type-id-23' name='iommu_group_num' filepath='../lib/librte_eal/linux/eal/eal_vfio.c' line='1953' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_vfio_container_destroy' mangled-name='rte_vfio_container_destroy' filepath='../lib/librte_eal/linux/eal/eal_vfio.c' line='1928' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vfio_container_destroy@@DPDK_20.0'>
+      <parameter type-id='type-id-23' name='container_fd' filepath='../lib/librte_eal/linux/eal/eal_vfio.c' line='1928' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_vfio_container_create' mangled-name='rte_vfio_container_create' filepath='../lib/librte_eal/linux/eal/eal_vfio.c' line='1903' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vfio_container_create@@DPDK_20.0'>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_vfio_noiommu_is_enabled' mangled-name='rte_vfio_noiommu_is_enabled' filepath='../lib/librte_eal/linux/eal/eal_vfio.c' line='1871' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vfio_noiommu_is_enabled@@DPDK_20.0'>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_vfio_get_group_num' mangled-name='rte_vfio_get_group_num' filepath='../lib/librte_eal/linux/eal/eal_vfio.c' line='1195' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vfio_get_group_num@@DPDK_20.0'>
+      <parameter type-id='type-id-5' name='sysfs_base' filepath='../lib/librte_eal/linux/eal/eal_vfio.c' line='1195' column='1'/>
+      <parameter type-id='type-id-5' name='dev_addr' filepath='../lib/librte_eal/linux/eal/eal_vfio.c' line='1196' column='1'/>
+      <parameter type-id='type-id-190' name='iommu_group_num' filepath='../lib/librte_eal/linux/eal/eal_vfio.c' line='1196' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_vfio_get_container_fd' mangled-name='rte_vfio_get_container_fd' filepath='../lib/librte_eal/linux/eal/eal_vfio.c' line='1129' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vfio_get_container_fd@@DPDK_20.0'>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_vfio_is_enabled' mangled-name='rte_vfio_is_enabled' filepath='../lib/librte_eal/linux/eal/eal_vfio.c' line='1017' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vfio_is_enabled@@DPDK_20.0'>
+      <parameter type-id='type-id-5' name='modname' filepath='../lib/librte_eal/linux/eal/eal_vfio.c' line='1017' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_vfio_enable' mangled-name='rte_vfio_enable' filepath='../lib/librte_eal/linux/eal/eal_vfio.c' line='955' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vfio_enable@@DPDK_20.0'>
+      <parameter type-id='type-id-5' name='modname' filepath='../lib/librte_eal/linux/eal/eal_vfio.c' line='955' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_vfio_release_device' mangled-name='rte_vfio_release_device' filepath='../lib/librte_eal/linux/eal/eal_vfio.c' line='864' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vfio_release_device@@DPDK_20.0'>
+      <parameter type-id='type-id-5' name='sysfs_base' filepath='../lib/librte_eal/linux/eal/eal_vfio.c' line='864' column='1'/>
+      <parameter type-id='type-id-5' name='dev_addr' filepath='../lib/librte_eal/linux/eal/eal_vfio.c' line='864' column='1'/>
+      <parameter type-id='type-id-23' name='vfio_dev_fd' filepath='../lib/librte_eal/linux/eal/eal_vfio.c' line='865' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <class-decl name='vfio_device_info' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/local/include/linux/vfio.h' line='195' column='1' id='type-id-305'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='argsz' type-id='type-id-306' visibility='default' filepath='/usr/local/include/linux/vfio.h' line='196' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flags' type-id='type-id-306' visibility='default' filepath='/usr/local/include/linux/vfio.h' line='197' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='num_regions' type-id='type-id-306' visibility='default' filepath='/usr/local/include/linux/vfio.h' line='204' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='num_irqs' type-id='type-id-306' visibility='default' filepath='/usr/local/include/linux/vfio.h' line='205' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='__u32' type-id='type-id-112' filepath='/usr/local/include/asm-generic/int-ll64.h' line='27' column='1' id='type-id-306'/>
+    <pointer-type-def type-id='type-id-305' size-in-bits='64' id='type-id-307'/>
+    <function-decl name='rte_vfio_setup_device' mangled-name='rte_vfio_setup_device' filepath='../lib/librte_eal/linux/eal/eal_vfio.c' line='639' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vfio_setup_device@@DPDK_20.0'>
+      <parameter type-id='type-id-5' name='sysfs_base' filepath='../lib/librte_eal/linux/eal/eal_vfio.c' line='639' column='1'/>
+      <parameter type-id='type-id-5' name='dev_addr' filepath='../lib/librte_eal/linux/eal/eal_vfio.c' line='639' column='1'/>
+      <parameter type-id='type-id-190' name='vfio_dev_fd' filepath='../lib/librte_eal/linux/eal/eal_vfio.c' line='640' column='1'/>
+      <parameter type-id='type-id-307' name='device_info' filepath='../lib/librte_eal/linux/eal/eal_vfio.c' line='640' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_vfio_clear_group' mangled-name='rte_vfio_clear_group' filepath='../lib/librte_eal/linux/eal/eal_vfio.c' line='616' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vfio_clear_group@@DPDK_20.0'>
+      <parameter type-id='type-id-23' name='container_fd' filepath='../lib/librte_eal/linux/eal/eal_vfio.c' line='1928' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_vfio_get_group_fd' mangled-name='rte_vfio_get_group_fd' filepath='../lib/librte_eal/linux/eal/eal_vfio.c' line='427' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vfio_get_group_fd@@DPDK_20.0'>
+      <parameter type-id='type-id-23' name='iommu_group_num' filepath='../lib/librte_eal/linux/eal/eal_vfio.c' line='427' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eal/linux/eal/eal.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='lcore_config' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/eal_private.h' line='18' column='1' id='type-id-308'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='thread_id' type-id='type-id-233' visibility='default' filepath='../lib/librte_eal/common/eal_private.h' line='19' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pipe_master2slave' type-id='type-id-309' visibility='default' filepath='../lib/librte_eal/common/eal_private.h' line='20' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pipe_slave2master' type-id='type-id-309' visibility='default' filepath='../lib/librte_eal/common/eal_private.h' line='21' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='f' type-id='type-id-310' visibility='default' filepath='../lib/librte_eal/common/eal_private.h' line='23' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='arg' type-id='type-id-311' visibility='default' filepath='../lib/librte_eal/common/eal_private.h' line='24' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='ret' type-id='type-id-312' visibility='default' filepath='../lib/librte_eal/common/eal_private.h' line='25' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='state' type-id='type-id-313' visibility='default' filepath='../lib/librte_eal/common/eal_private.h' line='27' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='socket_id' type-id='type-id-112' visibility='default' filepath='../lib/librte_eal/common/eal_private.h' line='28' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='core_id' type-id='type-id-112' visibility='default' filepath='../lib/librte_eal/common/eal_private.h' line='29' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='core_index' type-id='type-id-23' visibility='default' filepath='../lib/librte_eal/common/eal_private.h' line='30' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='core_role' type-id='type-id-154' visibility='default' filepath='../lib/librte_eal/common/eal_private.h' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='488'>
+        <var-decl name='detected' type-id='type-id-154' visibility='default' filepath='../lib/librte_eal/common/eal_private.h' line='32' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cpuset' type-id='type-id-136' visibility='default' filepath='../lib/librte_eal/common/eal_private.h' line='34' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-23' size-in-bits='64' id='type-id-309'>
+      <subrange length='2' type-id='type-id-53' id='type-id-314'/>
+
+    </array-type-def>
+    <typedef-decl name='lcore_function_t' type-id='type-id-69' filepath='../lib/librte_eal/common/include/rte_launch.h' line='30' column='1' id='type-id-315'/>
+    <pointer-type-def type-id='type-id-315' size-in-bits='64' id='type-id-316'/>
+    <qualified-type-def type-id='type-id-316' volatile='yes' id='type-id-310'/>
+    <qualified-type-def type-id='type-id-43' volatile='yes' id='type-id-311'/>
+    <qualified-type-def type-id='type-id-23' volatile='yes' id='type-id-312'/>
+    <qualified-type-def type-id='type-id-128' volatile='yes' id='type-id-313'/>
+
+    <array-type-def dimensions='1' type-id='type-id-308' size-in-bits='196608' id='type-id-317'>
+      <subrange length='128' type-id='type-id-53' id='type-id-257'/>
+
+    </array-type-def>
+    <var-decl name='lcore_config' type-id='type-id-317' visibility='default' filepath='../lib/librte_eal/common/eal_private.h' line='37' column='1'/>
+    <class-decl name='internal_config' size-in-bits='101760' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/eal_internal_cfg.h' line='39' column='1' id='type-id-318'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='memory' type-id='type-id-319' visibility='default' filepath='../lib/librte_eal/common/eal_internal_cfg.h' line='40' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='force_nchannel' type-id='type-id-320' visibility='default' filepath='../lib/librte_eal/common/eal_internal_cfg.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='force_nrank' type-id='type-id-320' visibility='default' filepath='../lib/librte_eal/common/eal_internal_cfg.h' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='no_hugetlbfs' type-id='type-id-320' visibility='default' filepath='../lib/librte_eal/common/eal_internal_cfg.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='hugepage_unlink' type-id='type-id-112' visibility='default' filepath='../lib/librte_eal/common/eal_internal_cfg.h' line='44' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='no_pci' type-id='type-id-320' visibility='default' filepath='../lib/librte_eal/common/eal_internal_cfg.h' line='45' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='no_hpet' type-id='type-id-320' visibility='default' filepath='../lib/librte_eal/common/eal_internal_cfg.h' line='46' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='vmware_tsc_map' type-id='type-id-320' visibility='default' filepath='../lib/librte_eal/common/eal_internal_cfg.h' line='47' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='no_shconf' type-id='type-id-320' visibility='default' filepath='../lib/librte_eal/common/eal_internal_cfg.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='in_memory' type-id='type-id-320' visibility='default' filepath='../lib/librte_eal/common/eal_internal_cfg.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='create_uio_dev' type-id='type-id-320' visibility='default' filepath='../lib/librte_eal/common/eal_internal_cfg.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='process_type' type-id='type-id-321' visibility='default' filepath='../lib/librte_eal/common/eal_internal_cfg.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='force_sockets' type-id='type-id-320' visibility='default' filepath='../lib/librte_eal/common/eal_internal_cfg.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='socket_mem' type-id='type-id-322' visibility='default' filepath='../lib/librte_eal/common/eal_internal_cfg.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='force_socket_limits' type-id='type-id-320' visibility='default' filepath='../lib/librte_eal/common/eal_internal_cfg.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='socket_limit' type-id='type-id-322' visibility='default' filepath='../lib/librte_eal/common/eal_internal_cfg.h' line='60' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='base_virtaddr' type-id='type-id-323' visibility='default' filepath='../lib/librte_eal/common/eal_internal_cfg.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='legacy_mem' type-id='type-id-320' visibility='default' filepath='../lib/librte_eal/common/eal_internal_cfg.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1120'>
+        <var-decl name='match_allocations' type-id='type-id-320' visibility='default' filepath='../lib/librte_eal/common/eal_internal_cfg.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='single_file_segments' type-id='type-id-320' visibility='default' filepath='../lib/librte_eal/common/eal_internal_cfg.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1184'>
+        <var-decl name='syslog_facility' type-id='type-id-312' visibility='default' filepath='../lib/librte_eal/common/eal_internal_cfg.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='vfio_intr_mode' type-id='type-id-324' visibility='default' filepath='../lib/librte_eal/common/eal_internal_cfg.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='hugefile_prefix' type-id='type-id-75' visibility='default' filepath='../lib/librte_eal/common/eal_internal_cfg.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='hugepage_dir' type-id='type-id-75' visibility='default' filepath='../lib/librte_eal/common/eal_internal_cfg.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='user_mbuf_pool_ops_name' type-id='type-id-75' visibility='default' filepath='../lib/librte_eal/common/eal_internal_cfg.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='num_hugepage_sizes' type-id='type-id-112' visibility='default' filepath='../lib/librte_eal/common/eal_internal_cfg.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='hugepage_info' type-id='type-id-325' visibility='default' filepath='../lib/librte_eal/common/eal_internal_cfg.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='100608'>
+        <var-decl name='iova_mode' type-id='type-id-2' visibility='default' filepath='../lib/librte_eal/common/eal_internal_cfg.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='100672'>
+        <var-decl name='ctrl_cpuset' type-id='type-id-136' visibility='default' filepath='../lib/librte_eal/common/eal_internal_cfg.h' line='82' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='101696'>
+        <var-decl name='init_complete' type-id='type-id-320' visibility='default' filepath='../lib/librte_eal/common/eal_internal_cfg.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-56' volatile='yes' id='type-id-319'/>
+    <qualified-type-def type-id='type-id-112' volatile='yes' id='type-id-320'/>
+    <enum-decl name='rte_proc_type_t' filepath='../lib/librte_eal/common/include/rte_eal.h' line='46' column='1' id='type-id-326'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTE_PROC_AUTO' value='-1'/>
+      <enumerator name='RTE_PROC_PRIMARY' value='0'/>
+      <enumerator name='RTE_PROC_SECONDARY' value='1'/>
+      <enumerator name='RTE_PROC_INVALID' value='2'/>
+    </enum-decl>
+    <qualified-type-def type-id='type-id-326' volatile='yes' id='type-id-321'/>
+    <qualified-type-def type-id='type-id-55' volatile='yes' id='type-id-327'/>
+
+    <array-type-def dimensions='1' type-id='type-id-327' size-in-bits='256' id='type-id-328'>
+      <subrange length='4' type-id='type-id-53' id='type-id-329'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-328' volatile='yes' id='type-id-322'/>
+    <typedef-decl name='uintptr_t' type-id='type-id-53' filepath='/usr/include/stdint.h' line='90' column='1' id='type-id-323'/>
+    <enum-decl name='rte_intr_mode' filepath='../lib/librte_eal/common/include/rte_pci_dev_feature_defs.h' line='9' column='1' id='type-id-330'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTE_INTR_MODE_NONE' value='0'/>
+      <enumerator name='RTE_INTR_MODE_LEGACY' value='1'/>
+      <enumerator name='RTE_INTR_MODE_MSI' value='2'/>
+      <enumerator name='RTE_INTR_MODE_MSIX' value='3'/>
+    </enum-decl>
+    <qualified-type-def type-id='type-id-330' volatile='yes' id='type-id-324'/>
+    <class-decl name='hugepage_info' size-in-bits='33024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/eal_internal_cfg.h' line='28' column='1' id='type-id-331'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='hugepage_sz' type-id='type-id-55' visibility='default' filepath='../lib/librte_eal/common/eal_internal_cfg.h' line='29' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='hugedir' type-id='type-id-332' visibility='default' filepath='../lib/librte_eal/common/eal_internal_cfg.h' line='30' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32832'>
+        <var-decl name='num_pages' type-id='type-id-333' visibility='default' filepath='../lib/librte_eal/common/eal_internal_cfg.h' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32960'>
+        <var-decl name='lock_descriptor' type-id='type-id-23' visibility='default' filepath='../lib/librte_eal/common/eal_internal_cfg.h' line='33' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-21' size-in-bits='32768' id='type-id-332'>
+      <subrange length='4096' type-id='type-id-53' id='type-id-334'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-138' size-in-bits='128' id='type-id-333'>
+      <subrange length='4' type-id='type-id-53' id='type-id-329'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-331' size-in-bits='99072' id='type-id-325'>
+      <subrange length='3' type-id='type-id-53' id='type-id-335'/>
+
+    </array-type-def>
+    <var-decl name='internal_config' type-id='type-id-318' visibility='default' filepath='../lib/librte_eal/common/eal_internal_cfg.h' line='86' column='1'/>
+    <var-decl name='rte_cycles_vmware_tsc_map' type-id='type-id-23' mangled-name='rte_cycles_vmware_tsc_map' visibility='default' filepath='../lib/librte_eal/linux/eal/eal.c' line='99' column='1' elf-symbol-id='rte_cycles_vmware_tsc_map@@DPDK_20.0'/>
+    <function-decl name='rte_eal_vfio_intr_mode' mangled-name='rte_eal_vfio_intr_mode' filepath='../lib/librte_eal/linux/eal/eal.c' line='1355' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eal_vfio_intr_mode@@DPDK_20.0'>
+      <return type-id='type-id-330'/>
+    </function-decl>
+    <function-decl name='rte_eal_create_uio_dev' mangled-name='rte_eal_create_uio_dev' filepath='../lib/librte_eal/linux/eal/eal.c' line='1349' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eal_create_uio_dev@@DPDK_20.0'>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_eal_has_pci' mangled-name='rte_eal_has_pci' filepath='../lib/librte_eal/linux/eal/eal.c' line='1344' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eal_has_pci@@DPDK_20.0'>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_eal_has_hugepages' mangled-name='rte_eal_has_hugepages' filepath='../lib/librte_eal/linux/eal/eal.c' line='1339' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eal_has_hugepages@@DPDK_20.0'>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_eal_process_type' mangled-name='rte_eal_process_type' filepath='../lib/librte_eal/linux/eal/eal.c' line='1334' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eal_process_type@@DPDK_20.0'>
+      <return type-id='type-id-326'/>
+    </function-decl>
+    <function-decl name='rte_eal_cleanup' mangled-name='rte_eal_cleanup' filepath='../lib/librte_eal/linux/eal/eal.c' line='1320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eal_cleanup@@DPDK_20.0'>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_eal_init' mangled-name='rte_eal_init' filepath='../lib/librte_eal/linux/eal/eal.c' line='960' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eal_init@@DPDK_20.0'>
+      <parameter type-id='type-id-23' name='argc' filepath='../lib/librte_eal/linux/eal/eal.c' line='960' column='1'/>
+      <parameter type-id='type-id-219' name='argv' filepath='../lib/librte_eal/linux/eal/eal.c' line='960' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_eal_iopl_init' mangled-name='rte_eal_iopl_init' filepath='../lib/librte_eal/linux/eal/eal.c' line='906' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eal_iopl_init@@DPDK_20.0'>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-336' size-in-bits='64' id='type-id-337'/>
+    <typedef-decl name='rte_usage_hook_t' type-id='type-id-337' filepath='../lib/librte_eal/common/include/rte_eal.h' line='380' column='1' id='type-id-338'/>
+    <function-decl name='rte_set_application_usage_hook' mangled-name='rte_set_application_usage_hook' filepath='../lib/librte_eal/linux/eal/eal.c' line='572' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_set_application_usage_hook@@DPDK_20.0'>
+      <parameter type-id='type-id-338' name='usage_func' filepath='../lib/librte_eal/linux/eal/eal.c' line='572' column='1'/>
+      <return type-id='type-id-338'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-339'/>
+    <function-decl name='eal_parse_sysfs_value' mangled-name='eal_parse_sysfs_value' filepath='../lib/librte_eal/linux/eal/eal.c' line='270' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='eal_parse_sysfs_value@@DPDK_20.0'>
+      <parameter type-id='type-id-5' name='filename' filepath='../lib/librte_eal/linux/eal/eal.c' line='270' column='1'/>
+      <parameter type-id='type-id-339' name='val' filepath='../lib/librte_eal/linux/eal/eal.c' line='270' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_eal_iova_mode' mangled-name='rte_eal_iova_mode' filepath='../lib/librte_eal/linux/eal/eal.c' line='263' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eal_iova_mode@@DPDK_20.0'>
+      <return type-id='type-id-2'/>
+    </function-decl>
+    <function-decl name='rte_eal_mbuf_user_pool_ops' mangled-name='rte_eal_mbuf_user_pool_ops' filepath='../lib/librte_eal/linux/eal/eal.c' line='250' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eal_mbuf_user_pool_ops@@DPDK_20.0'>
+      <return type-id='type-id-5'/>
+    </function-decl>
+    <function-decl name='rte_eal_get_runtime_dir' mangled-name='rte_eal_get_runtime_dir' filepath='../lib/librte_eal/linux/eal/eal.c' line='243' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eal_get_runtime_dir@@DPDK_20.0'>
+      <return type-id='type-id-5'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-336'>
+      <parameter type-id='type-id-5'/>
+      <return type-id='type-id-42'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eal/linux/eal/eal_memory.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='rte_eal_using_phys_addrs' mangled-name='rte_eal_using_phys_addrs' filepath='../lib/librte_eal/linux/eal/eal_memory.c' line='2014' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eal_using_phys_addrs@@DPDK_20.0'>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_mem_virt2iova' mangled-name='rte_mem_virt2iova' filepath='../lib/librte_eal/linux/eal/eal_memory.c' line='153' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mem_virt2iova@@DPDK_20.0'>
+      <parameter type-id='type-id-43' name='virtaddr' filepath='../lib/librte_eal/linux/eal/eal_memory.c' line='153' column='1'/>
+      <return type-id='type-id-155'/>
+    </function-decl>
+    <function-decl name='rte_mem_virt2phy' mangled-name='rte_mem_virt2phy' filepath='../lib/librte_eal/linux/eal/eal_memory.c' line='96' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mem_virt2phy@@DPDK_20.0'>
+      <parameter type-id='type-id-43' name='virtaddr' filepath='../lib/librte_eal/linux/eal/eal_memory.c' line='96' column='1'/>
+      <return type-id='type-id-159'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eal/linux/eal/eal_dev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='rte_dev_hotplug_handle_disable' mangled-name='rte_dev_hotplug_handle_disable' filepath='../lib/librte_eal/linux/eal/eal_dev.c' line='384' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_dev_hotplug_handle_disable@@EXPERIMENTAL'>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_dev_hotplug_handle_enable' mangled-name='rte_dev_hotplug_handle_enable' filepath='../lib/librte_eal/linux/eal/eal_dev.c' line='369' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_dev_hotplug_handle_enable@@EXPERIMENTAL'>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_dev_event_monitor_stop' mangled-name='rte_dev_event_monitor_stop' filepath='../lib/librte_eal/linux/eal/eal_dev.c' line='316' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_dev_event_monitor_stop@@EXPERIMENTAL'>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_dev_event_monitor_start' mangled-name='rte_dev_event_monitor_start' filepath='../lib/librte_eal/linux/eal/eal_dev.c' line='289' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_dev_event_monitor_start@@EXPERIMENTAL'>
+      <return type-id='type-id-23'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_efd.dump b/lib/.abi/librte_efd.dump
new file mode 100644
index 000000000..bab019a2c
--- /dev/null
+++ b/lib/.abi/librte_efd.dump
@@ -0,0 +1,319 @@
+<abi-corpus path='gcc//lib/librte_efd.so.20.0' architecture='elf-amd-x86_64' soname='librte_efd.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_efd_create' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_efd_delete' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_efd_find_existing' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_efd_free' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_efd_lookup' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_efd_lookup_bulk' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_efd_update' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_efd/rte_efd.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='void' id='type-id-1'/>
+    <class-decl name='rte_efd_table' size-in-bits='896' is-struct='yes' visibility='default' filepath='../lib/librte_efd/rte_efd.c' line='231' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-3' visibility='default' filepath='../lib/librte_efd/rte_efd.c' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='key_len' type-id='type-id-4' visibility='default' filepath='../lib/librte_efd/rte_efd.c' line='234' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='max_num_rules' type-id='type-id-4' visibility='default' filepath='../lib/librte_efd/rte_efd.c' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='num_rules' type-id='type-id-4' visibility='default' filepath='../lib/librte_efd/rte_efd.c' line='239' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='num_chunks' type-id='type-id-4' visibility='default' filepath='../lib/librte_efd/rte_efd.c' line='242' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='num_chunks_shift' type-id='type-id-4' visibility='default' filepath='../lib/librte_efd/rte_efd.c' line='245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='lookup_fn' type-id='type-id-5' visibility='default' filepath='../lib/librte_efd/rte_efd.c' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='chunks' type-id='type-id-6' visibility='default' filepath='../lib/librte_efd/rte_efd.c' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='offline_chunks' type-id='type-id-7' visibility='default' filepath='../lib/librte_efd/rte_efd.c' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='free_slots' type-id='type-id-8' visibility='default' filepath='../lib/librte_efd/rte_efd.c' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='keys' type-id='type-id-9' visibility='default' filepath='../lib/librte_efd/rte_efd.c' line='260' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-10'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-11'/>
+
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='256' id='type-id-3'>
+      <subrange length='32' type-id='type-id-11' id='type-id-12'/>
+
+    </array-type-def>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-13'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-13' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-14'/>
+    <typedef-decl name='uint32_t' type-id='type-id-14' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-4'/>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-15'/>
+    <enum-decl name='efd_lookup_internal_function' filepath='../lib/librte_efd/rte_efd.c' line='77' column='1' id='type-id-5'>
+      <underlying-type type-id='type-id-15'/>
+      <enumerator name='EFD_LOOKUP_SCALAR' value='0'/>
+      <enumerator name='EFD_LOOKUP_AVX2' value='1'/>
+      <enumerator name='EFD_LOOKUP_NEON' value='2'/>
+      <enumerator name='EFD_LOOKUP_NUM' value='3'/>
+    </enum-decl>
+    <class-decl name='efd_online_chunk' size-in-bits='16896' is-struct='yes' visibility='default' filepath='../lib/librte_efd/rte_efd.c' line='216' column='1' id='type-id-16'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='bin_choice_list' type-id='type-id-17' visibility='default' filepath='../lib/librte_efd/rte_efd.c' line='217' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='groups' type-id='type-id-18' visibility='default' filepath='../lib/librte_efd/rte_efd.c' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-19'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-19' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-20'/>
+    <typedef-decl name='uint8_t' type-id='type-id-20' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-21'/>
+
+    <array-type-def dimensions='1' type-id='type-id-21' size-in-bits='512' id='type-id-17'>
+      <subrange length='64' type-id='type-id-11' id='type-id-22'/>
+
+    </array-type-def>
+    <class-decl name='efd_online_group_entry' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_efd/rte_efd.c' line='207' column='1' id='type-id-23'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='hash_idx' type-id='type-id-24' visibility='default' filepath='../lib/librte_efd/rte_efd.c' line='208' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='lookup_table' type-id='type-id-25' visibility='default' filepath='../lib/librte_efd/rte_efd.c' line='209' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-26'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-26' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-27'/>
+    <typedef-decl name='uint16_t' type-id='type-id-27' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-28'/>
+    <typedef-decl name='efd_hashfunc_t' type-id='type-id-28' filepath='../lib/librte_efd/rte_efd.h' line='117' column='1' id='type-id-29'/>
+
+    <array-type-def dimensions='1' type-id='type-id-29' size-in-bits='128' id='type-id-24'>
+      <subrange length='8' type-id='type-id-11' id='type-id-30'/>
+
+    </array-type-def>
+    <typedef-decl name='efd_lookuptbl_t' type-id='type-id-28' filepath='../lib/librte_efd/rte_efd.h' line='116' column='1' id='type-id-31'/>
+
+    <array-type-def dimensions='1' type-id='type-id-31' size-in-bits='128' id='type-id-25'>
+      <subrange length='8' type-id='type-id-11' id='type-id-30'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-23' size-in-bits='16384' id='type-id-18'>
+      <subrange length='64' type-id='type-id-11' id='type-id-22'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-16' size-in-bits='64' id='type-id-32'/>
+
+    <array-type-def dimensions='1' type-id='type-id-32' size-in-bits='256' id='type-id-6'>
+      <subrange length='4' type-id='type-id-11' id='type-id-33'/>
+
+    </array-type-def>
+    <class-decl name='efd_offline_chunk_rules' size-in-bits='88096' is-struct='yes' visibility='default' filepath='../lib/librte_efd/rte_efd.c' line='192' column='1' id='type-id-34'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='num_rules' type-id='type-id-28' visibility='default' filepath='../lib/librte_efd/rte_efd.c' line='193' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='group_rules' type-id='type-id-35' visibility='default' filepath='../lib/librte_efd/rte_efd.c' line='198' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='efd_offline_group_rules' size-in-bits='1376' is-struct='yes' visibility='default' filepath='../lib/librte_efd/rte_efd.c' line='174' column='1' id='type-id-36'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='num_rules' type-id='type-id-4' visibility='default' filepath='../lib/librte_efd/rte_efd.c' line='175' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='key_idx' type-id='type-id-37' visibility='default' filepath='../lib/librte_efd/rte_efd.c' line='178' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='928'>
+        <var-decl name='value' type-id='type-id-38' visibility='default' filepath='../lib/librte_efd/rte_efd.c' line='180' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='bin_id' type-id='type-id-39' visibility='default' filepath='../lib/librte_efd/rte_efd.c' line='183' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-4' size-in-bits='896' id='type-id-37'>
+      <subrange length='28' type-id='type-id-11' id='type-id-40'/>
+
+    </array-type-def>
+    <typedef-decl name='efd_value_t' type-id='type-id-21' filepath='../lib/librte_efd/rte_efd.h' line='106' column='1' id='type-id-41'/>
+
+    <array-type-def dimensions='1' type-id='type-id-41' size-in-bits='224' id='type-id-38'>
+      <subrange length='28' type-id='type-id-11' id='type-id-40'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-21' size-in-bits='224' id='type-id-39'>
+      <subrange length='28' type-id='type-id-11' id='type-id-40'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-36' size-in-bits='88064' id='type-id-35'>
+      <subrange length='64' type-id='type-id-11' id='type-id-22'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-7'/>
+    <class-decl name='rte_ring' size-in-bits='3072' is-struct='yes' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='81' column='1' id='type-id-42'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-3' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='87' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='flags' type-id='type-id-43' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='memzone' type-id='type-id-44' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='89' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='size' type-id='type-id-4' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='mask' type-id='type-id-4' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='92' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='capacity' type-id='type-id-4' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='93' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='pad0' type-id='type-id-10' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='95' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='prod' type-id='type-id-45' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='98' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='pad1' type-id='type-id-10' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='99' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='cons' type-id='type-id-45' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='102' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='pad2' type-id='type-id-10' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='103' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='int' size-in-bits='32' id='type-id-43'/>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-46'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-3' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-47' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-48' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-49' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-50' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-47'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-51' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-52' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='__uint64_t' type-id='type-id-11' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-53'/>
+    <typedef-decl name='uint64_t' type-id='type-id-53' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-49'/>
+    <typedef-decl name='phys_addr_t' type-id='type-id-49' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-51'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-49' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-52'/>
+    <typedef-decl name='size_t' type-id='type-id-11' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-48'/>
+    <typedef-decl name='__int32_t' type-id='type-id-43' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-54'/>
+    <typedef-decl name='int32_t' type-id='type-id-54' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-50'/>
+    <qualified-type-def type-id='type-id-46' const='yes' id='type-id-55'/>
+    <pointer-type-def type-id='type-id-55' size-in-bits='64' id='type-id-44'/>
+    <class-decl name='rte_ring_headtail' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='65' column='1' id='type-id-45'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='head' type-id='type-id-56' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tail' type-id='type-id-56' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='single' type-id='type-id-4' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='68' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-4' volatile='yes' id='type-id-56'/>
+    <pointer-type-def type-id='type-id-42' size-in-bits='64' id='type-id-8'/>
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-9'/>
+    <qualified-type-def type-id='type-id-2' const='yes' id='type-id-57'/>
+    <pointer-type-def type-id='type-id-57' size-in-bits='64' id='type-id-58'/>
+    <qualified-type-def type-id='type-id-58' const='yes' id='type-id-59'/>
+    <qualified-type-def type-id='type-id-13' const='yes' id='type-id-60'/>
+    <qualified-type-def type-id='type-id-43' const='yes' id='type-id-61'/>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-62'/>
+    <pointer-type-def type-id='type-id-62' size-in-bits='64' id='type-id-63'/>
+    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-64'/>
+    <qualified-type-def type-id='type-id-64' const='yes' id='type-id-65'/>
+    <function-decl name='rte_efd_lookup_bulk' mangled-name='rte_efd_lookup_bulk' filepath='../lib/librte_efd/rte_efd.c' line='1317' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_efd_lookup_bulk@@DPDK_20.0'>
+      <parameter type-id='type-id-59' name='table' filepath='../lib/librte_efd/rte_efd.c' line='1317' column='1'/>
+      <parameter type-id='type-id-60' name='socket_id' filepath='../lib/librte_efd/rte_efd.c' line='1318' column='1'/>
+      <parameter type-id='type-id-61' name='num_keys' filepath='../lib/librte_efd/rte_efd.c' line='1318' column='1'/>
+      <parameter type-id='type-id-63' name='key_list' filepath='../lib/librte_efd/rte_efd.c' line='1319' column='1'/>
+      <parameter type-id='type-id-65' name='value_list' filepath='../lib/librte_efd/rte_efd.c' line='1319' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_efd_lookup' mangled-name='rte_efd_lookup' filepath='../lib/librte_efd/rte_efd.c' line='1297' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_efd_lookup@@DPDK_20.0'>
+      <parameter type-id='type-id-59' name='table' filepath='../lib/librte_efd/rte_efd.c' line='1297' column='1'/>
+      <parameter type-id='type-id-60' name='socket_id' filepath='../lib/librte_efd/rte_efd.c' line='1298' column='1'/>
+      <parameter type-id='type-id-62' name='key' filepath='../lib/librte_efd/rte_efd.c' line='1298' column='1'/>
+      <return type-id='type-id-41'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-66'/>
+    <qualified-type-def type-id='type-id-66' const='yes' id='type-id-67'/>
+    <function-decl name='rte_efd_delete' mangled-name='rte_efd_delete' filepath='../lib/librte_efd/rte_efd.c' line='1181' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_efd_delete@@DPDK_20.0'>
+      <parameter type-id='type-id-67' name='table' filepath='../lib/librte_efd/rte_efd.c' line='1181' column='1'/>
+      <parameter type-id='type-id-60' name='socket_id' filepath='../lib/librte_efd/rte_efd.c' line='1181' column='1'/>
+      <parameter type-id='type-id-62' name='key' filepath='../lib/librte_efd/rte_efd.c' line='1182' column='1'/>
+      <parameter type-id='type-id-65' name='prev_value' filepath='../lib/librte_efd/rte_efd.c' line='1182' column='1'/>
+      <return type-id='type-id-43'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-41' const='yes' id='type-id-68'/>
+    <function-decl name='rte_efd_update' mangled-name='rte_efd_update' filepath='../lib/librte_efd/rte_efd.c' line='1158' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_efd_update@@DPDK_20.0'>
+      <parameter type-id='type-id-67' name='table' filepath='../lib/librte_efd/rte_efd.c' line='1158' column='1'/>
+      <parameter type-id='type-id-60' name='socket_id' filepath='../lib/librte_efd/rte_efd.c' line='1158' column='1'/>
+      <parameter type-id='type-id-62' name='key' filepath='../lib/librte_efd/rte_efd.c' line='1159' column='1'/>
+      <parameter type-id='type-id-68' name='value' filepath='../lib/librte_efd/rte_efd.c' line='1159' column='1'/>
+      <return type-id='type-id-43'/>
+    </function-decl>
+    <function-decl name='rte_efd_free' mangled-name='rte_efd_free' filepath='../lib/librte_efd/rte_efd.c' line='742' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_efd_free@@DPDK_20.0'>
+      <parameter type-id='type-id-66' name='table' filepath='../lib/librte_efd/rte_efd.c' line='742' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-10' const='yes' id='type-id-69'/>
+    <pointer-type-def type-id='type-id-69' size-in-bits='64' id='type-id-70'/>
+    <function-decl name='rte_efd_find_existing' mangled-name='rte_efd_find_existing' filepath='../lib/librte_efd/rte_efd.c' line='716' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_efd_find_existing@@DPDK_20.0'>
+      <parameter type-id='type-id-70' name='name' filepath='../lib/librte_efd/rte_efd.c' line='716' column='1'/>
+      <return type-id='type-id-66'/>
+    </function-decl>
+    <function-decl name='rte_efd_create' mangled-name='rte_efd_create' filepath='../lib/librte_efd/rte_efd.c' line='496' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_efd_create@@DPDK_20.0'>
+      <parameter type-id='type-id-70' name='name' filepath='../lib/librte_efd/rte_efd.c' line='496' column='1'/>
+      <parameter type-id='type-id-4' name='max_num_rules' filepath='../lib/librte_efd/rte_efd.c' line='496' column='1'/>
+      <parameter type-id='type-id-4' name='key_len' filepath='../lib/librte_efd/rte_efd.c' line='496' column='1'/>
+      <parameter type-id='type-id-21' name='online_cpu_socket_bitmask' filepath='../lib/librte_efd/rte_efd.c' line='497' column='1'/>
+      <parameter type-id='type-id-21' name='offline_cpu_socket' filepath='../lib/librte_efd/rte_efd.c' line='497' column='1'/>
+      <return type-id='type-id-66'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_ethdev.dump b/lib/.abi/librte_ethdev.dump
new file mode 100644
index 000000000..5399e6645
--- /dev/null
+++ b/lib/.abi/librte_ethdev.dump
@@ -0,0 +1,5272 @@
+<abi-corpus path='gcc//lib/librte_ethdev.so.20.0' architecture='elf-amd-x86_64' soname='librte_ethdev.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='_rte_eth_dev_callback_process' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_rte_eth_dev_reset' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_add_first_rx_callback' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_add_rx_callback' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_add_tx_callback' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_allmulticast_disable' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_allmulticast_enable' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_allmulticast_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_adjust_nb_rx_tx_desc' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_allocate' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_allocated' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_attach_secondary' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_callback_register' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_callback_unregister' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_close' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_configure' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_count_avail' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_count_total' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_create' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_default_mac_addr_set' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_destroy' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_filter_ctrl' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_filter_supported' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_flow_ctrl_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_flow_ctrl_set' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_fw_version_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_get_dcb_info' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_get_eeprom' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_get_eeprom_length' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_get_module_eeprom' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_get_module_info' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_get_mtu' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_get_name_by_port' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_get_port_by_name' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_get_reg_info' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_get_sec_ctx' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_get_supported_ptypes' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_get_vlan_offload' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_hairpin_capability_get' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_info_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_is_removed' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_is_valid_port' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_l2_tunnel_eth_type_conf' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_l2_tunnel_offload_set' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_mac_addr_add' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_mac_addr_remove' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_owner_delete' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_owner_get' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_owner_new' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_owner_set' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_owner_unset' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_pool_ops_supported' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_priority_flow_ctrl_set' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_probing_finish' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_release_port' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_reset' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_rss_hash_conf_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_rss_hash_update' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_rss_reta_query' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_rss_reta_update' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_rx_intr_ctl' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_rx_intr_ctl_q' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_rx_intr_ctl_q_get_fd' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_rx_intr_disable' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_rx_intr_enable' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_rx_offload_name' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_rx_queue_start' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_rx_queue_stop' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_set_eeprom' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_set_link_down' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_set_link_up' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_set_mc_addr_list' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_set_mtu' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_set_ptypes' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_set_rx_queue_stats_mapping' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_set_tx_queue_stats_mapping' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_set_vlan_ether_type' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_set_vlan_offload' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_set_vlan_pvid' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_set_vlan_strip_on_queue' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_socket_id' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_start' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_stop' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_tx_offload_name' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_tx_queue_start' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_tx_queue_stop' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_uc_all_hash_table_set' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_uc_hash_table_set' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_udp_tunnel_port_add' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_udp_tunnel_port_delete' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dev_vlan_filter' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_devargs_parse' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_dma_zone_reserve' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_find_next' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_find_next_of' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_find_next_owned_by' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_find_next_sibling' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_iterator_cleanup' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_iterator_init' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_iterator_next' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_led_off' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_led_on' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_link_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_link_get_nowait' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_macaddr_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_mirror_rule_reset' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_mirror_rule_set' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_promiscuous_disable' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_promiscuous_enable' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_promiscuous_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_read_clock' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_remove_rx_callback' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_remove_tx_callback' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_rx_burst_mode_get' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_rx_hairpin_queue_setup' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_rx_queue_info_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_rx_queue_setup' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_set_queue_rate_limit' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_speed_bitflag' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_stats_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_stats_reset' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_switch_domain_alloc' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_switch_domain_free' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_timesync_adjust_time' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_timesync_disable' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_timesync_enable' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_timesync_read_rx_timestamp' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_timesync_read_time' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_timesync_read_tx_timestamp' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_timesync_write_time' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_tx_buffer_count_callback' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_tx_buffer_drop_callback' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_tx_buffer_init' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_tx_buffer_set_err_callback' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_tx_burst_mode_get' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_tx_done_cleanup' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_tx_hairpin_queue_setup' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_tx_queue_info_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_tx_queue_setup' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_xstats_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_xstats_get_by_id' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_xstats_get_id_by_name' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_xstats_get_names' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_xstats_get_names_by_id' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_xstats_reset' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_flow_conv' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_flow_copy' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_flow_create' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_flow_destroy' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_flow_dynf_metadata_register' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_flow_error_set' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_flow_expand_rss' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_flow_flush' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_flow_isolate' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_flow_query' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_flow_validate' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mtr_capabilities_get' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mtr_create' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mtr_destroy' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mtr_meter_disable' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mtr_meter_dscp_table_update' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mtr_meter_enable' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mtr_meter_profile_add' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mtr_meter_profile_delete' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mtr_meter_profile_update' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mtr_policer_actions_update' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mtr_stats_read' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mtr_stats_update' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_tm_capabilities_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_tm_get_number_of_leaf_nodes' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_tm_hierarchy_commit' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_tm_level_capabilities_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_tm_mark_ip_dscp' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_tm_mark_ip_ecn' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_tm_mark_vlan_dei' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_tm_node_add' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_tm_node_capabilities_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_tm_node_cman_update' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_tm_node_delete' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_tm_node_parent_update' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_tm_node_resume' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_tm_node_shaper_update' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_tm_node_shared_shaper_update' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_tm_node_shared_wred_context_update' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_tm_node_stats_read' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_tm_node_stats_update' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_tm_node_suspend' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_tm_node_type_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_tm_node_wfq_weight_mode_update' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_tm_node_wred_context_update' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_tm_shaper_profile_add' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_tm_shaper_profile_delete' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_tm_shared_shaper_add_update' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_tm_shared_shaper_delete' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_tm_shared_wred_context_add_update' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_tm_shared_wred_context_delete' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_tm_wred_profile_add' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_tm_wred_profile_delete' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <elf-variable-symbols>
+    <elf-symbol name='rte_eth_dev_logtype' size='4' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_devices' size='530432' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_flow_dynf_metadata_mask' size='8' version='EXPERIMENTAL' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_flow_dynf_metadata_offs' size='4' version='EXPERIMENTAL' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_ethdev/rte_ethdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='rte_eth_dev_logtype' type-id='type-id-1' mangled-name='rte_eth_dev_logtype' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='163' column='1' elf-symbol-id='rte_eth_dev_logtype@@DPDK_20.0'/>
+    <class-decl name='rte_eth_dev' size-in-bits='132608' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='777' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_pkt_burst' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='778' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tx_pkt_burst' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tx_pkt_prepare' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='data' type-id='type-id-6' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='786' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='process_private' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='787' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_ops' type-id='type-id-8' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='788' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='device' type-id='type-id-9' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='789' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='intr_handle' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='790' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='link_intr_cbs' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='792' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='post_rx_burst_cbs' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='797' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='66176'>
+        <var-decl name='pre_tx_burst_cbs' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131712'>
+        <var-decl name='state' type-id='type-id-13' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='803' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131776'>
+        <var-decl name='security_ctx' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131840'>
+        <var-decl name='reserved_64s' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='806' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='132096'>
+        <var-decl name='reserved_ptrs' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='807' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-16'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-16' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-17'/>
+    <typedef-decl name='uint16_t' type-id='type-id-17' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-18'/>
+    <type-decl name='void' id='type-id-19'/>
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-7'/>
+    <class-decl name='rte_mbuf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='480' column='1' id='type-id-20'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheline0' type-id='type-id-21' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-7' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-22' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rearm_data' type-id='type-id-23' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='497' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_off' type-id='type-id-18' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_segs' type-id='type-id-18' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='port' type-id='type-id-18' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ol_flags' type-id='type-id-24' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_descriptor_fields1' type-id='type-id-21' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='pkt_len' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data_len' type-id='type-id-18' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='vlan_tci' type-id='type-id-18' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vlan_tci_outer' type-id='type-id-18' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='buf_len' type-id='type-id-18' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='timestamp' type-id='type-id-24' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cacheline1' type-id='type-id-21' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='pool' type-id='type-id-26' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='next' type-id='type-id-27' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv_size' type-id='type-id-18' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='timesync' type-id='type-id-18' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='seqn' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='shinfo' type-id='type-id-28' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dynfield1' type-id='type-id-29' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-30'/>
+
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='infinite' id='type-id-31'>
+      <subrange length='infinite' type-id='type-id-30' id='type-id-32'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER' type-id='type-id-31' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='414' column='1' id='type-id-21'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='491' column='1' id='type-id-22'>
+      <data-member access='private'>
+        <var-decl name='buf_iova' type-id='type-id-33' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='buf_physaddr' type-id='type-id-33' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='__uint64_t' type-id='type-id-30' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-34'/>
+    <typedef-decl name='uint64_t' type-id='type-id-34' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-24'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-24' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-33'/>
+
+    <array-type-def dimensions='1' type-id='type-id-24' size-in-bits='infinite' id='type-id-35'>
+      <subrange length='infinite' type-id='type-id-30' id='type-id-32'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER64' type-id='type-id-35' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='420' column='1' id='type-id-23'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-36'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-36' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-37'/>
+    <typedef-decl name='uint32_t' type-id='type-id-37' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-25'/>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-38'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-40' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-7' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-41' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-36' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-25' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-36' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-42' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-43' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-44' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-25' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-45' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-46'/>
+
+    <array-type-def dimensions='1' type-id='type-id-46' size-in-bits='256' id='type-id-39'>
+      <subrange length='32' type-id='type-id-30' id='type-id-47'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-40'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-7' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-24' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-48'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-39' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-49' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-50' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-24' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-42' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-25' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-49'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-51' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-33' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-24' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-51'/>
+    <typedef-decl name='size_t' type-id='type-id-30' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-50'/>
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-52'/>
+    <typedef-decl name='int32_t' type-id='type-id-52' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-42'/>
+    <qualified-type-def type-id='type-id-48' const='yes' id='type-id-53'/>
+    <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-41'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-54'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-25' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-25' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-25' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-55' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='98304' id='type-id-55'>
+      <subrange length='1536' type-id='type-id-30' id='type-id-56'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-54' size-in-bits='64' id='type-id-43'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-44'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-57' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-58' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-59'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-60' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-26' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-61' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-60'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-57' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-59' size-in-bits='64' id='type-id-57'/>
+    <pointer-type-def type-id='type-id-38' size-in-bits='64' id='type-id-26'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-61'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-33' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-51' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-57' size-in-bits='64' id='type-id-58'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-45'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-62' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-63' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-64'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-65' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-26' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-7' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-66' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-50' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-67' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-7' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-65'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-62' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-64' size-in-bits='64' id='type-id-62'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-66'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-33' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-51' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-68' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-69'/>
+    <pointer-type-def type-id='type-id-69' size-in-bits='64' id='type-id-67'/>
+    <pointer-type-def type-id='type-id-62' size-in-bits='64' id='type-id-63'/>
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-27'/>
+    <class-decl name='rte_mbuf_ext_shared_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='689' column='1' id='type-id-70'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_cb' type-id='type-id-71' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcb_opaque' type-id='type-id-7' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt_atomic' type-id='type-id-72' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-73' size-in-bits='64' id='type-id-74'/>
+    <typedef-decl name='rte_mbuf_extbuf_free_callback_t' type-id='type-id-74' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='684' column='1' id='type-id-71'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-72' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-75'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-76' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-77'/>
+    <typedef-decl name='__int16_t' type-id='type-id-77' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-78'/>
+    <typedef-decl name='int16_t' type-id='type-id-78' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-79'/>
+    <qualified-type-def type-id='type-id-79' volatile='yes' id='type-id-76'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-75' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-72'/>
+    <pointer-type-def type-id='type-id-70' size-in-bits='64' id='type-id-28'/>
+
+    <array-type-def dimensions='1' type-id='type-id-24' size-in-bits='128' id='type-id-29'>
+      <subrange length='2' type-id='type-id-30' id='type-id-80'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-81'/>
+    <pointer-type-def type-id='type-id-82' size-in-bits='64' id='type-id-83'/>
+    <typedef-decl name='eth_rx_burst_t' type-id='type-id-83' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='340' column='1' id='type-id-3'/>
+    <typedef-decl name='eth_tx_burst_t' type-id='type-id-83' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='345' column='1' id='type-id-4'/>
+    <typedef-decl name='eth_tx_prep_t' type-id='type-id-83' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='350' column='1' id='type-id-5'/>
+    <class-decl name='rte_eth_dev_data' size-in-bits='55808' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='820' column='1' id='type-id-84'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-85' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='821' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_queues' type-id='type-id-86' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='823' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_queues' type-id='type-id-86' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='824' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='nb_rx_queues' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='825' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='656'>
+        <var-decl name='nb_tx_queues' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='826' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='sriov' type-id='type-id-87' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='dev_private' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='830' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_link' type-id='type-id-88' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='835' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dev_conf' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='836' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25536'>
+        <var-decl name='mtu' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='837' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25568'>
+        <var-decl name='min_rx_buf_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25600'>
+        <var-decl name='rx_mbuf_alloc_failed' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='841' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25664'>
+        <var-decl name='mac_addrs' type-id='type-id-90' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='842' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25728'>
+        <var-decl name='mac_pool_sel' type-id='type-id-91' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='846' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='33920'>
+        <var-decl name='hash_mac_addrs' type-id='type-id-90' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='848' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='33984'>
+        <var-decl name='port_id' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='852' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='promiscuous' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='855' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='scattered_rx' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='856' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='all_multicast' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='857' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4'>
+        <var-decl name='dev_started' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='858' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3'>
+        <var-decl name='lro' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='859' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='34008'>
+        <var-decl name='rx_queue_state' type-id='type-id-93' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='860' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='42200'>
+        <var-decl name='tx_queue_state' type-id='type-id-93' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='862' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50400'>
+        <var-decl name='dev_flags' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='864' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50432'>
+        <var-decl name='kdrv' type-id='type-id-94' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50464'>
+        <var-decl name='numa_node' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='866' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50496'>
+        <var-decl name='vlan_filter_conf' type-id='type-id-95' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='867' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='54592'>
+        <var-decl name='owner' type-id='type-id-96' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='869' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55168'>
+        <var-decl name='representor_id' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='870' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55232'>
+        <var-decl name='reserved_64s' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='875' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55488'>
+        <var-decl name='reserved_ptrs' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='876' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-46' size-in-bits='512' id='type-id-85'>
+      <subrange length='64' type-id='type-id-30' id='type-id-97'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-7' size-in-bits='64' id='type-id-86'/>
+    <class-decl name='rte_eth_dev_sriov' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1476' column='1' id='type-id-87'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='active' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1477' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='nb_q_per_pool' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1478' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='def_vmdq_idx' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1479' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='def_pool_q_idx' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1480' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-98'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-98' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-99'/>
+    <typedef-decl name='uint8_t' type-id='type-id-99' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-92'/>
+    <class-decl name='rte_eth_link' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='308' column='1' id='type-id-88'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_speed' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='309' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='15'>
+        <var-decl name='link_duplex' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='310' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='14'>
+        <var-decl name='link_autoneg' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='311' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='13'>
+        <var-decl name='link_status' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='312' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_conf' size-in-bits='24640' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1045' column='1' id='type-id-89'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_speeds' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1046' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rxmode' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1053' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='txmode' type-id='type-id-101' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1054' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='lpbk_mode' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1055' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='rx_adv_conf' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1068' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='17984'>
+        <var-decl name='tx_adv_conf' type-id='type-id-103' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1076' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18080'>
+        <var-decl name='dcb_capability_en' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1079' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18112'>
+        <var-decl name='fdir_conf' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1080' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24576'>
+        <var-decl name='intr_conf' type-id='type-id-105' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1081' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rxmode' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='394' column='1' id='type-id-100'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mq_mode' type-id='type-id-106' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='396' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_rx_pkt_len' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='397' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='max_lro_pkt_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='399' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='split_hdr_size' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='400' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='offloads' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='406' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='408' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-107' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='409' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-108'/>
+    <enum-decl name='rte_eth_rx_mq_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='344' column='1' id='type-id-106'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='ETH_MQ_RX_NONE' value='0'/>
+      <enumerator name='ETH_MQ_RX_RSS' value='1'/>
+      <enumerator name='ETH_MQ_RX_DCB' value='2'/>
+      <enumerator name='ETH_MQ_RX_DCB_RSS' value='3'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_ONLY' value='4'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_RSS' value='5'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_DCB' value='6'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_DCB_RSS' value='7'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='128' id='type-id-107'>
+      <subrange length='2' type-id='type-id-30' id='type-id-80'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_txmode' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='792' column='1' id='type-id-101'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mq_mode' type-id='type-id-109' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='793' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offloads' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='799' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pvid' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='hw_vlan_reject_tagged' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='hw_vlan_reject_untagged' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='806' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='hw_vlan_insert_pvid' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='808' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='811' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-107' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='812' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_tx_mq_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='377' column='1' id='type-id-109'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='ETH_MQ_TX_NONE' value='0'/>
+      <enumerator name='ETH_MQ_TX_DCB' value='1'/>
+      <enumerator name='ETH_MQ_TX_VMDQ_DCB' value='2'/>
+      <enumerator name='ETH_MQ_TX_VMDQ_ONLY' value='3'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16960' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1060' column='1' id='type-id-102'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rss_conf' type-id='type-id-110' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1061' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='vmdq_dcb_conf' type-id='type-id-111' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1062' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8512'>
+        <var-decl name='dcb_rx_conf' type-id='type-id-112' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1064' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8640'>
+        <var-decl name='vmdq_rx_conf' type-id='type-id-113' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1066' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rss_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='448' column='1' id='type-id-110'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rss_key' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rss_key_len' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rss_hf' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='451' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-92' size-in-bits='64' id='type-id-114'/>
+    <class-decl name='rte_eth_vmdq_dcb_conf' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='745' column='1' id='type-id-111'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-115' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='746' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='enable_default_pool' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='default_pool' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='748' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='nb_pool_maps' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='749' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pool_map' type-id='type-id-116' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8256'>
+        <var-decl name='dcb_tc' type-id='type-id-117' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='754' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_nb_pools' filepath='../lib/librte_ethdev/rte_ethdev.h' line='704' column='1' id='type-id-115'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='ETH_8_POOLS' value='8'/>
+      <enumerator name='ETH_16_POOLS' value='16'/>
+      <enumerator name='ETH_32_POOLS' value='32'/>
+      <enumerator name='ETH_64_POOLS' value='64'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='750' column='1' id='type-id-118'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_id' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='751' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pools' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='752' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-118' size-in-bits='8192' id='type-id-116'>
+      <subrange length='64' type-id='type-id-30' id='type-id-97'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-92' size-in-bits='64' id='type-id-117'>
+      <subrange length='8' type-id='type-id-30' id='type-id-119'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_dcb_rx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='712' column='1' id='type-id-112'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-117' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='715' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_nb_tcs' filepath='../lib/librte_ethdev/rte_ethdev.h' line='695' column='1' id='type-id-120'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='ETH_4_TCS' value='4'/>
+      <enumerator name='ETH_8_TCS' value='8'/>
+    </enum-decl>
+    <class-decl name='rte_eth_vmdq_rx_conf' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='776' column='1' id='type-id-113'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-115' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='777' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='enable_default_pool' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='778' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='default_pool' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='enable_loop_back' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='nb_pool_maps' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='781' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rx_mode' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='782' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pool_map' type-id='type-id-116' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='786' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <union-decl name='__anonymous_union__' size-in-bits='96' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1069' column='1' id='type-id-103'>
+      <data-member access='private'>
+        <var-decl name='vmdq_dcb_tx_conf' type-id='type-id-121' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1070' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dcb_tx_conf' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1072' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='vmdq_tx_conf' type-id='type-id-123' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1074' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_eth_vmdq_dcb_tx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='718' column='1' id='type-id-121'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-115' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-117' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='721' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dcb_tx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='724' column='1' id='type-id-122'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-117' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='727' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vmdq_tx_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='730' column='1' id='type-id-123'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-115' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='731' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_fdir_conf' size-in-bits='6464' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1005' column='1' id='type-id-104'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mode' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1006' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='pballoc' type-id='type-id-125' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1007' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='status' type-id='type-id-126' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1008' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='drop_queue' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1010' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mask' type-id='type-id-127' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1011' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='flex_conf' type-id='type-id-128' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1012' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_fdir_mode' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='603' column='1' id='type-id-124'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='RTE_FDIR_MODE_NONE' value='0'/>
+      <enumerator name='RTE_FDIR_MODE_SIGNATURE' value='1'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT' value='2'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT_MAC_VLAN' value='3'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT_TUNNEL' value='4'/>
+    </enum-decl>
+    <enum-decl name='rte_fdir_pballoc_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='984' column='1' id='type-id-125'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='RTE_FDIR_PBALLOC_64K' value='0'/>
+      <enumerator name='RTE_FDIR_PBALLOC_128K' value='1'/>
+      <enumerator name='RTE_FDIR_PBALLOC_256K' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_fdir_status_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='993' column='1' id='type-id-126'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='RTE_FDIR_NO_REPORT_STATUS' value='0'/>
+      <enumerator name='RTE_FDIR_REPORT_STATUS' value='1'/>
+      <enumerator name='RTE_FDIR_REPORT_STATUS_ALWAYS' value='2'/>
+    </enum-decl>
+    <class-decl name='rte_eth_fdir_masks' size-in-bits='544' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='533' column='1' id='type-id-127'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_tci_mask' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='534' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ipv4_mask' type-id='type-id-129' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='536' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ipv6_mask' type-id='type-id-130' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='538' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='src_port_mask' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='540' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='dst_port_mask' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='542' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='mac_addr_byte_mask' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='545' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='tunnel_id_mask' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='547' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='tunnel_type_mask' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='548' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_ipv4_flow' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='342' column='1' id='type-id-129'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='343' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dst_ip' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='344' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tos' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='345' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='ttl' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='346' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='proto' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='347' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_ipv6_flow' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='381' column='1' id='type-id-130'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-131' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='382' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dst_ip' type-id='type-id-131' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='383' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='tc' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='384' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='264'>
+        <var-decl name='proto' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='385' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='272'>
+        <var-decl name='hop_limits' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='386' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-25' size-in-bits='128' id='type-id-131'>
+      <subrange length='4' type-id='type-id-30' id='type-id-132'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_fdir_flex_conf' size-in-bits='5792' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='591' column='1' id='type-id-128'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_payloads' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='592' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='nb_flexmasks' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='593' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flex_set' type-id='type-id-133' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='594' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2336'>
+        <var-decl name='flex_mask' type-id='type-id-134' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='596' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_flex_payload_cfg' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='568' column='1' id='type-id-135'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-136' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='569' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='src_offset' type-id='type-id-137' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='570' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_payload_type' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='555' column='1' id='type-id-136'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='RTE_ETH_PAYLOAD_UNKNOWN' value='0'/>
+      <enumerator name='RTE_ETH_RAW_PAYLOAD' value='1'/>
+      <enumerator name='RTE_ETH_L2_PAYLOAD' value='2'/>
+      <enumerator name='RTE_ETH_L3_PAYLOAD' value='3'/>
+      <enumerator name='RTE_ETH_L4_PAYLOAD' value='4'/>
+      <enumerator name='RTE_ETH_PAYLOAD_MAX' value='8'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-18' size-in-bits='256' id='type-id-137'>
+      <subrange length='16' type-id='type-id-30' id='type-id-138'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-135' size-in-bits='2304' id='type-id-133'>
+      <subrange length='8' type-id='type-id-30' id='type-id-119'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_fdir_flex_mask' size-in-bits='144' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='581' column='1' id='type-id-139'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flow_type' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='582' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='mask' type-id='type-id-140' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='583' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-92' size-in-bits='128' id='type-id-140'>
+      <subrange length='16' type-id='type-id-30' id='type-id-138'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-139' size-in-bits='3456' id='type-id-134'>
+      <subrange length='24' type-id='type-id-30' id='type-id-141'/>
+
+    </array-type-def>
+    <class-decl name='rte_intr_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1031' column='1' id='type-id-105'>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='lsc' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1033' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='rxq' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1035' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='rmv' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1037' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_ether_addr' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='60' column='1' id='type-id-142'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr_bytes' type-id='type-id-143' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='61' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-92' size-in-bits='48' id='type-id-143'>
+      <subrange length='6' type-id='type-id-30' id='type-id-144'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-142' size-in-bits='64' id='type-id-90'/>
+
+    <array-type-def dimensions='1' type-id='type-id-24' size-in-bits='8192' id='type-id-91'>
+      <subrange length='128' type-id='type-id-30' id='type-id-145'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-92' size-in-bits='8192' id='type-id-93'>
+      <subrange length='1024' type-id='type-id-30' id='type-id-146'/>
+
+    </array-type-def>
+    <enum-decl name='rte_kernel_driver' filepath='../lib/librte_eal/common/include/rte_dev.h' line='60' column='1' id='type-id-94'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='RTE_KDRV_UNKNOWN' value='0'/>
+      <enumerator name='RTE_KDRV_IGB_UIO' value='1'/>
+      <enumerator name='RTE_KDRV_VFIO' value='2'/>
+      <enumerator name='RTE_KDRV_UIO_GENERIC' value='3'/>
+      <enumerator name='RTE_KDRV_NIC_UIO' value='4'/>
+      <enumerator name='RTE_KDRV_NONE' value='5'/>
+    </enum-decl>
+    <class-decl name='rte_vlan_filter_conf' size-in-bits='4096' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='427' column='1' id='type-id-95'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ids' type-id='type-id-147' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='428' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-24' size-in-bits='4096' id='type-id-147'>
+      <subrange length='64' type-id='type-id-30' id='type-id-97'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_dev_owner' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1490' column='1' id='type-id-96'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1491' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='name' type-id='type-id-85' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1492' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-24' size-in-bits='256' id='type-id-14'>
+      <subrange length='4' type-id='type-id-30' id='type-id-132'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='256' id='type-id-15'>
+      <subrange length='4' type-id='type-id-30' id='type-id-132'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-84' size-in-bits='64' id='type-id-6'/>
+    <class-decl name='eth_dev_ops' size-in-bits='6016' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='609' column='1' id='type-id-148'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_configure' type-id='type-id-149' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_start' type-id='type-id-150' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='611' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dev_stop' type-id='type-id-151' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='612' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_set_link_up' type-id='type-id-152' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dev_set_link_down' type-id='type-id-153' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='614' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_close' type-id='type-id-154' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='615' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='dev_reset' type-id='type-id-155' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='616' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='link_update' type-id='type-id-156' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='617' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='is_removed' type-id='type-id-157' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='618' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='promiscuous_enable' type-id='type-id-158' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='promiscuous_disable' type-id='type-id-159' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='allmulticast_enable' type-id='type-id-160' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='623' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='allmulticast_disable' type-id='type-id-161' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='624' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='mac_addr_remove' type-id='type-id-162' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='625' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='mac_addr_add' type-id='type-id-163' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='626' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='mac_addr_set' type-id='type-id-164' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='627' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='set_mc_addr_list' type-id='type-id-165' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='628' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mtu_set' type-id='type-id-166' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='629' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='stats_get' type-id='type-id-167' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='631' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='stats_reset' type-id='type-id-168' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='632' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='xstats_get' type-id='type-id-169' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='633' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='xstats_reset' type-id='type-id-170' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='634' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='xstats_get_names' type-id='type-id-171' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='635' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='queue_stats_mapping_set' type-id='type-id-172' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='637' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='dev_infos_get' type-id='type-id-173' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='640' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='rxq_info_get' type-id='type-id-174' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='641' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='txq_info_get' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='642' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='rx_burst_mode_get' type-id='type-id-176' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='643' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='tx_burst_mode_get' type-id='type-id-176' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='644' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='fw_version_get' type-id='type-id-177' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='645' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='dev_supported_ptypes_get' type-id='type-id-178' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='646' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='dev_ptypes_set' type-id='type-id-179' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='648' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='vlan_filter_set' type-id='type-id-180' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='651' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='vlan_tpid_set' type-id='type-id-181' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='652' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='vlan_strip_queue_set' type-id='type-id-182' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='653' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='vlan_offload_set' type-id='type-id-183' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='654' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='vlan_pvid_set' type-id='type-id-184' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='655' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='rx_queue_start' type-id='type-id-185' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='657' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='rx_queue_stop' type-id='type-id-186' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='658' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2496'>
+        <var-decl name='tx_queue_start' type-id='type-id-185' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='659' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='tx_queue_stop' type-id='type-id-186' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='660' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='rx_queue_setup' type-id='type-id-187' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='661' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2688'>
+        <var-decl name='rx_queue_release' type-id='type-id-188' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2752'>
+        <var-decl name='rx_queue_count' type-id='type-id-189' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='663' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2816'>
+        <var-decl name='rx_descriptor_done' type-id='type-id-190' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2880'>
+        <var-decl name='rx_descriptor_status' type-id='type-id-191' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='666' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2944'>
+        <var-decl name='tx_descriptor_status' type-id='type-id-192' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3008'>
+        <var-decl name='rx_queue_intr_enable' type-id='type-id-193' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='670' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3072'>
+        <var-decl name='rx_queue_intr_disable' type-id='type-id-194' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3136'>
+        <var-decl name='tx_queue_setup' type-id='type-id-195' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='672' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3200'>
+        <var-decl name='tx_queue_release' type-id='type-id-188' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3264'>
+        <var-decl name='tx_done_cleanup' type-id='type-id-196' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='674' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3328'>
+        <var-decl name='dev_led_on' type-id='type-id-197' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3392'>
+        <var-decl name='dev_led_off' type-id='type-id-198' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='677' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3456'>
+        <var-decl name='flow_ctrl_get' type-id='type-id-199' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='679' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3520'>
+        <var-decl name='flow_ctrl_set' type-id='type-id-200' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='680' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='priority_flow_ctrl_set' type-id='type-id-201' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='681' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3648'>
+        <var-decl name='uc_hash_table_set' type-id='type-id-202' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='683' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3712'>
+        <var-decl name='uc_all_hash_table_set' type-id='type-id-203' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='684' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3776'>
+        <var-decl name='mirror_rule_set' type-id='type-id-204' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='686' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3840'>
+        <var-decl name='mirror_rule_reset' type-id='type-id-205' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='687' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3904'>
+        <var-decl name='udp_tunnel_port_add' type-id='type-id-206' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='689' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3968'>
+        <var-decl name='udp_tunnel_port_del' type-id='type-id-207' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4032'>
+        <var-decl name='l2_tunnel_eth_type_conf' type-id='type-id-208' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4096'>
+        <var-decl name='l2_tunnel_offload_set' type-id='type-id-209' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='693' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4160'>
+        <var-decl name='set_queue_rate_limit' type-id='type-id-210' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='696' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4224'>
+        <var-decl name='rss_hash_update' type-id='type-id-211' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='698' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4288'>
+        <var-decl name='rss_hash_conf_get' type-id='type-id-212' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='699' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4352'>
+        <var-decl name='reta_update' type-id='type-id-213' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='700' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4416'>
+        <var-decl name='reta_query' type-id='type-id-214' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='701' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4480'>
+        <var-decl name='get_reg' type-id='type-id-215' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='703' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4544'>
+        <var-decl name='get_eeprom_length' type-id='type-id-216' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='704' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4608'>
+        <var-decl name='get_eeprom' type-id='type-id-217' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='705' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4672'>
+        <var-decl name='set_eeprom' type-id='type-id-218' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='706' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4736'>
+        <var-decl name='get_module_info' type-id='type-id-219' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='708' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4800'>
+        <var-decl name='get_module_eeprom' type-id='type-id-220' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='710' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4864'>
+        <var-decl name='filter_ctrl' type-id='type-id-221' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4928'>
+        <var-decl name='get_dcb_info' type-id='type-id-222' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='715' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4992'>
+        <var-decl name='timesync_enable' type-id='type-id-223' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='717' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5056'>
+        <var-decl name='timesync_disable' type-id='type-id-224' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5120'>
+        <var-decl name='timesync_read_rx_timestamp' type-id='type-id-225' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='721' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5184'>
+        <var-decl name='timesync_read_tx_timestamp' type-id='type-id-226' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='723' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5248'>
+        <var-decl name='timesync_adjust_time' type-id='type-id-227' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5312'>
+        <var-decl name='timesync_read_time' type-id='type-id-228' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='726' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5376'>
+        <var-decl name='timesync_write_time' type-id='type-id-229' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='727' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5440'>
+        <var-decl name='read_clock' type-id='type-id-230' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='729' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5504'>
+        <var-decl name='xstats_get_by_id' type-id='type-id-231' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='731' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5568'>
+        <var-decl name='xstats_get_names_by_id' type-id='type-id-232' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='733' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5632'>
+        <var-decl name='tm_ops_get' type-id='type-id-233' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='736' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5696'>
+        <var-decl name='mtr_ops_get' type-id='type-id-234' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='739' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5760'>
+        <var-decl name='pool_ops_supported' type-id='type-id-235' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='742' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5824'>
+        <var-decl name='hairpin_cap_get' type-id='type-id-236' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='745' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5888'>
+        <var-decl name='rx_hairpin_queue_setup' type-id='type-id-237' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5952'>
+        <var-decl name='tx_hairpin_queue_setup' type-id='type-id-238' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='749' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-239'/>
+    <pointer-type-def type-id='type-id-240' size-in-bits='64' id='type-id-241'/>
+    <typedef-decl name='eth_dev_configure_t' type-id='type-id-241' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='31' column='1' id='type-id-149'/>
+    <typedef-decl name='eth_dev_start_t' type-id='type-id-241' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='34' column='1' id='type-id-150'/>
+    <pointer-type-def type-id='type-id-242' size-in-bits='64' id='type-id-243'/>
+    <typedef-decl name='eth_dev_stop_t' type-id='type-id-243' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='37' column='1' id='type-id-151'/>
+    <typedef-decl name='eth_dev_set_link_up_t' type-id='type-id-241' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='40' column='1' id='type-id-152'/>
+    <typedef-decl name='eth_dev_set_link_down_t' type-id='type-id-241' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='43' column='1' id='type-id-153'/>
+    <typedef-decl name='eth_dev_close_t' type-id='type-id-243' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='46' column='1' id='type-id-154'/>
+    <typedef-decl name='eth_dev_reset_t' type-id='type-id-241' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='49' column='1' id='type-id-155'/>
+    <pointer-type-def type-id='type-id-244' size-in-bits='64' id='type-id-245'/>
+    <typedef-decl name='eth_link_update_t' type-id='type-id-245' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='155' column='1' id='type-id-156'/>
+    <typedef-decl name='eth_is_removed_t' type-id='type-id-241' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='52' column='1' id='type-id-157'/>
+    <typedef-decl name='eth_promiscuous_enable_t' type-id='type-id-241' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='78' column='1' id='type-id-158'/>
+    <typedef-decl name='eth_promiscuous_disable_t' type-id='type-id-241' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='103' column='1' id='type-id-159'/>
+    <typedef-decl name='eth_allmulticast_enable_t' type-id='type-id-241' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='128' column='1' id='type-id-160'/>
+    <typedef-decl name='eth_allmulticast_disable_t' type-id='type-id-241' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='153' column='1' id='type-id-161'/>
+    <pointer-type-def type-id='type-id-246' size-in-bits='64' id='type-id-247'/>
+    <typedef-decl name='eth_mac_addr_remove_t' type-id='type-id-247' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='391' column='1' id='type-id-162'/>
+    <pointer-type-def type-id='type-id-248' size-in-bits='64' id='type-id-249'/>
+    <typedef-decl name='eth_mac_addr_add_t' type-id='type-id-249' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='394' column='1' id='type-id-163'/>
+    <pointer-type-def type-id='type-id-250' size-in-bits='64' id='type-id-251'/>
+    <typedef-decl name='eth_mac_addr_set_t' type-id='type-id-251' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='400' column='1' id='type-id-164'/>
+    <pointer-type-def type-id='type-id-252' size-in-bits='64' id='type-id-253'/>
+    <typedef-decl name='eth_set_mc_addr_list_t' type-id='type-id-253' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='436' column='1' id='type-id-165'/>
+    <pointer-type-def type-id='type-id-254' size-in-bits='64' id='type-id-255'/>
+    <typedef-decl name='mtu_set_t' type-id='type-id-255' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='315' column='1' id='type-id-166'/>
+    <class-decl name='rte_eth_stats' size-in-bits='5632' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='243' column='1' id='type-id-256'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ipackets' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='opackets' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ibytes' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='246' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='obytes' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='imissed' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='ierrors' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='oerrors' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='rx_nombuf' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='q_ipackets' type-id='type-id-257' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='q_opackets' type-id='type-id-257' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='q_ibytes' type-id='type-id-257' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='q_obytes' type-id='type-id-257' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4608'>
+        <var-decl name='q_errors' type-id='type-id-257' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='263' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-24' size-in-bits='1024' id='type-id-257'>
+      <subrange length='16' type-id='type-id-30' id='type-id-138'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-256' size-in-bits='64' id='type-id-258'/>
+    <pointer-type-def type-id='type-id-259' size-in-bits='64' id='type-id-260'/>
+    <typedef-decl name='eth_stats_get_t' type-id='type-id-260' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='159' column='1' id='type-id-167'/>
+    <typedef-decl name='eth_stats_reset_t' type-id='type-id-241' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='182' column='1' id='type-id-168'/>
+    <class-decl name='rte_eth_xstat' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1337' column='1' id='type-id-261'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1338' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='value' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1339' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-261' size-in-bits='64' id='type-id-262'/>
+    <pointer-type-def type-id='type-id-263' size-in-bits='64' id='type-id-264'/>
+    <typedef-decl name='eth_xstats_get_t' type-id='type-id-264' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='184' column='1' id='type-id-169'/>
+    <typedef-decl name='eth_xstats_reset_t' type-id='type-id-241' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='213' column='1' id='type-id-170'/>
+    <class-decl name='rte_eth_xstat_name' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1349' column='1' id='type-id-265'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-85' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1350' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-265' size-in-bits='64' id='type-id-266'/>
+    <pointer-type-def type-id='type-id-267' size-in-bits='64' id='type-id-268'/>
+    <typedef-decl name='eth_xstats_get_names_t' type-id='type-id-268' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='215' column='1' id='type-id-171'/>
+    <pointer-type-def type-id='type-id-269' size-in-bits='64' id='type-id-270'/>
+    <typedef-decl name='eth_queue_stats_mapping_set_t' type-id='type-id-270' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='224' column='1' id='type-id-172'/>
+    <class-decl name='rte_eth_dev_info' size-in-bits='2560' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1226' column='1' id='type-id-271'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='device' type-id='type-id-9' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1227' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='driver_name' type-id='type-id-272' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='if_index' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='min_mtu' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='max_mtu' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_flags' type-id='type-id-273' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='min_rx_bufsize' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1234' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='max_rx_pktlen' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1235' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='max_lro_pkt_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='max_rx_queues' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='max_tx_queues' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1239' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='max_mac_addrs' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='max_hash_mac_addrs' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1241' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='max_vfs' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1243' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='max_vmdq_pools' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_offload_capa' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_offload_capa' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='rx_queue_offload_capa' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='tx_queue_offload_capa' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='reta_size' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='hash_key_size' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='flow_type_rss_offloads' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='default_rxconf' type-id='type-id-274' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='default_txconf' type-id='type-id-275' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='vmdq_queue_base' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1744'>
+        <var-decl name='vmdq_queue_num' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1760'>
+        <var-decl name='vmdq_pool_base' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1262' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1776'>
+        <var-decl name='rx_desc_lim' type-id='type-id-276' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1263' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='tx_desc_lim' type-id='type-id-276' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1264' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1952'>
+        <var-decl name='speed_capa' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1265' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='nb_rx_queues' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1267' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2000'>
+        <var-decl name='nb_tx_queues' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1268' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2016'>
+        <var-decl name='default_rxportconf' type-id='type-id-277' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1270' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2064'>
+        <var-decl name='default_txportconf' type-id='type-id-277' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1272' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='dev_capa' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1274' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='switch_info' type-id='type-id-278' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='reserved_64s' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1281' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='reserved_ptrs' type-id='type-id-107' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1282' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-279'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-280' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-272' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-281' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-282' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-283' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-280'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-9' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-284' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-279' size-in-bits='64' id='type-id-9'/>
+    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-284'/>
+    <qualified-type-def type-id='type-id-46' const='yes' id='type-id-285'/>
+    <pointer-type-def type-id='type-id-285' size-in-bits='64' id='type-id-272'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-286'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-287' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-272' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-272' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-287'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-288' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-289' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-286' size-in-bits='64' id='type-id-288'/>
+    <pointer-type-def type-id='type-id-288' size-in-bits='64' id='type-id-289'/>
+    <qualified-type-def type-id='type-id-286' const='yes' id='type-id-290'/>
+    <pointer-type-def type-id='type-id-290' size-in-bits='64' id='type-id-281'/>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-291'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-292' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-272' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-293' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-294' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-295' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-296' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-297' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-298' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-299' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-300' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-301' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-302' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-303' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-304' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-305' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-292'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-306' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-307' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-291' size-in-bits='64' id='type-id-306'/>
+    <pointer-type-def type-id='type-id-306' size-in-bits='64' id='type-id-307'/>
+    <pointer-type-def type-id='type-id-308' size-in-bits='64' id='type-id-309'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-309' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-293'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-309' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-294'/>
+    <qualified-type-def type-id='type-id-279' const='yes' id='type-id-310'/>
+    <pointer-type-def type-id='type-id-310' size-in-bits='64' id='type-id-311'/>
+    <pointer-type-def type-id='type-id-312' size-in-bits='64' id='type-id-313'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-313' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-314'/>
+    <pointer-type-def type-id='type-id-315' size-in-bits='64' id='type-id-316'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-316' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-295'/>
+    <pointer-type-def type-id='type-id-317' size-in-bits='64' id='type-id-318'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-318' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-296'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-318' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-297'/>
+    <pointer-type-def type-id='type-id-319' size-in-bits='64' id='type-id-320'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-320' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-298'/>
+    <pointer-type-def type-id='type-id-321' size-in-bits='64' id='type-id-322'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-322' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-299'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-322' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-300'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-301'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-323' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-323'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-324'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-325' size-in-bits='64' id='type-id-326'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-326' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-302'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-327'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-272' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-272' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-272' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-306' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-328' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-9' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-7' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_class' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_class.h' line='35' column='1' id='type-id-329'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-330' visibility='default' filepath='../lib/librte_eal/common/include/rte_class.h' line='36' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-272' visibility='default' filepath='../lib/librte_eal/common/include/rte_class.h' line='37' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_iterate' type-id='type-id-303' visibility='default' filepath='../lib/librte_eal/common/include/rte_class.h' line='38' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_class.h' line='36' column='1' id='type-id-330'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-328' visibility='default' filepath='../lib/librte_eal/common/include/rte_class.h' line='36' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-331' visibility='default' filepath='../lib/librte_eal/common/include/rte_class.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-329' size-in-bits='64' id='type-id-328'/>
+    <pointer-type-def type-id='type-id-328' size-in-bits='64' id='type-id-331'/>
+    <pointer-type-def type-id='type-id-332' size-in-bits='64' id='type-id-333'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-333' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-303'/>
+    <qualified-type-def type-id='type-id-327' const='yes' id='type-id-334'/>
+    <pointer-type-def type-id='type-id-334' size-in-bits='64' id='type-id-335'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-318' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-304'/>
+    <pointer-type-def type-id='type-id-336' size-in-bits='64' id='type-id-337'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-337' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-305'/>
+    <qualified-type-def type-id='type-id-291' const='yes' id='type-id-338'/>
+    <pointer-type-def type-id='type-id-338' size-in-bits='64' id='type-id-282'/>
+    <class-decl name='rte_devargs' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='47' column='1' id='type-id-339'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-340' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='type' type-id='type-id-341' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='policy' type-id='type-id-342' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='name' type-id='type-id-85' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='' type-id='type-id-343' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='bus' type-id='type-id-306' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='cls' type-id='type-id-328' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='bus_str' type-id='type-id-272' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='cls_str' type-id='type-id-272' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='data' type-id='type-id-272' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='66' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1' id='type-id-340'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-283' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-344' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-339' size-in-bits='64' id='type-id-283'/>
+    <pointer-type-def type-id='type-id-283' size-in-bits='64' id='type-id-344'/>
+    <enum-decl name='rte_devtype' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='31' column='1' id='type-id-341'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='RTE_DEVTYPE_WHITELISTED_PCI' value='0'/>
+      <enumerator name='RTE_DEVTYPE_BLACKLISTED_PCI' value='1'/>
+      <enumerator name='RTE_DEVTYPE_VIRTUAL' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_dev_policy' filepath='../lib/librte_eal/common/include/rte_dev.h' line='72' column='1' id='type-id-342'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='RTE_DEV_WHITELISTED' value='0'/>
+      <enumerator name='RTE_DEV_BLACKLISTED' value='1'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='57' column='1' id='type-id-343'>
+      <data-member access='private'>
+        <var-decl name='args' type-id='type-id-345' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='drv_str' type-id='type-id-272' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='60' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-345'/>
+    <qualified-type-def type-id='type-id-25' const='yes' id='type-id-346'/>
+    <pointer-type-def type-id='type-id-346' size-in-bits='64' id='type-id-273'/>
+    <class-decl name='rte_eth_rxconf' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='818' column='1' id='type-id-274'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_thresh' type-id='type-id-347' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='819' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='rx_free_thresh' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='820' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='rx_drop_en' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='821' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='rx_deferred_start' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='822' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offloads' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='reserved_64s' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='830' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='reserved_ptrs' type-id='type-id-107' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='831' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_thresh' size-in-bits='24' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='327' column='1' id='type-id-347'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pthresh' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='328' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='hthresh' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='329' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='wthresh' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='330' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_txconf' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='837' column='1' id='type-id-275'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tx_thresh' type-id='type-id-347' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tx_rs_thresh' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='839' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='tx_free_thresh' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='840' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tx_deferred_start' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='843' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='offloads' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='849' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='851' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-107' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='852' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_desc_lim' size-in-bits='80' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='898' column='1' id='type-id-276'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_max' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='899' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='nb_min' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='900' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_align' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='901' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='nb_seg_max' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='911' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='nb_mtu_seg_max' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='924' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_portconf' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1189' column='1' id='type-id-277'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='burst_size' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1190' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='ring_size' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_queues' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1192' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_switch_info' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1204' column='1' id='type-id-278'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-272' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='domain_id' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1206' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='port_id' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1207' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-271' size-in-bits='64' id='type-id-348'/>
+    <pointer-type-def type-id='type-id-349' size-in-bits='64' id='type-id-350'/>
+    <typedef-decl name='eth_dev_infos_get_t' type-id='type-id-350' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='230' column='1' id='type-id-173'/>
+    <class-decl name='rte_eth_rxq_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1289' column='1' id='type-id-351'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mp' type-id='type-id-26' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1290' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='conf' type-id='type-id-274' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1291' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='scattered_rx' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1292' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='nb_desc' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1293' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-351' size-in-bits='64' id='type-id-352'/>
+    <pointer-type-def type-id='type-id-353' size-in-bits='64' id='type-id-354'/>
+    <typedef-decl name='eth_rxq_info_get_t' type-id='type-id-354' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='306' column='1' id='type-id-174'/>
+    <class-decl name='rte_eth_txq_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1300' column='1' id='type-id-355'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='conf' type-id='type-id-275' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1301' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='nb_desc' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1302' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-355' size-in-bits='64' id='type-id-356'/>
+    <pointer-type-def type-id='type-id-357' size-in-bits='64' id='type-id-358'/>
+    <typedef-decl name='eth_txq_info_get_t' type-id='type-id-358' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='309' column='1' id='type-id-175'/>
+    <class-decl name='rte_eth_burst_mode' size-in-bits='8256' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1318' column='1' id='type-id-359'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1319' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='info' type-id='type-id-360' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1322' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-46' size-in-bits='8192' id='type-id-360'>
+      <subrange length='1024' type-id='type-id-30' id='type-id-146'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-359' size-in-bits='64' id='type-id-361'/>
+    <pointer-type-def type-id='type-id-362' size-in-bits='64' id='type-id-363'/>
+    <typedef-decl name='eth_burst_mode_get_t' type-id='type-id-363' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='312' column='1' id='type-id-176'/>
+    <pointer-type-def type-id='type-id-364' size-in-bits='64' id='type-id-365'/>
+    <typedef-decl name='eth_fw_version_get_t' type-id='type-id-365' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='299' column='1' id='type-id-177'/>
+    <pointer-type-def type-id='type-id-366' size-in-bits='64' id='type-id-367'/>
+    <typedef-decl name='eth_dev_supported_ptypes_get_t' type-id='type-id-367' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='234' column='1' id='type-id-178'/>
+    <pointer-type-def type-id='type-id-368' size-in-bits='64' id='type-id-369'/>
+    <typedef-decl name='eth_dev_ptypes_set_t' type-id='type-id-369' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='249' column='1' id='type-id-179'/>
+    <pointer-type-def type-id='type-id-370' size-in-bits='64' id='type-id-371'/>
+    <typedef-decl name='vlan_filter_set_t' type-id='type-id-371' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='318' column='1' id='type-id-180'/>
+    <enum-decl name='rte_vlan_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='416' column='1' id='type-id-372'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='ETH_VLAN_TYPE_UNKNOWN' value='0'/>
+      <enumerator name='ETH_VLAN_TYPE_INNER' value='1'/>
+      <enumerator name='ETH_VLAN_TYPE_OUTER' value='2'/>
+      <enumerator name='ETH_VLAN_TYPE_MAX' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-373' size-in-bits='64' id='type-id-374'/>
+    <typedef-decl name='vlan_tpid_set_t' type-id='type-id-374' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='323' column='1' id='type-id-181'/>
+    <pointer-type-def type-id='type-id-375' size-in-bits='64' id='type-id-376'/>
+    <typedef-decl name='vlan_strip_queue_set_t' type-id='type-id-376' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='335' column='1' id='type-id-182'/>
+    <typedef-decl name='vlan_offload_set_t' type-id='type-id-245' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='327' column='1' id='type-id-183'/>
+    <typedef-decl name='vlan_pvid_set_t' type-id='type-id-371' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='330' column='1' id='type-id-184'/>
+    <typedef-decl name='eth_queue_start_t' type-id='type-id-255' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='252' column='1' id='type-id-185'/>
+    <typedef-decl name='eth_queue_stop_t' type-id='type-id-255' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='256' column='1' id='type-id-186'/>
+    <qualified-type-def type-id='type-id-274' const='yes' id='type-id-377'/>
+    <pointer-type-def type-id='type-id-377' size-in-bits='64' id='type-id-378'/>
+    <pointer-type-def type-id='type-id-379' size-in-bits='64' id='type-id-380'/>
+    <typedef-decl name='eth_rx_queue_setup_t' type-id='type-id-380' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='260' column='1' id='type-id-187'/>
+    <pointer-type-def type-id='type-id-381' size-in-bits='64' id='type-id-382'/>
+    <typedef-decl name='eth_queue_release_t' type-id='type-id-382' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='283' column='1' id='type-id-188'/>
+    <pointer-type-def type-id='type-id-383' size-in-bits='64' id='type-id-384'/>
+    <typedef-decl name='eth_rx_queue_count_t' type-id='type-id-384' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='286' column='1' id='type-id-189'/>
+    <pointer-type-def type-id='type-id-385' size-in-bits='64' id='type-id-386'/>
+    <typedef-decl name='eth_rx_descriptor_done_t' type-id='type-id-386' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='290' column='1' id='type-id-190'/>
+    <typedef-decl name='eth_rx_descriptor_status_t' type-id='type-id-386' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='293' column='1' id='type-id-191'/>
+    <typedef-decl name='eth_tx_descriptor_status_t' type-id='type-id-386' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='296' column='1' id='type-id-192'/>
+    <typedef-decl name='eth_rx_enable_intr_t' type-id='type-id-255' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='275' column='1' id='type-id-193'/>
+    <typedef-decl name='eth_rx_disable_intr_t' type-id='type-id-255' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='279' column='1' id='type-id-194'/>
+    <qualified-type-def type-id='type-id-275' const='yes' id='type-id-387'/>
+    <pointer-type-def type-id='type-id-387' size-in-bits='64' id='type-id-388'/>
+    <pointer-type-def type-id='type-id-389' size-in-bits='64' id='type-id-390'/>
+    <typedef-decl name='eth_tx_queue_setup_t' type-id='type-id-390' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='268' column='1' id='type-id-195'/>
+    <pointer-type-def type-id='type-id-391' size-in-bits='64' id='type-id-392'/>
+    <typedef-decl name='eth_tx_done_cleanup_t' type-id='type-id-392' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='303' column='1' id='type-id-196'/>
+    <typedef-decl name='eth_dev_led_on_t' type-id='type-id-241' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='385' column='1' id='type-id-197'/>
+    <typedef-decl name='eth_dev_led_off_t' type-id='type-id-241' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='388' column='1' id='type-id-198'/>
+    <class-decl name='rte_eth_fc_conf' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='942' column='1' id='type-id-393'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='high_water' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='943' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='low_water' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='944' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pause_time' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='945' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='send_xon' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='946' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='mode' type-id='type-id-394' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='947' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mac_ctrl_frame_fwd' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='948' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='autoneg' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='949' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_fc_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='930' column='1' id='type-id-394'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='RTE_FC_NONE' value='0'/>
+      <enumerator name='RTE_FC_RX_PAUSE' value='1'/>
+      <enumerator name='RTE_FC_TX_PAUSE' value='2'/>
+      <enumerator name='RTE_FC_FULL' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-393' size-in-bits='64' id='type-id-395'/>
+    <pointer-type-def type-id='type-id-396' size-in-bits='64' id='type-id-397'/>
+    <typedef-decl name='flow_ctrl_get_t' type-id='type-id-397' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='355' column='1' id='type-id-199'/>
+    <typedef-decl name='flow_ctrl_set_t' type-id='type-id-397' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='359' column='1' id='type-id-200'/>
+    <class-decl name='rte_eth_pfc_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='957' column='1' id='type-id-398'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fc' type-id='type-id-393' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='958' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='priority' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='959' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-398' size-in-bits='64' id='type-id-399'/>
+    <pointer-type-def type-id='type-id-400' size-in-bits='64' id='type-id-401'/>
+    <typedef-decl name='priority_flow_ctrl_set_t' type-id='type-id-401' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='363' column='1' id='type-id-201'/>
+    <pointer-type-def type-id='type-id-402' size-in-bits='64' id='type-id-403'/>
+    <typedef-decl name='eth_uc_hash_table_set_t' type-id='type-id-403' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='404' column='1' id='type-id-202'/>
+    <pointer-type-def type-id='type-id-404' size-in-bits='64' id='type-id-405'/>
+    <typedef-decl name='eth_uc_all_hash_table_set_t' type-id='type-id-405' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='409' column='1' id='type-id-203'/>
+    <class-decl name='rte_eth_mirror_conf' size-in-bits='1216' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='670' column='1' id='type-id-406'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rule_type' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='dst_pool' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='672' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pool_mask' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vlan' type-id='type-id-407' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='675' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vlan_mirror' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='661' column='1' id='type-id-407'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_mask' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='vlan_id' type-id='type-id-408' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='664' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-18' size-in-bits='1024' id='type-id-408'>
+      <subrange length='64' type-id='type-id-30' id='type-id-97'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-406' size-in-bits='64' id='type-id-409'/>
+    <pointer-type-def type-id='type-id-410' size-in-bits='64' id='type-id-411'/>
+    <typedef-decl name='eth_mirror_rule_set_t' type-id='type-id-411' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='418' column='1' id='type-id-204'/>
+    <typedef-decl name='eth_mirror_rule_reset_t' type-id='type-id-405' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='424' column='1' id='type-id-205'/>
+    <class-decl name='rte_eth_udp_tunnel' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1023' column='1' id='type-id-412'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='udp_port' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1024' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='prot_type' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1025' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-412' size-in-bits='64' id='type-id-413'/>
+    <pointer-type-def type-id='type-id-414' size-in-bits='64' id='type-id-415'/>
+    <typedef-decl name='eth_udp_tunnel_port_add_t' type-id='type-id-415' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='428' column='1' id='type-id-206'/>
+    <typedef-decl name='eth_udp_tunnel_port_del_t' type-id='type-id-415' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='432' column='1' id='type-id-207'/>
+    <class-decl name='rte_eth_l2_tunnel_conf' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='751' column='1' id='type-id-416'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='l2_tunnel_type' type-id='type-id-417' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='752' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ether_type' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tunnel_id' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='754' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='vf_id' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='755' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pool' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='756' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_tunnel_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='965' column='1' id='type-id-417'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='RTE_TUNNEL_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_TUNNEL_TYPE_VXLAN' value='1'/>
+      <enumerator name='RTE_TUNNEL_TYPE_GENEVE' value='2'/>
+      <enumerator name='RTE_TUNNEL_TYPE_TEREDO' value='3'/>
+      <enumerator name='RTE_TUNNEL_TYPE_NVGRE' value='4'/>
+      <enumerator name='RTE_TUNNEL_TYPE_IP_IN_GRE' value='5'/>
+      <enumerator name='RTE_L2_TUNNEL_TYPE_E_TAG' value='6'/>
+      <enumerator name='RTE_TUNNEL_TYPE_VXLAN_GPE' value='7'/>
+      <enumerator name='RTE_TUNNEL_TYPE_MAX' value='8'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-416' size-in-bits='64' id='type-id-418'/>
+    <pointer-type-def type-id='type-id-419' size-in-bits='64' id='type-id-420'/>
+    <typedef-decl name='eth_l2_tunnel_eth_type_conf_t' type-id='type-id-420' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='494' column='1' id='type-id-208'/>
+    <pointer-type-def type-id='type-id-421' size-in-bits='64' id='type-id-422'/>
+    <typedef-decl name='eth_l2_tunnel_offload_set_t' type-id='type-id-422' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='498' column='1' id='type-id-209'/>
+    <pointer-type-def type-id='type-id-423' size-in-bits='64' id='type-id-424'/>
+    <typedef-decl name='eth_set_queue_rate_limit_t' type-id='type-id-424' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='413' column='1' id='type-id-210'/>
+    <pointer-type-def type-id='type-id-110' size-in-bits='64' id='type-id-425'/>
+    <pointer-type-def type-id='type-id-426' size-in-bits='64' id='type-id-427'/>
+    <typedef-decl name='rss_hash_update_t' type-id='type-id-427' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='377' column='1' id='type-id-211'/>
+    <typedef-decl name='rss_hash_conf_get_t' type-id='type-id-427' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='381' column='1' id='type-id-212'/>
+    <class-decl name='rte_eth_rss_reta_entry64' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='684' column='1' id='type-id-428'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mask' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='685' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='reta' type-id='type-id-408' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='687' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-428' size-in-bits='64' id='type-id-429'/>
+    <pointer-type-def type-id='type-id-430' size-in-bits='64' id='type-id-431'/>
+    <typedef-decl name='reta_update_t' type-id='type-id-431' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='367' column='1' id='type-id-213'/>
+    <typedef-decl name='reta_query_t' type-id='type-id-431' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='372' column='1' id='type-id-214'/>
+    <class-decl name='rte_dev_reg_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='13' column='1' id='type-id-432'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='14' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offset' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='15' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='length' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='16' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='width' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='17' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='version' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='18' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-432' size-in-bits='64' id='type-id-433'/>
+    <pointer-type-def type-id='type-id-434' size-in-bits='64' id='type-id-435'/>
+    <typedef-decl name='eth_get_reg_t' type-id='type-id-435' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='471' column='1' id='type-id-215'/>
+    <typedef-decl name='eth_get_eeprom_length_t' type-id='type-id-241' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='475' column='1' id='type-id-216'/>
+    <class-decl name='rte_dev_eeprom_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='24' column='1' id='type-id-436'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='25' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offset' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='26' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='length' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='27' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='magic' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='28' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-436' size-in-bits='64' id='type-id-437'/>
+    <pointer-type-def type-id='type-id-438' size-in-bits='64' id='type-id-439'/>
+    <typedef-decl name='eth_get_eeprom_t' type-id='type-id-439' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='478' column='1' id='type-id-217'/>
+    <typedef-decl name='eth_set_eeprom_t' type-id='type-id-439' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='482' column='1' id='type-id-218'/>
+    <class-decl name='rte_eth_dev_module_info' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='34' column='1' id='type-id-440'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='eeprom_len' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-440' size-in-bits='64' id='type-id-441'/>
+    <pointer-type-def type-id='type-id-442' size-in-bits='64' id='type-id-443'/>
+    <typedef-decl name='eth_get_module_info_t' type-id='type-id-443' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='486' column='1' id='type-id-219'/>
+    <typedef-decl name='eth_get_module_eeprom_t' type-id='type-id-439' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='490' column='1' id='type-id-220'/>
+    <enum-decl name='rte_filter_type' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='28' column='1' id='type-id-444'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='RTE_ETH_FILTER_NONE' value='0'/>
+      <enumerator name='RTE_ETH_FILTER_MACVLAN' value='1'/>
+      <enumerator name='RTE_ETH_FILTER_ETHERTYPE' value='2'/>
+      <enumerator name='RTE_ETH_FILTER_FLEXIBLE' value='3'/>
+      <enumerator name='RTE_ETH_FILTER_SYN' value='4'/>
+      <enumerator name='RTE_ETH_FILTER_NTUPLE' value='5'/>
+      <enumerator name='RTE_ETH_FILTER_TUNNEL' value='6'/>
+      <enumerator name='RTE_ETH_FILTER_FDIR' value='7'/>
+      <enumerator name='RTE_ETH_FILTER_HASH' value='8'/>
+      <enumerator name='RTE_ETH_FILTER_L2_TUNNEL' value='9'/>
+      <enumerator name='RTE_ETH_FILTER_GENERIC' value='10'/>
+      <enumerator name='RTE_ETH_FILTER_MAX' value='11'/>
+    </enum-decl>
+    <enum-decl name='rte_filter_op' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='46' column='1' id='type-id-445'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='RTE_ETH_FILTER_NOP' value='0'/>
+      <enumerator name='RTE_ETH_FILTER_ADD' value='1'/>
+      <enumerator name='RTE_ETH_FILTER_UPDATE' value='2'/>
+      <enumerator name='RTE_ETH_FILTER_DELETE' value='3'/>
+      <enumerator name='RTE_ETH_FILTER_FLUSH' value='4'/>
+      <enumerator name='RTE_ETH_FILTER_GET' value='5'/>
+      <enumerator name='RTE_ETH_FILTER_SET' value='6'/>
+      <enumerator name='RTE_ETH_FILTER_INFO' value='7'/>
+      <enumerator name='RTE_ETH_FILTER_STATS' value='8'/>
+      <enumerator name='RTE_ETH_FILTER_OP_MAX' value='9'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-446' size-in-bits='64' id='type-id-447'/>
+    <typedef-decl name='eth_filter_ctrl_t' type-id='type-id-447' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='506' column='1' id='type-id-221'/>
+    <class-decl name='rte_eth_dcb_info' size-in-bits='16520' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1377' column='1' id='type-id-448'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1378' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='prio_tc' type-id='type-id-117' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1379' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='tc_bws' type-id='type-id-117' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1380' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='tc_queue' type-id='type-id-449' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1382' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dcb_tc_queue_mapping' size-in-bits='16384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1360' column='1' id='type-id-449'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tc_rxq' type-id='type-id-450' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1365' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8192'>
+        <var-decl name='tc_txq' type-id='type-id-450' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1370' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1362' column='1' id='type-id-451'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='base' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1363' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='nb_queue' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1364' column='1'/>
+      </data-member>
+    </class-decl>
+
+
+    <array-type-def dimensions='2' type-id='type-id-451' size-in-bits='1152' id='type-id-450'>
+      <subrange length='64' type-id='type-id-30' id='type-id-97'/>
+
+      <subrange length='8' type-id='type-id-30' id='type-id-119'/>
+
+    </array-type-def>
+
+
+    <pointer-type-def type-id='type-id-448' size-in-bits='64' id='type-id-452'/>
+    <pointer-type-def type-id='type-id-453' size-in-bits='64' id='type-id-454'/>
+    <typedef-decl name='eth_get_dcb_info' type-id='type-id-454' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='518' column='1' id='type-id-222'/>
+    <typedef-decl name='eth_timesync_enable_t' type-id='type-id-241' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='441' column='1' id='type-id-223'/>
+    <typedef-decl name='eth_timesync_disable_t' type-id='type-id-241' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='444' column='1' id='type-id-224'/>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='9' column='1' id='type-id-455'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tv_sec' type-id='type-id-456' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='11' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tv_nsec' type-id='type-id-457' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='long int' size-in-bits='64' id='type-id-458'/>
+    <typedef-decl name='__time_t' type-id='type-id-458' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-456'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-458' filepath='/usr/include/bits/types.h' line='196' column='1' id='type-id-457'/>
+    <pointer-type-def type-id='type-id-455' size-in-bits='64' id='type-id-459'/>
+    <pointer-type-def type-id='type-id-460' size-in-bits='64' id='type-id-461'/>
+    <typedef-decl name='eth_timesync_read_rx_timestamp_t' type-id='type-id-461' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='447' column='1' id='type-id-225'/>
+    <pointer-type-def type-id='type-id-462' size-in-bits='64' id='type-id-463'/>
+    <typedef-decl name='eth_timesync_read_tx_timestamp_t' type-id='type-id-463' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='452' column='1' id='type-id-226'/>
+    <typedef-decl name='__int64_t' type-id='type-id-458' filepath='/usr/include/bits/types.h' line='44' column='1' id='type-id-464'/>
+    <typedef-decl name='int64_t' type-id='type-id-464' filepath='/usr/include/bits/stdint-intn.h' line='27' column='1' id='type-id-465'/>
+    <pointer-type-def type-id='type-id-466' size-in-bits='64' id='type-id-467'/>
+    <typedef-decl name='eth_timesync_adjust_time' type-id='type-id-467' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='456' column='1' id='type-id-227'/>
+    <typedef-decl name='eth_timesync_read_time' type-id='type-id-463' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='459' column='1' id='type-id-228'/>
+    <qualified-type-def type-id='type-id-455' const='yes' id='type-id-468'/>
+    <pointer-type-def type-id='type-id-468' size-in-bits='64' id='type-id-469'/>
+    <pointer-type-def type-id='type-id-470' size-in-bits='64' id='type-id-471'/>
+    <typedef-decl name='eth_timesync_write_time' type-id='type-id-471' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='463' column='1' id='type-id-229'/>
+    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-472'/>
+    <pointer-type-def type-id='type-id-473' size-in-bits='64' id='type-id-474'/>
+    <typedef-decl name='eth_read_clock' type-id='type-id-474' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='467' column='1' id='type-id-230'/>
+    <qualified-type-def type-id='type-id-24' const='yes' id='type-id-475'/>
+    <pointer-type-def type-id='type-id-475' size-in-bits='64' id='type-id-476'/>
+    <pointer-type-def type-id='type-id-477' size-in-bits='64' id='type-id-478'/>
+    <typedef-decl name='eth_xstats_get_by_id_t' type-id='type-id-478' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='188' column='1' id='type-id-231'/>
+    <pointer-type-def type-id='type-id-479' size-in-bits='64' id='type-id-480'/>
+    <typedef-decl name='eth_xstats_get_names_by_id_t' type-id='type-id-480' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='219' column='1' id='type-id-232'/>
+    <pointer-type-def type-id='type-id-481' size-in-bits='64' id='type-id-482'/>
+    <typedef-decl name='eth_tm_ops_get_t' type-id='type-id-482' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='512' column='1' id='type-id-233'/>
+    <typedef-decl name='eth_mtr_ops_get_t' type-id='type-id-482' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='515' column='1' id='type-id-234'/>
+    <pointer-type-def type-id='type-id-483' size-in-bits='64' id='type-id-484'/>
+    <typedef-decl name='eth_pool_ops_supported_t' type-id='type-id-484' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='522' column='1' id='type-id-235'/>
+    <class-decl name='rte_eth_hairpin_cap' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='861' column='1' id='type-id-485'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max_nb_queues' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='863' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='max_rx_2_tx' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_tx_2_rx' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='867' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='max_nb_desc' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='868' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-485' size-in-bits='64' id='type-id-486'/>
+    <pointer-type-def type-id='type-id-487' size-in-bits='64' id='type-id-488'/>
+    <typedef-decl name='eth_hairpin_cap_get_t' type-id='type-id-488' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='543' column='1' id='type-id-236'/>
+    <class-decl name='rte_eth_hairpin_conf' size-in-bits='1040' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='890' column='1' id='type-id-489'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='peer_count' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='891' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='peers' type-id='type-id-490' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='892' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_hairpin_peer' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='879' column='1' id='type-id-491'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='port' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='880' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='queue' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='881' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-491' size-in-bits='1024' id='type-id-490'>
+      <subrange length='32' type-id='type-id-30' id='type-id-47'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-489' const='yes' id='type-id-492'/>
+    <pointer-type-def type-id='type-id-492' size-in-bits='64' id='type-id-493'/>
+    <pointer-type-def type-id='type-id-494' size-in-bits='64' id='type-id-495'/>
+    <typedef-decl name='eth_rx_hairpin_queue_setup_t' type-id='type-id-495' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='571' column='1' id='type-id-237'/>
+    <typedef-decl name='eth_tx_hairpin_queue_setup_t' type-id='type-id-495' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='601' column='1' id='type-id-238'/>
+    <qualified-type-def type-id='type-id-148' const='yes' id='type-id-496'/>
+    <pointer-type-def type-id='type-id-496' size-in-bits='64' id='type-id-8'/>
+    <class-decl name='rte_intr_handle' size-in-bits='213248' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='69' column='1' id='type-id-497'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-498' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-499' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='max_intr' type-id='type-id-25' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='nb_efd' type-id='type-id-25' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='efd_counter_size' type-id='type-id-92' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='efds' type-id='type-id-500' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16576'>
+        <var-decl name='elist' type-id='type-id-501' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='213184'>
+        <var-decl name='intr_vec' type-id='type-id-502' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='71' column='1' id='type-id-498'>
+      <data-member access='private'>
+        <var-decl name='vfio_dev_fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='uio_cfg_fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='73' column='1'/>
+      </data-member>
+    </union-decl>
+    <enum-decl name='rte_intr_handle_type' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='27' column='1' id='type-id-499'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='RTE_INTR_HANDLE_UNKNOWN' value='0'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO' value='1'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO_INTX' value='2'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_LEGACY' value='3'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSI' value='4'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSIX' value='5'/>
+      <enumerator name='RTE_INTR_HANDLE_ALARM' value='6'/>
+      <enumerator name='RTE_INTR_HANDLE_EXT' value='7'/>
+      <enumerator name='RTE_INTR_HANDLE_VDEV' value='8'/>
+      <enumerator name='RTE_INTR_HANDLE_DEV_EVENT' value='9'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_REQ' value='10'/>
+      <enumerator name='RTE_INTR_HANDLE_MAX' value='11'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='16384' id='type-id-500'>
+      <subrange length='512' type-id='type-id-30' id='type-id-503'/>
+
+    </array-type-def>
+    <class-decl name='rte_epoll_event' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='61' column='1' id='type-id-504'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='status' type-id='type-id-505' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='epfd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='epdata' type-id='type-id-506' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-25' volatile='yes' id='type-id-505'/>
+    <class-decl name='rte_epoll_data' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='47' column='1' id='type-id-506'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event' type-id='type-id-25' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='data' type-id='type-id-7' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cb_fun' type-id='type-id-507' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='cb_arg' type-id='type-id-7' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='51' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-508' size-in-bits='64' id='type-id-509'/>
+    <typedef-decl name='rte_intr_event_cb_t' type-id='type-id-509' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='45' column='1' id='type-id-507'/>
+
+    <array-type-def dimensions='1' type-id='type-id-504' size-in-bits='196608' id='type-id-501'>
+      <subrange length='512' type-id='type-id-30' id='type-id-503'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-502'/>
+    <pointer-type-def type-id='type-id-497' size-in-bits='64' id='type-id-10'/>
+    <class-decl name='rte_eth_dev_cb_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1' id='type-id-11'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-510' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-511' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_callback' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.c' line='175' column='1' id='type-id-512'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-513' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.c' line='176' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cb_fn' type-id='type-id-514' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.c' line='177' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='cb_arg' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.c' line='178' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='ret_param' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.c' line='179' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='event' type-id='type-id-515' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.c' line='180' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='active' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.c' line='181' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.c' line='176' column='1' id='type-id-513'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-510' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.c' line='176' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-511' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.c' line='176' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-512' size-in-bits='64' id='type-id-510'/>
+    <pointer-type-def type-id='type-id-510' size-in-bits='64' id='type-id-511'/>
+    <enum-decl name='rte_eth_event_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='3005' column='1' id='type-id-515'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='RTE_ETH_EVENT_UNKNOWN' value='0'/>
+      <enumerator name='RTE_ETH_EVENT_INTR_LSC' value='1'/>
+      <enumerator name='RTE_ETH_EVENT_QUEUE_STATE' value='2'/>
+      <enumerator name='RTE_ETH_EVENT_INTR_RESET' value='3'/>
+      <enumerator name='RTE_ETH_EVENT_VF_MBOX' value='4'/>
+      <enumerator name='RTE_ETH_EVENT_MACSEC' value='5'/>
+      <enumerator name='RTE_ETH_EVENT_INTR_RMV' value='6'/>
+      <enumerator name='RTE_ETH_EVENT_NEW' value='7'/>
+      <enumerator name='RTE_ETH_EVENT_DESTROY' value='8'/>
+      <enumerator name='RTE_ETH_EVENT_IPSEC' value='9'/>
+      <enumerator name='RTE_ETH_EVENT_MAX' value='10'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-516' size-in-bits='64' id='type-id-517'/>
+    <typedef-decl name='rte_eth_dev_cb_fn' type-id='type-id-517' filepath='../lib/librte_ethdev/rte_ethdev.h' line='3021' column='1' id='type-id-514'/>
+    <class-decl name='rte_eth_rxtx_callback' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='758' column='1' id='type-id-518'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-519' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='759' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fn' type-id='type-id-520' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='763' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='param' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='764' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-518' size-in-bits='64' id='type-id-519'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='760' column='1' id='type-id-520'>
+      <data-member access='private'>
+        <var-decl name='rx' type-id='type-id-521' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='761' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='tx' type-id='type-id-522' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='762' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-523' size-in-bits='64' id='type-id-524'/>
+    <typedef-decl name='rte_rx_callback_fn' type-id='type-id-524' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1437' column='1' id='type-id-521'/>
+    <pointer-type-def type-id='type-id-525' size-in-bits='64' id='type-id-526'/>
+    <typedef-decl name='rte_tx_callback_fn' type-id='type-id-526' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1461' column='1' id='type-id-522'/>
+
+    <array-type-def dimensions='1' type-id='type-id-519' size-in-bits='65536' id='type-id-12'>
+      <subrange length='1024' type-id='type-id-30' id='type-id-146'/>
+
+    </array-type-def>
+    <enum-decl name='rte_eth_dev_state' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1467' column='1' id='type-id-13'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='RTE_ETH_DEV_UNUSED' value='0'/>
+      <enumerator name='RTE_ETH_DEV_ATTACHED' value='1'/>
+      <enumerator name='RTE_ETH_DEV_REMOVED' value='2'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='infinite' id='type-id-527'>
+      <subrange length='infinite' id='type-id-32'/>
+
+    </array-type-def>
+    <var-decl name='rte_eth_devices' type-id='type-id-527' mangled-name='rte_eth_devices' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='884' column='1' elf-symbol-id='rte_eth_devices@@DPDK_20.0'/>
+    <function-decl name='rte_eth_dev_pool_ops_supported' mangled-name='rte_eth_dev_pool_ops_supported' filepath='../lib/librte_ethdev/rte_ethdev.c' line='5026' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_pool_ops_supported@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='5026' column='1'/>
+      <parameter type-id='type-id-272' name='pool' filepath='../lib/librte_ethdev/rte_ethdev.c' line='5026' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-528'/>
+    <function-decl name='rte_eth_dev_adjust_nb_rx_tx_desc' mangled-name='rte_eth_dev_adjust_nb_rx_tx_desc' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4971' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_adjust_nb_rx_tx_desc@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4971' column='1'/>
+      <parameter type-id='type-id-528' name='nb_rx_desc' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4972' column='1'/>
+      <parameter type-id='type-id-528' name='nb_tx_desc' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4973' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_l2_tunnel_offload_set' mangled-name='rte_eth_dev_l2_tunnel_offload_set' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4926' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_l2_tunnel_offload_set@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4926' column='1'/>
+      <parameter type-id='type-id-418' name='l2_tunnel' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4927' column='1'/>
+      <parameter type-id='type-id-25' name='mask' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4928' column='1'/>
+      <parameter type-id='type-id-92' name='en' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4929' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_l2_tunnel_eth_type_conf' mangled-name='rte_eth_dev_l2_tunnel_eth_type_conf' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4902' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_l2_tunnel_eth_type_conf@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4902' column='1'/>
+      <parameter type-id='type-id-418' name='l2_tunnel' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4903' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_get_dcb_info' mangled-name='rte_eth_dev_get_dcb_info' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4887' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_get_dcb_info@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4887' column='1'/>
+      <parameter type-id='type-id-452' name='dcb_info' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4888' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_set_eeprom' mangled-name='rte_eth_dev_set_eeprom' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4849' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_set_eeprom@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4849' column='1'/>
+      <parameter type-id='type-id-437' name='info' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4849' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_get_eeprom' mangled-name='rte_eth_dev_get_eeprom' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4837' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_get_eeprom@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4849' column='1'/>
+      <parameter type-id='type-id-437' name='info' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4849' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_get_eeprom_length' mangled-name='rte_eth_dev_get_eeprom_length' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4825' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_get_eeprom_length@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4825' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_get_reg_info' mangled-name='rte_eth_dev_get_reg_info' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4813' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_get_reg_info@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4813' column='1'/>
+      <parameter type-id='type-id-433' name='info' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4813' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_timesync_write_time' mangled-name='rte_eth_timesync_write_time' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4788' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_timesync_write_time@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4788' column='1'/>
+      <parameter type-id='type-id-469' name='timestamp' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4788' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_timesync_read_time' mangled-name='rte_eth_timesync_read_time' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4775' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_timesync_read_time@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4775' column='1'/>
+      <parameter type-id='type-id-459' name='timestamp' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4775' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_timesync_adjust_time' mangled-name='rte_eth_timesync_adjust_time' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4762' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_timesync_adjust_time@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4762' column='1'/>
+      <parameter type-id='type-id-465' name='delta' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4762' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_timesync_read_tx_timestamp' mangled-name='rte_eth_timesync_read_tx_timestamp' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4748' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_timesync_read_tx_timestamp@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4775' column='1'/>
+      <parameter type-id='type-id-459' name='timestamp' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4775' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_timesync_read_rx_timestamp' mangled-name='rte_eth_timesync_read_rx_timestamp' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4734' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_timesync_read_rx_timestamp@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4734' column='1'/>
+      <parameter type-id='type-id-459' name='timestamp' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4734' column='1'/>
+      <parameter type-id='type-id-25' name='flags' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4735' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_timesync_disable' mangled-name='rte_eth_timesync_disable' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4722' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_timesync_disable@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4825' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_timesync_enable' mangled-name='rte_eth_timesync_enable' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4710' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_timesync_enable@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4825' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_set_mc_addr_list' mangled-name='rte_eth_dev_set_mc_addr_list' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4695' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_set_mc_addr_list@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4695' column='1'/>
+      <parameter type-id='type-id-90' name='mc_addr_set' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4696' column='1'/>
+      <parameter type-id='type-id-25' name='nb_mc_addr' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4697' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_tx_queue_info_get' mangled-name='rte_eth_tx_queue_info_get' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4615' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_tx_queue_info_get@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4615' column='1'/>
+      <parameter type-id='type-id-18' name='queue_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4615' column='1'/>
+      <parameter type-id='type-id-356' name='qinfo' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4616' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_rx_queue_info_get' mangled-name='rte_eth_rx_queue_info_get' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4584' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_rx_queue_info_get@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4584' column='1'/>
+      <parameter type-id='type-id-18' name='queue_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4584' column='1'/>
+      <parameter type-id='type-id-352' name='qinfo' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4585' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-518' const='yes' id='type-id-529'/>
+    <pointer-type-def type-id='type-id-529' size-in-bits='64' id='type-id-530'/>
+    <function-decl name='rte_eth_remove_tx_callback' mangled-name='rte_eth_remove_tx_callback' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4550' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_remove_tx_callback@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4550' column='1'/>
+      <parameter type-id='type-id-18' name='queue_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4550' column='1'/>
+      <parameter type-id='type-id-530' name='user_cb' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4551' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_remove_rx_callback' mangled-name='rte_eth_remove_rx_callback' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4516' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_remove_rx_callback@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4550' column='1'/>
+      <parameter type-id='type-id-18' name='queue_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4550' column='1'/>
+      <parameter type-id='type-id-530' name='user_cb' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4551' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_add_tx_callback' mangled-name='rte_eth_add_tx_callback' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4465' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_add_tx_callback@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4465' column='1'/>
+      <parameter type-id='type-id-18' name='queue_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4465' column='1'/>
+      <parameter type-id='type-id-522' name='fn' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4466' column='1'/>
+      <parameter type-id='type-id-7' name='user_param' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4466' column='1'/>
+      <return type-id='type-id-530'/>
+    </function-decl>
+    <function-decl name='rte_eth_add_first_rx_callback' mangled-name='rte_eth_add_first_rx_callback' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4430' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_add_first_rx_callback@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4430' column='1'/>
+      <parameter type-id='type-id-18' name='queue_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4430' column='1'/>
+      <parameter type-id='type-id-521' name='fn' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4431' column='1'/>
+      <parameter type-id='type-id-7' name='user_param' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4431' column='1'/>
+      <return type-id='type-id-530'/>
+    </function-decl>
+    <function-decl name='rte_eth_add_rx_callback' mangled-name='rte_eth_add_rx_callback' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4381' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_add_rx_callback@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4381' column='1'/>
+      <parameter type-id='type-id-18' name='queue_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4381' column='1'/>
+      <parameter type-id='type-id-521' name='fn' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4382' column='1'/>
+      <parameter type-id='type-id-7' name='user_param' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4382' column='1'/>
+      <return type-id='type-id-530'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_filter_ctrl' mangled-name='rte_eth_dev_filter_ctrl' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4367' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_filter_ctrl@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4367' column='1'/>
+      <parameter type-id='type-id-444' name='filter_type' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4367' column='1'/>
+      <parameter type-id='type-id-445' name='filter_op' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4368' column='1'/>
+      <parameter type-id='type-id-7' name='arg' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4368' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_filter_supported' mangled-name='rte_eth_dev_filter_supported' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4353' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_filter_supported@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4353' column='1'/>
+      <parameter type-id='type-id-444' name='filter_type' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4354' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_rx_intr_disable' mangled-name='rte_eth_dev_rx_intr_disable' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4337' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_rx_intr_disable@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4337' column='1'/>
+      <parameter type-id='type-id-18' name='queue_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4338' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_rx_intr_enable' mangled-name='rte_eth_dev_rx_intr_enable' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4322' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_rx_intr_enable@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4337' column='1'/>
+      <parameter type-id='type-id-18' name='queue_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4338' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_rx_intr_ctl_q' mangled-name='rte_eth_dev_rx_intr_ctl_q' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4282' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_rx_intr_ctl_q@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4282' column='1'/>
+      <parameter type-id='type-id-18' name='queue_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4282' column='1'/>
+      <parameter type-id='type-id-1' name='epfd' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4283' column='1'/>
+      <parameter type-id='type-id-1' name='op' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4283' column='1'/>
+      <parameter type-id='type-id-7' name='data' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4283' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-2' const='yes' id='type-id-531'/>
+    <pointer-type-def type-id='type-id-531' size-in-bits='64' id='type-id-532'/>
+    <function-decl name='rte_eth_dma_zone_reserve' mangled-name='rte_eth_dma_zone_reserve' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4175' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dma_zone_reserve@@DPDK_20.0'>
+      <parameter type-id='type-id-532' name='dev' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4175' column='1'/>
+      <parameter type-id='type-id-272' name='ring_name' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4175' column='1'/>
+      <parameter type-id='type-id-18' name='queue_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4176' column='1'/>
+      <parameter type-id='type-id-50' name='size' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4176' column='1'/>
+      <parameter type-id='type-id-36' name='align' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4176' column='1'/>
+      <parameter type-id='type-id-1' name='socket_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4177' column='1'/>
+      <return type-id='type-id-41'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_rx_intr_ctl' mangled-name='rte_eth_dev_rx_intr_ctl' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4101' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_rx_intr_ctl@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4101' column='1'/>
+      <parameter type-id='type-id-1' name='epfd' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4101' column='1'/>
+      <parameter type-id='type-id-1' name='op' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4101' column='1'/>
+      <parameter type-id='type-id-7' name='data' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4101' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_probing_finish' mangled-name='rte_eth_dev_probing_finish' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4090' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_probing_finish@@DPDK_20.0'>
+      <parameter type-id='type-id-239' name='dev' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4090' column='1'/>
+      <return type-id='type-id-19'/>
+    </function-decl>
+    <function-decl name='_rte_eth_dev_callback_process' mangled-name='_rte_eth_dev_callback_process' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4063' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_rte_eth_dev_callback_process@@DPDK_20.0'>
+      <parameter type-id='type-id-239' name='dev' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4063' column='1'/>
+      <parameter type-id='type-id-515' name='event' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4064' column='1'/>
+      <parameter type-id='type-id-7' name='ret_param' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4064' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_callback_unregister' mangled-name='rte_eth_dev_callback_unregister' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4006' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_callback_unregister@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4006' column='1'/>
+      <parameter type-id='type-id-515' name='event' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4007' column='1'/>
+      <parameter type-id='type-id-514' name='cb_fn' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4008' column='1'/>
+      <parameter type-id='type-id-7' name='cb_arg' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4008' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_callback_register' mangled-name='rte_eth_dev_callback_register' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3944' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_callback_register@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3944' column='1'/>
+      <parameter type-id='type-id-515' name='event' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3945' column='1'/>
+      <parameter type-id='type-id-514' name='cb_fn' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3946' column='1'/>
+      <parameter type-id='type-id-7' name='cb_arg' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3946' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_mirror_rule_reset' mangled-name='rte_eth_mirror_rule_reset' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3922' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_mirror_rule_reset@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3922' column='1'/>
+      <parameter type-id='type-id-92' name='rule_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3922' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_mirror_rule_set' mangled-name='rte_eth_mirror_rule_set' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3881' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_mirror_rule_set@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3881' column='1'/>
+      <parameter type-id='type-id-409' name='mirror_conf' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3882' column='1'/>
+      <parameter type-id='type-id-92' name='rule_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3883' column='1'/>
+      <parameter type-id='type-id-92' name='on' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3883' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_set_queue_rate_limit' mangled-name='rte_eth_set_queue_rate_limit' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3844' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_set_queue_rate_limit@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3844' column='1'/>
+      <parameter type-id='type-id-18' name='queue_idx' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3844' column='1'/>
+      <parameter type-id='type-id-18' name='tx_rate' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3845' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_uc_all_hash_table_set' mangled-name='rte_eth_dev_uc_all_hash_table_set' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3831' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_uc_all_hash_table_set@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3922' column='1'/>
+      <parameter type-id='type-id-92' name='rule_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3922' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_uc_hash_table_set' mangled-name='rte_eth_dev_uc_hash_table_set' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3778' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_uc_hash_table_set@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3778' column='1'/>
+      <parameter type-id='type-id-90' name='addr' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3778' column='1'/>
+      <parameter type-id='type-id-92' name='on' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3779' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_default_mac_addr_set' mangled-name='rte_eth_dev_default_mac_addr_set' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3726' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_default_mac_addr_set@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3726' column='1'/>
+      <parameter type-id='type-id-90' name='addr' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3726' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_mac_addr_remove' mangled-name='rte_eth_dev_mac_addr_remove' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3695' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_mac_addr_remove@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3726' column='1'/>
+      <parameter type-id='type-id-90' name='addr' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3726' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_mac_addr_add' mangled-name='rte_eth_dev_mac_addr_add' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3642' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_mac_addr_add@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3642' column='1'/>
+      <parameter type-id='type-id-90' name='addr' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3642' column='1'/>
+      <parameter type-id='type-id-25' name='pool' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3643' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_led_off' mangled-name='rte_eth_led_off' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3605' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_led_off@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4825' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_led_on' mangled-name='rte_eth_led_on' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3594' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_led_on@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4825' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_udp_tunnel_port_delete' mangled-name='rte_eth_dev_udp_tunnel_port_delete' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3570' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_udp_tunnel_port_delete@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3570' column='1'/>
+      <parameter type-id='type-id-413' name='udp_tunnel' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3571' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_udp_tunnel_port_add' mangled-name='rte_eth_dev_udp_tunnel_port_add' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3547' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_udp_tunnel_port_add@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3570' column='1'/>
+      <parameter type-id='type-id-413' name='udp_tunnel' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3571' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_rss_hash_conf_get' mangled-name='rte_eth_dev_rss_hash_conf_get' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3534' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_rss_hash_conf_get@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3534' column='1'/>
+      <parameter type-id='type-id-425' name='rss_conf' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3535' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_rss_hash_update' mangled-name='rte_eth_dev_rss_hash_update' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3504' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_rss_hash_update@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3504' column='1'/>
+      <parameter type-id='type-id-425' name='rss_conf' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3505' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_rss_reta_query' mangled-name='rte_eth_dev_rss_reta_query' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3483' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_rss_reta_query@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3483' column='1'/>
+      <parameter type-id='type-id-429' name='reta_conf' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3484' column='1'/>
+      <parameter type-id='type-id-18' name='reta_size' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3485' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_rss_reta_update' mangled-name='rte_eth_dev_rss_reta_update' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3456' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_rss_reta_update@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3483' column='1'/>
+      <parameter type-id='type-id-429' name='reta_conf' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3484' column='1'/>
+      <parameter type-id='type-id-18' name='reta_size' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3485' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_priority_flow_ctrl_set' mangled-name='rte_eth_dev_priority_flow_ctrl_set' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3387' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_priority_flow_ctrl_set@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3387' column='1'/>
+      <parameter type-id='type-id-399' name='pfc_conf' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3388' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_flow_ctrl_set' mangled-name='rte_eth_dev_flow_ctrl_set' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3371' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_flow_ctrl_set@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3371' column='1'/>
+      <parameter type-id='type-id-395' name='fc_conf' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3371' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_flow_ctrl_get' mangled-name='rte_eth_dev_flow_ctrl_get' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3359' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_flow_ctrl_get@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3371' column='1'/>
+      <parameter type-id='type-id-395' name='fc_conf' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3371' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_set_vlan_pvid' mangled-name='rte_eth_dev_set_vlan_pvid' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3347' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_set_vlan_pvid@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3347' column='1'/>
+      <parameter type-id='type-id-18' name='pvid' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3347' column='1'/>
+      <parameter type-id='type-id-1' name='on' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3347' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_get_vlan_offload' mangled-name='rte_eth_dev_get_vlan_offload' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3321' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_get_vlan_offload@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3321' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_set_vlan_offload' mangled-name='rte_eth_dev_set_vlan_offload' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3249' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_set_vlan_offload@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3249' column='1'/>
+      <parameter type-id='type-id-1' name='offload_mask' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3249' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_set_vlan_ether_type' mangled-name='rte_eth_dev_set_vlan_ether_type' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3234' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_set_vlan_ether_type@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3234' column='1'/>
+      <parameter type-id='type-id-372' name='vlan_type' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3235' column='1'/>
+      <parameter type-id='type-id-18' name='tpid' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3236' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_set_vlan_strip_on_queue' mangled-name='rte_eth_dev_set_vlan_strip_on_queue' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3215' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_set_vlan_strip_on_queue@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3347' column='1'/>
+      <parameter type-id='type-id-18' name='pvid' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3347' column='1'/>
+      <parameter type-id='type-id-1' name='on' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3347' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_vlan_filter' mangled-name='rte_eth_dev_vlan_filter' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3174' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_vlan_filter@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3174' column='1'/>
+      <parameter type-id='type-id-18' name='vlan_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3174' column='1'/>
+      <parameter type-id='type-id-1' name='on' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3174' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_set_mtu' mangled-name='rte_eth_dev_set_mtu' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3141' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_set_mtu@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3141' column='1'/>
+      <parameter type-id='type-id-18' name='mtu' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3141' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_get_mtu' mangled-name='rte_eth_dev_get_mtu' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3129' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_get_mtu@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3129' column='1'/>
+      <parameter type-id='type-id-528' name='mtu' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3129' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_macaddr_get' mangled-name='rte_eth_macaddr_get' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3117' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_macaddr_get@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3117' column='1'/>
+      <parameter type-id='type-id-90' name='mac_addr' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3117' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-533'/>
+    <function-decl name='rte_eth_dev_get_supported_ptypes' mangled-name='rte_eth_dev_get_supported_ptypes' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3005' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_get_supported_ptypes@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3005' column='1'/>
+      <parameter type-id='type-id-25' name='ptype_mask' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3005' column='1'/>
+      <parameter type-id='type-id-533' name='ptypes' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3006' column='1'/>
+      <parameter type-id='type-id-1' name='num' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3006' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_info_get' mangled-name='rte_eth_dev_info_get' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2954' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_info_get@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2954' column='1'/>
+      <parameter type-id='type-id-348' name='dev_info' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2954' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_fw_version_get' mangled-name='rte_eth_dev_fw_version_get' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2941' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_fw_version_get@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2941' column='1'/>
+      <parameter type-id='type-id-345' name='fw_version' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2941' column='1'/>
+      <parameter type-id='type-id-50' name='fw_size' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2941' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_set_rx_queue_stats_mapping' mangled-name='rte_eth_dev_set_rx_queue_stats_mapping' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2933' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_set_rx_queue_stats_mapping@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2933' column='1'/>
+      <parameter type-id='type-id-18' name='rx_queue_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2933' column='1'/>
+      <parameter type-id='type-id-92' name='stat_idx' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2934' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_set_tx_queue_stats_mapping' mangled-name='rte_eth_dev_set_tx_queue_stats_mapping' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2924' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_set_tx_queue_stats_mapping@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2933' column='1'/>
+      <parameter type-id='type-id-18' name='rx_queue_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2933' column='1'/>
+      <parameter type-id='type-id-92' name='stat_idx' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2934' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_xstats_reset' mangled-name='rte_eth_xstats_reset' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2882' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_xstats_reset@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4825' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_xstats_get' mangled-name='rte_eth_xstats_get' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2829' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_xstats_get@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2829' column='1'/>
+      <parameter type-id='type-id-262' name='xstats' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2829' column='1'/>
+      <parameter type-id='type-id-36' name='n' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2830' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_xstats_get_by_id' mangled-name='rte_eth_xstats_get_by_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2737' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_xstats_get_by_id@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2737' column='1'/>
+      <parameter type-id='type-id-476' name='ids' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2737' column='1'/>
+      <parameter type-id='type-id-472' name='values' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2738' column='1'/>
+      <parameter type-id='type-id-36' name='size' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2738' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_xstats_get_names' mangled-name='rte_eth_xstats_get_names' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2647' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_xstats_get_names@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2647' column='1'/>
+      <parameter type-id='type-id-266' name='xstats_names' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2648' column='1'/>
+      <parameter type-id='type-id-36' name='size' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2649' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_xstats_get_names_by_id' mangled-name='rte_eth_xstats_get_names_by_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2539' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_xstats_get_names_by_id@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2539' column='1'/>
+      <parameter type-id='type-id-266' name='xstats_names' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2540' column='1'/>
+      <parameter type-id='type-id-36' name='size' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2540' column='1'/>
+      <parameter type-id='type-id-472' name='ids' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2541' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_xstats_get_id_by_name' mangled-name='rte_eth_xstats_get_id_by_name' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2455' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_xstats_get_id_by_name@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2455' column='1'/>
+      <parameter type-id='type-id-272' name='xstat_name' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2455' column='1'/>
+      <parameter type-id='type-id-472' name='id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2456' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_stats_reset' mangled-name='rte_eth_stats_reset' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2393' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_stats_reset@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2393' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_stats_get' mangled-name='rte_eth_stats_get' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2378' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_stats_get@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2378' column='1'/>
+      <parameter type-id='type-id-258' name='stats' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2378' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-88' size-in-bits='64' id='type-id-534'/>
+    <function-decl name='rte_eth_link_get_nowait' mangled-name='rte_eth_link_get_nowait' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2358' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_link_get_nowait@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2358' column='1'/>
+      <parameter type-id='type-id-534' name='eth_link' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2358' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_link_get' mangled-name='rte_eth_link_get' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2338' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_link_get@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2358' column='1'/>
+      <parameter type-id='type-id-534' name='eth_link' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2358' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_allmulticast_get' mangled-name='rte_eth_allmulticast_get' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2327' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_allmulticast_get@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4825' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_allmulticast_disable' mangled-name='rte_eth_allmulticast_disable' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2306' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_allmulticast_disable@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2393' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_allmulticast_enable' mangled-name='rte_eth_allmulticast_enable' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2287' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_allmulticast_enable@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2393' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_promiscuous_get' mangled-name='rte_eth_promiscuous_get' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2276' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_promiscuous_get@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4825' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_promiscuous_disable' mangled-name='rte_eth_promiscuous_disable' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2254' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_promiscuous_disable@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2393' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_promiscuous_enable' mangled-name='rte_eth_promiscuous_enable' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2234' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_promiscuous_enable@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2393' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_tx_done_cleanup' mangled-name='rte_eth_tx_done_cleanup' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2218' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_tx_done_cleanup@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2218' column='1'/>
+      <parameter type-id='type-id-18' name='queue_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2218' column='1'/>
+      <parameter type-id='type-id-25' name='free_cnt' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2218' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_eth_dev_tx_buffer' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='2822' column='1' id='type-id-535'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='error_callback' type-id='type-id-536' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='2823' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='error_userdata' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='2824' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='size' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='2825' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='length' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='2826' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='pkts' type-id='type-id-537' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='2827' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-538' size-in-bits='64' id='type-id-539'/>
+    <typedef-decl name='buffer_tx_error_fn' type-id='type-id-539' filepath='../lib/librte_ethdev/rte_ethdev.h' line='2815' column='1' id='type-id-536'/>
+
+    <array-type-def dimensions='1' type-id='type-id-27' size-in-bits='infinite' id='type-id-537'>
+      <subrange length='infinite' type-id='type-id-30' id='type-id-32'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-535' size-in-bits='64' id='type-id-540'/>
+    <function-decl name='rte_eth_tx_buffer_init' mangled-name='rte_eth_tx_buffer_init' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2201' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_tx_buffer_init@@DPDK_20.0'>
+      <parameter type-id='type-id-540' name='buffer' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2201' column='1'/>
+      <parameter type-id='type-id-18' name='size' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2201' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_tx_buffer_set_err_callback' mangled-name='rte_eth_tx_buffer_set_err_callback' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2192' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_tx_buffer_set_err_callback@@DPDK_20.0'>
+      <parameter type-id='type-id-540' name='buffer' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2192' column='1'/>
+      <parameter type-id='type-id-536' name='cbfn' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2193' column='1'/>
+      <parameter type-id='type-id-7' name='userdata' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2193' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_tx_buffer_count_callback' mangled-name='rte_eth_tx_buffer_count_callback' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2179' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_tx_buffer_count_callback@@DPDK_20.0'>
+      <parameter type-id='type-id-81' name='pkts' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2179' column='1'/>
+      <parameter type-id='type-id-18' name='unsent' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2179' column='1'/>
+      <parameter type-id='type-id-7' name='userdata' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2180' column='1'/>
+      <return type-id='type-id-19'/>
+    </function-decl>
+    <function-decl name='rte_eth_tx_buffer_drop_callback' mangled-name='rte_eth_tx_buffer_drop_callback' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2169' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_tx_buffer_drop_callback@@DPDK_20.0'>
+      <parameter type-id='type-id-81' name='pkts' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2169' column='1'/>
+      <parameter type-id='type-id-18' name='unsent' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2169' column='1'/>
+      <parameter type-id='type-id-7' name='userdata' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2170' column='1'/>
+      <return type-id='type-id-19'/>
+    </function-decl>
+    <function-decl name='rte_eth_tx_queue_setup' mangled-name='rte_eth_tx_queue_setup' filepath='../lib/librte_ethdev/rte_ethdev.c' line='1999' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_tx_queue_setup@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='1999' column='1'/>
+      <parameter type-id='type-id-18' name='tx_queue_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='1999' column='1'/>
+      <parameter type-id='type-id-18' name='nb_tx_desc' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2000' column='1'/>
+      <parameter type-id='type-id-36' name='socket_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2000' column='1'/>
+      <parameter type-id='type-id-388' name='tx_conf' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2001' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_rx_queue_setup' mangled-name='rte_eth_rx_queue_setup' filepath='../lib/librte_ethdev/rte_ethdev.c' line='1773' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_rx_queue_setup@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='1773' column='1'/>
+      <parameter type-id='type-id-18' name='rx_queue_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='1773' column='1'/>
+      <parameter type-id='type-id-18' name='nb_rx_desc' filepath='../lib/librte_ethdev/rte_ethdev.c' line='1774' column='1'/>
+      <parameter type-id='type-id-36' name='socket_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='1774' column='1'/>
+      <parameter type-id='type-id-378' name='rx_conf' filepath='../lib/librte_ethdev/rte_ethdev.c' line='1775' column='1'/>
+      <parameter type-id='type-id-26' name='mp' filepath='../lib/librte_ethdev/rte_ethdev.c' line='1776' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_reset' mangled-name='rte_eth_dev_reset' filepath='../lib/librte_ethdev/rte_ethdev.c' line='1733' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_reset@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2393' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_close' mangled-name='rte_eth_dev_close' filepath='../lib/librte_ethdev/rte_ethdev.c' line='1703' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_close@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='1703' column='1'/>
+      <return type-id='type-id-19'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_set_link_down' mangled-name='rte_eth_dev_set_link_down' filepath='../lib/librte_ethdev/rte_ethdev.c' line='1690' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_set_link_down@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4825' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_set_link_up' mangled-name='rte_eth_dev_set_link_up' filepath='../lib/librte_ethdev/rte_ethdev.c' line='1677' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_set_link_up@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4825' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_stop' mangled-name='rte_eth_dev_stop' filepath='../lib/librte_ethdev/rte_ethdev.c' line='1656' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_stop@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='1703' column='1'/>
+      <return type-id='type-id-19'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_start' mangled-name='rte_eth_dev_start' filepath='../lib/librte_ethdev/rte_ethdev.c' line='1605' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_start@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='1605' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='_rte_eth_dev_reset' mangled-name='_rte_eth_dev_reset' filepath='../lib/librte_ethdev/rte_ethdev.c' line='1486' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_rte_eth_dev_reset@@DPDK_20.0'>
+      <parameter type-id='type-id-239' name='dev' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4090' column='1'/>
+      <return type-id='type-id-19'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-89' const='yes' id='type-id-541'/>
+    <pointer-type-def type-id='type-id-541' size-in-bits='64' id='type-id-542'/>
+    <function-decl name='rte_eth_dev_configure' mangled-name='rte_eth_dev_configure' filepath='../lib/librte_ethdev/rte_ethdev.c' line='1219' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_configure@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='1219' column='1'/>
+      <parameter type-id='type-id-18' name='nb_rx_q' filepath='../lib/librte_ethdev/rte_ethdev.c' line='1219' column='1'/>
+      <parameter type-id='type-id-18' name='nb_tx_q' filepath='../lib/librte_ethdev/rte_ethdev.c' line='1219' column='1'/>
+      <parameter type-id='type-id-542' name='dev_conf' filepath='../lib/librte_ethdev/rte_ethdev.c' line='1220' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_tx_offload_name' mangled-name='rte_eth_dev_tx_offload_name' filepath='../lib/librte_ethdev/rte_ethdev.c' line='1125' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_tx_offload_name@@DPDK_20.0'>
+      <parameter type-id='type-id-24' name='offload' filepath='../lib/librte_ethdev/rte_ethdev.c' line='1125' column='1'/>
+      <return type-id='type-id-272'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_rx_offload_name' mangled-name='rte_eth_dev_rx_offload_name' filepath='../lib/librte_ethdev/rte_ethdev.c' line='1109' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_rx_offload_name@@DPDK_20.0'>
+      <parameter type-id='type-id-24' name='offload' filepath='../lib/librte_ethdev/rte_ethdev.c' line='1125' column='1'/>
+      <return type-id='type-id-272'/>
+    </function-decl>
+    <function-decl name='rte_eth_speed_bitflag' mangled-name='rte_eth_speed_bitflag' filepath='../lib/librte_ethdev/rte_ethdev.c' line='1076' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_speed_bitflag@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='speed' filepath='../lib/librte_ethdev/rte_ethdev.c' line='1076' column='1'/>
+      <parameter type-id='type-id-1' name='duplex' filepath='../lib/librte_ethdev/rte_ethdev.c' line='1076' column='1'/>
+      <return type-id='type-id-25'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_tx_queue_stop' mangled-name='rte_eth_dev_tx_queue_stop' filepath='../lib/librte_ethdev/rte_ethdev.c' line='993' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_tx_queue_stop@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4337' column='1'/>
+      <parameter type-id='type-id-18' name='queue_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4338' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_tx_queue_start' mangled-name='rte_eth_dev_tx_queue_start' filepath='../lib/librte_ethdev/rte_ethdev.c' line='954' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_tx_queue_start@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4337' column='1'/>
+      <parameter type-id='type-id-18' name='queue_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4338' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_rx_queue_stop' mangled-name='rte_eth_dev_rx_queue_stop' filepath='../lib/librte_ethdev/rte_ethdev.c' line='921' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_rx_queue_stop@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4337' column='1'/>
+      <parameter type-id='type-id-18' name='queue_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4338' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_rx_queue_start' mangled-name='rte_eth_dev_rx_queue_start' filepath='../lib/librte_ethdev/rte_ethdev.c' line='880' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_rx_queue_start@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4337' column='1'/>
+      <parameter type-id='type-id-18' name='queue_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4338' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_get_port_by_name' mangled-name='rte_eth_dev_get_port_by_name' filepath='../lib/librte_ethdev/rte_ethdev.c' line='801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_get_port_by_name@@DPDK_20.0'>
+      <parameter type-id='type-id-272' name='name' filepath='../lib/librte_ethdev/rte_ethdev.c' line='801' column='1'/>
+      <parameter type-id='type-id-528' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='801' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_get_name_by_port' mangled-name='rte_eth_dev_get_name_by_port' filepath='../lib/librte_ethdev/rte_ethdev.c' line='782' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_get_name_by_port@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='782' column='1'/>
+      <parameter type-id='type-id-345' name='name' filepath='../lib/librte_ethdev/rte_ethdev.c' line='782' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_count_total' mangled-name='rte_eth_dev_count_total' filepath='../lib/librte_ethdev/rte_ethdev.c' line='771' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_count_total@@DPDK_20.0'>
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_count_avail' mangled-name='rte_eth_dev_count_avail' filepath='../lib/librte_ethdev/rte_ethdev.c' line='757' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_count_avail@@DPDK_20.0'>
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_get_sec_ctx' mangled-name='rte_eth_dev_get_sec_ctx' filepath='../lib/librte_ethdev/rte_ethdev.c' line='750' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_get_sec_ctx@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='750' column='1'/>
+      <return type-id='type-id-7'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_socket_id' mangled-name='rte_eth_dev_socket_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='743' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_socket_id@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='743' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_find_next_owned_by' mangled-name='rte_eth_find_next_owned_by' filepath='../lib/librte_ethdev/rte_ethdev.c' line='594' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_find_next_owned_by@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='594' column='1'/>
+      <parameter type-id='type-id-475' name='owner_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='594' column='1'/>
+      <return type-id='type-id-24'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_is_valid_port' mangled-name='rte_eth_dev_is_valid_port' filepath='../lib/librte_ethdev/rte_ethdev.c' line='575' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_is_valid_port@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='743' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_release_port' mangled-name='rte_eth_dev_release_port' filepath='../lib/librte_ethdev/rte_ethdev.c' line='545' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_release_port@@DPDK_20.0'>
+      <parameter type-id='type-id-239' name='eth_dev' filepath='../lib/librte_ethdev/rte_ethdev.c' line='545' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_attach_secondary' mangled-name='rte_eth_dev_attach_secondary' filepath='../lib/librte_ethdev/rte_ethdev.c' line='517' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_attach_secondary@@DPDK_20.0'>
+      <parameter type-id='type-id-272' name='name' filepath='../lib/librte_ethdev/rte_ethdev.c' line='517' column='1'/>
+      <return type-id='type-id-239'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_allocate' mangled-name='rte_eth_dev_allocate' filepath='../lib/librte_ethdev/rte_ethdev.c' line='464' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_allocate@@DPDK_20.0'>
+      <parameter type-id='type-id-272' name='name' filepath='../lib/librte_ethdev/rte_ethdev.c' line='464' column='1'/>
+      <return type-id='type-id-239'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_allocated' mangled-name='rte_eth_dev_allocated' filepath='../lib/librte_ethdev/rte_ethdev.c' line='422' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_allocated@@DPDK_20.0'>
+      <parameter type-id='type-id-272' name='name' filepath='../lib/librte_ethdev/rte_ethdev.c' line='422' column='1'/>
+      <return type-id='type-id-239'/>
+    </function-decl>
+    <function-decl name='rte_eth_find_next' mangled-name='rte_eth_find_next' filepath='../lib/librte_ethdev/rte_ethdev.c' line='330' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_find_next@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='330' column='1'/>
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-327' size-in-bits='64' id='type-id-543'/>
+    <function-decl name='rte_eth_iterator_cleanup' mangled-name='rte_eth_iterator_cleanup' filepath='../lib/librte_ethdev/rte_ethdev.c' line='320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_iterator_cleanup@@DPDK_20.0'>
+      <parameter type-id='type-id-543' name='iter' filepath='../lib/librte_ethdev/rte_ethdev.c' line='320' column='1'/>
+      <return type-id='type-id-19'/>
+    </function-decl>
+    <function-decl name='rte_eth_iterator_next' mangled-name='rte_eth_iterator_next' filepath='../lib/librte_ethdev/rte_ethdev.c' line='291' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_iterator_next@@DPDK_20.0'>
+      <parameter type-id='type-id-543' name='iter' filepath='../lib/librte_ethdev/rte_ethdev.c' line='291' column='1'/>
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <function-decl name='rte_eth_iterator_init' mangled-name='rte_eth_iterator_init' filepath='../lib/librte_ethdev/rte_ethdev.c' line='190' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_iterator_init@@DPDK_20.0'>
+      <parameter type-id='type-id-543' name='iter' filepath='../lib/librte_ethdev/rte_ethdev.c' line='190' column='1'/>
+      <parameter type-id='type-id-272' name='devargs_str' filepath='../lib/librte_ethdev/rte_ethdev.c' line='190' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <typedef-decl name='ethdev_uninit_t' type-id='type-id-241' filepath='../lib/librte_ethdev/rte_ethdev_driver.h' line='353' column='1' id='type-id-544'/>
+    <function-decl name='rte_eth_dev_destroy' mangled-name='rte_eth_dev_destroy' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4263' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_destroy@@EXPERIMENTAL'>
+      <parameter type-id='type-id-239' name='ethdev' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4263' column='1'/>
+      <parameter type-id='type-id-544' name='ethdev_uninit' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4264' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <typedef-decl name='ethdev_bus_specific_init' type-id='type-id-482' filepath='../lib/librte_ethdev/rte_ethdev_driver.h' line='318' column='1' id='type-id-545'/>
+    <typedef-decl name='ethdev_init_t' type-id='type-id-482' filepath='../lib/librte_ethdev/rte_ethdev_driver.h' line='317' column='1' id='type-id-546'/>
+    <function-decl name='rte_eth_dev_create' mangled-name='rte_eth_dev_create' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4200' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_create@@EXPERIMENTAL'>
+      <parameter type-id='type-id-9' name='device' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4200' column='1'/>
+      <parameter type-id='type-id-272' name='name' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4200' column='1'/>
+      <parameter type-id='type-id-50' name='priv_data_size' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4201' column='1'/>
+      <parameter type-id='type-id-545' name='ethdev_bus_specific_init' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4202' column='1'/>
+      <parameter type-id='type-id-7' name='bus_init_params' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4203' column='1'/>
+      <parameter type-id='type-id-546' name='ethdev_init' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4204' column='1'/>
+      <parameter type-id='type-id-7' name='init_params' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4204' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_eth_devargs' size-in-bits='1056' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_driver.h' line='287' column='1' id='type-id-547'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ports' type-id='type-id-548' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_driver.h' line='288' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='nb_ports' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_driver.h' line='290' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='528'>
+        <var-decl name='representor_ports' type-id='type-id-548' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_driver.h' line='292' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1040'>
+        <var-decl name='nb_representor_ports' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_driver.h' line='294' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-18' size-in-bits='512' id='type-id-548'>
+      <subrange length='32' type-id='type-id-30' id='type-id-47'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-547' size-in-bits='64' id='type-id-549'/>
+    <function-decl name='rte_eth_devargs_parse' mangled-name='rte_eth_devargs_parse' filepath='../lib/librte_ethdev/rte_ethdev.c' line='5162' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_devargs_parse@@EXPERIMENTAL'>
+      <parameter type-id='type-id-272' name='dargs' filepath='../lib/librte_ethdev/rte_ethdev.c' line='5162' column='1'/>
+      <parameter type-id='type-id-549' name='eth_da' filepath='../lib/librte_ethdev/rte_ethdev.c' line='5162' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_switch_domain_free' mangled-name='rte_eth_switch_domain_free' filepath='../lib/librte_ethdev/rte_ethdev.c' line='5082' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_switch_domain_free@@EXPERIMENTAL'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='743' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_switch_domain_alloc' mangled-name='rte_eth_switch_domain_alloc' filepath='../lib/librte_ethdev/rte_ethdev.c' line='5061' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_switch_domain_alloc@@EXPERIMENTAL'>
+      <parameter type-id='type-id-528' name='domain_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='5061' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_hairpin_capability_get' mangled-name='rte_eth_dev_hairpin_capability_get' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4994' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_hairpin_capability_get@@EXPERIMENTAL'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4994' column='1'/>
+      <parameter type-id='type-id-486' name='cap' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4995' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_read_clock' mangled-name='rte_eth_read_clock' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_read_clock@@EXPERIMENTAL'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4801' column='1'/>
+      <parameter type-id='type-id-472' name='clock' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4801' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_get_module_eeprom' mangled-name='rte_eth_dev_get_module_eeprom' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4874' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_get_module_eeprom@@EXPERIMENTAL'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4849' column='1'/>
+      <parameter type-id='type-id-437' name='info' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4849' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_get_module_info' mangled-name='rte_eth_dev_get_module_info' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4861' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_get_module_info@@EXPERIMENTAL'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4861' column='1'/>
+      <parameter type-id='type-id-441' name='modinfo' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4862' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_tx_burst_mode_get' mangled-name='rte_eth_tx_burst_mode_get' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4671' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_tx_burst_mode_get@@EXPERIMENTAL'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4671' column='1'/>
+      <parameter type-id='type-id-18' name='queue_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4671' column='1'/>
+      <parameter type-id='type-id-361' name='mode' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4672' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_rx_burst_mode_get' mangled-name='rte_eth_rx_burst_mode_get' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4647' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_rx_burst_mode_get@@EXPERIMENTAL'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4671' column='1'/>
+      <parameter type-id='type-id-18' name='queue_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4671' column='1'/>
+      <parameter type-id='type-id-361' name='mode' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4672' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_rx_intr_ctl_q_get_fd' mangled-name='rte_eth_dev_rx_intr_ctl_q_get_fd' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4138' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_rx_intr_ctl_q_get_fd@@EXPERIMENTAL'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4138' column='1'/>
+      <parameter type-id='type-id-18' name='queue_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='4138' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_set_ptypes' mangled-name='rte_eth_dev_set_ptypes' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3031' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_set_ptypes@@EXPERIMENTAL'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3031' column='1'/>
+      <parameter type-id='type-id-25' name='ptype_mask' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3031' column='1'/>
+      <parameter type-id='type-id-533' name='set_ptypes' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3032' column='1'/>
+      <parameter type-id='type-id-36' name='num' filepath='../lib/librte_ethdev/rte_ethdev.c' line='3032' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_tx_hairpin_queue_setup' mangled-name='rte_eth_tx_hairpin_queue_setup' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2098' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_tx_hairpin_queue_setup@@EXPERIMENTAL'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2098' column='1'/>
+      <parameter type-id='type-id-18' name='tx_queue_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2098' column='1'/>
+      <parameter type-id='type-id-18' name='nb_tx_desc' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2099' column='1'/>
+      <parameter type-id='type-id-493' name='conf' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2100' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_rx_hairpin_queue_setup' mangled-name='rte_eth_rx_hairpin_queue_setup' filepath='../lib/librte_ethdev/rte_ethdev.c' line='1927' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_rx_hairpin_queue_setup@@EXPERIMENTAL'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2098' column='1'/>
+      <parameter type-id='type-id-18' name='tx_queue_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2098' column='1'/>
+      <parameter type-id='type-id-18' name='nb_tx_desc' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2099' column='1'/>
+      <parameter type-id='type-id-493' name='conf' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2100' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_is_removed' mangled-name='rte_eth_dev_is_removed' filepath='../lib/librte_ethdev/rte_ethdev.c' line='1750' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_is_removed@@EXPERIMENTAL'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='2393' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-18' const='yes' id='type-id-550'/>
+    <pointer-type-def type-id='type-id-96' size-in-bits='64' id='type-id-551'/>
+    <function-decl name='rte_eth_dev_owner_get' mangled-name='rte_eth_dev_owner_get' filepath='../lib/librte_ethdev/rte_ethdev.c' line='721' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_owner_get@@EXPERIMENTAL'>
+      <parameter type-id='type-id-550' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='721' column='1'/>
+      <parameter type-id='type-id-551' name='owner' filepath='../lib/librte_ethdev/rte_ethdev.c' line='721' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_owner_delete' mangled-name='rte_eth_dev_owner_delete' filepath='../lib/librte_ethdev/rte_ethdev.c' line='691' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_owner_delete@@EXPERIMENTAL'>
+      <parameter type-id='type-id-475' name='owner_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='691' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_owner_unset' mangled-name='rte_eth_dev_owner_unset' filepath='../lib/librte_ethdev/rte_ethdev.c' line='674' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_owner_unset@@EXPERIMENTAL'>
+      <parameter type-id='type-id-550' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='674' column='1'/>
+      <parameter type-id='type-id-475' name='owner_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='674' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-96' const='yes' id='type-id-552'/>
+    <pointer-type-def type-id='type-id-552' size-in-bits='64' id='type-id-553'/>
+    <function-decl name='rte_eth_dev_owner_set' mangled-name='rte_eth_dev_owner_set' filepath='../lib/librte_ethdev/rte_ethdev.c' line='658' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_owner_set@@EXPERIMENTAL'>
+      <parameter type-id='type-id-550' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='658' column='1'/>
+      <parameter type-id='type-id-553' name='owner' filepath='../lib/librte_ethdev/rte_ethdev.c' line='659' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_dev_owner_new' mangled-name='rte_eth_dev_owner_new' filepath='../lib/librte_ethdev/rte_ethdev.c' line='605' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_dev_owner_new@@EXPERIMENTAL'>
+      <parameter type-id='type-id-472' name='owner_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='605' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_find_next_sibling' mangled-name='rte_eth_find_next_sibling' filepath='../lib/librte_ethdev/rte_ethdev.c' line='363' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_find_next_sibling@@EXPERIMENTAL'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='363' column='1'/>
+      <parameter type-id='type-id-18' name='ref_port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='363' column='1'/>
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <function-decl name='rte_eth_find_next_of' mangled-name='rte_eth_find_next_of' filepath='../lib/librte_ethdev/rte_ethdev.c' line='352' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_find_next_of@@EXPERIMENTAL'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_ethdev.c' line='352' column='1'/>
+      <parameter type-id='type-id-311' name='parent' filepath='../lib/librte_ethdev/rte_ethdev.c' line='352' column='1'/>
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-366'>
+      <parameter type-id='type-id-239'/>
+      <return type-id='type-id-273'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-325'>
+      <return type-id='type-id-324'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-308'>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-319'>
+      <parameter type-id='type-id-272'/>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-312'>
+      <parameter type-id='type-id-311'/>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-317'>
+      <parameter type-id='type-id-9'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-321'>
+      <parameter type-id='type-id-9'/>
+      <parameter type-id='type-id-7'/>
+      <parameter type-id='type-id-24'/>
+      <parameter type-id='type-id-50'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-240'>
+      <parameter type-id='type-id-239'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-364'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-345'/>
+      <parameter type-id='type-id-50'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-483'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-272'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-470'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-469'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-477'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-476'/>
+      <parameter type-id='type-id-472'/>
+      <parameter type-id='type-id-36'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-446'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-444'/>
+      <parameter type-id='type-id-445'/>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-373'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-372'/>
+      <parameter type-id='type-id-18'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-244'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-438'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-437'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-434'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-433'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-453'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-452'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-349'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-348'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-442'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-441'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-396'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-395'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-487'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-486'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-419'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-418'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-421'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-418'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-92'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-410'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-409'/>
+      <parameter type-id='type-id-92'/>
+      <parameter type-id='type-id-92'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-400'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-399'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-426'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-425'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-430'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-429'/>
+      <parameter type-id='type-id-18'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-259'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-258'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-414'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-413'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-263'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-262'/>
+      <parameter type-id='type-id-36'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-479'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-266'/>
+      <parameter type-id='type-id-476'/>
+      <parameter type-id='type-id-36'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-267'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-266'/>
+      <parameter type-id='type-id-36'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-250'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-90'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-252'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-90'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-248'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-90'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-402'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-90'/>
+      <parameter type-id='type-id-92'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-462'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-459'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-460'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-459'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-466'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-465'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-254'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-18'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-370'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-362'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-361'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-423'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-18'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-494'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-493'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-379'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-36'/>
+      <parameter type-id='type-id-378'/>
+      <parameter type-id='type-id-26'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-389'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-36'/>
+      <parameter type-id='type-id-388'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-269'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-92'/>
+      <parameter type-id='type-id-92'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-368'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-404'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-92'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-473'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-472'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-481'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-516'>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-515'/>
+      <parameter type-id='type-id-7'/>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-336'>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-385'>
+      <parameter type-id='type-id-7'/>
+      <parameter type-id='type-id-18'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-391'>
+      <parameter type-id='type-id-7'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-315'>
+      <parameter type-id='type-id-311'/>
+      <parameter type-id='type-id-314'/>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-523'>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-81'/>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-525'>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-81'/>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-82'>
+      <parameter type-id='type-id-7'/>
+      <parameter type-id='type-id-81'/>
+      <parameter type-id='type-id-18'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-383'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-18'/>
+      <return type-id='type-id-25'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-508'>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-19'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-242'>
+      <parameter type-id='type-id-239'/>
+      <return type-id='type-id-19'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-375'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-19'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-353'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-352'/>
+      <return type-id='type-id-19'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-357'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-356'/>
+      <return type-id='type-id-19'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-246'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-19'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-538'>
+      <parameter type-id='type-id-81'/>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-19'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-68'>
+      <parameter type-id='type-id-62'/>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-19'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-381'>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-19'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-73'>
+      <parameter type-id='type-id-7'/>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-19'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-332'>
+      <parameter type-id='type-id-7'/>
+      <parameter type-id='type-id-272'/>
+      <parameter type-id='type-id-335'/>
+      <return type-id='type-id-7'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_ethdev/rte_flow.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='rte_flow_dynf_metadata_offs' type-id='type-id-1' mangled-name='rte_flow_dynf_metadata_offs' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2534' column='1' elf-symbol-id='rte_flow_dynf_metadata_offs@@EXPERIMENTAL'/>
+    <var-decl name='rte_flow_dynf_metadata_mask' type-id='type-id-24' mangled-name='rte_flow_dynf_metadata_mask' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2537' column='1' elf-symbol-id='rte_flow_dynf_metadata_mask@@EXPERIMENTAL'/>
+    <class-decl name='rte_flow_desc' size-in-bits='320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='3054' column='1' id='type-id-554'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-50' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='3055' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='attr' type-id='type-id-555' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='3056' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='items' type-id='type-id-556' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='3057' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='actions' type-id='type-id-557' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='3058' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data' type-id='type-id-558' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='3059' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_flow_attr' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='75' column='1' id='type-id-555'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='group' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='priority' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='ingress' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='egress' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='transfer' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='98' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='reserved' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='99' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_flow_item' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1517' column='1' id='type-id-559'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-560' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1518' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='spec' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1519' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='last' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='mask' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1521' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_item_type' filepath='../lib/librte_ethdev/rte_flow.h' line='118' column='1' id='type-id-560'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_END' value='0'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VOID' value='1'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_INVERT' value='2'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ANY' value='3'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PF' value='4'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VF' value='5'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PHY_PORT' value='6'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PORT_ID' value='7'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_RAW' value='8'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ETH' value='9'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VLAN' value='10'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV4' value='11'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV6' value='12'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP' value='13'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_UDP' value='14'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_TCP' value='15'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_SCTP' value='16'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VXLAN' value='17'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_E_TAG' value='18'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_NVGRE' value='19'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_MPLS' value='20'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GRE' value='21'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_FUZZY' value='22'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTP' value='23'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTPC' value='24'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTPU' value='25'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ESP' value='26'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GENEVE' value='27'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VXLAN_GPE' value='28'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ARP_ETH_IPV4' value='29'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV6_EXT' value='30'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6' value='31'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_NS' value='32'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_NA' value='33'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT' value='34'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT_SLA_ETH' value='35'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT_TLA_ETH' value='36'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_MARK' value='37'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_META' value='38'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GRE_KEY' value='39'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTP_PSC' value='40'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOES' value='41'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOED' value='42'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOE_PROTO_ID' value='43'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_NSH' value='44'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IGMP' value='45'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_AH' value='46'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_HIGIG2' value='47'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_TAG' value='48'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-559' size-in-bits='64' id='type-id-556'/>
+    <class-decl name='rte_flow_action' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2568' column='1' id='type-id-561'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-562' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2569' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='conf' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2570' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_action_type' filepath='../lib/librte_ethdev/rte_flow.h' line='1550' column='1' id='type-id-562'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_END' value='0'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VOID' value='1'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PASSTHRU' value='2'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_JUMP' value='3'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_MARK' value='4'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_FLAG' value='5'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_QUEUE' value='6'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DROP' value='7'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_COUNT' value='8'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RSS' value='9'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PF' value='10'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VF' value='11'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PHY_PORT' value='12'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PORT_ID' value='13'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_METER' value='14'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SECURITY' value='15'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_MPLS_TTL' value='16'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_DEC_MPLS_TTL' value='17'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_NW_TTL' value='18'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_DEC_NW_TTL' value='19'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_OUT' value='20'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_IN' value='21'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_POP_VLAN' value='22'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_PUSH_VLAN' value='23'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_VID' value='24'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_PCP' value='25'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_POP_MPLS' value='26'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_PUSH_MPLS' value='27'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VXLAN_ENCAP' value='28'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VXLAN_DECAP' value='29'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_NVGRE_ENCAP' value='30'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_NVGRE_DECAP' value='31'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RAW_ENCAP' value='32'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RAW_DECAP' value='33'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV4_SRC' value='34'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV4_DST' value='35'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV6_SRC' value='36'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV6_DST' value='37'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TP_SRC' value='38'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TP_DST' value='39'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_MAC_SWAP' value='40'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TTL' value='41'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TTL' value='42'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_MAC_SRC' value='43'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_MAC_DST' value='44'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_INC_TCP_SEQ' value='45'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TCP_SEQ' value='46'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_INC_TCP_ACK' value='47'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TCP_ACK' value='48'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TAG' value='49'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_META' value='50'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-561' size-in-bits='64' id='type-id-557'/>
+
+    <array-type-def dimensions='1' type-id='type-id-92' size-in-bits='infinite' id='type-id-558'>
+      <subrange length='infinite' type-id='type-id-30' id='type-id-32'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-554' size-in-bits='64' id='type-id-563'/>
+    <qualified-type-def type-id='type-id-555' const='yes' id='type-id-564'/>
+    <pointer-type-def type-id='type-id-564' size-in-bits='64' id='type-id-565'/>
+    <qualified-type-def type-id='type-id-559' const='yes' id='type-id-566'/>
+    <pointer-type-def type-id='type-id-566' size-in-bits='64' id='type-id-567'/>
+    <qualified-type-def type-id='type-id-561' const='yes' id='type-id-568'/>
+    <pointer-type-def type-id='type-id-568' size-in-bits='64' id='type-id-569'/>
+    <function-decl name='rte_flow_copy' mangled-name='rte_flow_copy' filepath='../lib/librte_ethdev/rte_flow.c' line='997' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_flow_copy@@DPDK_20.0'>
+      <parameter type-id='type-id-563' name='desc' filepath='../lib/librte_ethdev/rte_flow.c' line='997' column='1'/>
+      <parameter type-id='type-id-50' name='len' filepath='../lib/librte_ethdev/rte_flow.c' line='997' column='1'/>
+      <parameter type-id='type-id-565' name='attr' filepath='../lib/librte_ethdev/rte_flow.c' line='998' column='1'/>
+      <parameter type-id='type-id-567' name='items' filepath='../lib/librte_ethdev/rte_flow.c' line='999' column='1'/>
+      <parameter type-id='type-id-569' name='actions' filepath='../lib/librte_ethdev/rte_flow.c' line='1000' column='1'/>
+      <return type-id='type-id-50'/>
+    </function-decl>
+    <class-decl name='rte_flow_error' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2618' column='1' id='type-id-570'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-571' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2619' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='cause' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2620' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='message' type-id='type-id-272' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2621' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_error_type' filepath='../lib/librte_ethdev/rte_flow.h' line='2587' column='1' id='type-id-571'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_UNSPECIFIED' value='1'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_HANDLE' value='2'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_GROUP' value='3'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_PRIORITY' value='4'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_INGRESS' value='5'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_EGRESS' value='6'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_TRANSFER' value='7'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR' value='8'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_NUM' value='9'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_SPEC' value='10'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_LAST' value='11'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_MASK' value='12'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM' value='13'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION_NUM' value='14'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION_CONF' value='15'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION' value='16'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-570' size-in-bits='64' id='type-id-572'/>
+    <function-decl name='rte_flow_error_set' mangled-name='rte_flow_error_set' filepath='../lib/librte_ethdev/rte_flow.c' line='456' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_flow_error_set@@DPDK_20.0'>
+      <parameter type-id='type-id-572' name='error' filepath='../lib/librte_ethdev/rte_flow.c' line='456' column='1'/>
+      <parameter type-id='type-id-1' name='code' filepath='../lib/librte_ethdev/rte_flow.c' line='457' column='1'/>
+      <parameter type-id='type-id-571' name='type' filepath='../lib/librte_ethdev/rte_flow.c' line='458' column='1'/>
+      <parameter type-id='type-id-7' name='cause' filepath='../lib/librte_ethdev/rte_flow.c' line='459' column='1'/>
+      <parameter type-id='type-id-272' name='message' filepath='../lib/librte_ethdev/rte_flow.c' line='460' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_flow_isolate' mangled-name='rte_flow_isolate' filepath='../lib/librte_ethdev/rte_flow.c' line='438' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_flow_isolate@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_flow.c' line='438' column='1'/>
+      <parameter type-id='type-id-1' name='set' filepath='../lib/librte_ethdev/rte_flow.c' line='439' column='1'/>
+      <parameter type-id='type-id-572' name='error' filepath='../lib/librte_ethdev/rte_flow.c' line='440' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_flow' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-573'/>
+    <pointer-type-def type-id='type-id-573' size-in-bits='64' id='type-id-574'/>
+    <function-decl name='rte_flow_query' mangled-name='rte_flow_query' filepath='../lib/librte_ethdev/rte_flow.c' line='417' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_flow_query@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_flow.c' line='417' column='1'/>
+      <parameter type-id='type-id-574' name='flow' filepath='../lib/librte_ethdev/rte_flow.c' line='418' column='1'/>
+      <parameter type-id='type-id-569' name='action' filepath='../lib/librte_ethdev/rte_flow.c' line='419' column='1'/>
+      <parameter type-id='type-id-7' name='data' filepath='../lib/librte_ethdev/rte_flow.c' line='420' column='1'/>
+      <parameter type-id='type-id-572' name='error' filepath='../lib/librte_ethdev/rte_flow.c' line='421' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_flow_flush' mangled-name='rte_flow_flush' filepath='../lib/librte_ethdev/rte_flow.c' line='400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_flow_flush@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_flow.c' line='400' column='1'/>
+      <parameter type-id='type-id-572' name='error' filepath='../lib/librte_ethdev/rte_flow.c' line='401' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_flow_destroy' mangled-name='rte_flow_destroy' filepath='../lib/librte_ethdev/rte_flow.c' line='381' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_flow_destroy@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_flow.c' line='381' column='1'/>
+      <parameter type-id='type-id-574' name='flow' filepath='../lib/librte_ethdev/rte_flow.c' line='382' column='1'/>
+      <parameter type-id='type-id-572' name='error' filepath='../lib/librte_ethdev/rte_flow.c' line='383' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_flow_create' mangled-name='rte_flow_create' filepath='../lib/librte_ethdev/rte_flow.c' line='356' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_flow_create@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_flow.c' line='356' column='1'/>
+      <parameter type-id='type-id-565' name='attr' filepath='../lib/librte_ethdev/rte_flow.c' line='357' column='1'/>
+      <parameter type-id='type-id-567' name='pattern' filepath='../lib/librte_ethdev/rte_flow.c' line='358' column='1'/>
+      <parameter type-id='type-id-569' name='actions' filepath='../lib/librte_ethdev/rte_flow.c' line='359' column='1'/>
+      <parameter type-id='type-id-572' name='error' filepath='../lib/librte_ethdev/rte_flow.c' line='360' column='1'/>
+      <return type-id='type-id-574'/>
+    </function-decl>
+    <function-decl name='rte_flow_validate' mangled-name='rte_flow_validate' filepath='../lib/librte_ethdev/rte_flow.c' line='335' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_flow_validate@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_flow.c' line='335' column='1'/>
+      <parameter type-id='type-id-565' name='attr' filepath='../lib/librte_ethdev/rte_flow.c' line='336' column='1'/>
+      <parameter type-id='type-id-567' name='pattern' filepath='../lib/librte_ethdev/rte_flow.c' line='337' column='1'/>
+      <parameter type-id='type-id-569' name='actions' filepath='../lib/librte_ethdev/rte_flow.c' line='338' column='1'/>
+      <parameter type-id='type-id-572' name='error' filepath='../lib/librte_ethdev/rte_flow.c' line='339' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_flow_expand_rss' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='139' column='1' id='type-id-575'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='entries' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='140' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='entry' type-id='type-id-576' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='145' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='142' column='1' id='type-id-577'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pattern' type-id='type-id-556' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='143' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='priority' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='144' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-577' size-in-bits='infinite' id='type-id-576'>
+      <subrange length='infinite' type-id='type-id-30' id='type-id-32'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-575' size-in-bits='64' id='type-id-578'/>
+    <class-decl name='rte_flow_expand_node' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='124' column='1' id='type-id-579'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-580' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='125' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-581' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='129' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rss_types' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='131' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-1' const='yes' id='type-id-582'/>
+    <pointer-type-def type-id='type-id-582' size-in-bits='64' id='type-id-583'/>
+    <qualified-type-def type-id='type-id-583' const='yes' id='type-id-580'/>
+    <qualified-type-def type-id='type-id-560' const='yes' id='type-id-581'/>
+    <qualified-type-def type-id='type-id-579' const='yes' id='type-id-584'/>
+    <pointer-type-def type-id='type-id-584' size-in-bits='64' id='type-id-585'/>
+    <function-decl name='rte_flow_expand_rss' mangled-name='rte_flow_expand_rss' filepath='../lib/librte_ethdev/rte_flow.c' line='1052' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_flow_expand_rss@@EXPERIMENTAL'>
+      <parameter type-id='type-id-578' name='buf' filepath='../lib/librte_ethdev/rte_flow.c' line='1052' column='1'/>
+      <parameter type-id='type-id-50' name='size' filepath='../lib/librte_ethdev/rte_flow.c' line='1052' column='1'/>
+      <parameter type-id='type-id-567' name='pattern' filepath='../lib/librte_ethdev/rte_flow.c' line='1053' column='1'/>
+      <parameter type-id='type-id-24' name='types' filepath='../lib/librte_ethdev/rte_flow.c' line='1053' column='1'/>
+      <parameter type-id='type-id-585' name='graph' filepath='../lib/librte_ethdev/rte_flow.c' line='1054' column='1'/>
+      <parameter type-id='type-id-1' name='graph_root_index' filepath='../lib/librte_ethdev/rte_flow.c' line='1055' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <enum-decl name='rte_flow_conv_op' filepath='../lib/librte_ethdev/rte_flow.h' line='2653' column='1' id='type-id-586'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='RTE_FLOW_CONV_OP_NONE' value='0'/>
+      <enumerator name='RTE_FLOW_CONV_OP_ATTR' value='1'/>
+      <enumerator name='RTE_FLOW_CONV_OP_ITEM' value='2'/>
+      <enumerator name='RTE_FLOW_CONV_OP_ACTION' value='3'/>
+      <enumerator name='RTE_FLOW_CONV_OP_PATTERN' value='4'/>
+      <enumerator name='RTE_FLOW_CONV_OP_ACTIONS' value='5'/>
+      <enumerator name='RTE_FLOW_CONV_OP_RULE' value='6'/>
+      <enumerator name='RTE_FLOW_CONV_OP_ITEM_NAME' value='7'/>
+      <enumerator name='RTE_FLOW_CONV_OP_ACTION_NAME' value='8'/>
+      <enumerator name='RTE_FLOW_CONV_OP_ITEM_NAME_PTR' value='9'/>
+      <enumerator name='RTE_FLOW_CONV_OP_ACTION_NAME_PTR' value='10'/>
+    </enum-decl>
+    <function-decl name='rte_flow_conv' mangled-name='rte_flow_conv' filepath='../lib/librte_ethdev/rte_flow.c' line='954' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_flow_conv@@EXPERIMENTAL'>
+      <parameter type-id='type-id-586' name='op' filepath='../lib/librte_ethdev/rte_flow.c' line='954' column='1'/>
+      <parameter type-id='type-id-7' name='dst' filepath='../lib/librte_ethdev/rte_flow.c' line='955' column='1'/>
+      <parameter type-id='type-id-50' name='size' filepath='../lib/librte_ethdev/rte_flow.c' line='956' column='1'/>
+      <parameter type-id='type-id-7' name='src' filepath='../lib/librte_ethdev/rte_flow.c' line='957' column='1'/>
+      <parameter type-id='type-id-572' name='error' filepath='../lib/librte_ethdev/rte_flow.c' line='958' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_flow_dynf_metadata_register' mangled-name='rte_flow_dynf_metadata_register' filepath='../lib/librte_ethdev/rte_flow.c' line='174' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_flow_dynf_metadata_register@@EXPERIMENTAL'>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_ethdev/rte_mtr.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_mtr_stats' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='89' column='1' id='type-id-587'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n_pkts' type-id='type-id-588' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='n_bytes' type-id='type-id-588' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='n_pkts_dropped' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='97' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='n_bytes_dropped' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='100' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-24' size-in-bits='192' id='type-id-588'>
+      <subrange length='3' type-id='type-id-30' id='type-id-589'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-587' size-in-bits='64' id='type-id-590'/>
+    <class-decl name='rte_mtr_error' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='395' column='1' id='type-id-591'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-592' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='396' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='cause' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='397' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='message' type-id='type-id-272' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='398' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_mtr_error_type' filepath='../lib/librte_ethdev/rte_mtr.h' line='369' column='1' id='type-id-592'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='RTE_MTR_ERROR_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_MTR_ERROR_TYPE_UNSPECIFIED' value='1'/>
+      <enumerator name='RTE_MTR_ERROR_TYPE_METER_PROFILE_ID' value='2'/>
+      <enumerator name='RTE_MTR_ERROR_TYPE_METER_PROFILE' value='3'/>
+      <enumerator name='RTE_MTR_ERROR_TYPE_MTR_ID' value='4'/>
+      <enumerator name='RTE_MTR_ERROR_TYPE_MTR_PARAMS' value='5'/>
+      <enumerator name='RTE_MTR_ERROR_TYPE_POLICER_ACTION_GREEN' value='6'/>
+      <enumerator name='RTE_MTR_ERROR_TYPE_POLICER_ACTION_YELLOW' value='7'/>
+      <enumerator name='RTE_MTR_ERROR_TYPE_POLICER_ACTION_RED' value='8'/>
+      <enumerator name='RTE_MTR_ERROR_TYPE_STATS_MASK' value='9'/>
+      <enumerator name='RTE_MTR_ERROR_TYPE_STATS' value='10'/>
+      <enumerator name='RTE_MTR_ERROR_TYPE_SHARED' value='11'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-591' size-in-bits='64' id='type-id-593'/>
+    <function-decl name='rte_mtr_stats_read' mangled-name='rte_mtr_stats_read' filepath='../lib/librte_ethdev/rte_mtr.c' line='191' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mtr_stats_read@@EXPERIMENTAL'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_mtr.c' line='191' column='1'/>
+      <parameter type-id='type-id-25' name='mtr_id' filepath='../lib/librte_ethdev/rte_mtr.c' line='192' column='1'/>
+      <parameter type-id='type-id-590' name='stats' filepath='../lib/librte_ethdev/rte_mtr.c' line='193' column='1'/>
+      <parameter type-id='type-id-472' name='stats_mask' filepath='../lib/librte_ethdev/rte_mtr.c' line='194' column='1'/>
+      <parameter type-id='type-id-1' name='clear' filepath='../lib/librte_ethdev/rte_mtr.c' line='195' column='1'/>
+      <parameter type-id='type-id-593' name='error' filepath='../lib/librte_ethdev/rte_mtr.c' line='196' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_mtr_stats_update' mangled-name='rte_mtr_stats_update' filepath='../lib/librte_ethdev/rte_mtr.c' line='179' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mtr_stats_update@@EXPERIMENTAL'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_mtr.c' line='179' column='1'/>
+      <parameter type-id='type-id-25' name='mtr_id' filepath='../lib/librte_ethdev/rte_mtr.c' line='180' column='1'/>
+      <parameter type-id='type-id-24' name='stats_mask' filepath='../lib/librte_ethdev/rte_mtr.c' line='181' column='1'/>
+      <parameter type-id='type-id-593' name='error' filepath='../lib/librte_ethdev/rte_mtr.c' line='182' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <enum-decl name='rte_mtr_policer_action' filepath='../lib/librte_ethdev/rte_mtr.h' line='180' column='1' id='type-id-594'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='MTR_POLICER_ACTION_COLOR_GREEN' value='0'/>
+      <enumerator name='MTR_POLICER_ACTION_COLOR_YELLOW' value='1'/>
+      <enumerator name='MTR_POLICER_ACTION_COLOR_RED' value='2'/>
+      <enumerator name='MTR_POLICER_ACTION_DROP' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-594' size-in-bits='64' id='type-id-595'/>
+    <function-decl name='rte_mtr_policer_actions_update' mangled-name='rte_mtr_policer_actions_update' filepath='../lib/librte_ethdev/rte_mtr.c' line='166' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mtr_policer_actions_update@@EXPERIMENTAL'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_mtr.c' line='166' column='1'/>
+      <parameter type-id='type-id-25' name='mtr_id' filepath='../lib/librte_ethdev/rte_mtr.c' line='167' column='1'/>
+      <parameter type-id='type-id-25' name='action_mask' filepath='../lib/librte_ethdev/rte_mtr.c' line='168' column='1'/>
+      <parameter type-id='type-id-595' name='actions' filepath='../lib/librte_ethdev/rte_mtr.c' line='169' column='1'/>
+      <parameter type-id='type-id-593' name='error' filepath='../lib/librte_ethdev/rte_mtr.c' line='170' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <enum-decl name='rte_color' filepath='../lib/librte_meter/rte_meter.h' line='36' column='1' id='type-id-596'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='RTE_COLOR_GREEN' value='0'/>
+      <enumerator name='RTE_COLOR_YELLOW' value='1'/>
+      <enumerator name='RTE_COLOR_RED' value='2'/>
+      <enumerator name='RTE_COLORS' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-596' size-in-bits='64' id='type-id-597'/>
+    <function-decl name='rte_mtr_meter_dscp_table_update' mangled-name='rte_mtr_meter_dscp_table_update' filepath='../lib/librte_ethdev/rte_mtr.c' line='154' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mtr_meter_dscp_table_update@@EXPERIMENTAL'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_mtr.c' line='154' column='1'/>
+      <parameter type-id='type-id-25' name='mtr_id' filepath='../lib/librte_ethdev/rte_mtr.c' line='155' column='1'/>
+      <parameter type-id='type-id-597' name='dscp_table' filepath='../lib/librte_ethdev/rte_mtr.c' line='156' column='1'/>
+      <parameter type-id='type-id-593' name='error' filepath='../lib/librte_ethdev/rte_mtr.c' line='157' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_mtr_meter_profile_update' mangled-name='rte_mtr_meter_profile_update' filepath='../lib/librte_ethdev/rte_mtr.c' line='142' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mtr_meter_profile_update@@EXPERIMENTAL'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_mtr.c' line='142' column='1'/>
+      <parameter type-id='type-id-25' name='mtr_id' filepath='../lib/librte_ethdev/rte_mtr.c' line='143' column='1'/>
+      <parameter type-id='type-id-25' name='meter_profile_id' filepath='../lib/librte_ethdev/rte_mtr.c' line='144' column='1'/>
+      <parameter type-id='type-id-593' name='error' filepath='../lib/librte_ethdev/rte_mtr.c' line='145' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_mtr_meter_enable' mangled-name='rte_mtr_meter_enable' filepath='../lib/librte_ethdev/rte_mtr.c' line='120' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mtr_meter_enable@@EXPERIMENTAL'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_mtr.c' line='120' column='1'/>
+      <parameter type-id='type-id-25' name='mtr_id' filepath='../lib/librte_ethdev/rte_mtr.c' line='121' column='1'/>
+      <parameter type-id='type-id-593' name='error' filepath='../lib/librte_ethdev/rte_mtr.c' line='122' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_mtr_meter_disable' mangled-name='rte_mtr_meter_disable' filepath='../lib/librte_ethdev/rte_mtr.c' line='131' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mtr_meter_disable@@EXPERIMENTAL'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_mtr.c' line='120' column='1'/>
+      <parameter type-id='type-id-25' name='mtr_id' filepath='../lib/librte_ethdev/rte_mtr.c' line='121' column='1'/>
+      <parameter type-id='type-id-593' name='error' filepath='../lib/librte_ethdev/rte_mtr.c' line='122' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_mtr_destroy' mangled-name='rte_mtr_destroy' filepath='../lib/librte_ethdev/rte_mtr.c' line='109' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mtr_destroy@@EXPERIMENTAL'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_mtr.c' line='120' column='1'/>
+      <parameter type-id='type-id-25' name='mtr_id' filepath='../lib/librte_ethdev/rte_mtr.c' line='121' column='1'/>
+      <parameter type-id='type-id-593' name='error' filepath='../lib/librte_ethdev/rte_mtr.c' line='122' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_mtr_params' size-in-bits='320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='199' column='1' id='type-id-598'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='meter_profile_id' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='201' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='use_prev_mtr_color' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='212' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dscp_table' type-id='type-id-597' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='226' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='meter_enable' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='action' type-id='type-id-599' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='stats_mask' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='241' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-594' size-in-bits='96' alignment-in-bits='32' id='type-id-599'>
+      <subrange length='3' type-id='type-id-30' id='type-id-589'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-598' size-in-bits='64' id='type-id-600'/>
+    <function-decl name='rte_mtr_create' mangled-name='rte_mtr_create' filepath='../lib/librte_ethdev/rte_mtr.c' line='96' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mtr_create@@EXPERIMENTAL'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_mtr.c' line='96' column='1'/>
+      <parameter type-id='type-id-25' name='mtr_id' filepath='../lib/librte_ethdev/rte_mtr.c' line='97' column='1'/>
+      <parameter type-id='type-id-600' name='params' filepath='../lib/librte_ethdev/rte_mtr.c' line='98' column='1'/>
+      <parameter type-id='type-id-1' name='shared' filepath='../lib/librte_ethdev/rte_mtr.c' line='99' column='1'/>
+      <parameter type-id='type-id-593' name='error' filepath='../lib/librte_ethdev/rte_mtr.c' line='100' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_mtr_meter_profile_delete' mangled-name='rte_mtr_meter_profile_delete' filepath='../lib/librte_ethdev/rte_mtr.c' line='85' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mtr_meter_profile_delete@@EXPERIMENTAL'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_mtr.c' line='120' column='1'/>
+      <parameter type-id='type-id-25' name='mtr_id' filepath='../lib/librte_ethdev/rte_mtr.c' line='121' column='1'/>
+      <parameter type-id='type-id-593' name='error' filepath='../lib/librte_ethdev/rte_mtr.c' line='122' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_mtr_meter_profile' size-in-bits='320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='127' column='1' id='type-id-601'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='alg' type-id='type-id-602' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='129' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-603' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_mtr_algorithm' filepath='../lib/librte_ethdev/rte_mtr.h' line='106' column='1' id='type-id-602'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='RTE_MTR_NONE' value='0'/>
+      <enumerator name='RTE_MTR_SRTCM_RFC2697' value='1'/>
+      <enumerator name='RTE_MTR_TRTCM_RFC2698' value='2'/>
+      <enumerator name='RTE_MTR_TRTCM_RFC4115' value='3'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='132' column='1' id='type-id-603'>
+      <data-member access='private'>
+        <var-decl name='srtcm_rfc2697' type-id='type-id-604' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='143' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='trtcm_rfc2698' type-id='type-id-605' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='158' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='trtcm_rfc4115' type-id='type-id-606' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='173' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='134' column='1' id='type-id-604'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cir' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='136' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='cbs' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='139' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ebs' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='142' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='146' column='1' id='type-id-605'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cir' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='148' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pir' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='151' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cbs' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='pbs' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='157' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='161' column='1' id='type-id-606'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cir' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='163' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='eir' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='166' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cbs' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='169' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ebs' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='172' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-601' size-in-bits='64' id='type-id-607'/>
+    <function-decl name='rte_mtr_meter_profile_add' mangled-name='rte_mtr_meter_profile_add' filepath='../lib/librte_ethdev/rte_mtr.c' line='73' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mtr_meter_profile_add@@EXPERIMENTAL'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_mtr.c' line='73' column='1'/>
+      <parameter type-id='type-id-25' name='meter_profile_id' filepath='../lib/librte_ethdev/rte_mtr.c' line='74' column='1'/>
+      <parameter type-id='type-id-607' name='profile' filepath='../lib/librte_ethdev/rte_mtr.c' line='75' column='1'/>
+      <parameter type-id='type-id-593' name='error' filepath='../lib/librte_ethdev/rte_mtr.c' line='76' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_mtr_capabilities' size-in-bits='704' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='247' column='1' id='type-id-608'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='n_shared_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='identical' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='shared_identical' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='265' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='shared_n_flows_per_mtr_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='271' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='chaining_n_mtrs_per_flow_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='277' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='chaining_use_prev_mtr_color_supported' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='289' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='chaining_use_prev_mtr_color_enforced' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='300' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='meter_srtcm_rfc2697_n_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='306' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='meter_trtcm_rfc2698_n_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='312' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='meter_trtcm_rfc4115_n_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='318' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='meter_rate_max' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='325' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='color_aware_srtcm_rfc2697_supported' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='331' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='color_aware_trtcm_rfc2698_supported' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='337' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='color_aware_trtcm_rfc4115_supported' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='343' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='policer_action_recolor_supported' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='349' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='policer_action_drop_supported' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='355' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='stats_mask' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='360' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-608' size-in-bits='64' id='type-id-609'/>
+    <function-decl name='rte_mtr_capabilities_get' mangled-name='rte_mtr_capabilities_get' filepath='../lib/librte_ethdev/rte_mtr.c' line='62' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mtr_capabilities_get@@EXPERIMENTAL'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_mtr.c' line='62' column='1'/>
+      <parameter type-id='type-id-609' name='cap' filepath='../lib/librte_ethdev/rte_mtr.c' line='63' column='1'/>
+      <parameter type-id='type-id-593' name='error' filepath='../lib/librte_ethdev/rte_mtr.c' line='64' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_ethdev/rte_tm.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_tm_error' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='1030' column='1' id='type-id-610'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-611' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='1031' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='cause' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='1032' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='message' type-id='type-id-272' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='1033' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_tm_error_type' filepath='../lib/librte_ethdev/rte_tm.h' line='983' column='1' id='type-id-611'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_UNSPECIFIED' value='1'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_CAPABILITIES' value='2'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_LEVEL_ID' value='3'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_WRED_PROFILE' value='4'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_WRED_PROFILE_GREEN' value='5'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_WRED_PROFILE_YELLOW' value='6'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_WRED_PROFILE_RED' value='7'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_WRED_PROFILE_ID' value='8'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_SHARED_WRED_CONTEXT_ID' value='9'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_SHAPER_PROFILE' value='10'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_SHAPER_PROFILE_COMMITTED_RATE' value='11'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_SHAPER_PROFILE_COMMITTED_SIZE' value='12'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_SHAPER_PROFILE_PEAK_RATE' value='13'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_SHAPER_PROFILE_PEAK_SIZE' value='14'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_SHAPER_PROFILE_PKT_ADJUST_LEN' value='15'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_SHAPER_PROFILE_ID' value='16'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_SHARED_SHAPER_ID' value='17'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_NODE_PARENT_NODE_ID' value='18'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_NODE_PRIORITY' value='19'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_NODE_WEIGHT' value='20'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_NODE_PARAMS' value='21'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_NODE_PARAMS_SHAPER_PROFILE_ID' value='22'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_NODE_PARAMS_SHARED_SHAPER_ID' value='23'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_NODE_PARAMS_N_SHARED_SHAPERS' value='24'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_NODE_PARAMS_WFQ_WEIGHT_MODE' value='25'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_NODE_PARAMS_N_SP_PRIORITIES' value='26'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_NODE_PARAMS_CMAN' value='27'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_NODE_PARAMS_WRED_PROFILE_ID' value='28'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_NODE_PARAMS_SHARED_WRED_CONTEXT_ID' value='29'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_NODE_PARAMS_N_SHARED_WRED_CONTEXTS' value='30'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_NODE_PARAMS_STATS' value='31'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_NODE_ID' value='32'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-610' size-in-bits='64' id='type-id-612'/>
+    <function-decl name='rte_tm_mark_ip_dscp' mangled-name='rte_tm_mark_ip_dscp' filepath='../lib/librte_ethdev/rte_tm.c' line='400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_tm_mark_ip_dscp@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_tm.c' line='400' column='1'/>
+      <parameter type-id='type-id-1' name='mark_green' filepath='../lib/librte_ethdev/rte_tm.c' line='401' column='1'/>
+      <parameter type-id='type-id-1' name='mark_yellow' filepath='../lib/librte_ethdev/rte_tm.c' line='402' column='1'/>
+      <parameter type-id='type-id-1' name='mark_red' filepath='../lib/librte_ethdev/rte_tm.c' line='403' column='1'/>
+      <parameter type-id='type-id-612' name='error' filepath='../lib/librte_ethdev/rte_tm.c' line='404' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_tm_mark_ip_ecn' mangled-name='rte_tm_mark_ip_ecn' filepath='../lib/librte_ethdev/rte_tm.c' line='388' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_tm_mark_ip_ecn@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_tm.c' line='400' column='1'/>
+      <parameter type-id='type-id-1' name='mark_green' filepath='../lib/librte_ethdev/rte_tm.c' line='401' column='1'/>
+      <parameter type-id='type-id-1' name='mark_yellow' filepath='../lib/librte_ethdev/rte_tm.c' line='402' column='1'/>
+      <parameter type-id='type-id-1' name='mark_red' filepath='../lib/librte_ethdev/rte_tm.c' line='403' column='1'/>
+      <parameter type-id='type-id-612' name='error' filepath='../lib/librte_ethdev/rte_tm.c' line='404' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_tm_mark_vlan_dei' mangled-name='rte_tm_mark_vlan_dei' filepath='../lib/librte_ethdev/rte_tm.c' line='376' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_tm_mark_vlan_dei@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_tm.c' line='400' column='1'/>
+      <parameter type-id='type-id-1' name='mark_green' filepath='../lib/librte_ethdev/rte_tm.c' line='401' column='1'/>
+      <parameter type-id='type-id-1' name='mark_yellow' filepath='../lib/librte_ethdev/rte_tm.c' line='402' column='1'/>
+      <parameter type-id='type-id-1' name='mark_red' filepath='../lib/librte_ethdev/rte_tm.c' line='403' column='1'/>
+      <parameter type-id='type-id-612' name='error' filepath='../lib/librte_ethdev/rte_tm.c' line='404' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_tm_node_stats' size-in-bits='640' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='132' column='1' id='type-id-613'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n_pkts' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='134' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='n_bytes' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='leaf' type-id='type-id-614' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='160' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='512' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='140' column='1' id='type-id-614'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n_pkts_dropped' type-id='type-id-588' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='144' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='n_bytes_dropped' type-id='type-id-588' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='149' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='n_pkts_queued' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='n_bytes_queued' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='159' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-613' size-in-bits='64' id='type-id-615'/>
+    <function-decl name='rte_tm_node_stats_read' mangled-name='rte_tm_node_stats_read' filepath='../lib/librte_ethdev/rte_tm.c' line='363' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_tm_node_stats_read@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_tm.c' line='363' column='1'/>
+      <parameter type-id='type-id-25' name='node_id' filepath='../lib/librte_ethdev/rte_tm.c' line='364' column='1'/>
+      <parameter type-id='type-id-615' name='stats' filepath='../lib/librte_ethdev/rte_tm.c' line='365' column='1'/>
+      <parameter type-id='type-id-472' name='stats_mask' filepath='../lib/librte_ethdev/rte_tm.c' line='366' column='1'/>
+      <parameter type-id='type-id-1' name='clear' filepath='../lib/librte_ethdev/rte_tm.c' line='367' column='1'/>
+      <parameter type-id='type-id-612' name='error' filepath='../lib/librte_ethdev/rte_tm.c' line='368' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_tm_node_shared_wred_context_update' mangled-name='rte_tm_node_shared_wred_context_update' filepath='../lib/librte_ethdev/rte_tm.c' line='351' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_tm_node_shared_wred_context_update@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_tm.c' line='351' column='1'/>
+      <parameter type-id='type-id-25' name='node_id' filepath='../lib/librte_ethdev/rte_tm.c' line='352' column='1'/>
+      <parameter type-id='type-id-25' name='shared_wred_context_id' filepath='../lib/librte_ethdev/rte_tm.c' line='353' column='1'/>
+      <parameter type-id='type-id-1' name='add' filepath='../lib/librte_ethdev/rte_tm.c' line='354' column='1'/>
+      <parameter type-id='type-id-612' name='error' filepath='../lib/librte_ethdev/rte_tm.c' line='355' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_tm_node_wred_context_update' mangled-name='rte_tm_node_wred_context_update' filepath='../lib/librte_ethdev/rte_tm.c' line='340' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_tm_node_wred_context_update@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_tm.c' line='340' column='1'/>
+      <parameter type-id='type-id-25' name='node_id' filepath='../lib/librte_ethdev/rte_tm.c' line='341' column='1'/>
+      <parameter type-id='type-id-25' name='wred_profile_id' filepath='../lib/librte_ethdev/rte_tm.c' line='342' column='1'/>
+      <parameter type-id='type-id-612' name='error' filepath='../lib/librte_ethdev/rte_tm.c' line='343' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <enum-decl name='rte_tm_cman_mode' filepath='../lib/librte_ethdev/rte_tm.h' line='785' column='1' id='type-id-616'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='RTE_TM_CMAN_TAIL_DROP' value='0'/>
+      <enumerator name='RTE_TM_CMAN_HEAD_DROP' value='1'/>
+      <enumerator name='RTE_TM_CMAN_WRED' value='2'/>
+    </enum-decl>
+    <function-decl name='rte_tm_node_cman_update' mangled-name='rte_tm_node_cman_update' filepath='../lib/librte_ethdev/rte_tm.c' line='329' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_tm_node_cman_update@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_tm.c' line='329' column='1'/>
+      <parameter type-id='type-id-25' name='node_id' filepath='../lib/librte_ethdev/rte_tm.c' line='330' column='1'/>
+      <parameter type-id='type-id-616' name='cman' filepath='../lib/librte_ethdev/rte_tm.c' line='331' column='1'/>
+      <parameter type-id='type-id-612' name='error' filepath='../lib/librte_ethdev/rte_tm.c' line='332' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_tm_node_wfq_weight_mode_update' mangled-name='rte_tm_node_wfq_weight_mode_update' filepath='../lib/librte_ethdev/rte_tm.c' line='317' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_tm_node_wfq_weight_mode_update@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_tm.c' line='317' column='1'/>
+      <parameter type-id='type-id-25' name='node_id' filepath='../lib/librte_ethdev/rte_tm.c' line='318' column='1'/>
+      <parameter type-id='type-id-502' name='wfq_weight_mode' filepath='../lib/librte_ethdev/rte_tm.c' line='319' column='1'/>
+      <parameter type-id='type-id-25' name='n_sp_priorities' filepath='../lib/librte_ethdev/rte_tm.c' line='320' column='1'/>
+      <parameter type-id='type-id-612' name='error' filepath='../lib/librte_ethdev/rte_tm.c' line='321' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_tm_node_stats_update' mangled-name='rte_tm_node_stats_update' filepath='../lib/librte_ethdev/rte_tm.c' line='306' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_tm_node_stats_update@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_tm.c' line='306' column='1'/>
+      <parameter type-id='type-id-25' name='node_id' filepath='../lib/librte_ethdev/rte_tm.c' line='307' column='1'/>
+      <parameter type-id='type-id-24' name='stats_mask' filepath='../lib/librte_ethdev/rte_tm.c' line='308' column='1'/>
+      <parameter type-id='type-id-612' name='error' filepath='../lib/librte_ethdev/rte_tm.c' line='309' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_tm_node_shared_shaper_update' mangled-name='rte_tm_node_shared_shaper_update' filepath='../lib/librte_ethdev/rte_tm.c' line='294' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_tm_node_shared_shaper_update@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_tm.c' line='351' column='1'/>
+      <parameter type-id='type-id-25' name='node_id' filepath='../lib/librte_ethdev/rte_tm.c' line='352' column='1'/>
+      <parameter type-id='type-id-25' name='shared_wred_context_id' filepath='../lib/librte_ethdev/rte_tm.c' line='353' column='1'/>
+      <parameter type-id='type-id-1' name='add' filepath='../lib/librte_ethdev/rte_tm.c' line='354' column='1'/>
+      <parameter type-id='type-id-612' name='error' filepath='../lib/librte_ethdev/rte_tm.c' line='355' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_tm_node_shaper_update' mangled-name='rte_tm_node_shaper_update' filepath='../lib/librte_ethdev/rte_tm.c' line='283' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_tm_node_shaper_update@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_tm.c' line='340' column='1'/>
+      <parameter type-id='type-id-25' name='node_id' filepath='../lib/librte_ethdev/rte_tm.c' line='341' column='1'/>
+      <parameter type-id='type-id-25' name='wred_profile_id' filepath='../lib/librte_ethdev/rte_tm.c' line='342' column='1'/>
+      <parameter type-id='type-id-612' name='error' filepath='../lib/librte_ethdev/rte_tm.c' line='343' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_tm_node_parent_update' mangled-name='rte_tm_node_parent_update' filepath='../lib/librte_ethdev/rte_tm.c' line='270' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_tm_node_parent_update@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_tm.c' line='270' column='1'/>
+      <parameter type-id='type-id-25' name='node_id' filepath='../lib/librte_ethdev/rte_tm.c' line='271' column='1'/>
+      <parameter type-id='type-id-25' name='parent_node_id' filepath='../lib/librte_ethdev/rte_tm.c' line='272' column='1'/>
+      <parameter type-id='type-id-25' name='priority' filepath='../lib/librte_ethdev/rte_tm.c' line='273' column='1'/>
+      <parameter type-id='type-id-25' name='weight' filepath='../lib/librte_ethdev/rte_tm.c' line='274' column='1'/>
+      <parameter type-id='type-id-612' name='error' filepath='../lib/librte_ethdev/rte_tm.c' line='275' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_tm_hierarchy_commit' mangled-name='rte_tm_hierarchy_commit' filepath='../lib/librte_ethdev/rte_tm.c' line='260' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_tm_hierarchy_commit@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_tm.c' line='260' column='1'/>
+      <parameter type-id='type-id-1' name='clear_on_fail' filepath='../lib/librte_ethdev/rte_tm.c' line='261' column='1'/>
+      <parameter type-id='type-id-612' name='error' filepath='../lib/librte_ethdev/rte_tm.c' line='262' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_tm_node_resume' mangled-name='rte_tm_node_resume' filepath='../lib/librte_ethdev/rte_tm.c' line='250' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_tm_node_resume@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_tm.c' line='250' column='1'/>
+      <parameter type-id='type-id-25' name='node_id' filepath='../lib/librte_ethdev/rte_tm.c' line='251' column='1'/>
+      <parameter type-id='type-id-612' name='error' filepath='../lib/librte_ethdev/rte_tm.c' line='252' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_tm_node_suspend' mangled-name='rte_tm_node_suspend' filepath='../lib/librte_ethdev/rte_tm.c' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_tm_node_suspend@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_tm.c' line='250' column='1'/>
+      <parameter type-id='type-id-25' name='node_id' filepath='../lib/librte_ethdev/rte_tm.c' line='251' column='1'/>
+      <parameter type-id='type-id-612' name='error' filepath='../lib/librte_ethdev/rte_tm.c' line='252' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_tm_node_delete' mangled-name='rte_tm_node_delete' filepath='../lib/librte_ethdev/rte_tm.c' line='230' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_tm_node_delete@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_tm.c' line='250' column='1'/>
+      <parameter type-id='type-id-25' name='node_id' filepath='../lib/librte_ethdev/rte_tm.c' line='251' column='1'/>
+      <parameter type-id='type-id-612' name='error' filepath='../lib/librte_ethdev/rte_tm.c' line='252' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_tm_node_params' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='906' column='1' id='type-id-617'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='shaper_profile_id' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='911' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='shared_shaper_id' type-id='type-id-533' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='914' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='n_shared_shapers' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='917' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-618' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='stats_mask' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='974' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='920' column='1' id='type-id-618'>
+      <data-member access='private'>
+        <var-decl name='nonleaf' type-id='type-id-619' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='933' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='leaf' type-id='type-id-620' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='965' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='922' column='1' id='type-id-619'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='wfq_weight_mode' type-id='type-id-502' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='929' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='n_sp_priorities' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='932' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='936' column='1' id='type-id-620'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cman' type-id='type-id-616' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='938' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='wred' type-id='type-id-621' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='964' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='943' column='1' id='type-id-621'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='wred_profile_id' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='949' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='shared_wred_context_id' type-id='type-id-533' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='956' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='n_shared_wred_contexts' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='963' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-617' size-in-bits='64' id='type-id-622'/>
+    <function-decl name='rte_tm_node_add' mangled-name='rte_tm_node_add' filepath='../lib/librte_ethdev/rte_tm.c' line='214' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_tm_node_add@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_tm.c' line='214' column='1'/>
+      <parameter type-id='type-id-25' name='node_id' filepath='../lib/librte_ethdev/rte_tm.c' line='215' column='1'/>
+      <parameter type-id='type-id-25' name='parent_node_id' filepath='../lib/librte_ethdev/rte_tm.c' line='216' column='1'/>
+      <parameter type-id='type-id-25' name='priority' filepath='../lib/librte_ethdev/rte_tm.c' line='217' column='1'/>
+      <parameter type-id='type-id-25' name='weight' filepath='../lib/librte_ethdev/rte_tm.c' line='218' column='1'/>
+      <parameter type-id='type-id-25' name='level_id' filepath='../lib/librte_ethdev/rte_tm.c' line='219' column='1'/>
+      <parameter type-id='type-id-622' name='params' filepath='../lib/librte_ethdev/rte_tm.c' line='220' column='1'/>
+      <parameter type-id='type-id-612' name='error' filepath='../lib/librte_ethdev/rte_tm.c' line='221' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_tm_shared_shaper_delete' mangled-name='rte_tm_shared_shaper_delete' filepath='../lib/librte_ethdev/rte_tm.c' line='204' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_tm_shared_shaper_delete@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_tm.c' line='250' column='1'/>
+      <parameter type-id='type-id-25' name='node_id' filepath='../lib/librte_ethdev/rte_tm.c' line='251' column='1'/>
+      <parameter type-id='type-id-612' name='error' filepath='../lib/librte_ethdev/rte_tm.c' line='252' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_tm_shared_shaper_add_update' mangled-name='rte_tm_shared_shaper_add_update' filepath='../lib/librte_ethdev/rte_tm.c' line='193' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_tm_shared_shaper_add_update@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_tm.c' line='340' column='1'/>
+      <parameter type-id='type-id-25' name='node_id' filepath='../lib/librte_ethdev/rte_tm.c' line='341' column='1'/>
+      <parameter type-id='type-id-25' name='wred_profile_id' filepath='../lib/librte_ethdev/rte_tm.c' line='342' column='1'/>
+      <parameter type-id='type-id-612' name='error' filepath='../lib/librte_ethdev/rte_tm.c' line='343' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_tm_shaper_profile_delete' mangled-name='rte_tm_shaper_profile_delete' filepath='../lib/librte_ethdev/rte_tm.c' line='183' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_tm_shaper_profile_delete@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_tm.c' line='250' column='1'/>
+      <parameter type-id='type-id-25' name='node_id' filepath='../lib/librte_ethdev/rte_tm.c' line='251' column='1'/>
+      <parameter type-id='type-id-612' name='error' filepath='../lib/librte_ethdev/rte_tm.c' line='252' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_tm_shaper_params' size-in-bits='320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='864' column='1' id='type-id-623'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='committed' type-id='type-id-624' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='866' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='peak' type-id='type-id-624' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='869' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='pkt_length_adjust' type-id='type-id-42' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='876' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_tm_token_bucket' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='838' column='1' id='type-id-624'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rate' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='840' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='size' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='843' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-623' size-in-bits='64' id='type-id-625'/>
+    <function-decl name='rte_tm_shaper_profile_add' mangled-name='rte_tm_shaper_profile_add' filepath='../lib/librte_ethdev/rte_tm.c' line='172' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_tm_shaper_profile_add@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_tm.c' line='172' column='1'/>
+      <parameter type-id='type-id-25' name='shaper_profile_id' filepath='../lib/librte_ethdev/rte_tm.c' line='173' column='1'/>
+      <parameter type-id='type-id-625' name='profile' filepath='../lib/librte_ethdev/rte_tm.c' line='174' column='1'/>
+      <parameter type-id='type-id-612' name='error' filepath='../lib/librte_ethdev/rte_tm.c' line='175' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_tm_shared_wred_context_delete' mangled-name='rte_tm_shared_wred_context_delete' filepath='../lib/librte_ethdev/rte_tm.c' line='162' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_tm_shared_wred_context_delete@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_tm.c' line='250' column='1'/>
+      <parameter type-id='type-id-25' name='node_id' filepath='../lib/librte_ethdev/rte_tm.c' line='251' column='1'/>
+      <parameter type-id='type-id-612' name='error' filepath='../lib/librte_ethdev/rte_tm.c' line='252' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_tm_shared_wred_context_add_update' mangled-name='rte_tm_shared_wred_context_add_update' filepath='../lib/librte_ethdev/rte_tm.c' line='151' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_tm_shared_wred_context_add_update@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_tm.c' line='340' column='1'/>
+      <parameter type-id='type-id-25' name='node_id' filepath='../lib/librte_ethdev/rte_tm.c' line='341' column='1'/>
+      <parameter type-id='type-id-25' name='wred_profile_id' filepath='../lib/librte_ethdev/rte_tm.c' line='342' column='1'/>
+      <parameter type-id='type-id-612' name='error' filepath='../lib/librte_ethdev/rte_tm.c' line='343' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_tm_wred_profile_delete' mangled-name='rte_tm_wred_profile_delete' filepath='../lib/librte_ethdev/rte_tm.c' line='141' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_tm_wred_profile_delete@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_tm.c' line='250' column='1'/>
+      <parameter type-id='type-id-25' name='node_id' filepath='../lib/librte_ethdev/rte_tm.c' line='251' column='1'/>
+      <parameter type-id='type-id-612' name='error' filepath='../lib/librte_ethdev/rte_tm.c' line='252' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_tm_wred_params' size-in-bits='640' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='824' column='1' id='type-id-626'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='red_params' type-id='type-id-627' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='826' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='packet_mode' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='832' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_tm_red_params' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='794' column='1' id='type-id-628'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='min_th' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='796' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='max_th' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='799' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='maxp_inv' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='wq_log2' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='807' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-628' size-in-bits='576' id='type-id-627'>
+      <subrange length='3' type-id='type-id-30' id='type-id-589'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-626' size-in-bits='64' id='type-id-629'/>
+    <function-decl name='rte_tm_wred_profile_add' mangled-name='rte_tm_wred_profile_add' filepath='../lib/librte_ethdev/rte_tm.c' line='130' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_tm_wred_profile_add@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_tm.c' line='130' column='1'/>
+      <parameter type-id='type-id-25' name='wred_profile_id' filepath='../lib/librte_ethdev/rte_tm.c' line='131' column='1'/>
+      <parameter type-id='type-id-629' name='profile' filepath='../lib/librte_ethdev/rte_tm.c' line='132' column='1'/>
+      <parameter type-id='type-id-612' name='error' filepath='../lib/librte_ethdev/rte_tm.c' line='133' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_tm_node_capabilities' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='668' column='1' id='type-id-630'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='shaper_private_supported' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='670' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='shaper_private_dual_rate_supported' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='675' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='shaper_private_rate_min' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='681' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='shaper_private_rate_max' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='687' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='shaper_shared_n_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='693' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='' type-id='type-id-631' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='stats_mask' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='766' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='160' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='696' column='1' id='type-id-631'>
+      <data-member access='private'>
+        <var-decl name='nonleaf' type-id='type-id-632' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='738' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='leaf' type-id='type-id-633' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='760' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='160' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='698' column='1' id='type-id-632'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='sched_n_children_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='700' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='sched_sp_n_priorities_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='708' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='sched_wfq_n_children_per_group_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='717' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='sched_wfq_n_groups_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='731' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='sched_wfq_weight_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='737' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='160' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='741' column='1' id='type-id-633'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cman_wred_packet_mode_supported' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='743' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='cman_wred_byte_mode_supported' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='746' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='cman_head_drop_supported' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='749' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='cman_wred_context_private_supported' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='752' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cman_wred_context_shared_n_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='759' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-630' size-in-bits='64' id='type-id-634'/>
+    <function-decl name='rte_tm_node_capabilities_get' mangled-name='rte_tm_node_capabilities_get' filepath='../lib/librte_ethdev/rte_tm.c' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_tm_node_capabilities_get@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_tm.c' line='119' column='1'/>
+      <parameter type-id='type-id-25' name='node_id' filepath='../lib/librte_ethdev/rte_tm.c' line='120' column='1'/>
+      <parameter type-id='type-id-634' name='cap' filepath='../lib/librte_ethdev/rte_tm.c' line='121' column='1'/>
+      <parameter type-id='type-id-612' name='error' filepath='../lib/librte_ethdev/rte_tm.c' line='122' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_tm_level_capabilities' size-in-bits='640' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='425' column='1' id='type-id-635'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n_nodes_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='427' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='n_nodes_nonleaf_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='433' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='n_nodes_leaf_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='439' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='non_leaf_nodes_identical' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='445' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='leaf_nodes_identical' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='451' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-636' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='448' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='454' column='1' id='type-id-636'>
+      <data-member access='private'>
+        <var-decl name='nonleaf' type-id='type-id-637' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='565' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='leaf' type-id='type-id-638' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='661' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='448' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='456' column='1' id='type-id-637'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='shaper_private_supported' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='462' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='shaper_private_dual_rate_supported' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='472' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='shaper_private_rate_min' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='479' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='shaper_private_rate_max' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='486' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='shaper_shared_n_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='496' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='sched_n_children_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='504' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='sched_sp_n_priorities_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='517' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='sched_wfq_n_children_per_group_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='529' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='sched_wfq_n_groups_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='548' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='sched_wfq_weight_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='555' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='stats_mask' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='564' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='448' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='568' column='1' id='type-id-638'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='shaper_private_supported' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='574' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='shaper_private_dual_rate_supported' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='583' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='shaper_private_rate_min' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='590' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='shaper_private_rate_max' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='597' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='shaper_shared_n_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='607' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='cman_wred_packet_mode_supported' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='616' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cman_wred_byte_mode_supported' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='625' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='cman_head_drop_supported' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='633' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='cman_wred_context_private_supported' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='640' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='cman_wred_context_shared_n_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='651' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='stats_mask' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='660' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-635' size-in-bits='64' id='type-id-639'/>
+    <function-decl name='rte_tm_level_capabilities_get' mangled-name='rte_tm_level_capabilities_get' filepath='../lib/librte_ethdev/rte_tm.c' line='108' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_tm_level_capabilities_get@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_tm.c' line='108' column='1'/>
+      <parameter type-id='type-id-25' name='level_id' filepath='../lib/librte_ethdev/rte_tm.c' line='109' column='1'/>
+      <parameter type-id='type-id-639' name='cap' filepath='../lib/librte_ethdev/rte_tm.c' line='110' column='1'/>
+      <parameter type-id='type-id-612' name='error' filepath='../lib/librte_ethdev/rte_tm.c' line='111' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_tm_capabilities' size-in-bits='1664' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='201' column='1' id='type-id-640'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n_nodes_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='203' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='n_levels_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='208' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='non_leaf_nodes_identical' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='213' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='leaf_nodes_identical' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='218' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='shaper_n_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='226' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='shaper_private_n_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='shaper_private_dual_rate_n_max' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='241' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='shaper_private_rate_min' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='246' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='shaper_private_rate_max' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='shaper_shared_n_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='shaper_shared_n_nodes_per_shaper_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='shaper_shared_n_shapers_per_node_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='269' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='shaper_shared_dual_rate_n_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='275' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='shaper_shared_rate_min' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='280' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='shaper_shared_rate_max' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='285' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='shaper_pkt_length_adjust_min' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='290' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='shaper_pkt_length_adjust_max' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='295' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='sched_n_children_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='302' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='736'>
+        <var-decl name='sched_sp_n_priorities_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='312' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='sched_wfq_n_children_per_group_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='322' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='sched_wfq_n_groups_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='335' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='sched_wfq_weight_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='340' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='864'>
+        <var-decl name='cman_wred_packet_mode_supported' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='348' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='cman_wred_byte_mode_supported' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='356' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='928'>
+        <var-decl name='cman_head_drop_supported' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='362' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='cman_wred_context_n_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='371' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='992'>
+        <var-decl name='cman_wred_context_private_n_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='378' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='cman_wred_context_shared_n_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='383' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1056'>
+        <var-decl name='cman_wred_context_shared_n_nodes_per_context_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='388' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='cman_wred_context_shared_n_contexts_per_node_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='397' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1120'>
+        <var-decl name='mark_vlan_dei_supported' type-id='type-id-641' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='400' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='mark_ip_ecn_tcp_supported' type-id='type-id-641' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='403' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1312'>
+        <var-decl name='mark_ip_ecn_sctp_supported' type-id='type-id-641' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='406' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='mark_ip_dscp_supported' type-id='type-id-641' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='409' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='dynamic_update_mask' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='414' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='stats_mask' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='419' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='96' id='type-id-641'>
+      <subrange length='3' type-id='type-id-30' id='type-id-589'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-640' size-in-bits='64' id='type-id-642'/>
+    <function-decl name='rte_tm_capabilities_get' mangled-name='rte_tm_capabilities_get' filepath='../lib/librte_ethdev/rte_tm.c' line='98' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_tm_capabilities_get@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_tm.c' line='98' column='1'/>
+      <parameter type-id='type-id-642' name='cap' filepath='../lib/librte_ethdev/rte_tm.c' line='99' column='1'/>
+      <parameter type-id='type-id-612' name='error' filepath='../lib/librte_ethdev/rte_tm.c' line='100' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_tm_node_type_get' mangled-name='rte_tm_node_type_get' filepath='../lib/librte_ethdev/rte_tm.c' line='87' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_tm_node_type_get@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_tm.c' line='87' column='1'/>
+      <parameter type-id='type-id-25' name='node_id' filepath='../lib/librte_ethdev/rte_tm.c' line='88' column='1'/>
+      <parameter type-id='type-id-502' name='is_leaf' filepath='../lib/librte_ethdev/rte_tm.c' line='89' column='1'/>
+      <parameter type-id='type-id-612' name='error' filepath='../lib/librte_ethdev/rte_tm.c' line='90' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_tm_get_number_of_leaf_nodes' mangled-name='rte_tm_get_number_of_leaf_nodes' filepath='../lib/librte_ethdev/rte_tm.c' line='61' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_tm_get_number_of_leaf_nodes@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='port_id' filepath='../lib/librte_ethdev/rte_tm.c' line='61' column='1'/>
+      <parameter type-id='type-id-533' name='n_leaf_nodes' filepath='../lib/librte_ethdev/rte_tm.c' line='62' column='1'/>
+      <parameter type-id='type-id-612' name='error' filepath='../lib/librte_ethdev/rte_tm.c' line='63' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_eventdev.dump b/lib/.abi/librte_eventdev.dump
new file mode 100644
index 000000000..62d39107d
--- /dev/null
+++ b/lib/.abi/librte_eventdev.dump
@@ -0,0 +1,5519 @@
+<abi-corpus path='gcc//lib/librte_eventdev.so.20.0' architecture='elf-amd-x86_64' soname='librte_eventdev.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='librte_timer.so.20.0'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_event_crypto_adapter_caps_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_crypto_adapter_create' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_crypto_adapter_create_ext' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_crypto_adapter_event_port_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_crypto_adapter_free' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_crypto_adapter_queue_pair_add' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_crypto_adapter_queue_pair_del' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_crypto_adapter_service_id_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_crypto_adapter_start' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_crypto_adapter_stats_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_crypto_adapter_stats_reset' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_crypto_adapter_stop' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_dequeue_timeout_ticks' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_dev_attr_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_dev_close' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_dev_configure' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_dev_count' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_dev_dump' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_dev_get_dev_id' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_dev_info_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_dev_selftest' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_dev_service_id_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_dev_socket_id' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_dev_start' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_dev_stop' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_dev_stop_flush_callback_register' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_dev_xstats_by_name_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_dev_xstats_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_dev_xstats_names_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_dev_xstats_reset' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_eth_rx_adapter_caps_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_eth_rx_adapter_cb_register' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_eth_rx_adapter_create' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_eth_rx_adapter_create_ext' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_eth_rx_adapter_free' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_eth_rx_adapter_queue_add' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_eth_rx_adapter_queue_del' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_eth_rx_adapter_service_id_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_eth_rx_adapter_start' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_eth_rx_adapter_stats_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_eth_rx_adapter_stats_reset' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_eth_rx_adapter_stop' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_eth_tx_adapter_caps_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_eth_tx_adapter_create' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_eth_tx_adapter_create_ext' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_eth_tx_adapter_event_port_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_eth_tx_adapter_free' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_eth_tx_adapter_queue_add' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_eth_tx_adapter_queue_del' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_eth_tx_adapter_service_id_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_eth_tx_adapter_start' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_eth_tx_adapter_stats_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_eth_tx_adapter_stats_reset' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_eth_tx_adapter_stop' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_pmd_allocate' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_pmd_release' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_port_attr_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_port_default_conf_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_port_link' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_port_links_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_port_setup' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_port_unlink' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_port_unlinks_in_progress' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_queue_attr_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_queue_default_conf_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_queue_setup' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_ring_create' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_ring_free' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_ring_init' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_ring_lookup' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_timer_adapter_caps_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_timer_adapter_create' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_timer_adapter_create_ext' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_timer_adapter_free' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_timer_adapter_get_info' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_timer_adapter_lookup' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_timer_adapter_service_id_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_timer_adapter_start' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_timer_adapter_stats_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_timer_adapter_stats_reset' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_event_timer_adapter_stop' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <elf-variable-symbols>
+    <elf-symbol name='rte_eventdevs' size='8' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eventdev/rte_eventdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_eventdev' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1291' column='1' id='type-id-1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='enqueue' type-id='type-id-2' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1292' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='enqueue_burst' type-id='type-id-3' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1294' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='enqueue_new_burst' type-id='type-id-3' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1296' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='enqueue_forward_burst' type-id='type-id-3' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1298' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dequeue' type-id='type-id-4' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1300' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dequeue_burst' type-id='type-id-5' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1302' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='txa_enqueue_same_dest' type-id='type-id-6' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1304' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='txa_enqueue' type-id='type-id-7' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1308' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='data' type-id='type-id-8' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1310' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dev_ops' type-id='type-id-9' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1312' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dev' type-id='type-id-10' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1314' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='attached' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1318' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='reserved_64s' type-id='type-id-12' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1321' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='reserved_ptrs' type-id='type-id-13' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1322' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-14'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-14' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-15'/>
+    <typedef-decl name='uint16_t' type-id='type-id-15' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-16'/>
+    <type-decl name='void' id='type-id-17'/>
+    <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-18'/>
+    <class-decl name='rte_event' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1006' column='1' id='type-id-19'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-20' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1008' column='1' id='type-id-20'>
+      <data-member access='private'>
+        <var-decl name='event' type-id='type-id-21' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1009' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-22' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-23'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-23' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-24'/>
+    <typedef-decl name='uint64_t' type-id='type-id-24' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-21'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1011' column='1' id='type-id-22'>
+      <data-member access='public' layout-offset-in-bits='12'>
+        <var-decl name='flow_id' type-id='type-id-25' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1012' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4'>
+        <var-decl name='sub_event_type' type-id='type-id-25' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1019' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event_type' type-id='type-id-25' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1023' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='op' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1027' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2'>
+        <var-decl name='rsvd' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1033' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='sched_type' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1035' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='queue_id' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1040' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='priority' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1047' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='impl_opaque' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1057' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-26'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-26' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-27'/>
+    <typedef-decl name='uint32_t' type-id='type-id-27' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-25'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-28'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-28' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-29'/>
+    <typedef-decl name='uint8_t' type-id='type-id-29' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-11'/>
+    <qualified-type-def type-id='type-id-19' const='yes' id='type-id-30'/>
+    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-31'/>
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-33'/>
+    <typedef-decl name='event_enqueue_t' type-id='type-id-33' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1214' column='1' id='type-id-2'/>
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-35'/>
+    <typedef-decl name='event_enqueue_burst_t' type-id='type-id-35' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1217' column='1' id='type-id-3'/>
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-36'/>
+    <pointer-type-def type-id='type-id-37' size-in-bits='64' id='type-id-38'/>
+    <typedef-decl name='event_dequeue_t' type-id='type-id-38' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1221' column='1' id='type-id-4'/>
+    <pointer-type-def type-id='type-id-39' size-in-bits='64' id='type-id-40'/>
+    <typedef-decl name='event_dequeue_burst_t' type-id='type-id-40' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1225' column='1' id='type-id-5'/>
+    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-42'/>
+    <typedef-decl name='event_tx_adapter_enqueue_same_dest' type-id='type-id-42' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1233' column='1' id='type-id-6'/>
+    <typedef-decl name='event_tx_adapter_enqueue' type-id='type-id-42' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1229' column='1' id='type-id-7'/>
+    <class-decl name='rte_eventdev_data' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1249' column='1' id='type-id-43'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='socket_id' type-id='type-id-44' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dev_id' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='nb_queues' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='nb_ports' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ports' type-id='type-id-45' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ports_cfg' type-id='type-id-46' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='queues_cfg' type-id='type-id-47' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1262' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='links_map' type-id='type-id-48' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1264' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_private' type-id='type-id-18' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1266' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='event_dev_cap' type-id='type-id-25' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1268' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='dev_conf' type-id='type-id-49' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1270' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='service_inited' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1272' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='service_id' type-id='type-id-25' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1274' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='dev_stop_flush_arg' type-id='type-id-18' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1276' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='dev_started' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1280' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='776'>
+        <var-decl name='name' type-id='type-id-50' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1283' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='reserved_64s' type-id='type-id-12' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1286' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='reserved_ptrs' type-id='type-id-13' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1287' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='int' size-in-bits='32' id='type-id-44'/>
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-45'/>
+    <class-decl name='rte_event_port_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='673' column='1' id='type-id-51'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='new_event_threshold' type-id='type-id-52' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='674' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dequeue_depth' type-id='type-id-16' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='687' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='enqueue_depth' type-id='type-id-16' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='693' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='disable_implicit_release' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='699' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='__int32_t' type-id='type-id-44' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-53'/>
+    <typedef-decl name='int32_t' type-id='type-id-53' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-52'/>
+    <pointer-type-def type-id='type-id-51' size-in-bits='64' id='type-id-46'/>
+    <class-decl name='rte_event_queue_conf' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='537' column='1' id='type-id-54'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_atomic_flows' type-id='type-id-25' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='538' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_atomic_order_sequences' type-id='type-id-25' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='546' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='event_queue_cfg' type-id='type-id-25' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='560' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='schedule_type' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='104'>
+        <var-decl name='priority' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='567' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-54' size-in-bits='64' id='type-id-47'/>
+    <pointer-type-def type-id='type-id-16' size-in-bits='64' id='type-id-48'/>
+    <class-decl name='rte_event_dev_config' size-in-bits='224' is-struct='yes' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='445' column='1' id='type-id-49'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dequeue_timeout_ns' type-id='type-id-25' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='446' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_events_limit' type-id='type-id-52' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='454' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='nb_event_queues' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='462' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='nb_event_ports' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='467' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='nb_event_queue_flows' type-id='type-id-25' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='472' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='nb_event_port_dequeue_depth' type-id='type-id-25' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='477' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_event_port_enqueue_depth' type-id='type-id-25' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='485' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='event_dev_cfg' type-id='type-id-25' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='493' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-55'/>
+
+    <array-type-def dimensions='1' type-id='type-id-55' size-in-bits='512' id='type-id-50'>
+      <subrange length='64' type-id='type-id-23' id='type-id-56'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-21' size-in-bits='256' id='type-id-12'>
+      <subrange length='4' type-id='type-id-23' id='type-id-57'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-18' size-in-bits='256' id='type-id-13'>
+      <subrange length='4' type-id='type-id-23' id='type-id-57'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-43' size-in-bits='64' id='type-id-8'/>
+    <class-decl name='rte_eventdev_ops' size-in-bits='2944' is-struct='yes' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='988' column='1' id='type-id-58'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_infos_get' type-id='type-id-59' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='989' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_configure' type-id='type-id-60' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='990' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dev_start' type-id='type-id-61' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='991' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_stop' type-id='type-id-62' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='992' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dev_close' type-id='type-id-63' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='993' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='queue_def_conf' type-id='type-id-64' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='995' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='queue_setup' type-id='type-id-65' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='997' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='queue_release' type-id='type-id-66' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='999' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='port_def_conf' type-id='type-id-67' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='1002' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='port_setup' type-id='type-id-68' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='1004' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='port_release' type-id='type-id-69' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='1006' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='port_link' type-id='type-id-70' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='1009' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='port_unlink' type-id='type-id-71' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='1011' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='port_unlinks_in_progress' type-id='type-id-72' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='1013' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='timeout_ticks' type-id='type-id-73' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='1015' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='dump' type-id='type-id-74' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='1017' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='xstats_get' type-id='type-id-75' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='1020' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='xstats_get_names' type-id='type-id-76' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='1022' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='xstats_get_by_name' type-id='type-id-77' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='1024' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='xstats_reset' type-id='type-id-78' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='1026' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='eth_rx_adapter_caps_get' type-id='type-id-79' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='1029' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='eth_rx_adapter_queue_add' type-id='type-id-80' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='1031' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='eth_rx_adapter_queue_del' type-id='type-id-81' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='1033' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='eth_rx_adapter_start' type-id='type-id-82' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='1035' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='eth_rx_adapter_stop' type-id='type-id-83' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='1037' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='eth_rx_adapter_stats_get' type-id='type-id-84' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='1039' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='eth_rx_adapter_stats_reset' type-id='type-id-85' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='1041' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='timer_adapter_caps_get' type-id='type-id-86' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='1044' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='crypto_adapter_caps_get' type-id='type-id-87' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='1047' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='crypto_adapter_queue_pair_add' type-id='type-id-88' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='1049' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='crypto_adapter_queue_pair_del' type-id='type-id-89' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='1051' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='crypto_adapter_start' type-id='type-id-90' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='1053' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='crypto_adapter_stop' type-id='type-id-91' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='1055' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='crypto_adapter_stats_get' type-id='type-id-92' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='1057' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='crypto_adapter_stats_reset' type-id='type-id-93' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='1059' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='eth_tx_adapter_caps_get' type-id='type-id-94' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='1062' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='eth_tx_adapter_create' type-id='type-id-95' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='1065' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='eth_tx_adapter_free' type-id='type-id-96' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='1067' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='eth_tx_adapter_queue_add' type-id='type-id-97' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='1069' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2496'>
+        <var-decl name='eth_tx_adapter_queue_del' type-id='type-id-98' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='1071' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='eth_tx_adapter_start' type-id='type-id-99' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='1073' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='eth_tx_adapter_stop' type-id='type-id-100' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='1075' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2688'>
+        <var-decl name='eth_tx_adapter_stats_get' type-id='type-id-101' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='1077' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2752'>
+        <var-decl name='eth_tx_adapter_stats_reset' type-id='type-id-102' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='1079' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2816'>
+        <var-decl name='dev_selftest' type-id='type-id-103' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='1082' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2880'>
+        <var-decl name='dev_stop_flush' type-id='type-id-104' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='1085' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-105'/>
+    <class-decl name='rte_event_dev_info' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='348' column='1' id='type-id-106'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='driver_name' type-id='type-id-107' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='349' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev' type-id='type-id-10' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='350' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='min_dequeue_timeout_ns' type-id='type-id-25' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='351' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='max_dequeue_timeout_ns' type-id='type-id-25' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='353' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dequeue_timeout_ns' type-id='type-id-25' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='355' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='max_event_queues' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='357' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='max_event_queue_flows' type-id='type-id-25' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='359' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='max_event_queue_priority_levels' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='361' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='296'>
+        <var-decl name='max_event_priority_levels' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='365' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='304'>
+        <var-decl name='max_event_ports' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='369' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='312'>
+        <var-decl name='max_event_port_dequeue_depth' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='371' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='max_event_port_enqueue_depth' type-id='type-id-25' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='376' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='max_num_events' type-id='type-id-52' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='381' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='event_dev_cap' type-id='type-id-25' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='386' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-55' const='yes' id='type-id-108'/>
+    <pointer-type-def type-id='type-id-108' size-in-bits='64' id='type-id-107'/>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-109'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-110' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-107' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-111' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-112' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-44' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-113' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-110'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-10' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-114' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-109' size-in-bits='64' id='type-id-10'/>
+    <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-114'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-115'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-116' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-107' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-107' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-116'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-117' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-118' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-115' size-in-bits='64' id='type-id-117'/>
+    <pointer-type-def type-id='type-id-117' size-in-bits='64' id='type-id-118'/>
+    <qualified-type-def type-id='type-id-115' const='yes' id='type-id-119'/>
+    <pointer-type-def type-id='type-id-119' size-in-bits='64' id='type-id-111'/>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-120'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-121' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-107' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-122' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-123' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-124' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-125' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-126' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-127' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-128' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-129' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-130' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-131' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-132' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-133' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-134' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-121'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-135' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-136' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-120' size-in-bits='64' id='type-id-135'/>
+    <pointer-type-def type-id='type-id-135' size-in-bits='64' id='type-id-136'/>
+    <pointer-type-def type-id='type-id-137' size-in-bits='64' id='type-id-138'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-138' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-122'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-138' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-123'/>
+    <qualified-type-def type-id='type-id-109' const='yes' id='type-id-139'/>
+    <pointer-type-def type-id='type-id-139' size-in-bits='64' id='type-id-140'/>
+    <pointer-type-def type-id='type-id-141' size-in-bits='64' id='type-id-142'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-142' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-143'/>
+    <pointer-type-def type-id='type-id-144' size-in-bits='64' id='type-id-145'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-145' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-124'/>
+    <pointer-type-def type-id='type-id-146' size-in-bits='64' id='type-id-147'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-147' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-125'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-147' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-126'/>
+    <pointer-type-def type-id='type-id-148' size-in-bits='64' id='type-id-149'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-149' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-127'/>
+    <typedef-decl name='size_t' type-id='type-id-23' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-150'/>
+    <pointer-type-def type-id='type-id-151' size-in-bits='64' id='type-id-152'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-152' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-128'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-152' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-129'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-130'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-153' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-154'/>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-153'>
+      <underlying-type type-id='type-id-154'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-155'>
+      <underlying-type type-id='type-id-154'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-156' size-in-bits='64' id='type-id-157'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-157' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-131'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-158'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-107' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-107' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-107' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-135' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-159' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-10' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-18' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-160'/>
+    <pointer-type-def type-id='type-id-160' size-in-bits='64' id='type-id-159'/>
+    <qualified-type-def type-id='type-id-158' const='yes' id='type-id-161'/>
+    <pointer-type-def type-id='type-id-161' size-in-bits='64' id='type-id-162'/>
+    <pointer-type-def type-id='type-id-163' size-in-bits='64' id='type-id-164'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-164' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-132'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-147' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-133'/>
+    <pointer-type-def type-id='type-id-165' size-in-bits='64' id='type-id-166'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-166' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-134'/>
+    <qualified-type-def type-id='type-id-120' const='yes' id='type-id-167'/>
+    <pointer-type-def type-id='type-id-167' size-in-bits='64' id='type-id-112'/>
+    <class-decl name='rte_devargs' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='47' column='1' id='type-id-168'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-169' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='type' type-id='type-id-170' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='policy' type-id='type-id-171' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='name' type-id='type-id-50' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='' type-id='type-id-172' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='bus' type-id='type-id-135' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='cls' type-id='type-id-159' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='bus_str' type-id='type-id-107' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='cls_str' type-id='type-id-107' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='data' type-id='type-id-107' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='66' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1' id='type-id-169'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-113' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-173' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-168' size-in-bits='64' id='type-id-113'/>
+    <pointer-type-def type-id='type-id-113' size-in-bits='64' id='type-id-173'/>
+    <enum-decl name='rte_devtype' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='31' column='1' id='type-id-170'>
+      <underlying-type type-id='type-id-154'/>
+      <enumerator name='RTE_DEVTYPE_WHITELISTED_PCI' value='0'/>
+      <enumerator name='RTE_DEVTYPE_BLACKLISTED_PCI' value='1'/>
+      <enumerator name='RTE_DEVTYPE_VIRTUAL' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_dev_policy' filepath='../lib/librte_eal/common/include/rte_dev.h' line='72' column='1' id='type-id-171'>
+      <underlying-type type-id='type-id-154'/>
+      <enumerator name='RTE_DEV_WHITELISTED' value='0'/>
+      <enumerator name='RTE_DEV_BLACKLISTED' value='1'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='57' column='1' id='type-id-172'>
+      <data-member access='private'>
+        <var-decl name='args' type-id='type-id-174' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='drv_str' type-id='type-id-107' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='60' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-55' size-in-bits='64' id='type-id-174'/>
+    <pointer-type-def type-id='type-id-106' size-in-bits='64' id='type-id-175'/>
+    <pointer-type-def type-id='type-id-176' size-in-bits='64' id='type-id-177'/>
+    <typedef-decl name='eventdev_info_get_t' type-id='type-id-177' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='162' column='1' id='type-id-59'/>
+    <qualified-type-def type-id='type-id-1' const='yes' id='type-id-178'/>
+    <pointer-type-def type-id='type-id-178' size-in-bits='64' id='type-id-179'/>
+    <pointer-type-def type-id='type-id-180' size-in-bits='64' id='type-id-181'/>
+    <typedef-decl name='eventdev_configure_t' type-id='type-id-181' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='174' column='1' id='type-id-60'/>
+    <pointer-type-def type-id='type-id-182' size-in-bits='64' id='type-id-183'/>
+    <typedef-decl name='eventdev_start_t' type-id='type-id-183' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='185' column='1' id='type-id-61'/>
+    <pointer-type-def type-id='type-id-184' size-in-bits='64' id='type-id-185'/>
+    <typedef-decl name='eventdev_stop_t' type-id='type-id-185' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='193' column='1' id='type-id-62'/>
+    <typedef-decl name='eventdev_close_t' type-id='type-id-183' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='205' column='1' id='type-id-63'/>
+    <pointer-type-def type-id='type-id-186' size-in-bits='64' id='type-id-187'/>
+    <typedef-decl name='eventdev_queue_default_conf_get_t' type-id='type-id-187' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='218' column='1' id='type-id-64'/>
+    <qualified-type-def type-id='type-id-54' const='yes' id='type-id-188'/>
+    <pointer-type-def type-id='type-id-188' size-in-bits='64' id='type-id-189'/>
+    <pointer-type-def type-id='type-id-190' size-in-bits='64' id='type-id-191'/>
+    <typedef-decl name='eventdev_queue_setup_t' type-id='type-id-191' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='234' column='1' id='type-id-65'/>
+    <pointer-type-def type-id='type-id-192' size-in-bits='64' id='type-id-193'/>
+    <typedef-decl name='eventdev_queue_release_t' type-id='type-id-193' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='247' column='1' id='type-id-66'/>
+    <pointer-type-def type-id='type-id-194' size-in-bits='64' id='type-id-195'/>
+    <typedef-decl name='eventdev_port_default_conf_get_t' type-id='type-id-195' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='261' column='1' id='type-id-67'/>
+    <qualified-type-def type-id='type-id-51' const='yes' id='type-id-196'/>
+    <pointer-type-def type-id='type-id-196' size-in-bits='64' id='type-id-197'/>
+    <pointer-type-def type-id='type-id-198' size-in-bits='64' id='type-id-199'/>
+    <typedef-decl name='eventdev_port_setup_t' type-id='type-id-199' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='277' column='1' id='type-id-68'/>
+    <pointer-type-def type-id='type-id-200' size-in-bits='64' id='type-id-201'/>
+    <typedef-decl name='eventdev_port_release_t' type-id='type-id-201' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='288' column='1' id='type-id-69'/>
+    <qualified-type-def type-id='type-id-11' const='yes' id='type-id-202'/>
+    <pointer-type-def type-id='type-id-202' size-in-bits='64' id='type-id-203'/>
+    <pointer-type-def type-id='type-id-204' size-in-bits='64' id='type-id-205'/>
+    <typedef-decl name='eventdev_port_link_t' type-id='type-id-205' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='310' column='1' id='type-id-70'/>
+    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-206'/>
+    <pointer-type-def type-id='type-id-207' size-in-bits='64' id='type-id-208'/>
+    <typedef-decl name='eventdev_port_unlink_t' type-id='type-id-208' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='330' column='1' id='type-id-71'/>
+    <pointer-type-def type-id='type-id-209' size-in-bits='64' id='type-id-210'/>
+    <typedef-decl name='eventdev_port_unlinks_in_progress_t' type-id='type-id-210' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='347' column='1' id='type-id-72'/>
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-211'/>
+    <pointer-type-def type-id='type-id-212' size-in-bits='64' id='type-id-213'/>
+    <typedef-decl name='eventdev_dequeue_timeout_ticks_t' type-id='type-id-213' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='364' column='1' id='type-id-73'/>
+    <class-decl name='_IO_FILE' size-in-bits='1728' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='49' column='1' id='type-id-214'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='_flags' type-id='type-id-44' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='_IO_read_ptr' type-id='type-id-174' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='_IO_read_end' type-id='type-id-174' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='_IO_read_base' type-id='type-id-174' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='_IO_write_base' type-id='type-id-174' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='_IO_write_ptr' type-id='type-id-174' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='_IO_write_end' type-id='type-id-174' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='_IO_buf_base' type-id='type-id-174' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='60' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='_IO_buf_end' type-id='type-id-174' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='_IO_save_base' type-id='type-id-174' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='_IO_backup_base' type-id='type-id-174' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='_IO_save_end' type-id='type-id-174' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='_markers' type-id='type-id-215' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='_chain' type-id='type-id-216' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='_fileno' type-id='type-id-44' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='928'>
+        <var-decl name='_flags2' type-id='type-id-44' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='73' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='_old_offset' type-id='type-id-217' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='_cur_column' type-id='type-id-14' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1040'>
+        <var-decl name='_vtable_offset' type-id='type-id-218' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1048'>
+        <var-decl name='_shortbuf' type-id='type-id-219' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='_lock' type-id='type-id-220' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='_offset' type-id='type-id-221' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='89' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='_codecvt' type-id='type-id-222' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='_wide_data' type-id='type-id-223' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='92' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='_freeres_list' type-id='type-id-216' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='93' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='_freeres_buf' type-id='type-id-18' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='__pad5' type-id='type-id-150' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='95' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='_mode' type-id='type-id-44' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1568'>
+        <var-decl name='_unused2' type-id='type-id-224' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='98' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='_IO_marker' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-225'/>
+    <pointer-type-def type-id='type-id-225' size-in-bits='64' id='type-id-215'/>
+    <pointer-type-def type-id='type-id-214' size-in-bits='64' id='type-id-216'/>
+    <type-decl name='long int' size-in-bits='64' id='type-id-226'/>
+    <typedef-decl name='__off_t' type-id='type-id-226' filepath='/usr/include/bits/types.h' line='152' column='1' id='type-id-217'/>
+    <type-decl name='signed char' size-in-bits='8' id='type-id-218'/>
+
+    <array-type-def dimensions='1' type-id='type-id-55' size-in-bits='8' id='type-id-219'>
+      <subrange length='1' type-id='type-id-23' id='type-id-227'/>
+
+    </array-type-def>
+    <typedef-decl name='_IO_lock_t' type-id='type-id-17' filepath='/usr/include/bits/types/struct_FILE.h' line='43' column='1' id='type-id-228'/>
+    <pointer-type-def type-id='type-id-228' size-in-bits='64' id='type-id-220'/>
+    <typedef-decl name='__off64_t' type-id='type-id-226' filepath='/usr/include/bits/types.h' line='153' column='1' id='type-id-221'/>
+    <class-decl name='_IO_codecvt' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-229'/>
+    <pointer-type-def type-id='type-id-229' size-in-bits='64' id='type-id-222'/>
+    <class-decl name='_IO_wide_data' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-230'/>
+    <pointer-type-def type-id='type-id-230' size-in-bits='64' id='type-id-223'/>
+
+    <array-type-def dimensions='1' type-id='type-id-55' size-in-bits='160' id='type-id-224'>
+      <subrange length='20' type-id='type-id-23' id='type-id-231'/>
+
+    </array-type-def>
+    <typedef-decl name='FILE' type-id='type-id-214' filepath='/usr/include/bits/types/FILE.h' line='7' column='1' id='type-id-232'/>
+    <pointer-type-def type-id='type-id-232' size-in-bits='64' id='type-id-233'/>
+    <pointer-type-def type-id='type-id-234' size-in-bits='64' id='type-id-235'/>
+    <typedef-decl name='eventdev_dump_t' type-id='type-id-235' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='376' column='1' id='type-id-74'/>
+    <enum-decl name='rte_event_dev_xstats_mode' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1840' column='1' id='type-id-236'>
+      <underlying-type type-id='type-id-154'/>
+      <enumerator name='RTE_EVENT_DEV_XSTATS_DEVICE' value='0'/>
+      <enumerator name='RTE_EVENT_DEV_XSTATS_PORT' value='1'/>
+      <enumerator name='RTE_EVENT_DEV_XSTATS_QUEUE' value='2'/>
+    </enum-decl>
+    <qualified-type-def type-id='type-id-26' const='yes' id='type-id-237'/>
+    <pointer-type-def type-id='type-id-237' size-in-bits='64' id='type-id-238'/>
+    <pointer-type-def type-id='type-id-239' size-in-bits='64' id='type-id-240'/>
+    <typedef-decl name='eventdev_xstats_get_t' type-id='type-id-240' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='392' column='1' id='type-id-75'/>
+    <class-decl name='rte_event_dev_xstats_name' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1852' column='1' id='type-id-241'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-50' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1853' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-241' size-in-bits='64' id='type-id-242'/>
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-243'/>
+    <pointer-type-def type-id='type-id-244' size-in-bits='64' id='type-id-245'/>
+    <typedef-decl name='eventdev_xstats_get_names_t' type-id='type-id-245' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='420' column='1' id='type-id-76'/>
+    <pointer-type-def type-id='type-id-246' size-in-bits='64' id='type-id-247'/>
+    <typedef-decl name='eventdev_xstats_get_by_name' type-id='type-id-247' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='440' column='1' id='type-id-77'/>
+    <type-decl name='short int' size-in-bits='16' id='type-id-248'/>
+    <typedef-decl name='__int16_t' type-id='type-id-248' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-249'/>
+    <typedef-decl name='int16_t' type-id='type-id-249' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-250'/>
+    <qualified-type-def type-id='type-id-25' const='yes' id='type-id-251'/>
+    <pointer-type-def type-id='type-id-251' size-in-bits='64' id='type-id-252'/>
+    <pointer-type-def type-id='type-id-253' size-in-bits='64' id='type-id-254'/>
+    <typedef-decl name='eventdev_xstats_reset_t' type-id='type-id-254' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='399' column='1' id='type-id-78'/>
+    <class-decl name='rte_eth_dev' size-in-bits='132608' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='777' column='1' id='type-id-255'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_pkt_burst' type-id='type-id-256' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='778' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tx_pkt_burst' type-id='type-id-257' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tx_pkt_prepare' type-id='type-id-258' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='data' type-id='type-id-259' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='786' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='process_private' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='787' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_ops' type-id='type-id-260' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='788' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='device' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='789' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='intr_handle' type-id='type-id-261' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='790' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='link_intr_cbs' type-id='type-id-262' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='792' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='post_rx_burst_cbs' type-id='type-id-263' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='797' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='66176'>
+        <var-decl name='pre_tx_burst_cbs' type-id='type-id-263' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131712'>
+        <var-decl name='state' type-id='type-id-264' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='803' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131776'>
+        <var-decl name='security_ctx' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131840'>
+        <var-decl name='reserved_64s' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='806' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='132096'>
+        <var-decl name='reserved_ptrs' type-id='type-id-13' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='807' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mbuf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='480' column='1' id='type-id-265'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheline0' type-id='type-id-266' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-18' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-267' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rearm_data' type-id='type-id-268' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='497' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_off' type-id='type-id-16' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_segs' type-id='type-id-16' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='port' type-id='type-id-16' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ol_flags' type-id='type-id-21' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_descriptor_fields1' type-id='type-id-266' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='pkt_len' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data_len' type-id='type-id-16' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='vlan_tci' type-id='type-id-16' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vlan_tci_outer' type-id='type-id-16' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='buf_len' type-id='type-id-16' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='timestamp' type-id='type-id-21' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cacheline1' type-id='type-id-266' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='pool' type-id='type-id-269' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='next' type-id='type-id-270' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv_size' type-id='type-id-16' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='timesync' type-id='type-id-16' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='seqn' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='shinfo' type-id='type-id-271' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dynfield1' type-id='type-id-272' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-18' size-in-bits='infinite' id='type-id-273'>
+      <subrange length='infinite' type-id='type-id-23' id='type-id-274'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER' type-id='type-id-273' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='414' column='1' id='type-id-266'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='491' column='1' id='type-id-267'>
+      <data-member access='private'>
+        <var-decl name='buf_iova' type-id='type-id-275' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='buf_physaddr' type-id='type-id-275' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_iova_t' type-id='type-id-21' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-275'/>
+
+    <array-type-def dimensions='1' type-id='type-id-21' size-in-bits='infinite' id='type-id-276'>
+      <subrange length='infinite' type-id='type-id-23' id='type-id-274'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER64' type-id='type-id-276' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='420' column='1' id='type-id-268'/>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-277'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-278' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-279' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-18' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-280' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-26' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-44' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-25' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-26' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-52' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-281' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-282' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-25' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-283' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-55' size-in-bits='256' id='type-id-278'>
+      <subrange length='32' type-id='type-id-23' id='type-id-284'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-279'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-18' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-21' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-285'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-278' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-286' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-150' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-21' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-52' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-25' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-286'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-287' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-275' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-21' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-287'/>
+    <qualified-type-def type-id='type-id-285' const='yes' id='type-id-288'/>
+    <pointer-type-def type-id='type-id-288' size-in-bits='64' id='type-id-280'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-289'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-25' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-25' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-25' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-290' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-18' size-in-bits='98304' id='type-id-290'>
+      <subrange length='1536' type-id='type-id-23' id='type-id-291'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-289' size-in-bits='64' id='type-id-281'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-282'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-292' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-293' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-294'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-295' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-269' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-296' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-295'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-292' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-294' size-in-bits='64' id='type-id-292'/>
+    <pointer-type-def type-id='type-id-277' size-in-bits='64' id='type-id-269'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-296'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-275' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-287' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-292' size-in-bits='64' id='type-id-293'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-283'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-297' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-298' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-299'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-300' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-269' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-18' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-301' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-150' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-302' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-18' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-300'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-297' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-299' size-in-bits='64' id='type-id-297'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-301'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-275' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-287' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-303' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-304'/>
+    <pointer-type-def type-id='type-id-304' size-in-bits='64' id='type-id-302'/>
+    <pointer-type-def type-id='type-id-297' size-in-bits='64' id='type-id-298'/>
+    <pointer-type-def type-id='type-id-265' size-in-bits='64' id='type-id-270'/>
+    <class-decl name='rte_mbuf_ext_shared_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='689' column='1' id='type-id-305'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_cb' type-id='type-id-306' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcb_opaque' type-id='type-id-18' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt_atomic' type-id='type-id-307' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-308' size-in-bits='64' id='type-id-309'/>
+    <typedef-decl name='rte_mbuf_extbuf_free_callback_t' type-id='type-id-309' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='684' column='1' id='type-id-306'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-307' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-310'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-311' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-250' volatile='yes' id='type-id-311'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-310' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-307'/>
+    <pointer-type-def type-id='type-id-305' size-in-bits='64' id='type-id-271'/>
+
+    <array-type-def dimensions='1' type-id='type-id-21' size-in-bits='128' id='type-id-272'>
+      <subrange length='2' type-id='type-id-23' id='type-id-312'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-270' size-in-bits='64' id='type-id-313'/>
+    <pointer-type-def type-id='type-id-314' size-in-bits='64' id='type-id-315'/>
+    <typedef-decl name='eth_rx_burst_t' type-id='type-id-315' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='340' column='1' id='type-id-256'/>
+    <typedef-decl name='eth_tx_burst_t' type-id='type-id-315' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='345' column='1' id='type-id-257'/>
+    <typedef-decl name='eth_tx_prep_t' type-id='type-id-315' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='350' column='1' id='type-id-258'/>
+    <class-decl name='rte_eth_dev_data' size-in-bits='55808' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='820' column='1' id='type-id-316'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-50' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='821' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_queues' type-id='type-id-45' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='823' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_queues' type-id='type-id-45' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='824' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='nb_rx_queues' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='825' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='656'>
+        <var-decl name='nb_tx_queues' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='826' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='sriov' type-id='type-id-317' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='dev_private' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='830' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_link' type-id='type-id-318' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='835' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dev_conf' type-id='type-id-319' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='836' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25536'>
+        <var-decl name='mtu' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='837' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25568'>
+        <var-decl name='min_rx_buf_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25600'>
+        <var-decl name='rx_mbuf_alloc_failed' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='841' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25664'>
+        <var-decl name='mac_addrs' type-id='type-id-320' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='842' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25728'>
+        <var-decl name='mac_pool_sel' type-id='type-id-321' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='846' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='33920'>
+        <var-decl name='hash_mac_addrs' type-id='type-id-320' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='848' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='33984'>
+        <var-decl name='port_id' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='852' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='promiscuous' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='855' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='scattered_rx' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='856' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='all_multicast' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='857' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4'>
+        <var-decl name='dev_started' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='858' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3'>
+        <var-decl name='lro' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='859' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='34008'>
+        <var-decl name='rx_queue_state' type-id='type-id-322' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='860' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='42200'>
+        <var-decl name='tx_queue_state' type-id='type-id-322' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='862' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50400'>
+        <var-decl name='dev_flags' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='864' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50432'>
+        <var-decl name='kdrv' type-id='type-id-323' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50464'>
+        <var-decl name='numa_node' type-id='type-id-44' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='866' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50496'>
+        <var-decl name='vlan_filter_conf' type-id='type-id-324' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='867' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='54592'>
+        <var-decl name='owner' type-id='type-id-325' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='869' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55168'>
+        <var-decl name='representor_id' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='870' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55232'>
+        <var-decl name='reserved_64s' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='875' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55488'>
+        <var-decl name='reserved_ptrs' type-id='type-id-13' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='876' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_sriov' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1476' column='1' id='type-id-317'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='active' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1477' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='nb_q_per_pool' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1478' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='def_vmdq_idx' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1479' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='def_pool_q_idx' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1480' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_link' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='308' column='1' id='type-id-318'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_speed' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='309' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='15'>
+        <var-decl name='link_duplex' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='310' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='14'>
+        <var-decl name='link_autoneg' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='311' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='13'>
+        <var-decl name='link_status' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='312' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_conf' size-in-bits='24640' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1045' column='1' id='type-id-319'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_speeds' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1046' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rxmode' type-id='type-id-326' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1053' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='txmode' type-id='type-id-327' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1054' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='lpbk_mode' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1055' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='rx_adv_conf' type-id='type-id-328' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1068' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='17984'>
+        <var-decl name='tx_adv_conf' type-id='type-id-329' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1076' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18080'>
+        <var-decl name='dcb_capability_en' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1079' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18112'>
+        <var-decl name='fdir_conf' type-id='type-id-330' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1080' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24576'>
+        <var-decl name='intr_conf' type-id='type-id-331' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1081' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rxmode' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='394' column='1' id='type-id-326'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mq_mode' type-id='type-id-332' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='396' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_rx_pkt_len' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='397' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='max_lro_pkt_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='399' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='split_hdr_size' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='400' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='offloads' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='406' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-272' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='408' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-333' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='409' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_rx_mq_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='344' column='1' id='type-id-332'>
+      <underlying-type type-id='type-id-154'/>
+      <enumerator name='ETH_MQ_RX_NONE' value='0'/>
+      <enumerator name='ETH_MQ_RX_RSS' value='1'/>
+      <enumerator name='ETH_MQ_RX_DCB' value='2'/>
+      <enumerator name='ETH_MQ_RX_DCB_RSS' value='3'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_ONLY' value='4'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_RSS' value='5'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_DCB' value='6'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_DCB_RSS' value='7'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-18' size-in-bits='128' id='type-id-333'>
+      <subrange length='2' type-id='type-id-23' id='type-id-312'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_txmode' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='792' column='1' id='type-id-327'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mq_mode' type-id='type-id-334' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='793' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offloads' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='799' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pvid' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='hw_vlan_reject_tagged' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='hw_vlan_reject_untagged' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='806' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='hw_vlan_insert_pvid' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='808' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-272' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='811' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-333' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='812' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_tx_mq_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='377' column='1' id='type-id-334'>
+      <underlying-type type-id='type-id-154'/>
+      <enumerator name='ETH_MQ_TX_NONE' value='0'/>
+      <enumerator name='ETH_MQ_TX_DCB' value='1'/>
+      <enumerator name='ETH_MQ_TX_VMDQ_DCB' value='2'/>
+      <enumerator name='ETH_MQ_TX_VMDQ_ONLY' value='3'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16960' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1060' column='1' id='type-id-328'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rss_conf' type-id='type-id-335' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1061' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='vmdq_dcb_conf' type-id='type-id-336' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1062' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8512'>
+        <var-decl name='dcb_rx_conf' type-id='type-id-337' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1064' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8640'>
+        <var-decl name='vmdq_rx_conf' type-id='type-id-338' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1066' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rss_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='448' column='1' id='type-id-335'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rss_key' type-id='type-id-206' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rss_key_len' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rss_hf' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='451' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vmdq_dcb_conf' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='745' column='1' id='type-id-336'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-339' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='746' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='enable_default_pool' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='default_pool' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='748' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='nb_pool_maps' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='749' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pool_map' type-id='type-id-340' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8256'>
+        <var-decl name='dcb_tc' type-id='type-id-341' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='754' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_nb_pools' filepath='../lib/librte_ethdev/rte_ethdev.h' line='704' column='1' id='type-id-339'>
+      <underlying-type type-id='type-id-154'/>
+      <enumerator name='ETH_8_POOLS' value='8'/>
+      <enumerator name='ETH_16_POOLS' value='16'/>
+      <enumerator name='ETH_32_POOLS' value='32'/>
+      <enumerator name='ETH_64_POOLS' value='64'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='750' column='1' id='type-id-342'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_id' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='751' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pools' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='752' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-342' size-in-bits='8192' id='type-id-340'>
+      <subrange length='64' type-id='type-id-23' id='type-id-56'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='64' id='type-id-341'>
+      <subrange length='8' type-id='type-id-23' id='type-id-343'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_dcb_rx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='712' column='1' id='type-id-337'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-344' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-341' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='715' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_nb_tcs' filepath='../lib/librte_ethdev/rte_ethdev.h' line='695' column='1' id='type-id-344'>
+      <underlying-type type-id='type-id-154'/>
+      <enumerator name='ETH_4_TCS' value='4'/>
+      <enumerator name='ETH_8_TCS' value='8'/>
+    </enum-decl>
+    <class-decl name='rte_eth_vmdq_rx_conf' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='776' column='1' id='type-id-338'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-339' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='777' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='enable_default_pool' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='778' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='default_pool' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='enable_loop_back' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='nb_pool_maps' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='781' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rx_mode' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='782' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pool_map' type-id='type-id-340' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='786' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <union-decl name='__anonymous_union__' size-in-bits='96' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1069' column='1' id='type-id-329'>
+      <data-member access='private'>
+        <var-decl name='vmdq_dcb_tx_conf' type-id='type-id-345' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1070' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dcb_tx_conf' type-id='type-id-346' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1072' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='vmdq_tx_conf' type-id='type-id-347' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1074' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_eth_vmdq_dcb_tx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='718' column='1' id='type-id-345'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-339' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-341' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='721' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dcb_tx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='724' column='1' id='type-id-346'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-344' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-341' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='727' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vmdq_tx_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='730' column='1' id='type-id-347'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-339' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='731' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_fdir_conf' size-in-bits='6464' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1005' column='1' id='type-id-330'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mode' type-id='type-id-348' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1006' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='pballoc' type-id='type-id-349' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1007' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='status' type-id='type-id-350' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1008' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='drop_queue' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1010' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mask' type-id='type-id-351' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1011' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='flex_conf' type-id='type-id-352' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1012' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_fdir_mode' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='603' column='1' id='type-id-348'>
+      <underlying-type type-id='type-id-154'/>
+      <enumerator name='RTE_FDIR_MODE_NONE' value='0'/>
+      <enumerator name='RTE_FDIR_MODE_SIGNATURE' value='1'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT' value='2'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT_MAC_VLAN' value='3'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT_TUNNEL' value='4'/>
+    </enum-decl>
+    <enum-decl name='rte_fdir_pballoc_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='984' column='1' id='type-id-349'>
+      <underlying-type type-id='type-id-154'/>
+      <enumerator name='RTE_FDIR_PBALLOC_64K' value='0'/>
+      <enumerator name='RTE_FDIR_PBALLOC_128K' value='1'/>
+      <enumerator name='RTE_FDIR_PBALLOC_256K' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_fdir_status_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='993' column='1' id='type-id-350'>
+      <underlying-type type-id='type-id-154'/>
+      <enumerator name='RTE_FDIR_NO_REPORT_STATUS' value='0'/>
+      <enumerator name='RTE_FDIR_REPORT_STATUS' value='1'/>
+      <enumerator name='RTE_FDIR_REPORT_STATUS_ALWAYS' value='2'/>
+    </enum-decl>
+    <class-decl name='rte_eth_fdir_masks' size-in-bits='544' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='533' column='1' id='type-id-351'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_tci_mask' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='534' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ipv4_mask' type-id='type-id-353' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='536' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ipv6_mask' type-id='type-id-354' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='538' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='src_port_mask' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='540' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='dst_port_mask' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='542' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='mac_addr_byte_mask' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='545' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='tunnel_id_mask' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='547' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='tunnel_type_mask' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='548' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_ipv4_flow' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='342' column='1' id='type-id-353'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='343' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dst_ip' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='344' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tos' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='345' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='ttl' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='346' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='proto' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='347' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_ipv6_flow' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='381' column='1' id='type-id-354'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-355' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='382' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dst_ip' type-id='type-id-355' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='383' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='tc' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='384' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='264'>
+        <var-decl name='proto' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='385' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='272'>
+        <var-decl name='hop_limits' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='386' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-25' size-in-bits='128' id='type-id-355'>
+      <subrange length='4' type-id='type-id-23' id='type-id-57'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_fdir_flex_conf' size-in-bits='5792' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='591' column='1' id='type-id-352'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_payloads' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='592' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='nb_flexmasks' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='593' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flex_set' type-id='type-id-356' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='594' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2336'>
+        <var-decl name='flex_mask' type-id='type-id-357' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='596' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_flex_payload_cfg' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='568' column='1' id='type-id-358'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-359' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='569' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='src_offset' type-id='type-id-360' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='570' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_payload_type' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='555' column='1' id='type-id-359'>
+      <underlying-type type-id='type-id-154'/>
+      <enumerator name='RTE_ETH_PAYLOAD_UNKNOWN' value='0'/>
+      <enumerator name='RTE_ETH_RAW_PAYLOAD' value='1'/>
+      <enumerator name='RTE_ETH_L2_PAYLOAD' value='2'/>
+      <enumerator name='RTE_ETH_L3_PAYLOAD' value='3'/>
+      <enumerator name='RTE_ETH_L4_PAYLOAD' value='4'/>
+      <enumerator name='RTE_ETH_PAYLOAD_MAX' value='8'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='256' id='type-id-360'>
+      <subrange length='16' type-id='type-id-23' id='type-id-361'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-358' size-in-bits='2304' id='type-id-356'>
+      <subrange length='8' type-id='type-id-23' id='type-id-343'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_fdir_flex_mask' size-in-bits='144' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='581' column='1' id='type-id-362'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flow_type' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='582' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='mask' type-id='type-id-363' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='583' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='128' id='type-id-363'>
+      <subrange length='16' type-id='type-id-23' id='type-id-361'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-362' size-in-bits='3456' id='type-id-357'>
+      <subrange length='24' type-id='type-id-23' id='type-id-364'/>
+
+    </array-type-def>
+    <class-decl name='rte_intr_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1031' column='1' id='type-id-331'>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='lsc' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1033' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='rxq' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1035' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='rmv' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1037' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_ether_addr' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='60' column='1' id='type-id-365'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr_bytes' type-id='type-id-366' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='61' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='48' id='type-id-366'>
+      <subrange length='6' type-id='type-id-23' id='type-id-367'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-365' size-in-bits='64' id='type-id-320'/>
+
+    <array-type-def dimensions='1' type-id='type-id-21' size-in-bits='8192' id='type-id-321'>
+      <subrange length='128' type-id='type-id-23' id='type-id-368'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='8192' id='type-id-322'>
+      <subrange length='1024' type-id='type-id-23' id='type-id-369'/>
+
+    </array-type-def>
+    <enum-decl name='rte_kernel_driver' filepath='../lib/librte_eal/common/include/rte_dev.h' line='60' column='1' id='type-id-323'>
+      <underlying-type type-id='type-id-154'/>
+      <enumerator name='RTE_KDRV_UNKNOWN' value='0'/>
+      <enumerator name='RTE_KDRV_IGB_UIO' value='1'/>
+      <enumerator name='RTE_KDRV_VFIO' value='2'/>
+      <enumerator name='RTE_KDRV_UIO_GENERIC' value='3'/>
+      <enumerator name='RTE_KDRV_NIC_UIO' value='4'/>
+      <enumerator name='RTE_KDRV_NONE' value='5'/>
+    </enum-decl>
+    <class-decl name='rte_vlan_filter_conf' size-in-bits='4096' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='427' column='1' id='type-id-324'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ids' type-id='type-id-370' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='428' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-21' size-in-bits='4096' id='type-id-370'>
+      <subrange length='64' type-id='type-id-23' id='type-id-56'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_dev_owner' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1490' column='1' id='type-id-325'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1491' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='name' type-id='type-id-50' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1492' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-316' size-in-bits='64' id='type-id-259'/>
+    <class-decl name='eth_dev_ops' size-in-bits='6016' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='609' column='1' id='type-id-371'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_configure' type-id='type-id-372' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_start' type-id='type-id-373' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='611' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dev_stop' type-id='type-id-374' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='612' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_set_link_up' type-id='type-id-375' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dev_set_link_down' type-id='type-id-376' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='614' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_close' type-id='type-id-377' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='615' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='dev_reset' type-id='type-id-378' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='616' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='link_update' type-id='type-id-379' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='617' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='is_removed' type-id='type-id-380' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='618' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='promiscuous_enable' type-id='type-id-381' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='promiscuous_disable' type-id='type-id-382' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='allmulticast_enable' type-id='type-id-383' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='623' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='allmulticast_disable' type-id='type-id-384' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='624' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='mac_addr_remove' type-id='type-id-385' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='625' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='mac_addr_add' type-id='type-id-386' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='626' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='mac_addr_set' type-id='type-id-387' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='627' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='set_mc_addr_list' type-id='type-id-388' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='628' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mtu_set' type-id='type-id-389' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='629' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='stats_get' type-id='type-id-390' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='631' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='stats_reset' type-id='type-id-391' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='632' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='xstats_get' type-id='type-id-392' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='633' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='xstats_reset' type-id='type-id-393' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='634' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='xstats_get_names' type-id='type-id-394' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='635' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='queue_stats_mapping_set' type-id='type-id-395' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='637' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='dev_infos_get' type-id='type-id-396' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='640' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='rxq_info_get' type-id='type-id-397' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='641' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='txq_info_get' type-id='type-id-398' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='642' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='rx_burst_mode_get' type-id='type-id-399' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='643' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='tx_burst_mode_get' type-id='type-id-399' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='644' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='fw_version_get' type-id='type-id-400' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='645' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='dev_supported_ptypes_get' type-id='type-id-401' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='646' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='dev_ptypes_set' type-id='type-id-402' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='648' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='vlan_filter_set' type-id='type-id-403' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='651' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='vlan_tpid_set' type-id='type-id-404' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='652' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='vlan_strip_queue_set' type-id='type-id-405' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='653' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='vlan_offload_set' type-id='type-id-406' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='654' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='vlan_pvid_set' type-id='type-id-407' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='655' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='rx_queue_start' type-id='type-id-408' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='657' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='rx_queue_stop' type-id='type-id-409' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='658' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2496'>
+        <var-decl name='tx_queue_start' type-id='type-id-408' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='659' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='tx_queue_stop' type-id='type-id-409' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='660' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='rx_queue_setup' type-id='type-id-410' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='661' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2688'>
+        <var-decl name='rx_queue_release' type-id='type-id-411' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2752'>
+        <var-decl name='rx_queue_count' type-id='type-id-412' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='663' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2816'>
+        <var-decl name='rx_descriptor_done' type-id='type-id-413' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2880'>
+        <var-decl name='rx_descriptor_status' type-id='type-id-414' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='666' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2944'>
+        <var-decl name='tx_descriptor_status' type-id='type-id-415' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3008'>
+        <var-decl name='rx_queue_intr_enable' type-id='type-id-416' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='670' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3072'>
+        <var-decl name='rx_queue_intr_disable' type-id='type-id-417' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3136'>
+        <var-decl name='tx_queue_setup' type-id='type-id-418' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='672' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3200'>
+        <var-decl name='tx_queue_release' type-id='type-id-411' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3264'>
+        <var-decl name='tx_done_cleanup' type-id='type-id-419' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='674' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3328'>
+        <var-decl name='dev_led_on' type-id='type-id-420' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3392'>
+        <var-decl name='dev_led_off' type-id='type-id-421' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='677' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3456'>
+        <var-decl name='flow_ctrl_get' type-id='type-id-422' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='679' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3520'>
+        <var-decl name='flow_ctrl_set' type-id='type-id-423' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='680' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='priority_flow_ctrl_set' type-id='type-id-424' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='681' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3648'>
+        <var-decl name='uc_hash_table_set' type-id='type-id-425' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='683' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3712'>
+        <var-decl name='uc_all_hash_table_set' type-id='type-id-426' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='684' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3776'>
+        <var-decl name='mirror_rule_set' type-id='type-id-427' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='686' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3840'>
+        <var-decl name='mirror_rule_reset' type-id='type-id-428' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='687' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3904'>
+        <var-decl name='udp_tunnel_port_add' type-id='type-id-429' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='689' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3968'>
+        <var-decl name='udp_tunnel_port_del' type-id='type-id-430' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4032'>
+        <var-decl name='l2_tunnel_eth_type_conf' type-id='type-id-431' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4096'>
+        <var-decl name='l2_tunnel_offload_set' type-id='type-id-432' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='693' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4160'>
+        <var-decl name='set_queue_rate_limit' type-id='type-id-433' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='696' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4224'>
+        <var-decl name='rss_hash_update' type-id='type-id-434' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='698' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4288'>
+        <var-decl name='rss_hash_conf_get' type-id='type-id-435' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='699' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4352'>
+        <var-decl name='reta_update' type-id='type-id-436' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='700' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4416'>
+        <var-decl name='reta_query' type-id='type-id-437' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='701' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4480'>
+        <var-decl name='get_reg' type-id='type-id-438' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='703' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4544'>
+        <var-decl name='get_eeprom_length' type-id='type-id-439' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='704' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4608'>
+        <var-decl name='get_eeprom' type-id='type-id-440' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='705' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4672'>
+        <var-decl name='set_eeprom' type-id='type-id-441' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='706' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4736'>
+        <var-decl name='get_module_info' type-id='type-id-442' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='708' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4800'>
+        <var-decl name='get_module_eeprom' type-id='type-id-443' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='710' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4864'>
+        <var-decl name='filter_ctrl' type-id='type-id-444' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4928'>
+        <var-decl name='get_dcb_info' type-id='type-id-445' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='715' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4992'>
+        <var-decl name='timesync_enable' type-id='type-id-446' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='717' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5056'>
+        <var-decl name='timesync_disable' type-id='type-id-447' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5120'>
+        <var-decl name='timesync_read_rx_timestamp' type-id='type-id-448' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='721' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5184'>
+        <var-decl name='timesync_read_tx_timestamp' type-id='type-id-449' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='723' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5248'>
+        <var-decl name='timesync_adjust_time' type-id='type-id-450' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5312'>
+        <var-decl name='timesync_read_time' type-id='type-id-451' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='726' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5376'>
+        <var-decl name='timesync_write_time' type-id='type-id-452' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='727' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5440'>
+        <var-decl name='read_clock' type-id='type-id-453' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='729' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5504'>
+        <var-decl name='xstats_get_by_id' type-id='type-id-454' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='731' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5568'>
+        <var-decl name='xstats_get_names_by_id' type-id='type-id-455' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='733' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5632'>
+        <var-decl name='tm_ops_get' type-id='type-id-456' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='736' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5696'>
+        <var-decl name='mtr_ops_get' type-id='type-id-457' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='739' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5760'>
+        <var-decl name='pool_ops_supported' type-id='type-id-458' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='742' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5824'>
+        <var-decl name='hairpin_cap_get' type-id='type-id-459' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='745' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5888'>
+        <var-decl name='rx_hairpin_queue_setup' type-id='type-id-460' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5952'>
+        <var-decl name='tx_hairpin_queue_setup' type-id='type-id-461' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='749' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-255' size-in-bits='64' id='type-id-462'/>
+    <pointer-type-def type-id='type-id-463' size-in-bits='64' id='type-id-464'/>
+    <typedef-decl name='eth_dev_configure_t' type-id='type-id-464' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='31' column='1' id='type-id-372'/>
+    <typedef-decl name='eth_dev_start_t' type-id='type-id-464' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='34' column='1' id='type-id-373'/>
+    <pointer-type-def type-id='type-id-465' size-in-bits='64' id='type-id-466'/>
+    <typedef-decl name='eth_dev_stop_t' type-id='type-id-466' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='37' column='1' id='type-id-374'/>
+    <typedef-decl name='eth_dev_set_link_up_t' type-id='type-id-464' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='40' column='1' id='type-id-375'/>
+    <typedef-decl name='eth_dev_set_link_down_t' type-id='type-id-464' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='43' column='1' id='type-id-376'/>
+    <typedef-decl name='eth_dev_close_t' type-id='type-id-466' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='46' column='1' id='type-id-377'/>
+    <typedef-decl name='eth_dev_reset_t' type-id='type-id-464' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='49' column='1' id='type-id-378'/>
+    <pointer-type-def type-id='type-id-467' size-in-bits='64' id='type-id-468'/>
+    <typedef-decl name='eth_link_update_t' type-id='type-id-468' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='155' column='1' id='type-id-379'/>
+    <typedef-decl name='eth_is_removed_t' type-id='type-id-464' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='52' column='1' id='type-id-380'/>
+    <typedef-decl name='eth_promiscuous_enable_t' type-id='type-id-464' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='78' column='1' id='type-id-381'/>
+    <typedef-decl name='eth_promiscuous_disable_t' type-id='type-id-464' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='103' column='1' id='type-id-382'/>
+    <typedef-decl name='eth_allmulticast_enable_t' type-id='type-id-464' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='128' column='1' id='type-id-383'/>
+    <typedef-decl name='eth_allmulticast_disable_t' type-id='type-id-464' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='153' column='1' id='type-id-384'/>
+    <pointer-type-def type-id='type-id-469' size-in-bits='64' id='type-id-470'/>
+    <typedef-decl name='eth_mac_addr_remove_t' type-id='type-id-470' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='391' column='1' id='type-id-385'/>
+    <pointer-type-def type-id='type-id-471' size-in-bits='64' id='type-id-472'/>
+    <typedef-decl name='eth_mac_addr_add_t' type-id='type-id-472' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='394' column='1' id='type-id-386'/>
+    <pointer-type-def type-id='type-id-473' size-in-bits='64' id='type-id-474'/>
+    <typedef-decl name='eth_mac_addr_set_t' type-id='type-id-474' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='400' column='1' id='type-id-387'/>
+    <pointer-type-def type-id='type-id-475' size-in-bits='64' id='type-id-476'/>
+    <typedef-decl name='eth_set_mc_addr_list_t' type-id='type-id-476' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='436' column='1' id='type-id-388'/>
+    <pointer-type-def type-id='type-id-477' size-in-bits='64' id='type-id-478'/>
+    <typedef-decl name='mtu_set_t' type-id='type-id-478' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='315' column='1' id='type-id-389'/>
+    <class-decl name='rte_eth_stats' size-in-bits='5632' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='243' column='1' id='type-id-479'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ipackets' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='opackets' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ibytes' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='246' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='obytes' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='imissed' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='ierrors' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='oerrors' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='rx_nombuf' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='q_ipackets' type-id='type-id-480' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='q_opackets' type-id='type-id-480' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='q_ibytes' type-id='type-id-480' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='q_obytes' type-id='type-id-480' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4608'>
+        <var-decl name='q_errors' type-id='type-id-480' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='263' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-21' size-in-bits='1024' id='type-id-480'>
+      <subrange length='16' type-id='type-id-23' id='type-id-361'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-479' size-in-bits='64' id='type-id-481'/>
+    <pointer-type-def type-id='type-id-482' size-in-bits='64' id='type-id-483'/>
+    <typedef-decl name='eth_stats_get_t' type-id='type-id-483' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='159' column='1' id='type-id-390'/>
+    <typedef-decl name='eth_stats_reset_t' type-id='type-id-464' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='182' column='1' id='type-id-391'/>
+    <class-decl name='rte_eth_xstat' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1337' column='1' id='type-id-484'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1338' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='value' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1339' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-484' size-in-bits='64' id='type-id-485'/>
+    <pointer-type-def type-id='type-id-486' size-in-bits='64' id='type-id-487'/>
+    <typedef-decl name='eth_xstats_get_t' type-id='type-id-487' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='184' column='1' id='type-id-392'/>
+    <typedef-decl name='eth_xstats_reset_t' type-id='type-id-464' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='213' column='1' id='type-id-393'/>
+    <class-decl name='rte_eth_xstat_name' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1349' column='1' id='type-id-488'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-50' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1350' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-488' size-in-bits='64' id='type-id-489'/>
+    <pointer-type-def type-id='type-id-490' size-in-bits='64' id='type-id-491'/>
+    <typedef-decl name='eth_xstats_get_names_t' type-id='type-id-491' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='215' column='1' id='type-id-394'/>
+    <pointer-type-def type-id='type-id-492' size-in-bits='64' id='type-id-493'/>
+    <typedef-decl name='eth_queue_stats_mapping_set_t' type-id='type-id-493' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='224' column='1' id='type-id-395'/>
+    <class-decl name='rte_eth_dev_info' size-in-bits='2560' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1226' column='1' id='type-id-494'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='device' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1227' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='driver_name' type-id='type-id-107' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='if_index' type-id='type-id-26' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='min_mtu' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='max_mtu' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_flags' type-id='type-id-252' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='min_rx_bufsize' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1234' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='max_rx_pktlen' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1235' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='max_lro_pkt_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='max_rx_queues' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='max_tx_queues' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1239' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='max_mac_addrs' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='max_hash_mac_addrs' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1241' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='max_vfs' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1243' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='max_vmdq_pools' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_offload_capa' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_offload_capa' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='rx_queue_offload_capa' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='tx_queue_offload_capa' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='reta_size' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='hash_key_size' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='flow_type_rss_offloads' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='default_rxconf' type-id='type-id-495' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='default_txconf' type-id='type-id-496' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='vmdq_queue_base' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1744'>
+        <var-decl name='vmdq_queue_num' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1760'>
+        <var-decl name='vmdq_pool_base' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1262' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1776'>
+        <var-decl name='rx_desc_lim' type-id='type-id-497' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1263' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='tx_desc_lim' type-id='type-id-497' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1264' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1952'>
+        <var-decl name='speed_capa' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1265' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='nb_rx_queues' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1267' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2000'>
+        <var-decl name='nb_tx_queues' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1268' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2016'>
+        <var-decl name='default_rxportconf' type-id='type-id-498' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1270' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2064'>
+        <var-decl name='default_txportconf' type-id='type-id-498' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1272' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='dev_capa' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1274' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='switch_info' type-id='type-id-499' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='reserved_64s' type-id='type-id-272' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1281' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='reserved_ptrs' type-id='type-id-333' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1282' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rxconf' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='818' column='1' id='type-id-495'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_thresh' type-id='type-id-500' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='819' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='rx_free_thresh' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='820' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='rx_drop_en' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='821' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='rx_deferred_start' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='822' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offloads' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='reserved_64s' type-id='type-id-272' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='830' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='reserved_ptrs' type-id='type-id-333' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='831' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_thresh' size-in-bits='24' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='327' column='1' id='type-id-500'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pthresh' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='328' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='hthresh' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='329' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='wthresh' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='330' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_txconf' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='837' column='1' id='type-id-496'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tx_thresh' type-id='type-id-500' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tx_rs_thresh' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='839' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='tx_free_thresh' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='840' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tx_deferred_start' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='843' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='offloads' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='849' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-272' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='851' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-333' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='852' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_desc_lim' size-in-bits='80' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='898' column='1' id='type-id-497'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_max' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='899' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='nb_min' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='900' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_align' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='901' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='nb_seg_max' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='911' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='nb_mtu_seg_max' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='924' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_portconf' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1189' column='1' id='type-id-498'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='burst_size' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1190' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='ring_size' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_queues' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1192' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_switch_info' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1204' column='1' id='type-id-499'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-107' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='domain_id' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1206' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='port_id' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1207' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-494' size-in-bits='64' id='type-id-501'/>
+    <pointer-type-def type-id='type-id-502' size-in-bits='64' id='type-id-503'/>
+    <typedef-decl name='eth_dev_infos_get_t' type-id='type-id-503' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='230' column='1' id='type-id-396'/>
+    <class-decl name='rte_eth_rxq_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1289' column='1' id='type-id-504'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mp' type-id='type-id-269' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1290' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='conf' type-id='type-id-495' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1291' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='scattered_rx' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1292' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='nb_desc' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1293' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-504' size-in-bits='64' id='type-id-505'/>
+    <pointer-type-def type-id='type-id-506' size-in-bits='64' id='type-id-507'/>
+    <typedef-decl name='eth_rxq_info_get_t' type-id='type-id-507' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='306' column='1' id='type-id-397'/>
+    <class-decl name='rte_eth_txq_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1300' column='1' id='type-id-508'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='conf' type-id='type-id-496' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1301' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='nb_desc' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1302' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-508' size-in-bits='64' id='type-id-509'/>
+    <pointer-type-def type-id='type-id-510' size-in-bits='64' id='type-id-511'/>
+    <typedef-decl name='eth_txq_info_get_t' type-id='type-id-511' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='309' column='1' id='type-id-398'/>
+    <class-decl name='rte_eth_burst_mode' size-in-bits='8256' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1318' column='1' id='type-id-512'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1319' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='info' type-id='type-id-513' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1322' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-55' size-in-bits='8192' id='type-id-513'>
+      <subrange length='1024' type-id='type-id-23' id='type-id-369'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-512' size-in-bits='64' id='type-id-514'/>
+    <pointer-type-def type-id='type-id-515' size-in-bits='64' id='type-id-516'/>
+    <typedef-decl name='eth_burst_mode_get_t' type-id='type-id-516' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='312' column='1' id='type-id-399'/>
+    <pointer-type-def type-id='type-id-517' size-in-bits='64' id='type-id-518'/>
+    <typedef-decl name='eth_fw_version_get_t' type-id='type-id-518' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='299' column='1' id='type-id-400'/>
+    <pointer-type-def type-id='type-id-519' size-in-bits='64' id='type-id-520'/>
+    <typedef-decl name='eth_dev_supported_ptypes_get_t' type-id='type-id-520' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='234' column='1' id='type-id-401'/>
+    <pointer-type-def type-id='type-id-521' size-in-bits='64' id='type-id-522'/>
+    <typedef-decl name='eth_dev_ptypes_set_t' type-id='type-id-522' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='249' column='1' id='type-id-402'/>
+    <pointer-type-def type-id='type-id-523' size-in-bits='64' id='type-id-524'/>
+    <typedef-decl name='vlan_filter_set_t' type-id='type-id-524' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='318' column='1' id='type-id-403'/>
+    <enum-decl name='rte_vlan_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='416' column='1' id='type-id-525'>
+      <underlying-type type-id='type-id-154'/>
+      <enumerator name='ETH_VLAN_TYPE_UNKNOWN' value='0'/>
+      <enumerator name='ETH_VLAN_TYPE_INNER' value='1'/>
+      <enumerator name='ETH_VLAN_TYPE_OUTER' value='2'/>
+      <enumerator name='ETH_VLAN_TYPE_MAX' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-526' size-in-bits='64' id='type-id-527'/>
+    <typedef-decl name='vlan_tpid_set_t' type-id='type-id-527' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='323' column='1' id='type-id-404'/>
+    <pointer-type-def type-id='type-id-528' size-in-bits='64' id='type-id-529'/>
+    <typedef-decl name='vlan_strip_queue_set_t' type-id='type-id-529' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='335' column='1' id='type-id-405'/>
+    <typedef-decl name='vlan_offload_set_t' type-id='type-id-468' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='327' column='1' id='type-id-406'/>
+    <typedef-decl name='vlan_pvid_set_t' type-id='type-id-524' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='330' column='1' id='type-id-407'/>
+    <typedef-decl name='eth_queue_start_t' type-id='type-id-478' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='252' column='1' id='type-id-408'/>
+    <typedef-decl name='eth_queue_stop_t' type-id='type-id-478' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='256' column='1' id='type-id-409'/>
+    <qualified-type-def type-id='type-id-495' const='yes' id='type-id-530'/>
+    <pointer-type-def type-id='type-id-530' size-in-bits='64' id='type-id-531'/>
+    <pointer-type-def type-id='type-id-532' size-in-bits='64' id='type-id-533'/>
+    <typedef-decl name='eth_rx_queue_setup_t' type-id='type-id-533' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='260' column='1' id='type-id-410'/>
+    <typedef-decl name='eth_queue_release_t' type-id='type-id-201' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='283' column='1' id='type-id-411'/>
+    <pointer-type-def type-id='type-id-534' size-in-bits='64' id='type-id-535'/>
+    <typedef-decl name='eth_rx_queue_count_t' type-id='type-id-535' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='286' column='1' id='type-id-412'/>
+    <pointer-type-def type-id='type-id-536' size-in-bits='64' id='type-id-537'/>
+    <typedef-decl name='eth_rx_descriptor_done_t' type-id='type-id-537' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='290' column='1' id='type-id-413'/>
+    <typedef-decl name='eth_rx_descriptor_status_t' type-id='type-id-537' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='293' column='1' id='type-id-414'/>
+    <typedef-decl name='eth_tx_descriptor_status_t' type-id='type-id-537' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='296' column='1' id='type-id-415'/>
+    <typedef-decl name='eth_rx_enable_intr_t' type-id='type-id-478' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='275' column='1' id='type-id-416'/>
+    <typedef-decl name='eth_rx_disable_intr_t' type-id='type-id-478' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='279' column='1' id='type-id-417'/>
+    <qualified-type-def type-id='type-id-496' const='yes' id='type-id-538'/>
+    <pointer-type-def type-id='type-id-538' size-in-bits='64' id='type-id-539'/>
+    <pointer-type-def type-id='type-id-540' size-in-bits='64' id='type-id-541'/>
+    <typedef-decl name='eth_tx_queue_setup_t' type-id='type-id-541' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='268' column='1' id='type-id-418'/>
+    <pointer-type-def type-id='type-id-542' size-in-bits='64' id='type-id-543'/>
+    <typedef-decl name='eth_tx_done_cleanup_t' type-id='type-id-543' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='303' column='1' id='type-id-419'/>
+    <typedef-decl name='eth_dev_led_on_t' type-id='type-id-464' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='385' column='1' id='type-id-420'/>
+    <typedef-decl name='eth_dev_led_off_t' type-id='type-id-464' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='388' column='1' id='type-id-421'/>
+    <class-decl name='rte_eth_fc_conf' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='942' column='1' id='type-id-544'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='high_water' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='943' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='low_water' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='944' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pause_time' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='945' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='send_xon' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='946' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='mode' type-id='type-id-545' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='947' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mac_ctrl_frame_fwd' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='948' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='autoneg' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='949' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_fc_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='930' column='1' id='type-id-545'>
+      <underlying-type type-id='type-id-154'/>
+      <enumerator name='RTE_FC_NONE' value='0'/>
+      <enumerator name='RTE_FC_RX_PAUSE' value='1'/>
+      <enumerator name='RTE_FC_TX_PAUSE' value='2'/>
+      <enumerator name='RTE_FC_FULL' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-544' size-in-bits='64' id='type-id-546'/>
+    <pointer-type-def type-id='type-id-547' size-in-bits='64' id='type-id-548'/>
+    <typedef-decl name='flow_ctrl_get_t' type-id='type-id-548' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='355' column='1' id='type-id-422'/>
+    <typedef-decl name='flow_ctrl_set_t' type-id='type-id-548' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='359' column='1' id='type-id-423'/>
+    <class-decl name='rte_eth_pfc_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='957' column='1' id='type-id-549'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fc' type-id='type-id-544' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='958' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='priority' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='959' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-549' size-in-bits='64' id='type-id-550'/>
+    <pointer-type-def type-id='type-id-551' size-in-bits='64' id='type-id-552'/>
+    <typedef-decl name='priority_flow_ctrl_set_t' type-id='type-id-552' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='363' column='1' id='type-id-424'/>
+    <pointer-type-def type-id='type-id-553' size-in-bits='64' id='type-id-554'/>
+    <typedef-decl name='eth_uc_hash_table_set_t' type-id='type-id-554' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='404' column='1' id='type-id-425'/>
+    <pointer-type-def type-id='type-id-555' size-in-bits='64' id='type-id-556'/>
+    <typedef-decl name='eth_uc_all_hash_table_set_t' type-id='type-id-556' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='409' column='1' id='type-id-426'/>
+    <class-decl name='rte_eth_mirror_conf' size-in-bits='1216' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='670' column='1' id='type-id-557'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rule_type' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='dst_pool' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='672' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pool_mask' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vlan' type-id='type-id-558' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='675' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vlan_mirror' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='661' column='1' id='type-id-558'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_mask' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='vlan_id' type-id='type-id-559' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='664' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='1024' id='type-id-559'>
+      <subrange length='64' type-id='type-id-23' id='type-id-56'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-557' size-in-bits='64' id='type-id-560'/>
+    <pointer-type-def type-id='type-id-561' size-in-bits='64' id='type-id-562'/>
+    <typedef-decl name='eth_mirror_rule_set_t' type-id='type-id-562' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='418' column='1' id='type-id-427'/>
+    <typedef-decl name='eth_mirror_rule_reset_t' type-id='type-id-556' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='424' column='1' id='type-id-428'/>
+    <class-decl name='rte_eth_udp_tunnel' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1023' column='1' id='type-id-563'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='udp_port' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1024' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='prot_type' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1025' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-563' size-in-bits='64' id='type-id-564'/>
+    <pointer-type-def type-id='type-id-565' size-in-bits='64' id='type-id-566'/>
+    <typedef-decl name='eth_udp_tunnel_port_add_t' type-id='type-id-566' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='428' column='1' id='type-id-429'/>
+    <typedef-decl name='eth_udp_tunnel_port_del_t' type-id='type-id-566' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='432' column='1' id='type-id-430'/>
+    <class-decl name='rte_eth_l2_tunnel_conf' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='751' column='1' id='type-id-567'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='l2_tunnel_type' type-id='type-id-568' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='752' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ether_type' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tunnel_id' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='754' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='vf_id' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='755' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pool' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='756' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_tunnel_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='965' column='1' id='type-id-568'>
+      <underlying-type type-id='type-id-154'/>
+      <enumerator name='RTE_TUNNEL_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_TUNNEL_TYPE_VXLAN' value='1'/>
+      <enumerator name='RTE_TUNNEL_TYPE_GENEVE' value='2'/>
+      <enumerator name='RTE_TUNNEL_TYPE_TEREDO' value='3'/>
+      <enumerator name='RTE_TUNNEL_TYPE_NVGRE' value='4'/>
+      <enumerator name='RTE_TUNNEL_TYPE_IP_IN_GRE' value='5'/>
+      <enumerator name='RTE_L2_TUNNEL_TYPE_E_TAG' value='6'/>
+      <enumerator name='RTE_TUNNEL_TYPE_VXLAN_GPE' value='7'/>
+      <enumerator name='RTE_TUNNEL_TYPE_MAX' value='8'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-567' size-in-bits='64' id='type-id-569'/>
+    <pointer-type-def type-id='type-id-570' size-in-bits='64' id='type-id-571'/>
+    <typedef-decl name='eth_l2_tunnel_eth_type_conf_t' type-id='type-id-571' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='494' column='1' id='type-id-431'/>
+    <pointer-type-def type-id='type-id-572' size-in-bits='64' id='type-id-573'/>
+    <typedef-decl name='eth_l2_tunnel_offload_set_t' type-id='type-id-573' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='498' column='1' id='type-id-432'/>
+    <pointer-type-def type-id='type-id-574' size-in-bits='64' id='type-id-575'/>
+    <typedef-decl name='eth_set_queue_rate_limit_t' type-id='type-id-575' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='413' column='1' id='type-id-433'/>
+    <pointer-type-def type-id='type-id-335' size-in-bits='64' id='type-id-576'/>
+    <pointer-type-def type-id='type-id-577' size-in-bits='64' id='type-id-578'/>
+    <typedef-decl name='rss_hash_update_t' type-id='type-id-578' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='377' column='1' id='type-id-434'/>
+    <typedef-decl name='rss_hash_conf_get_t' type-id='type-id-578' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='381' column='1' id='type-id-435'/>
+    <class-decl name='rte_eth_rss_reta_entry64' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='684' column='1' id='type-id-579'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mask' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='685' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='reta' type-id='type-id-559' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='687' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-579' size-in-bits='64' id='type-id-580'/>
+    <pointer-type-def type-id='type-id-581' size-in-bits='64' id='type-id-582'/>
+    <typedef-decl name='reta_update_t' type-id='type-id-582' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='367' column='1' id='type-id-436'/>
+    <typedef-decl name='reta_query_t' type-id='type-id-582' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='372' column='1' id='type-id-437'/>
+    <class-decl name='rte_dev_reg_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='13' column='1' id='type-id-583'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='14' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offset' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='15' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='length' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='16' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='width' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='17' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='version' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='18' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-583' size-in-bits='64' id='type-id-584'/>
+    <pointer-type-def type-id='type-id-585' size-in-bits='64' id='type-id-586'/>
+    <typedef-decl name='eth_get_reg_t' type-id='type-id-586' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='471' column='1' id='type-id-438'/>
+    <typedef-decl name='eth_get_eeprom_length_t' type-id='type-id-464' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='475' column='1' id='type-id-439'/>
+    <class-decl name='rte_dev_eeprom_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='24' column='1' id='type-id-587'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='25' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offset' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='26' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='length' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='27' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='magic' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='28' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-587' size-in-bits='64' id='type-id-588'/>
+    <pointer-type-def type-id='type-id-589' size-in-bits='64' id='type-id-590'/>
+    <typedef-decl name='eth_get_eeprom_t' type-id='type-id-590' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='478' column='1' id='type-id-440'/>
+    <typedef-decl name='eth_set_eeprom_t' type-id='type-id-590' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='482' column='1' id='type-id-441'/>
+    <class-decl name='rte_eth_dev_module_info' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='34' column='1' id='type-id-591'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='eeprom_len' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-591' size-in-bits='64' id='type-id-592'/>
+    <pointer-type-def type-id='type-id-593' size-in-bits='64' id='type-id-594'/>
+    <typedef-decl name='eth_get_module_info_t' type-id='type-id-594' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='486' column='1' id='type-id-442'/>
+    <typedef-decl name='eth_get_module_eeprom_t' type-id='type-id-590' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='490' column='1' id='type-id-443'/>
+    <enum-decl name='rte_filter_type' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='28' column='1' id='type-id-595'>
+      <underlying-type type-id='type-id-154'/>
+      <enumerator name='RTE_ETH_FILTER_NONE' value='0'/>
+      <enumerator name='RTE_ETH_FILTER_MACVLAN' value='1'/>
+      <enumerator name='RTE_ETH_FILTER_ETHERTYPE' value='2'/>
+      <enumerator name='RTE_ETH_FILTER_FLEXIBLE' value='3'/>
+      <enumerator name='RTE_ETH_FILTER_SYN' value='4'/>
+      <enumerator name='RTE_ETH_FILTER_NTUPLE' value='5'/>
+      <enumerator name='RTE_ETH_FILTER_TUNNEL' value='6'/>
+      <enumerator name='RTE_ETH_FILTER_FDIR' value='7'/>
+      <enumerator name='RTE_ETH_FILTER_HASH' value='8'/>
+      <enumerator name='RTE_ETH_FILTER_L2_TUNNEL' value='9'/>
+      <enumerator name='RTE_ETH_FILTER_GENERIC' value='10'/>
+      <enumerator name='RTE_ETH_FILTER_MAX' value='11'/>
+    </enum-decl>
+    <enum-decl name='rte_filter_op' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='46' column='1' id='type-id-596'>
+      <underlying-type type-id='type-id-154'/>
+      <enumerator name='RTE_ETH_FILTER_NOP' value='0'/>
+      <enumerator name='RTE_ETH_FILTER_ADD' value='1'/>
+      <enumerator name='RTE_ETH_FILTER_UPDATE' value='2'/>
+      <enumerator name='RTE_ETH_FILTER_DELETE' value='3'/>
+      <enumerator name='RTE_ETH_FILTER_FLUSH' value='4'/>
+      <enumerator name='RTE_ETH_FILTER_GET' value='5'/>
+      <enumerator name='RTE_ETH_FILTER_SET' value='6'/>
+      <enumerator name='RTE_ETH_FILTER_INFO' value='7'/>
+      <enumerator name='RTE_ETH_FILTER_STATS' value='8'/>
+      <enumerator name='RTE_ETH_FILTER_OP_MAX' value='9'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-597' size-in-bits='64' id='type-id-598'/>
+    <typedef-decl name='eth_filter_ctrl_t' type-id='type-id-598' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='506' column='1' id='type-id-444'/>
+    <class-decl name='rte_eth_dcb_info' size-in-bits='16520' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1377' column='1' id='type-id-599'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1378' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='prio_tc' type-id='type-id-341' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1379' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='tc_bws' type-id='type-id-341' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1380' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='tc_queue' type-id='type-id-600' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1382' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dcb_tc_queue_mapping' size-in-bits='16384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1360' column='1' id='type-id-600'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tc_rxq' type-id='type-id-601' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1365' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8192'>
+        <var-decl name='tc_txq' type-id='type-id-601' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1370' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1362' column='1' id='type-id-602'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='base' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1363' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='nb_queue' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1364' column='1'/>
+      </data-member>
+    </class-decl>
+
+
+    <array-type-def dimensions='2' type-id='type-id-602' size-in-bits='1152' id='type-id-601'>
+      <subrange length='64' type-id='type-id-23' id='type-id-56'/>
+
+      <subrange length='8' type-id='type-id-23' id='type-id-343'/>
+
+    </array-type-def>
+
+
+    <pointer-type-def type-id='type-id-599' size-in-bits='64' id='type-id-603'/>
+    <pointer-type-def type-id='type-id-604' size-in-bits='64' id='type-id-605'/>
+    <typedef-decl name='eth_get_dcb_info' type-id='type-id-605' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='518' column='1' id='type-id-445'/>
+    <typedef-decl name='eth_timesync_enable_t' type-id='type-id-464' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='441' column='1' id='type-id-446'/>
+    <typedef-decl name='eth_timesync_disable_t' type-id='type-id-464' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='444' column='1' id='type-id-447'/>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='9' column='1' id='type-id-606'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tv_sec' type-id='type-id-607' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='11' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tv_nsec' type-id='type-id-608' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='__time_t' type-id='type-id-226' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-607'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-226' filepath='/usr/include/bits/types.h' line='196' column='1' id='type-id-608'/>
+    <pointer-type-def type-id='type-id-606' size-in-bits='64' id='type-id-609'/>
+    <pointer-type-def type-id='type-id-610' size-in-bits='64' id='type-id-611'/>
+    <typedef-decl name='eth_timesync_read_rx_timestamp_t' type-id='type-id-611' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='447' column='1' id='type-id-448'/>
+    <pointer-type-def type-id='type-id-612' size-in-bits='64' id='type-id-613'/>
+    <typedef-decl name='eth_timesync_read_tx_timestamp_t' type-id='type-id-613' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='452' column='1' id='type-id-449'/>
+    <typedef-decl name='__int64_t' type-id='type-id-226' filepath='/usr/include/bits/types.h' line='44' column='1' id='type-id-614'/>
+    <typedef-decl name='int64_t' type-id='type-id-614' filepath='/usr/include/bits/stdint-intn.h' line='27' column='1' id='type-id-615'/>
+    <pointer-type-def type-id='type-id-616' size-in-bits='64' id='type-id-617'/>
+    <typedef-decl name='eth_timesync_adjust_time' type-id='type-id-617' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='456' column='1' id='type-id-450'/>
+    <typedef-decl name='eth_timesync_read_time' type-id='type-id-613' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='459' column='1' id='type-id-451'/>
+    <qualified-type-def type-id='type-id-606' const='yes' id='type-id-618'/>
+    <pointer-type-def type-id='type-id-618' size-in-bits='64' id='type-id-619'/>
+    <pointer-type-def type-id='type-id-620' size-in-bits='64' id='type-id-621'/>
+    <typedef-decl name='eth_timesync_write_time' type-id='type-id-621' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='463' column='1' id='type-id-452'/>
+    <pointer-type-def type-id='type-id-622' size-in-bits='64' id='type-id-623'/>
+    <typedef-decl name='eth_read_clock' type-id='type-id-623' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='467' column='1' id='type-id-453'/>
+    <qualified-type-def type-id='type-id-21' const='yes' id='type-id-624'/>
+    <pointer-type-def type-id='type-id-624' size-in-bits='64' id='type-id-625'/>
+    <pointer-type-def type-id='type-id-626' size-in-bits='64' id='type-id-627'/>
+    <typedef-decl name='eth_xstats_get_by_id_t' type-id='type-id-627' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='188' column='1' id='type-id-454'/>
+    <pointer-type-def type-id='type-id-628' size-in-bits='64' id='type-id-629'/>
+    <typedef-decl name='eth_xstats_get_names_by_id_t' type-id='type-id-629' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='219' column='1' id='type-id-455'/>
+    <pointer-type-def type-id='type-id-630' size-in-bits='64' id='type-id-631'/>
+    <typedef-decl name='eth_tm_ops_get_t' type-id='type-id-631' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='512' column='1' id='type-id-456'/>
+    <typedef-decl name='eth_mtr_ops_get_t' type-id='type-id-631' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='515' column='1' id='type-id-457'/>
+    <pointer-type-def type-id='type-id-632' size-in-bits='64' id='type-id-633'/>
+    <typedef-decl name='eth_pool_ops_supported_t' type-id='type-id-633' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='522' column='1' id='type-id-458'/>
+    <class-decl name='rte_eth_hairpin_cap' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='861' column='1' id='type-id-634'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max_nb_queues' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='863' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='max_rx_2_tx' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_tx_2_rx' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='867' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='max_nb_desc' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='868' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-634' size-in-bits='64' id='type-id-635'/>
+    <pointer-type-def type-id='type-id-636' size-in-bits='64' id='type-id-637'/>
+    <typedef-decl name='eth_hairpin_cap_get_t' type-id='type-id-637' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='543' column='1' id='type-id-459'/>
+    <class-decl name='rte_eth_hairpin_conf' size-in-bits='1040' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='890' column='1' id='type-id-638'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='peer_count' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='891' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='peers' type-id='type-id-639' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='892' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_hairpin_peer' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='879' column='1' id='type-id-640'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='port' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='880' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='queue' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='881' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-640' size-in-bits='1024' id='type-id-639'>
+      <subrange length='32' type-id='type-id-23' id='type-id-284'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-638' const='yes' id='type-id-641'/>
+    <pointer-type-def type-id='type-id-641' size-in-bits='64' id='type-id-642'/>
+    <pointer-type-def type-id='type-id-643' size-in-bits='64' id='type-id-644'/>
+    <typedef-decl name='eth_rx_hairpin_queue_setup_t' type-id='type-id-644' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='571' column='1' id='type-id-460'/>
+    <typedef-decl name='eth_tx_hairpin_queue_setup_t' type-id='type-id-644' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='601' column='1' id='type-id-461'/>
+    <qualified-type-def type-id='type-id-371' const='yes' id='type-id-645'/>
+    <pointer-type-def type-id='type-id-645' size-in-bits='64' id='type-id-260'/>
+    <class-decl name='rte_intr_handle' size-in-bits='213248' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='69' column='1' id='type-id-646'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-647' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-44' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-648' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='max_intr' type-id='type-id-25' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='nb_efd' type-id='type-id-25' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='efd_counter_size' type-id='type-id-11' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='efds' type-id='type-id-649' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16576'>
+        <var-decl name='elist' type-id='type-id-650' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='213184'>
+        <var-decl name='intr_vec' type-id='type-id-651' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='71' column='1' id='type-id-647'>
+      <data-member access='private'>
+        <var-decl name='vfio_dev_fd' type-id='type-id-44' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='uio_cfg_fd' type-id='type-id-44' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='73' column='1'/>
+      </data-member>
+    </union-decl>
+    <enum-decl name='rte_intr_handle_type' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='27' column='1' id='type-id-648'>
+      <underlying-type type-id='type-id-154'/>
+      <enumerator name='RTE_INTR_HANDLE_UNKNOWN' value='0'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO' value='1'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO_INTX' value='2'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_LEGACY' value='3'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSI' value='4'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSIX' value='5'/>
+      <enumerator name='RTE_INTR_HANDLE_ALARM' value='6'/>
+      <enumerator name='RTE_INTR_HANDLE_EXT' value='7'/>
+      <enumerator name='RTE_INTR_HANDLE_VDEV' value='8'/>
+      <enumerator name='RTE_INTR_HANDLE_DEV_EVENT' value='9'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_REQ' value='10'/>
+      <enumerator name='RTE_INTR_HANDLE_MAX' value='11'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-44' size-in-bits='16384' id='type-id-649'>
+      <subrange length='512' type-id='type-id-23' id='type-id-652'/>
+
+    </array-type-def>
+    <class-decl name='rte_epoll_event' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='61' column='1' id='type-id-653'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='status' type-id='type-id-654' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-44' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='epfd' type-id='type-id-44' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='epdata' type-id='type-id-655' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-25' volatile='yes' id='type-id-654'/>
+    <class-decl name='rte_epoll_data' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='47' column='1' id='type-id-655'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event' type-id='type-id-25' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='data' type-id='type-id-18' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cb_fun' type-id='type-id-656' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='cb_arg' type-id='type-id-18' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='51' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-657' size-in-bits='64' id='type-id-658'/>
+    <typedef-decl name='rte_intr_event_cb_t' type-id='type-id-658' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='45' column='1' id='type-id-656'/>
+
+    <array-type-def dimensions='1' type-id='type-id-653' size-in-bits='196608' id='type-id-650'>
+      <subrange length='512' type-id='type-id-23' id='type-id-652'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-651'/>
+    <pointer-type-def type-id='type-id-646' size-in-bits='64' id='type-id-261'/>
+    <class-decl name='rte_eth_dev_cb_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1' id='type-id-262'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-659' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-660' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_callback' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-661'/>
+    <pointer-type-def type-id='type-id-661' size-in-bits='64' id='type-id-659'/>
+    <pointer-type-def type-id='type-id-659' size-in-bits='64' id='type-id-660'/>
+    <class-decl name='rte_eth_rxtx_callback' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='758' column='1' id='type-id-662'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-663' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='759' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fn' type-id='type-id-664' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='763' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='param' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='764' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-662' size-in-bits='64' id='type-id-663'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='760' column='1' id='type-id-664'>
+      <data-member access='private'>
+        <var-decl name='rx' type-id='type-id-665' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='761' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='tx' type-id='type-id-666' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='762' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-667' size-in-bits='64' id='type-id-668'/>
+    <typedef-decl name='rte_rx_callback_fn' type-id='type-id-668' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1437' column='1' id='type-id-665'/>
+    <pointer-type-def type-id='type-id-669' size-in-bits='64' id='type-id-670'/>
+    <typedef-decl name='rte_tx_callback_fn' type-id='type-id-670' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1461' column='1' id='type-id-666'/>
+
+    <array-type-def dimensions='1' type-id='type-id-663' size-in-bits='65536' id='type-id-263'>
+      <subrange length='1024' type-id='type-id-23' id='type-id-369'/>
+
+    </array-type-def>
+    <enum-decl name='rte_eth_dev_state' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1467' column='1' id='type-id-264'>
+      <underlying-type type-id='type-id-154'/>
+      <enumerator name='RTE_ETH_DEV_UNUSED' value='0'/>
+      <enumerator name='RTE_ETH_DEV_ATTACHED' value='1'/>
+      <enumerator name='RTE_ETH_DEV_REMOVED' value='2'/>
+    </enum-decl>
+    <qualified-type-def type-id='type-id-255' const='yes' id='type-id-671'/>
+    <pointer-type-def type-id='type-id-671' size-in-bits='64' id='type-id-672'/>
+    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-673'/>
+    <pointer-type-def type-id='type-id-674' size-in-bits='64' id='type-id-675'/>
+    <typedef-decl name='eventdev_eth_rx_adapter_caps_get_t' type-id='type-id-675' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='463' column='1' id='type-id-79'/>
+    <class-decl name='rte_event_eth_rx_adapter_queue_conf' size-in-bits='192' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-676'/>
+    <qualified-type-def type-id='type-id-676' const='yes' id='type-id-677'/>
+    <pointer-type-def type-id='type-id-677' size-in-bits='64' id='type-id-678'/>
+    <pointer-type-def type-id='type-id-679' size-in-bits='64' id='type-id-680'/>
+    <typedef-decl name='eventdev_eth_rx_adapter_queue_add_t' type-id='type-id-680' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='523' column='1' id='type-id-80'/>
+    <pointer-type-def type-id='type-id-681' size-in-bits='64' id='type-id-682'/>
+    <typedef-decl name='eventdev_eth_rx_adapter_queue_del_t' type-id='type-id-682' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='548' column='1' id='type-id-81'/>
+    <pointer-type-def type-id='type-id-683' size-in-bits='64' id='type-id-684'/>
+    <typedef-decl name='eventdev_eth_rx_adapter_start_t' type-id='type-id-684' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='569' column='1' id='type-id-82'/>
+    <typedef-decl name='eventdev_eth_rx_adapter_stop_t' type-id='type-id-684' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='589' column='1' id='type-id-83'/>
+    <class-decl name='rte_event_eth_rx_adapter_stats' size-in-bits='576' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-685'/>
+    <pointer-type-def type-id='type-id-685' size-in-bits='64' id='type-id-686'/>
+    <pointer-type-def type-id='type-id-687' size-in-bits='64' id='type-id-688'/>
+    <typedef-decl name='eventdev_eth_rx_adapter_stats_get' type-id='type-id-688' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='611' column='1' id='type-id-84'/>
+    <typedef-decl name='eventdev_eth_rx_adapter_stats_reset' type-id='type-id-684' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='627' column='1' id='type-id-85'/>
+    <class-decl name='rte_event_timer_adapter_ops' size-in-bits='640' is-struct='yes' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter_pmd.h' line='60' column='1' id='type-id-689'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='init' type-id='type-id-690' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter_pmd.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='uninit' type-id='type-id-691' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter_pmd.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='start' type-id='type-id-692' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter_pmd.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='stop' type-id='type-id-693' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter_pmd.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='get_info' type-id='type-id-694' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter_pmd.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='stats_get' type-id='type-id-695' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter_pmd.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='stats_reset' type-id='type-id-696' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter_pmd.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='arm_burst' type-id='type-id-697' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter_pmd.h' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='arm_tmo_tick_burst' type-id='type-id-698' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter_pmd.h' line='73' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='cancel_burst' type-id='type-id-699' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter_pmd.h' line='75' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_event_timer_adapter' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter.h' line='508' column='1' id='type-id-700'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='arm_burst' type-id='type-id-697' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter.h' line='509' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='arm_tmo_tick_burst' type-id='type-id-698' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter.h' line='511' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cancel_burst' type-id='type-id-699' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter.h' line='513' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='data' type-id='type-id-701' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='ops' type-id='type-id-702' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter.h' line='517' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='allocated' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter.h' line='521' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-700' const='yes' id='type-id-703'/>
+    <pointer-type-def type-id='type-id-703' size-in-bits='64' id='type-id-704'/>
+    <class-decl name='rte_event_timer' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter.h' line='455' column='1' id='type-id-705'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ev' type-id='type-id-19' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter.h' line='456' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='state' type-id='type-id-706' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter.h' line='469' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='timeout_ticks' type-id='type-id-21' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter.h' line='471' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='impl_opaque' type-id='type-id-272' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter.h' line='476' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='user_meta' type-id='type-id-707' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter.h' line='482' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_event_timer_state' filepath='../lib/librte_eventdev/rte_event_timer_adapter.h' line='433' column='1' id='type-id-708'>
+      <underlying-type type-id='type-id-154'/>
+      <enumerator name='RTE_EVENT_TIMER_NOT_ARMED' value='0'/>
+      <enumerator name='RTE_EVENT_TIMER_ARMED' value='1'/>
+      <enumerator name='RTE_EVENT_TIMER_CANCELED' value='2'/>
+      <enumerator name='RTE_EVENT_TIMER_ERROR' value='-1'/>
+      <enumerator name='RTE_EVENT_TIMER_ERROR_TOOEARLY' value='-2'/>
+      <enumerator name='RTE_EVENT_TIMER_ERROR_TOOLATE' value='-3'/>
+    </enum-decl>
+    <qualified-type-def type-id='type-id-708' volatile='yes' id='type-id-706'/>
+
+    <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='infinite' id='type-id-707'>
+      <subrange length='infinite' type-id='type-id-23' id='type-id-274'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-705' size-in-bits='64' id='type-id-709'/>
+    <pointer-type-def type-id='type-id-709' size-in-bits='64' id='type-id-710'/>
+    <pointer-type-def type-id='type-id-711' size-in-bits='64' id='type-id-712'/>
+    <typedef-decl name='rte_event_timer_arm_burst_t' type-id='type-id-712' filepath='../lib/librte_eventdev/rte_event_timer_adapter.h' line='488' column='1' id='type-id-697'/>
+    <pointer-type-def type-id='type-id-713' size-in-bits='64' id='type-id-714'/>
+    <typedef-decl name='rte_event_timer_arm_tmo_tick_burst_t' type-id='type-id-714' filepath='../lib/librte_eventdev/rte_event_timer_adapter.h' line='493' column='1' id='type-id-698'/>
+    <typedef-decl name='rte_event_timer_cancel_burst_t' type-id='type-id-712' filepath='../lib/librte_eventdev/rte_event_timer_adapter.h' line='499' column='1' id='type-id-699'/>
+    <class-decl name='rte_event_timer_adapter_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter_pmd.h' line='83' column='1' id='type-id-715'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter_pmd.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='event_dev_id' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter_pmd.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='socket_id' type-id='type-id-25' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter_pmd.h' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='event_port_id' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter_pmd.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mz' type-id='type-id-280' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter_pmd.h' line='92' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='conf' type-id='type-id-716' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter_pmd.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='caps' type-id='type-id-25' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter_pmd.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='adapter_priv' type-id='type-id-18' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter_pmd.h' line='98' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='service_inited' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter_pmd.h' line='100' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='736'>
+        <var-decl name='service_id' type-id='type-id-25' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter_pmd.h' line='102' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='started' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter_pmd.h' line='106' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_event_timer_adapter_conf' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter.h' line='156' column='1' id='type-id-716'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event_dev_id' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter.h' line='157' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='timer_adapter_id' type-id='type-id-16' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter.h' line='159' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='socket_id' type-id='type-id-25' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter.h' line='161' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='clk_src' type-id='type-id-717' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter.h' line='163' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='timer_tick_ns' type-id='type-id-21' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter.h' line='165' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='max_tmo_ns' type-id='type-id-21' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter.h' line='167' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='nb_timers' type-id='type-id-21' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter.h' line='169' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='flags' type-id='type-id-21' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_event_timer_adapter_clk_src' filepath='../lib/librte_eventdev/rte_event_timer_adapter.h' line='122' column='1' id='type-id-717'>
+      <underlying-type type-id='type-id-154'/>
+      <enumerator name='RTE_EVENT_TIMER_ADAPTER_CPU_CLK' value='0'/>
+      <enumerator name='RTE_EVENT_TIMER_ADAPTER_EXT_CLK0' value='1'/>
+      <enumerator name='RTE_EVENT_TIMER_ADAPTER_EXT_CLK1' value='2'/>
+      <enumerator name='RTE_EVENT_TIMER_ADAPTER_EXT_CLK2' value='3'/>
+      <enumerator name='RTE_EVENT_TIMER_ADAPTER_EXT_CLK3' value='4'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-715' size-in-bits='64' id='type-id-701'/>
+    <qualified-type-def type-id='type-id-689' const='yes' id='type-id-718'/>
+    <pointer-type-def type-id='type-id-718' size-in-bits='64' id='type-id-702'/>
+    <pointer-type-def type-id='type-id-700' size-in-bits='64' id='type-id-719'/>
+    <pointer-type-def type-id='type-id-720' size-in-bits='64' id='type-id-721'/>
+    <typedef-decl name='rte_event_timer_adapter_init_t' type-id='type-id-721' filepath='../lib/librte_eventdev/rte_event_timer_adapter_pmd.h' line='32' column='1' id='type-id-690'/>
+    <typedef-decl name='rte_event_timer_adapter_uninit_t' type-id='type-id-721' filepath='../lib/librte_eventdev/rte_event_timer_adapter_pmd.h' line='35' column='1' id='type-id-691'/>
+    <pointer-type-def type-id='type-id-722' size-in-bits='64' id='type-id-723'/>
+    <typedef-decl name='rte_event_timer_adapter_start_t' type-id='type-id-723' filepath='../lib/librte_eventdev/rte_event_timer_adapter_pmd.h' line='38' column='1' id='type-id-692'/>
+    <typedef-decl name='rte_event_timer_adapter_stop_t' type-id='type-id-723' filepath='../lib/librte_eventdev/rte_event_timer_adapter_pmd.h' line='41' column='1' id='type-id-693'/>
+    <class-decl name='rte_event_timer_adapter_info' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter.h' line='259' column='1' id='type-id-724'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='min_resolution_ns' type-id='type-id-21' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='max_tmo_ns' type-id='type-id-21' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter.h' line='262' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='conf' type-id='type-id-716' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter.h' line='264' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='caps' type-id='type-id-25' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter.h' line='266' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='event_dev_port_id' type-id='type-id-250' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter.h' line='268' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-724' size-in-bits='64' id='type-id-725'/>
+    <pointer-type-def type-id='type-id-726' size-in-bits='64' id='type-id-727'/>
+    <typedef-decl name='rte_event_timer_adapter_get_info_t' type-id='type-id-727' filepath='../lib/librte_eventdev/rte_event_timer_adapter_pmd.h' line='44' column='1' id='type-id-694'/>
+    <class-decl name='rte_event_timer_adapter_stats' size-in-bits='320' is-struct='yes' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter.h' line='178' column='1' id='type-id-728'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='evtim_exp_count' type-id='type-id-21' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter.h' line='179' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ev_enq_count' type-id='type-id-21' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter.h' line='181' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ev_inv_count' type-id='type-id-21' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter.h' line='183' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='evtim_retry_count' type-id='type-id-21' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter.h' line='185' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='adapter_tick_count' type-id='type-id-21' visibility='default' filepath='../lib/librte_eventdev/rte_event_timer_adapter.h' line='187' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-728' size-in-bits='64' id='type-id-729'/>
+    <pointer-type-def type-id='type-id-730' size-in-bits='64' id='type-id-731'/>
+    <typedef-decl name='rte_event_timer_adapter_stats_get_t' type-id='type-id-731' filepath='../lib/librte_eventdev/rte_event_timer_adapter_pmd.h' line='48' column='1' id='type-id-695'/>
+    <typedef-decl name='rte_event_timer_adapter_stats_reset_t' type-id='type-id-723' filepath='../lib/librte_eventdev/rte_event_timer_adapter_pmd.h' line='52' column='1' id='type-id-696'/>
+    <pointer-type-def type-id='type-id-702' size-in-bits='64' id='type-id-732'/>
+    <pointer-type-def type-id='type-id-733' size-in-bits='64' id='type-id-734'/>
+    <typedef-decl name='eventdev_timer_adapter_caps_get_t' type-id='type-id-734' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='495' column='1' id='type-id-86'/>
+    <class-decl name='rte_cryptodev' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='817' column='1' id='type-id-735'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dequeue_burst' type-id='type-id-736' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='818' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='enqueue_burst' type-id='type-id-737' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='820' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data' type-id='type-id-738' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='823' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_ops' type-id='type-id-739' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='825' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='feature_flags' type-id='type-id-21' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='827' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-10' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='829' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='driver_id' type-id='type-id-11' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='832' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='link_intr_cbs' type-id='type-id-740' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='835' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='security_ctx' type-id='type-id-18' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='attached' type-id='type-id-11' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='842' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_op' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='78' column='1' id='type-id-741'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-742' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mempool' type-id='type-id-269' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='110' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='phys_addr' type-id='type-id-275' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='113' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='80' column='1' id='type-id-742'>
+      <data-member access='private'>
+        <var-decl name='raw' type-id='type-id-21' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-743' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='83' column='1' id='type-id-743'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-11' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='status' type-id='type-id-11' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='sess_type' type-id='type-id-11' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='reserved' type-id='type-id-744' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='private_data_offset' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='100' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='24' id='type-id-744'>
+      <subrange length='3' type-id='type-id-23' id='type-id-745'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-741' size-in-bits='64' id='type-id-746'/>
+    <pointer-type-def type-id='type-id-746' size-in-bits='64' id='type-id-747'/>
+    <pointer-type-def type-id='type-id-748' size-in-bits='64' id='type-id-749'/>
+    <typedef-decl name='dequeue_pkt_burst_t' type-id='type-id-749' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='800' column='1' id='type-id-736'/>
+    <typedef-decl name='enqueue_pkt_burst_t' type-id='type-id-749' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='804' column='1' id='type-id-737'/>
+    <class-decl name='rte_cryptodev_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='856' column='1' id='type-id-750'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_id' type-id='type-id-11' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='857' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='socket_id' type-id='type-id-11' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='859' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='name' type-id='type-id-50' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='861' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='dev_started' type-id='type-id-11' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='session_pool' type-id='type-id-269' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='868' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='queue_pairs' type-id='type-id-45' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='870' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='nb_queue_pairs' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='872' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='dev_private' type-id='type-id-18' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='875' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-750' size-in-bits='64' id='type-id-738'/>
+    <class-decl name='rte_cryptodev_ops' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='313' column='1' id='type-id-751'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_configure' type-id='type-id-752' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='314' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_start' type-id='type-id-753' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='315' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dev_stop' type-id='type-id-754' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='316' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_close' type-id='type-id-755' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='317' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dev_infos_get' type-id='type-id-756' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='319' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='stats_get' type-id='type-id-757' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='321' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='stats_reset' type-id='type-id-758' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='323' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='queue_pair_setup' type-id='type-id-759' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='326' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='queue_pair_release' type-id='type-id-760' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='328' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='queue_pair_count' type-id='type-id-761' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='330' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='sym_session_get_size' type-id='type-id-762' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='333' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='asym_session_get_size' type-id='type-id-763' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='335' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='sym_session_configure' type-id='type-id-764' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='337' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='asym_session_configure' type-id='type-id-765' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='339' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='sym_session_clear' type-id='type-id-766' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='341' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='asym_session_clear' type-id='type-id-767' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='343' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-735' size-in-bits='64' id='type-id-768'/>
+    <class-decl name='rte_cryptodev_config' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='619' column='1' id='type-id-769'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='socket_id' type-id='type-id-44' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='620' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_queue_pairs' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ff_disable' type-id='type-id-21' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='623' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-769' size-in-bits='64' id='type-id-770'/>
+    <pointer-type-def type-id='type-id-771' size-in-bits='64' id='type-id-772'/>
+    <typedef-decl name='cryptodev_configure_t' type-id='type-id-772' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='127' column='1' id='type-id-752'/>
+    <pointer-type-def type-id='type-id-773' size-in-bits='64' id='type-id-774'/>
+    <typedef-decl name='cryptodev_start_t' type-id='type-id-774' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='137' column='1' id='type-id-753'/>
+    <pointer-type-def type-id='type-id-775' size-in-bits='64' id='type-id-776'/>
+    <typedef-decl name='cryptodev_stop_t' type-id='type-id-776' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='144' column='1' id='type-id-754'/>
+    <typedef-decl name='cryptodev_close_t' type-id='type-id-774' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='154' column='1' id='type-id-755'/>
+    <class-decl name='rte_cryptodev_info' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='468' column='1' id='type-id-777'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='driver_name' type-id='type-id-107' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='469' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='driver_id' type-id='type-id-11' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='470' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='device' type-id='type-id-10' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='471' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='feature_flags' type-id='type-id-21' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='473' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='capabilities' type-id='type-id-778' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='476' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='max_nb_queue_pairs' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='479' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='min_mbuf_headroom_req' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='482' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='min_mbuf_tailroom_req' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='485' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='sym' type-id='type-id-779' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='494' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_capabilities' size-in-bits='320' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='176' column='1' id='type-id-780'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-781' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='177' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='' type-id='type-id-782' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_op_type' filepath='../lib/librte_cryptodev/rte_crypto.h' line='29' column='1' id='type-id-781'>
+      <underlying-type type-id='type-id-154'/>
+      <enumerator name='RTE_CRYPTO_OP_TYPE_UNDEFINED' value='0'/>
+      <enumerator name='RTE_CRYPTO_OP_TYPE_SYMMETRIC' value='1'/>
+      <enumerator name='RTE_CRYPTO_OP_TYPE_ASYMMETRIC' value='2'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='288' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='181' column='1' id='type-id-782'>
+      <data-member access='private'>
+        <var-decl name='sym' type-id='type-id-783' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='182' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='asym' type-id='type-id-784' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='184' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_cryptodev_symmetric_capability' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='98' column='1' id='type-id-783'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xform_type' type-id='type-id-785' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='99' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='' type-id='type-id-786' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_sym_xform_type' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='424' column='1' id='type-id-785'>
+      <underlying-type type-id='type-id-154'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_NOT_SPECIFIED' value='0'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_AUTH' value='1'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_CIPHER' value='2'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_AEAD' value='3'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='102' column='1' id='type-id-786'>
+      <data-member access='private'>
+        <var-decl name='auth' type-id='type-id-787' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='116' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='cipher' type-id='type-id-788' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='127' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='aead' type-id='type-id-789' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='103' column='1' id='type-id-787'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-790' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='104' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='block_size' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='key_size' type-id='type-id-791' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='digest_size' type-id='type-id-791' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='110' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='aad_size' type-id='type-id-791' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='112' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv_size' type-id='type-id-791' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='114' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_auth_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='189' column='1' id='type-id-790'>
+      <underlying-type type-id='type-id-154'/>
+      <enumerator name='RTE_CRYPTO_AUTH_NULL' value='1'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_CBC_MAC' value='2'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_CMAC' value='3'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_GMAC' value='4'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_XCBC_MAC' value='5'/>
+      <enumerator name='RTE_CRYPTO_AUTH_KASUMI_F9' value='6'/>
+      <enumerator name='RTE_CRYPTO_AUTH_MD5' value='7'/>
+      <enumerator name='RTE_CRYPTO_AUTH_MD5_HMAC' value='8'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA1' value='9'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA1_HMAC' value='10'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA224' value='11'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA224_HMAC' value='12'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA256' value='13'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA256_HMAC' value='14'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA384' value='15'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA384_HMAC' value='16'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA512' value='17'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA512_HMAC' value='18'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SNOW3G_UIA2' value='19'/>
+      <enumerator name='RTE_CRYPTO_AUTH_ZUC_EIA3' value='20'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_224' value='21'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_224_HMAC' value='22'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_256' value='23'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_256_HMAC' value='24'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_384' value='25'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_384_HMAC' value='26'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_512' value='27'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_512_HMAC' value='28'/>
+      <enumerator name='RTE_CRYPTO_AUTH_LIST_END' value='29'/>
+    </enum-decl>
+    <class-decl name='rte_crypto_param_range' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='84' column='1' id='type-id-791'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='min' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='max' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='increment' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='87' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='160' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='118' column='1' id='type-id-788'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-792' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='119' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='block_size' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='121' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='key_size' type-id='type-id-791' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='123' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='iv_size' type-id='type-id-791' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='125' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_cipher_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='30' column='1' id='type-id-792'>
+      <underlying-type type-id='type-id-154'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_NULL' value='1'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_CBC' value='2'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_CTR' value='3'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_ECB' value='4'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_CBC' value='5'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_CTR' value='6'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_ECB' value='7'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_F8' value='8'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_XTS' value='9'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_ARC4' value='10'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_KASUMI_F8' value='11'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_SNOW3G_UEA2' value='12'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_ZUC_EEA3' value='13'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_DES_CBC' value='14'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_DOCSISBPI' value='15'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_DES_DOCSISBPI' value='16'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_LIST_END' value='17'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='129' column='1' id='type-id-789'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-793' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='130' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='block_size' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='132' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='key_size' type-id='type-id-791' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='134' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='digest_size' type-id='type-id-791' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='136' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='aad_size' type-id='type-id-791' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv_size' type-id='type-id-791' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='140' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_aead_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='346' column='1' id='type-id-793'>
+      <underlying-type type-id='type-id-154'/>
+      <enumerator name='RTE_CRYPTO_AEAD_AES_CCM' value='1'/>
+      <enumerator name='RTE_CRYPTO_AEAD_AES_GCM' value='2'/>
+      <enumerator name='RTE_CRYPTO_AEAD_LIST_END' value='3'/>
+    </enum-decl>
+    <class-decl name='rte_cryptodev_asymmetric_capability' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='170' column='1' id='type-id-784'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xform_capa' type-id='type-id-794' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_asymmetric_xform_capability' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='150' column='1' id='type-id-794'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xform_type' type-id='type-id-795' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='151' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='op_types' type-id='type-id-25' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-796' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_asym_xform_type' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='53' column='1' id='type-id-795'>
+      <underlying-type type-id='type-id-154'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_UNSPECIFIED' value='0'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_NONE' value='1'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_RSA' value='2'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_DH' value='3'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_DSA' value='4'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_MODINV' value='5'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_MODEX' value='6'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_TYPE_LIST_END' value='7'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='48' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='158' column='1' id='type-id-796'>
+      <data-member access='private'>
+        <var-decl name='modlen' type-id='type-id-791' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='159' column='1'/>
+      </data-member>
+    </union-decl>
+    <qualified-type-def type-id='type-id-780' const='yes' id='type-id-797'/>
+    <pointer-type-def type-id='type-id-797' size-in-bits='64' id='type-id-778'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='488' column='1' id='type-id-779'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max_nb_sessions' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='489' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-777' size-in-bits='64' id='type-id-798'/>
+    <pointer-type-def type-id='type-id-799' size-in-bits='64' id='type-id-800'/>
+    <typedef-decl name='cryptodev_info_get_t' type-id='type-id-800' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='180' column='1' id='type-id-756'/>
+    <class-decl name='rte_cryptodev_stats' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='530' column='1' id='type-id-801'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='enqueued_count' type-id='type-id-21' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='531' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dequeued_count' type-id='type-id-21' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='533' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='enqueue_err_count' type-id='type-id-21' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='536' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dequeue_err_count' type-id='type-id-21' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='538' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-801' size-in-bits='64' id='type-id-802'/>
+    <pointer-type-def type-id='type-id-803' size-in-bits='64' id='type-id-804'/>
+    <typedef-decl name='cryptodev_stats_get_t' type-id='type-id-804' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='163' column='1' id='type-id-757'/>
+    <typedef-decl name='cryptodev_stats_reset_t' type-id='type-id-776' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='172' column='1' id='type-id-758'/>
+    <class-decl name='rte_cryptodev_qp_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='508' column='1' id='type-id-805'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_descriptors' type-id='type-id-25' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='509' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp_session' type-id='type-id-269' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='510' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mp_session_private' type-id='type-id-269' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='512' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-805' const='yes' id='type-id-806'/>
+    <pointer-type-def type-id='type-id-806' size-in-bits='64' id='type-id-807'/>
+    <pointer-type-def type-id='type-id-808' size-in-bits='64' id='type-id-809'/>
+    <typedef-decl name='cryptodev_queue_pair_setup_t' type-id='type-id-809' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='193' column='1' id='type-id-759'/>
+    <pointer-type-def type-id='type-id-810' size-in-bits='64' id='type-id-811'/>
+    <typedef-decl name='cryptodev_queue_pair_release_t' type-id='type-id-811' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='207' column='1' id='type-id-760'/>
+    <pointer-type-def type-id='type-id-812' size-in-bits='64' id='type-id-813'/>
+    <typedef-decl name='cryptodev_queue_pair_count_t' type-id='type-id-813' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='217' column='1' id='type-id-761'/>
+    <pointer-type-def type-id='type-id-814' size-in-bits='64' id='type-id-815'/>
+    <typedef-decl name='cryptodev_sym_get_session_private_size_t' type-id='type-id-815' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='245' column='1' id='type-id-762'/>
+    <typedef-decl name='cryptodev_asym_get_session_private_size_t' type-id='type-id-815' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='256' column='1' id='type-id-763'/>
+    <class-decl name='rte_crypto_sym_xform' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='440' column='1' id='type-id-816'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-817' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='441' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-785' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='443' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-818' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-816' size-in-bits='64' id='type-id-817'/>
+    <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='446' column='1' id='type-id-818'>
+      <data-member access='private'>
+        <var-decl name='auth' type-id='type-id-819' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='447' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='cipher' type-id='type-id-820' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='aead' type-id='type-id-821' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='451' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_crypto_auth_xform' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='278' column='1' id='type-id-819'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-822' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-790' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='281' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-823' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='287' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv' type-id='type-id-824' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='330' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='digest_length' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='332' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_auth_operation' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='262' column='1' id='type-id-822'>
+      <underlying-type type-id='type-id-154'/>
+      <enumerator name='RTE_CRYPTO_AUTH_OP_VERIFY' value='0'/>
+      <enumerator name='RTE_CRYPTO_AUTH_OP_GENERATE' value='1'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='284' column='1' id='type-id-823'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-203' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='285' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='length' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='286' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='295' column='1' id='type-id-824'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='offset' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='296' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='length' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='312' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_cipher_xform' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='107' column='1' id='type-id-820'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-825' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-792' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='113' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-823' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='119' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv' type-id='type-id-824' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='185' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_cipher_operation' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='90' column='1' id='type-id-825'>
+      <underlying-type type-id='type-id-154'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_OP_ENCRYPT' value='0'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_OP_DECRYPT' value='1'/>
+    </enum-decl>
+    <class-decl name='rte_crypto_aead_xform' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='370' column='1' id='type-id-821'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-826' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='371' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-793' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='373' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-823' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='379' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv' type-id='type-id-824' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='411' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='digest_length' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='413' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='240'>
+        <var-decl name='aad_length' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='415' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_aead_operation' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='359' column='1' id='type-id-826'>
+      <underlying-type type-id='type-id-154'/>
+      <enumerator name='RTE_CRYPTO_AEAD_OP_ENCRYPT' value='0'/>
+      <enumerator name='RTE_CRYPTO_AEAD_OP_DECRYPT' value='1'/>
+    </enum-decl>
+    <class-decl name='rte_cryptodev_sym_session' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='974' column='1' id='type-id-827'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='opaque_data' type-id='type-id-21' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='975' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='nb_drivers' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='977' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='user_data_sz' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='979' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='sess_data' type-id='type-id-828' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='984' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='981' column='1' id='type-id-829'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-18' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='982' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='refcnt' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='983' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-829' size-in-bits='infinite' id='type-id-828'>
+      <subrange length='infinite' type-id='type-id-23' id='type-id-274'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-827' size-in-bits='64' id='type-id-830'/>
+    <pointer-type-def type-id='type-id-831' size-in-bits='64' id='type-id-832'/>
+    <typedef-decl name='cryptodev_sym_configure_session_t' type-id='type-id-832' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='273' column='1' id='type-id-764'/>
+    <class-decl name='rte_crypto_asym_xform' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='353' column='1' id='type-id-833'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-834' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='354' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='xform_type' type-id='type-id-795' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='356' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-835' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-833' size-in-bits='64' id='type-id-834'/>
+    <union-decl name='__anonymous_union__' size-in-bits='1408' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='360' column='1' id='type-id-835'>
+      <data-member access='private'>
+        <var-decl name='rsa' type-id='type-id-836' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='361' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='modex' type-id='type-id-837' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='364' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='modinv' type-id='type-id-838' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='367' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dh' type-id='type-id-839' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='370' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dsa' type-id='type-id-840' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='373' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_crypto_rsa_xform' size-in-bits='1408' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='192' column='1' id='type-id-836'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n' type-id='type-id-841' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='193' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='e' type-id='type-id-841' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='199' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='key_type' type-id='type-id-842' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='' type-id='type-id-843' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_param_t' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='30' column='1' id='type-id-844'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-206' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='iova' type-id='type-id-275' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='33' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='length' type-id='type-id-150' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='35' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='rte_crypto_param' type-id='type-id-844' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='37' column='1' id='type-id-841'/>
+    <enum-decl name='rte_crypto_rsa_priv_key_type' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='133' column='1' id='type-id-842'>
+      <underlying-type type-id='type-id-154'/>
+      <enumerator name='RTE_RSA_KEY_TYPE_EXP' value='0'/>
+      <enumerator name='RTE_RSA_KET_TYPE_QT' value='1'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='960' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='208' column='1' id='type-id-843'>
+      <data-member access='private'>
+        <var-decl name='d' type-id='type-id-841' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='209' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='qt' type-id='type-id-845' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='216' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_crypto_rsa_priv_key_qt' size-in-bits='960' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='146' column='1' id='type-id-845'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='p' type-id='type-id-841' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='147' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='q' type-id='type-id-841' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='dP' type-id='type-id-841' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='161' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dQ' type-id='type-id-841' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='169' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='qInv' type-id='type-id-841' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='177' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_modex_xform' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='227' column='1' id='type-id-837'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='modulus' type-id='type-id-841' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='exponent' type-id='type-id-841' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='237' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_modinv_xform' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='250' column='1' id='type-id-838'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='modulus' type-id='type-id-841' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='251' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_dh_xform' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='271' column='1' id='type-id-839'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-846' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='272' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='p' type-id='type-id-841' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='275' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='g' type-id='type-id-841' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='281' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_asym_op_type' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='91' column='1' id='type-id-846'>
+      <underlying-type type-id='type-id-154'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_ENCRYPT' value='0'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_DECRYPT' value='1'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_SIGN' value='2'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_VERIFY' value='3'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_PRIVATE_KEY_GENERATE' value='4'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_PUBLIC_KEY_GENERATE' value='5'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_SHARED_SECRET_COMPUTE' value='6'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_LIST_END' value='7'/>
+    </enum-decl>
+    <class-decl name='rte_crypto_dsa_xform' size-in-bits='768' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='295' column='1' id='type-id-840'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='p' type-id='type-id-841' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='296' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='q' type-id='type-id-841' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='301' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='g' type-id='type-id-841' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='307' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='x' type-id='type-id-841' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='311' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_asym_session' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='989' column='1' id='type-id-847'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='sess_private_data' type-id='type-id-273' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='990' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-847' size-in-bits='64' id='type-id-848'/>
+    <pointer-type-def type-id='type-id-849' size-in-bits='64' id='type-id-850'/>
+    <typedef-decl name='cryptodev_asym_configure_session_t' type-id='type-id-850' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='291' column='1' id='type-id-765'/>
+    <pointer-type-def type-id='type-id-851' size-in-bits='64' id='type-id-852'/>
+    <typedef-decl name='cryptodev_sym_free_session_t' type-id='type-id-852' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='301' column='1' id='type-id-766'/>
+    <pointer-type-def type-id='type-id-853' size-in-bits='64' id='type-id-854'/>
+    <typedef-decl name='cryptodev_asym_free_session_t' type-id='type-id-854' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='309' column='1' id='type-id-767'/>
+    <pointer-type-def type-id='type-id-751' size-in-bits='64' id='type-id-739'/>
+    <class-decl name='rte_cryptodev_cb_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='814' column='1' id='type-id-740'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-855' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='814' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-856' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='814' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_callback' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-857'/>
+    <pointer-type-def type-id='type-id-857' size-in-bits='64' id='type-id-855'/>
+    <pointer-type-def type-id='type-id-855' size-in-bits='64' id='type-id-856'/>
+    <qualified-type-def type-id='type-id-735' const='yes' id='type-id-858'/>
+    <pointer-type-def type-id='type-id-858' size-in-bits='64' id='type-id-859'/>
+    <pointer-type-def type-id='type-id-860' size-in-bits='64' id='type-id-861'/>
+    <typedef-decl name='eventdev_crypto_adapter_caps_get_t' type-id='type-id-861' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='663' column='1' id='type-id-87'/>
+    <pointer-type-def type-id='type-id-862' size-in-bits='64' id='type-id-863'/>
+    <typedef-decl name='eventdev_crypto_adapter_queue_pair_add_t' type-id='type-id-863' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='694' column='1' id='type-id-88'/>
+    <pointer-type-def type-id='type-id-864' size-in-bits='64' id='type-id-865'/>
+    <typedef-decl name='eventdev_crypto_adapter_queue_pair_del_t' type-id='type-id-865' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='722' column='1' id='type-id-89'/>
+    <pointer-type-def type-id='type-id-866' size-in-bits='64' id='type-id-867'/>
+    <typedef-decl name='eventdev_crypto_adapter_start_t' type-id='type-id-867' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='743' column='1' id='type-id-90'/>
+    <typedef-decl name='eventdev_crypto_adapter_stop_t' type-id='type-id-867' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='763' column='1' id='type-id-91'/>
+    <class-decl name='rte_event_crypto_adapter_stats' size-in-bits='512' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-868'/>
+    <pointer-type-def type-id='type-id-868' size-in-bits='64' id='type-id-869'/>
+    <pointer-type-def type-id='type-id-870' size-in-bits='64' id='type-id-871'/>
+    <typedef-decl name='eventdev_crypto_adapter_stats_get' type-id='type-id-871' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='785' column='1' id='type-id-92'/>
+    <typedef-decl name='eventdev_crypto_adapter_stats_reset' type-id='type-id-867' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='803' column='1' id='type-id-93'/>
+    <typedef-decl name='eventdev_eth_tx_adapter_caps_get_t' type-id='type-id-675' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='824' column='1' id='type-id-94'/>
+    <pointer-type-def type-id='type-id-872' size-in-bits='64' id='type-id-873'/>
+    <typedef-decl name='eventdev_eth_tx_adapter_create_t' type-id='type-id-873' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='842' column='1' id='type-id-95'/>
+    <typedef-decl name='eventdev_eth_tx_adapter_free_t' type-id='type-id-873' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='858' column='1' id='type-id-96'/>
+    <pointer-type-def type-id='type-id-874' size-in-bits='64' id='type-id-875'/>
+    <typedef-decl name='eventdev_eth_tx_adapter_queue_add_t' type-id='type-id-875' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='882' column='1' id='type-id-97'/>
+    <typedef-decl name='eventdev_eth_tx_adapter_queue_del_t' type-id='type-id-875' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='910' column='1' id='type-id-98'/>
+    <typedef-decl name='eventdev_eth_tx_adapter_start_t' type-id='type-id-873' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='929' column='1' id='type-id-99'/>
+    <typedef-decl name='eventdev_eth_tx_adapter_stop_t' type-id='type-id-873' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='945' column='1' id='type-id-100'/>
+    <class-decl name='rte_event_eth_tx_adapter_stats' size-in-bits='192' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-876'/>
+    <pointer-type-def type-id='type-id-876' size-in-bits='64' id='type-id-877'/>
+    <pointer-type-def type-id='type-id-878' size-in-bits='64' id='type-id-879'/>
+    <typedef-decl name='eventdev_eth_tx_adapter_stats_get_t' type-id='type-id-879' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='966' column='1' id='type-id-101'/>
+    <typedef-decl name='eventdev_eth_tx_adapter_stats_reset_t' type-id='type-id-873' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='984' column='1' id='type-id-102'/>
+    <typedef-decl name='eventdev_selftest' type-id='type-id-138' filepath='../lib/librte_eventdev/rte_eventdev_pmd.h' line='636' column='1' id='type-id-103'/>
+    <pointer-type-def type-id='type-id-880' size-in-bits='64' id='type-id-881'/>
+    <typedef-decl name='eventdev_stop_flush_t' type-id='type-id-881' filepath='../lib/librte_eventdev/rte_eventdev.h' line='831' column='1' id='type-id-104'/>
+    <pointer-type-def type-id='type-id-58' size-in-bits='64' id='type-id-9'/>
+    <var-decl name='rte_eventdevs' type-id='type-id-105' mangled-name='rte_eventdevs' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1325' column='1' elf-symbol-id='rte_eventdevs@@DPDK_20.0'/>
+    <function-decl name='rte_event_pmd_release' mangled-name='rte_event_pmd_release' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1382' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_pmd_release@@DPDK_20.0'>
+      <parameter type-id='type-id-105' name='eventdev' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1382' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_pmd_allocate' mangled-name='rte_event_pmd_allocate' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1334' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_pmd_allocate@@DPDK_20.0'>
+      <parameter type-id='type-id-107' name='name' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1334' column='1'/>
+      <parameter type-id='type-id-44' name='socket_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1334' column='1'/>
+      <return type-id='type-id-105'/>
+    </function-decl>
+    <function-decl name='rte_event_dev_close' mangled-name='rte_event_dev_close' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1263' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_dev_close@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='dev_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1263' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_dev_stop' mangled-name='rte_event_dev_stop' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1242' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_dev_stop@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='dev_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1242' column='1'/>
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <function-decl name='rte_event_dev_stop_flush_callback_register' mangled-name='rte_event_dev_stop_flush_callback_register' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1225' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_dev_stop_flush_callback_register@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='dev_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1225' column='1'/>
+      <parameter type-id='type-id-104' name='callback' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1226' column='1'/>
+      <parameter type-id='type-id-18' name='userdata' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1226' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_dev_start' mangled-name='rte_event_dev_start' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1198' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_dev_start@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='dev_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1198' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_dev_selftest' mangled-name='rte_event_dev_selftest' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1187' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_dev_selftest@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='dev_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1263' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_dev_xstats_reset' mangled-name='rte_event_dev_xstats_reset' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1174' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_dev_xstats_reset@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='dev_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1174' column='1'/>
+      <parameter type-id='type-id-236' name='mode' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1175' column='1'/>
+      <parameter type-id='type-id-250' name='queue_port_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1175' column='1'/>
+      <parameter type-id='type-id-252' name='ids' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1176' column='1'/>
+      <parameter type-id='type-id-25' name='nb_ids' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1176' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_dev_xstats_by_name_get' mangled-name='rte_event_dev_xstats_by_name_get' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1156' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_dev_xstats_by_name_get@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='dev_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1156' column='1'/>
+      <parameter type-id='type-id-107' name='name' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1156' column='1'/>
+      <parameter type-id='type-id-243' name='id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1157' column='1'/>
+      <return type-id='type-id-21'/>
+    </function-decl>
+    <function-decl name='rte_event_dev_xstats_get' mangled-name='rte_event_dev_xstats_get' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1141' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_dev_xstats_get@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='dev_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1141' column='1'/>
+      <parameter type-id='type-id-236' name='mode' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1141' column='1'/>
+      <parameter type-id='type-id-11' name='queue_port_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1142' column='1'/>
+      <parameter type-id='type-id-238' name='ids' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1142' column='1'/>
+      <parameter type-id='type-id-211' name='values' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1143' column='1'/>
+      <parameter type-id='type-id-26' name='n' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1143' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_dev_xstats_names_get' mangled-name='rte_event_dev_xstats_names_get' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1117' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_dev_xstats_names_get@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='dev_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1117' column='1'/>
+      <parameter type-id='type-id-236' name='mode' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1118' column='1'/>
+      <parameter type-id='type-id-11' name='queue_port_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1118' column='1'/>
+      <parameter type-id='type-id-242' name='xstats_names' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1119' column='1'/>
+      <parameter type-id='type-id-243' name='ids' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1120' column='1'/>
+      <parameter type-id='type-id-26' name='size' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1120' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_dev_dump' mangled-name='rte_event_dev_dump' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1091' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_dev_dump@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='dev_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1091' column='1'/>
+      <parameter type-id='type-id-233' name='f' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1091' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_dev_service_id_get' mangled-name='rte_event_dev_service_id_get' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1074' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_dev_service_id_get@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='dev_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1074' column='1'/>
+      <parameter type-id='type-id-673' name='service_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1074' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_dequeue_timeout_ticks' mangled-name='rte_event_dequeue_timeout_ticks' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1058' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_dequeue_timeout_ticks@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='dev_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1058' column='1'/>
+      <parameter type-id='type-id-21' name='ns' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1058' column='1'/>
+      <parameter type-id='type-id-211' name='timeout_ticks' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1059' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_port_links_get' mangled-name='rte_event_port_links_get' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1030' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_port_links_get@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='dev_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1030' column='1'/>
+      <parameter type-id='type-id-11' name='port_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1030' column='1'/>
+      <parameter type-id='type-id-206' name='queues' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1031' column='1'/>
+      <parameter type-id='type-id-206' name='priorities' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1031' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_port_unlinks_in_progress' mangled-name='rte_event_port_unlinks_in_progress' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1008' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_port_unlinks_in_progress@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='dev_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1008' column='1'/>
+      <parameter type-id='type-id-11' name='port_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1008' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_port_unlink' mangled-name='rte_event_port_unlink' filepath='../lib/librte_eventdev/rte_eventdev.c' line='943' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_port_unlink@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='dev_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='943' column='1'/>
+      <parameter type-id='type-id-11' name='port_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='943' column='1'/>
+      <parameter type-id='type-id-206' name='queues' filepath='../lib/librte_eventdev/rte_eventdev.c' line='944' column='1'/>
+      <parameter type-id='type-id-16' name='nb_unlinks' filepath='../lib/librte_eventdev/rte_eventdev.c' line='944' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_port_link' mangled-name='rte_event_port_link' filepath='../lib/librte_eventdev/rte_eventdev.c' line='882' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_port_link@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='dev_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='882' column='1'/>
+      <parameter type-id='type-id-11' name='port_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='882' column='1'/>
+      <parameter type-id='type-id-203' name='queues' filepath='../lib/librte_eventdev/rte_eventdev.c' line='883' column='1'/>
+      <parameter type-id='type-id-203' name='priorities' filepath='../lib/librte_eventdev/rte_eventdev.c' line='883' column='1'/>
+      <parameter type-id='type-id-16' name='nb_links' filepath='../lib/librte_eventdev/rte_eventdev.c' line='884' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_queue_attr_get' mangled-name='rte_event_queue_attr_get' filepath='../lib/librte_eventdev/rte_eventdev.c' line='836' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_queue_attr_get@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='dev_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='836' column='1'/>
+      <parameter type-id='type-id-11' name='queue_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='836' column='1'/>
+      <parameter type-id='type-id-25' name='attr_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='836' column='1'/>
+      <parameter type-id='type-id-673' name='attr_value' filepath='../lib/librte_eventdev/rte_eventdev.c' line='837' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_port_attr_get' mangled-name='rte_event_port_attr_get' filepath='../lib/librte_eventdev/rte_eventdev.c' line='804' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_port_attr_get@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='dev_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='804' column='1'/>
+      <parameter type-id='type-id-11' name='port_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='804' column='1'/>
+      <parameter type-id='type-id-25' name='attr_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='804' column='1'/>
+      <parameter type-id='type-id-673' name='attr_value' filepath='../lib/librte_eventdev/rte_eventdev.c' line='805' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_dev_attr_get' mangled-name='rte_event_dev_attr_get' filepath='../lib/librte_eventdev/rte_eventdev.c' line='776' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_dev_attr_get@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='dev_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='776' column='1'/>
+      <parameter type-id='type-id-25' name='attr_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='776' column='1'/>
+      <parameter type-id='type-id-673' name='attr_value' filepath='../lib/librte_eventdev/rte_eventdev.c' line='777' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_port_setup' mangled-name='rte_event_port_setup' filepath='../lib/librte_eventdev/rte_eventdev.c' line='689' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_port_setup@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='dev_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='689' column='1'/>
+      <parameter type-id='type-id-11' name='port_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='689' column='1'/>
+      <parameter type-id='type-id-197' name='port_conf' filepath='../lib/librte_eventdev/rte_eventdev.c' line='690' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_port_default_conf_get' mangled-name='rte_event_port_default_conf_get' filepath='../lib/librte_eventdev/rte_eventdev.c' line='666' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_port_default_conf_get@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='dev_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='666' column='1'/>
+      <parameter type-id='type-id-11' name='port_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='666' column='1'/>
+      <parameter type-id='type-id-46' name='port_conf' filepath='../lib/librte_eventdev/rte_eventdev.c' line='667' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_queue_setup' mangled-name='rte_event_queue_setup' filepath='../lib/librte_eventdev/rte_eventdev.c' line='597' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_queue_setup@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='dev_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='597' column='1'/>
+      <parameter type-id='type-id-11' name='queue_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='597' column='1'/>
+      <parameter type-id='type-id-189' name='queue_conf' filepath='../lib/librte_eventdev/rte_eventdev.c' line='598' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_queue_default_conf_get' mangled-name='rte_event_queue_default_conf_get' filepath='../lib/librte_eventdev/rte_eventdev.c' line='541' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_queue_default_conf_get@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='dev_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='541' column='1'/>
+      <parameter type-id='type-id-11' name='queue_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='541' column='1'/>
+      <parameter type-id='type-id-47' name='queue_conf' filepath='../lib/librte_eventdev/rte_eventdev.c' line='542' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-49' const='yes' id='type-id-882'/>
+    <pointer-type-def type-id='type-id-882' size-in-bits='64' id='type-id-883'/>
+    <function-decl name='rte_event_dev_configure' mangled-name='rte_event_dev_configure' filepath='../lib/librte_eventdev/rte_eventdev.c' line='387' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_dev_configure@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='dev_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='387' column='1'/>
+      <parameter type-id='type-id-883' name='dev_conf' filepath='../lib/librte_eventdev/rte_eventdev.c' line='388' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_eth_tx_adapter_caps_get' mangled-name='rte_event_eth_tx_adapter_caps_get' filepath='../lib/librte_eventdev/rte_eventdev.c' line='178' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_eth_tx_adapter_caps_get@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='dev_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='178' column='1'/>
+      <parameter type-id='type-id-16' name='eth_port_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='178' column='1'/>
+      <parameter type-id='type-id-673' name='caps' filepath='../lib/librte_eventdev/rte_eventdev.c' line='179' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_crypto_adapter_caps_get' mangled-name='rte_event_crypto_adapter_caps_get' filepath='../lib/librte_eventdev/rte_eventdev.c' line='155' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_crypto_adapter_caps_get@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='dev_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='155' column='1'/>
+      <parameter type-id='type-id-11' name='cdev_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='155' column='1'/>
+      <parameter type-id='type-id-673' name='caps' filepath='../lib/librte_eventdev/rte_eventdev.c' line='156' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_timer_adapter_caps_get' mangled-name='rte_event_timer_adapter_caps_get' filepath='../lib/librte_eventdev/rte_eventdev.c' line='133' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_timer_adapter_caps_get@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='dev_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='133' column='1'/>
+      <parameter type-id='type-id-673' name='caps' filepath='../lib/librte_eventdev/rte_eventdev.c' line='133' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_eth_rx_adapter_caps_get' mangled-name='rte_event_eth_rx_adapter_caps_get' filepath='../lib/librte_eventdev/rte_eventdev.c' line='111' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_eth_rx_adapter_caps_get@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='dev_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='111' column='1'/>
+      <parameter type-id='type-id-16' name='eth_port_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='111' column='1'/>
+      <parameter type-id='type-id-673' name='caps' filepath='../lib/librte_eventdev/rte_eventdev.c' line='112' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_dev_info_get' mangled-name='rte_event_dev_info_get' filepath='../lib/librte_eventdev/rte_eventdev.c' line='89' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_dev_info_get@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='dev_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='89' column='1'/>
+      <parameter type-id='type-id-175' name='dev_info' filepath='../lib/librte_eventdev/rte_eventdev.c' line='89' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_dev_socket_id' mangled-name='rte_event_dev_socket_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='78' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_dev_socket_id@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='dev_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1263' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_dev_get_dev_id' mangled-name='rte_event_dev_get_dev_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='56' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_dev_get_dev_id@@DPDK_20.0'>
+      <parameter type-id='type-id-107' name='name' filepath='../lib/librte_eventdev/rte_eventdev.c' line='56' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_dev_count' mangled-name='rte_event_dev_count' filepath='../lib/librte_eventdev/rte_eventdev.c' line='50' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_dev_count@@DPDK_20.0'>
+      <return type-id='type-id-11'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-519'>
+      <parameter type-id='type-id-462'/>
+      <return type-id='type-id-252'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-156'>
+      <return type-id='type-id-155'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-137'>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-148'>
+      <parameter type-id='type-id-107'/>
+      <parameter type-id='type-id-18'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-141'>
+      <parameter type-id='type-id-140'/>
+      <parameter type-id='type-id-18'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-722'>
+      <parameter type-id='type-id-704'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-730'>
+      <parameter type-id='type-id-704'/>
+      <parameter type-id='type-id-729'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-180'>
+      <parameter type-id='type-id-179'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-866'>
+      <parameter type-id='type-id-179'/>
+      <parameter type-id='type-id-859'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-870'>
+      <parameter type-id='type-id-179'/>
+      <parameter type-id='type-id-859'/>
+      <parameter type-id='type-id-869'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-864'>
+      <parameter type-id='type-id-179'/>
+      <parameter type-id='type-id-859'/>
+      <parameter type-id='type-id-52'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-862'>
+      <parameter type-id='type-id-179'/>
+      <parameter type-id='type-id-859'/>
+      <parameter type-id='type-id-52'/>
+      <parameter type-id='type-id-31'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-860'>
+      <parameter type-id='type-id-179'/>
+      <parameter type-id='type-id-859'/>
+      <parameter type-id='type-id-673'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-683'>
+      <parameter type-id='type-id-179'/>
+      <parameter type-id='type-id-672'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-687'>
+      <parameter type-id='type-id-179'/>
+      <parameter type-id='type-id-672'/>
+      <parameter type-id='type-id-686'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-681'>
+      <parameter type-id='type-id-179'/>
+      <parameter type-id='type-id-672'/>
+      <parameter type-id='type-id-52'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-679'>
+      <parameter type-id='type-id-179'/>
+      <parameter type-id='type-id-672'/>
+      <parameter type-id='type-id-52'/>
+      <parameter type-id='type-id-678'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-674'>
+      <parameter type-id='type-id-179'/>
+      <parameter type-id='type-id-672'/>
+      <parameter type-id='type-id-673'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-239'>
+      <parameter type-id='type-id-179'/>
+      <parameter type-id='type-id-236'/>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-238'/>
+      <parameter type-id='type-id-211'/>
+      <parameter type-id='type-id-26'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-244'>
+      <parameter type-id='type-id-179'/>
+      <parameter type-id='type-id-236'/>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-242'/>
+      <parameter type-id='type-id-243'/>
+      <parameter type-id='type-id-26'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-733'>
+      <parameter type-id='type-id-179'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-673'/>
+      <parameter type-id='type-id-732'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-773'>
+      <parameter type-id='type-id-768'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-849'>
+      <parameter type-id='type-id-768'/>
+      <parameter type-id='type-id-834'/>
+      <parameter type-id='type-id-848'/>
+      <parameter type-id='type-id-269'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-831'>
+      <parameter type-id='type-id-768'/>
+      <parameter type-id='type-id-817'/>
+      <parameter type-id='type-id-830'/>
+      <parameter type-id='type-id-269'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-771'>
+      <parameter type-id='type-id-768'/>
+      <parameter type-id='type-id-770'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-810'>
+      <parameter type-id='type-id-768'/>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-808'>
+      <parameter type-id='type-id-768'/>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-807'/>
+      <parameter type-id='type-id-44'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-146'>
+      <parameter type-id='type-id-10'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-151'>
+      <parameter type-id='type-id-10'/>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-150'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-463'>
+      <parameter type-id='type-id-462'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-517'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-174'/>
+      <parameter type-id='type-id-150'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-632'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-107'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-620'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-619'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-626'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-625'/>
+      <parameter type-id='type-id-211'/>
+      <parameter type-id='type-id-26'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-597'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-595'/>
+      <parameter type-id='type-id-596'/>
+      <parameter type-id='type-id-18'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-526'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-525'/>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-467'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-44'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-589'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-588'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-585'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-584'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-604'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-603'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-502'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-501'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-593'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-592'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-547'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-546'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-636'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-635'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-570'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-569'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-572'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-569'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-11'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-561'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-560'/>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-11'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-551'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-550'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-577'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-576'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-581'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-580'/>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-482'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-481'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-565'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-564'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-486'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-485'/>
+      <parameter type-id='type-id-26'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-628'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-489'/>
+      <parameter type-id='type-id-625'/>
+      <parameter type-id='type-id-26'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-490'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-489'/>
+      <parameter type-id='type-id-26'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-473'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-320'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-475'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-320'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-471'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-320'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-553'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-320'/>
+      <parameter type-id='type-id-11'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-612'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-609'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-610'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-609'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-616'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-615'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-477'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-523'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-44'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-515'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-514'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-574'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-643'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-642'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-532'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-26'/>
+      <parameter type-id='type-id-531'/>
+      <parameter type-id='type-id-269'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-540'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-26'/>
+      <parameter type-id='type-id-539'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-492'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-11'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-521'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-555'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-11'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-622'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-211'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-630'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-18'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-720'>
+      <parameter type-id='type-id-719'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-182'>
+      <parameter type-id='type-id-105'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-253'>
+      <parameter type-id='type-id-105'/>
+      <parameter type-id='type-id-236'/>
+      <parameter type-id='type-id-250'/>
+      <parameter type-id='type-id-252'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-212'>
+      <parameter type-id='type-id-105'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-211'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-198'>
+      <parameter type-id='type-id-105'/>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-197'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-190'>
+      <parameter type-id='type-id-105'/>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-189'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-209'>
+      <parameter type-id='type-id-105'/>
+      <parameter type-id='type-id-18'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-204'>
+      <parameter type-id='type-id-105'/>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-203'/>
+      <parameter type-id='type-id-203'/>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-207'>
+      <parameter type-id='type-id-105'/>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-206'/>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-872'>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-179'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-874'>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-179'/>
+      <parameter type-id='type-id-672'/>
+      <parameter type-id='type-id-52'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-878'>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-179'/>
+      <parameter type-id='type-id-877'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-165'>
+      <parameter type-id='type-id-18'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-536'>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-542'>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-144'>
+      <parameter type-id='type-id-140'/>
+      <parameter type-id='type-id-143'/>
+      <parameter type-id='type-id-18'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-711'>
+      <parameter type-id='type-id-704'/>
+      <parameter type-id='type-id-710'/>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-713'>
+      <parameter type-id='type-id-704'/>
+      <parameter type-id='type-id-710'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-667'>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-313'/>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-18'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-669'>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-313'/>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-18'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-32'>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-31'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-34'>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-31'/>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-748'>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-747'/>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-41'>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-36'/>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-39'>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-36'/>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-37'>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-36'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-314'>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-313'/>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-812'>
+      <parameter type-id='type-id-768'/>
+      <return type-id='type-id-25'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-534'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-25'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-246'>
+      <parameter type-id='type-id-179'/>
+      <parameter type-id='type-id-107'/>
+      <parameter type-id='type-id-243'/>
+      <return type-id='type-id-21'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-814'>
+      <parameter type-id='type-id-768'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-726'>
+      <parameter type-id='type-id-704'/>
+      <parameter type-id='type-id-725'/>
+      <return type-id='type-id-17'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-657'>
+      <parameter type-id='type-id-44'/>
+      <parameter type-id='type-id-18'/>
+      <return type-id='type-id-17'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-775'>
+      <parameter type-id='type-id-768'/>
+      <return type-id='type-id-17'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-853'>
+      <parameter type-id='type-id-768'/>
+      <parameter type-id='type-id-848'/>
+      <return type-id='type-id-17'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-799'>
+      <parameter type-id='type-id-768'/>
+      <parameter type-id='type-id-798'/>
+      <return type-id='type-id-17'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-803'>
+      <parameter type-id='type-id-768'/>
+      <parameter type-id='type-id-802'/>
+      <return type-id='type-id-17'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-851'>
+      <parameter type-id='type-id-768'/>
+      <parameter type-id='type-id-830'/>
+      <return type-id='type-id-17'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-465'>
+      <parameter type-id='type-id-462'/>
+      <return type-id='type-id-17'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-528'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-44'/>
+      <return type-id='type-id-17'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-506'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-505'/>
+      <return type-id='type-id-17'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-510'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-509'/>
+      <return type-id='type-id-17'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-469'>
+      <parameter type-id='type-id-462'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-17'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-184'>
+      <parameter type-id='type-id-105'/>
+      <return type-id='type-id-17'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-234'>
+      <parameter type-id='type-id-105'/>
+      <parameter type-id='type-id-233'/>
+      <return type-id='type-id-17'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-176'>
+      <parameter type-id='type-id-105'/>
+      <parameter type-id='type-id-175'/>
+      <return type-id='type-id-17'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-192'>
+      <parameter type-id='type-id-105'/>
+      <parameter type-id='type-id-11'/>
+      <return type-id='type-id-17'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-194'>
+      <parameter type-id='type-id-105'/>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-46'/>
+      <return type-id='type-id-17'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-186'>
+      <parameter type-id='type-id-105'/>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-47'/>
+      <return type-id='type-id-17'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-303'>
+      <parameter type-id='type-id-297'/>
+      <parameter type-id='type-id-18'/>
+      <return type-id='type-id-17'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-880'>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-19'/>
+      <parameter type-id='type-id-18'/>
+      <return type-id='type-id-17'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-200'>
+      <parameter type-id='type-id-18'/>
+      <return type-id='type-id-17'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-308'>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-18'/>
+      <return type-id='type-id-17'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-163'>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-107'/>
+      <parameter type-id='type-id-162'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eventdev/rte_event_ring.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_event_ring' size-in-bits='3072' is-struct='yes' visibility='default' filepath='../lib/librte_eventdev/rte_event_ring.h' line='33' column='1' id='type-id-884'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='r' type-id='type-id-885' visibility='default' filepath='../lib/librte_eventdev/rte_event_ring.h' line='34' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_ring' size-in-bits='3072' is-struct='yes' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='81' column='1' id='type-id-885'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-278' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='87' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='flags' type-id='type-id-44' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='memzone' type-id='type-id-280' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='89' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='size' type-id='type-id-25' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='mask' type-id='type-id-25' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='92' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='capacity' type-id='type-id-25' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='93' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='pad0' type-id='type-id-55' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='95' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='prod' type-id='type-id-886' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='98' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='pad1' type-id='type-id-55' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='99' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='cons' type-id='type-id-886' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='102' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='pad2' type-id='type-id-55' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='103' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_ring_headtail' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='65' column='1' id='type-id-886'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='head' type-id='type-id-654' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tail' type-id='type-id-654' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='single' type-id='type-id-25' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='68' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-884' size-in-bits='64' id='type-id-887'/>
+    <function-decl name='rte_event_ring_free' mangled-name='rte_event_ring_free' filepath='../lib/librte_eventdev/rte_event_ring.c' line='141' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_ring_free@@DPDK_20.0'>
+      <parameter type-id='type-id-887' name='r' filepath='../lib/librte_eventdev/rte_event_ring.c' line='141' column='1'/>
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <function-decl name='rte_event_ring_lookup' mangled-name='rte_event_ring_lookup' filepath='../lib/librte_eventdev/rte_event_ring.c' line='112' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_ring_lookup@@DPDK_20.0'>
+      <parameter type-id='type-id-107' name='name' filepath='../lib/librte_eventdev/rte_event_ring.c' line='112' column='1'/>
+      <return type-id='type-id-887'/>
+    </function-decl>
+    <function-decl name='rte_event_ring_create' mangled-name='rte_event_ring_create' filepath='../lib/librte_eventdev/rte_event_ring.c' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_ring_create@@DPDK_20.0'>
+      <parameter type-id='type-id-107' name='name' filepath='../lib/librte_eventdev/rte_event_ring.c' line='35' column='1'/>
+      <parameter type-id='type-id-26' name='count' filepath='../lib/librte_eventdev/rte_event_ring.c' line='35' column='1'/>
+      <parameter type-id='type-id-44' name='socket_id' filepath='../lib/librte_eventdev/rte_event_ring.c' line='35' column='1'/>
+      <parameter type-id='type-id-26' name='flags' filepath='../lib/librte_eventdev/rte_event_ring.c' line='36' column='1'/>
+      <return type-id='type-id-887'/>
+    </function-decl>
+    <function-decl name='rte_event_ring_init' mangled-name='rte_event_ring_init' filepath='../lib/librte_eventdev/rte_event_ring.c' line='22' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_ring_init@@DPDK_20.0'>
+      <parameter type-id='type-id-887' name='r' filepath='../lib/librte_eventdev/rte_event_ring.c' line='22' column='1'/>
+      <parameter type-id='type-id-107' name='name' filepath='../lib/librte_eventdev/rte_event_ring.c' line='22' column='1'/>
+      <parameter type-id='type-id-26' name='count' filepath='../lib/librte_eventdev/rte_event_ring.c' line='23' column='1'/>
+      <parameter type-id='type-id-26' name='flags' filepath='../lib/librte_eventdev/rte_event_ring.c' line='23' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eventdev/rte_event_eth_rx_adapter.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <pointer-type-def type-id='type-id-888' size-in-bits='64' id='type-id-889'/>
+    <typedef-decl name='rte_event_eth_rx_adapter_cb_fn' type-id='type-id-889' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.h' line='246' column='1' id='type-id-890'/>
+    <function-decl name='rte_event_eth_rx_adapter_cb_register' mangled-name='rte_event_eth_rx_adapter_cb_register' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.c' line='2369' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_eth_rx_adapter_cb_register@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='id' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.c' line='2369' column='1'/>
+      <parameter type-id='type-id-16' name='eth_dev_id' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.c' line='2370' column='1'/>
+      <parameter type-id='type-id-890' name='cb_fn' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.c' line='2371' column='1'/>
+      <parameter type-id='type-id-18' name='cb_arg' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.c' line='2372' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_eth_rx_adapter_service_id_get' mangled-name='rte_event_eth_rx_adapter_service_id_get' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.c' line='2352' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_eth_rx_adapter_service_id_get@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='dev_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1074' column='1'/>
+      <parameter type-id='type-id-673' name='service_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1074' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_eth_rx_adapter_stats_reset' mangled-name='rte_event_eth_rx_adapter_stats_reset' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.c' line='2324' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_eth_rx_adapter_stats_reset@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='id' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.c' line='2324' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <class-decl name='rte_event_eth_rx_adapter_stats' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.h' line='179' column='1' id='type-id-685'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_poll_count' type-id='type-id-21' visibility='default' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.h' line='180' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rx_packets' type-id='type-id-21' visibility='default' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.h' line='182' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rx_enq_count' type-id='type-id-21' visibility='default' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.h' line='184' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='rx_enq_retry' type-id='type-id-21' visibility='default' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_dropped' type-id='type-id-21' visibility='default' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='rx_enq_start_ts' type-id='type-id-21' visibility='default' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.h' line='190' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='rx_enq_block_cycles' type-id='type-id-21' visibility='default' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.h' line='192' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='rx_enq_end_ts' type-id='type-id-21' visibility='default' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.h' line='196' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_intr_packets' type-id='type-id-21' visibility='default' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.h' line='202' column='1'/>
+      </data-member>
+    </class-decl>
+    <function-decl name='rte_event_eth_rx_adapter_stats_get' mangled-name='rte_event_eth_rx_adapter_stats_get' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.c' line='2282' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_eth_rx_adapter_stats_get@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='id' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.c' line='2282' column='1'/>
+      <parameter type-id='type-id-686' name='stats' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.c' line='2283' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_eth_rx_adapter_stop' mangled-name='rte_event_eth_rx_adapter_stop' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.c' line='2276' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_eth_rx_adapter_stop@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='id' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.c' line='2276' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_eth_rx_adapter_start' mangled-name='rte_event_eth_rx_adapter_start' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.c' line='2270' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_eth_rx_adapter_start@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='id' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.c' line='2276' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_eth_rx_adapter_queue_del' mangled-name='rte_event_eth_rx_adapter_queue_del' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.c' line='2152' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_eth_rx_adapter_queue_del@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='id' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.c' line='2152' column='1'/>
+      <parameter type-id='type-id-16' name='eth_dev_id' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.c' line='2152' column='1'/>
+      <parameter type-id='type-id-52' name='rx_queue_id' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.c' line='2153' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <class-decl name='rte_event_eth_rx_adapter_queue_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.h' line='145' column='1' id='type-id-676'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_queue_flags' type-id='type-id-25' visibility='default' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.h' line='146' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='servicing_weight' type-id='type-id-16' visibility='default' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.h' line='150' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ev' type-id='type-id-19' visibility='default' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.h' line='157' column='1'/>
+      </data-member>
+    </class-decl>
+    <function-decl name='rte_event_eth_rx_adapter_queue_add' mangled-name='rte_event_eth_rx_adapter_queue_add' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.c' line='2054' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_eth_rx_adapter_queue_add@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='id' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.c' line='2054' column='1'/>
+      <parameter type-id='type-id-16' name='eth_dev_id' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.c' line='2055' column='1'/>
+      <parameter type-id='type-id-52' name='rx_queue_id' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.c' line='2056' column='1'/>
+      <parameter type-id='type-id-678' name='queue_conf' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.c' line='2057' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_eth_rx_adapter_free' mangled-name='rte_event_eth_rx_adapter_free' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.c' line='2028' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_eth_rx_adapter_free@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='dev_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1263' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_eth_rx_adapter_create' mangled-name='rte_event_eth_rx_adapter_create' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.c' line='2005' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_eth_rx_adapter_create@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='id' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.c' line='2005' column='1'/>
+      <parameter type-id='type-id-11' name='dev_id' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.c' line='2005' column='1'/>
+      <parameter type-id='type-id-46' name='port_config' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.c' line='2006' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <class-decl name='rte_event_eth_rx_adapter_conf' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.h' line='105' column='1' id='type-id-891'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event_port_id' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_nb_rx' type-id='type-id-25' visibility='default' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-891' size-in-bits='64' id='type-id-892'/>
+    <pointer-type-def type-id='type-id-893' size-in-bits='64' id='type-id-894'/>
+    <typedef-decl name='rte_event_eth_rx_adapter_conf_cb' type-id='type-id-894' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.h' line='138' column='1' id='type-id-895'/>
+    <function-decl name='rte_event_eth_rx_adapter_create_ext' mangled-name='rte_event_eth_rx_adapter_create_ext' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.c' line='1929' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_eth_rx_adapter_create_ext@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='id' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.c' line='1929' column='1'/>
+      <parameter type-id='type-id-11' name='dev_id' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.c' line='1929' column='1'/>
+      <parameter type-id='type-id-895' name='conf_cb' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.c' line='1930' column='1'/>
+      <parameter type-id='type-id-18' name='conf_arg' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.c' line='1931' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-893'>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-892'/>
+      <parameter type-id='type-id-18'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-888'>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-36'/>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-48'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eventdev/rte_event_timer_adapter.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='rte_event_timer_adapter_stats_reset' mangled-name='rte_event_timer_adapter_stats_reset' filepath='../lib/librte_eventdev/rte_event_timer_adapter.c' line='410' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_timer_adapter_stats_reset@@DPDK_20.0'>
+      <parameter type-id='type-id-719' name='adapter' filepath='../lib/librte_eventdev/rte_event_timer_adapter.c' line='410' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_timer_adapter_stats_get' mangled-name='rte_event_timer_adapter_stats_get' filepath='../lib/librte_eventdev/rte_event_timer_adapter.c' line='398' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_timer_adapter_stats_get@@DPDK_20.0'>
+      <parameter type-id='type-id-719' name='adapter' filepath='../lib/librte_eventdev/rte_event_timer_adapter.c' line='398' column='1'/>
+      <parameter type-id='type-id-729' name='stats' filepath='../lib/librte_eventdev/rte_event_timer_adapter.c' line='399' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_timer_adapter_service_id_get' mangled-name='rte_event_timer_adapter_service_id_get' filepath='../lib/librte_eventdev/rte_event_timer_adapter.c' line='386' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_timer_adapter_service_id_get@@DPDK_20.0'>
+      <parameter type-id='type-id-719' name='adapter' filepath='../lib/librte_eventdev/rte_event_timer_adapter.c' line='386' column='1'/>
+      <parameter type-id='type-id-673' name='service_id' filepath='../lib/librte_eventdev/rte_event_timer_adapter.c' line='387' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_timer_adapter_free' mangled-name='rte_event_timer_adapter_free' filepath='../lib/librte_eventdev/rte_event_timer_adapter.c' line='356' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_timer_adapter_free@@DPDK_20.0'>
+      <parameter type-id='type-id-719' name='adapter' filepath='../lib/librte_eventdev/rte_event_timer_adapter.c' line='356' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_timer_adapter_lookup' mangled-name='rte_event_timer_adapter_lookup' filepath='../lib/librte_eventdev/rte_event_timer_adapter.c' line='303' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_timer_adapter_lookup@@DPDK_20.0'>
+      <parameter type-id='type-id-16' name='adapter_id' filepath='../lib/librte_eventdev/rte_event_timer_adapter.c' line='303' column='1'/>
+      <return type-id='type-id-719'/>
+    </function-decl>
+    <function-decl name='rte_event_timer_adapter_stop' mangled-name='rte_event_timer_adapter_stop' filepath='../lib/librte_eventdev/rte_event_timer_adapter.c' line='280' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_timer_adapter_stop@@DPDK_20.0'>
+      <parameter type-id='type-id-704' name='adapter' filepath='../lib/librte_eventdev/rte_event_timer_adapter.c' line='280' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_timer_adapter_start' mangled-name='rte_event_timer_adapter_start' filepath='../lib/librte_eventdev/rte_event_timer_adapter.c' line='257' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_timer_adapter_start@@DPDK_20.0'>
+      <parameter type-id='type-id-704' name='adapter' filepath='../lib/librte_eventdev/rte_event_timer_adapter.c' line='280' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_timer_adapter_get_info' mangled-name='rte_event_timer_adapter_get_info' filepath='../lib/librte_eventdev/rte_event_timer_adapter.c' line='239' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_timer_adapter_get_info@@DPDK_20.0'>
+      <parameter type-id='type-id-704' name='adapter' filepath='../lib/librte_eventdev/rte_event_timer_adapter.c' line='239' column='1'/>
+      <parameter type-id='type-id-725' name='adapter_info' filepath='../lib/librte_eventdev/rte_event_timer_adapter.c' line='240' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-716' const='yes' id='type-id-896'/>
+    <pointer-type-def type-id='type-id-896' size-in-bits='64' id='type-id-897'/>
+    <pointer-type-def type-id='type-id-898' size-in-bits='64' id='type-id-899'/>
+    <typedef-decl name='rte_event_timer_adapter_port_conf_cb_t' type-id='type-id-899' filepath='../lib/librte_eventdev/rte_event_timer_adapter.h' line='196' column='1' id='type-id-900'/>
+    <function-decl name='rte_event_timer_adapter_create_ext' mangled-name='rte_event_timer_adapter_create_ext' filepath='../lib/librte_eventdev/rte_event_timer_adapter.c' line='128' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_timer_adapter_create_ext@@DPDK_20.0'>
+      <parameter type-id='type-id-897' name='conf' filepath='../lib/librte_eventdev/rte_event_timer_adapter.c' line='129' column='1'/>
+      <parameter type-id='type-id-900' name='conf_cb' filepath='../lib/librte_eventdev/rte_event_timer_adapter.c' line='130' column='1'/>
+      <parameter type-id='type-id-18' name='conf_arg' filepath='../lib/librte_eventdev/rte_event_timer_adapter.c' line='131' column='1'/>
+      <return type-id='type-id-719'/>
+    </function-decl>
+    <function-decl name='rte_event_timer_adapter_create' mangled-name='rte_event_timer_adapter_create' filepath='../lib/librte_eventdev/rte_event_timer_adapter.c' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_timer_adapter_create@@DPDK_20.0'>
+      <parameter type-id='type-id-897' name='conf' filepath='../lib/librte_eventdev/rte_event_timer_adapter.c' line='121' column='1'/>
+      <return type-id='type-id-719'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-898'>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-206'/>
+      <parameter type-id='type-id-18'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eventdev/rte_event_crypto_adapter.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='rte_event_crypto_adapter_event_port_get' mangled-name='rte_event_crypto_adapter_event_port_get' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.c' line='1117' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_crypto_adapter_event_port_get@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='id' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.c' line='1117' column='1'/>
+      <parameter type-id='type-id-206' name='event_port_id' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.c' line='1117' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_crypto_adapter_service_id_get' mangled-name='rte_event_crypto_adapter_service_id_get' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.c' line='1100' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_crypto_adapter_service_id_get@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='dev_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1074' column='1'/>
+      <parameter type-id='type-id-673' name='service_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1074' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_crypto_adapter_stats_reset' mangled-name='rte_event_crypto_adapter_stats_reset' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.c' line='1072' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_crypto_adapter_stats_reset@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='id' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.c' line='2324' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <class-decl name='rte_event_crypto_adapter_stats' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.h' line='285' column='1' id='type-id-868'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event_poll_count' type-id='type-id-21' visibility='default' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.h' line='286' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='event_deq_count' type-id='type-id-21' visibility='default' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.h' line='288' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='crypto_enq_count' type-id='type-id-21' visibility='default' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.h' line='290' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='crypto_enq_fail' type-id='type-id-21' visibility='default' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.h' line='292' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='crypto_deq_count' type-id='type-id-21' visibility='default' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.h' line='294' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='event_enq_count' type-id='type-id-21' visibility='default' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.h' line='296' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='event_enq_retry_count' type-id='type-id-21' visibility='default' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.h' line='298' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='event_enq_fail_count' type-id='type-id-21' visibility='default' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.h' line='300' column='1'/>
+      </data-member>
+    </class-decl>
+    <function-decl name='rte_event_crypto_adapter_stats_get' mangled-name='rte_event_crypto_adapter_stats_get' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.c' line='1027' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_crypto_adapter_stats_get@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='id' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.c' line='1027' column='1'/>
+      <parameter type-id='type-id-869' name='stats' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.c' line='1028' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_crypto_adapter_stop' mangled-name='rte_event_crypto_adapter_stop' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.c' line='1021' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_crypto_adapter_stop@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='id' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.c' line='2276' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_crypto_adapter_start' mangled-name='rte_event_crypto_adapter_start' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.c' line='1008' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_crypto_adapter_start@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='dev_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1263' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_crypto_adapter_queue_pair_del' mangled-name='rte_event_crypto_adapter_queue_pair_del' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.c' line='881' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_crypto_adapter_queue_pair_del@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='id' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.c' line='881' column='1'/>
+      <parameter type-id='type-id-11' name='cdev_id' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.c' line='881' column='1'/>
+      <parameter type-id='type-id-52' name='queue_pair_id' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.c' line='882' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_crypto_adapter_queue_pair_add' mangled-name='rte_event_crypto_adapter_queue_pair_add' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.c' line='766' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_crypto_adapter_queue_pair_add@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='id' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.c' line='766' column='1'/>
+      <parameter type-id='type-id-11' name='cdev_id' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.c' line='767' column='1'/>
+      <parameter type-id='type-id-52' name='queue_pair_id' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.c' line='768' column='1'/>
+      <parameter type-id='type-id-31' name='event' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.c' line='769' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_crypto_adapter_free' mangled-name='rte_event_crypto_adapter_free' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.c' line='301' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_crypto_adapter_free@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='dev_id' filepath='../lib/librte_eventdev/rte_eventdev.c' line='1263' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <enum-decl name='rte_event_crypto_adapter_mode' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.h' line='178' column='1' id='type-id-901'>
+      <underlying-type type-id='type-id-154'/>
+      <enumerator name='RTE_EVENT_CRYPTO_ADAPTER_OP_NEW' value='0'/>
+      <enumerator name='RTE_EVENT_CRYPTO_ADAPTER_OP_FORWARD' value='1'/>
+    </enum-decl>
+    <function-decl name='rte_event_crypto_adapter_create' mangled-name='rte_event_crypto_adapter_create' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.c' line='275' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_crypto_adapter_create@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='id' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.c' line='275' column='1'/>
+      <parameter type-id='type-id-11' name='dev_id' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.c' line='275' column='1'/>
+      <parameter type-id='type-id-46' name='port_config' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.c' line='276' column='1'/>
+      <parameter type-id='type-id-901' name='mode' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.c' line='277' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <class-decl name='rte_event_crypto_adapter_conf' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.h' line='242' column='1' id='type-id-902'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event_port_id' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.h' line='243' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_nb' type-id='type-id-25' visibility='default' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.h' line='248' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-902' size-in-bits='64' id='type-id-903'/>
+    <pointer-type-def type-id='type-id-904' size-in-bits='64' id='type-id-905'/>
+    <typedef-decl name='rte_event_crypto_adapter_conf_cb' type-id='type-id-905' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.h' line='276' column='1' id='type-id-906'/>
+    <function-decl name='rte_event_crypto_adapter_create_ext' mangled-name='rte_event_crypto_adapter_create_ext' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.c' line='199' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_crypto_adapter_create_ext@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='id' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.c' line='199' column='1'/>
+      <parameter type-id='type-id-11' name='dev_id' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.c' line='199' column='1'/>
+      <parameter type-id='type-id-906' name='conf_cb' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.c' line='200' column='1'/>
+      <parameter type-id='type-id-901' name='mode' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.c' line='201' column='1'/>
+      <parameter type-id='type-id-18' name='conf_arg' filepath='../lib/librte_eventdev/rte_event_crypto_adapter.c' line='202' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-904'>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-903'/>
+      <parameter type-id='type-id-18'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_eventdev/rte_event_eth_tx_adapter.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='rte_event_eth_tx_adapter_stop' mangled-name='rte_event_eth_tx_adapter_stop' filepath='../lib/librte_eventdev/rte_event_eth_tx_adapter.c' line='1148' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_eth_tx_adapter_stop@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='id' filepath='../lib/librte_eventdev/rte_event_eth_tx_adapter.c' line='1148' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_eth_tx_adapter_stats_reset' mangled-name='rte_event_eth_tx_adapter_stats_reset' filepath='../lib/librte_eventdev/rte_event_eth_tx_adapter.c' line='1134' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_eth_tx_adapter_stats_reset@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='id' filepath='../lib/librte_eventdev/rte_event_eth_tx_adapter.c' line='1148' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <class-decl name='rte_event_eth_tx_adapter_stats' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_eventdev/rte_event_eth_tx_adapter.h' line='129' column='1' id='type-id-876'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tx_retry' type-id='type-id-21' visibility='default' filepath='../lib/librte_eventdev/rte_event_eth_tx_adapter.h' line='130' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tx_packets' type-id='type-id-21' visibility='default' filepath='../lib/librte_eventdev/rte_event_eth_tx_adapter.h' line='132' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tx_dropped' type-id='type-id-21' visibility='default' filepath='../lib/librte_eventdev/rte_event_eth_tx_adapter.h' line='134' column='1'/>
+      </data-member>
+    </class-decl>
+    <function-decl name='rte_event_eth_tx_adapter_stats_get' mangled-name='rte_event_eth_tx_adapter_stats_get' filepath='../lib/librte_eventdev/rte_event_eth_tx_adapter.c' line='1101' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_eth_tx_adapter_stats_get@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='id' filepath='../lib/librte_eventdev/rte_event_eth_tx_adapter.c' line='1101' column='1'/>
+      <parameter type-id='type-id-877' name='stats' filepath='../lib/librte_eventdev/rte_event_eth_tx_adapter.c' line='1102' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_eth_tx_adapter_start' mangled-name='rte_event_eth_tx_adapter_start' filepath='../lib/librte_eventdev/rte_event_eth_tx_adapter.c' line='1088' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_eth_tx_adapter_start@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='id' filepath='../lib/librte_eventdev/rte_event_eth_tx_adapter.c' line='1148' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_eth_tx_adapter_service_id_get' mangled-name='rte_event_eth_tx_adapter_service_id_get' filepath='../lib/librte_eventdev/rte_event_eth_tx_adapter.c' line='1080' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_eth_tx_adapter_service_id_get@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='id' filepath='../lib/librte_eventdev/rte_event_eth_tx_adapter.c' line='1080' column='1'/>
+      <parameter type-id='type-id-673' name='service_id' filepath='../lib/librte_eventdev/rte_event_eth_tx_adapter.c' line='1080' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_eth_tx_adapter_queue_del' mangled-name='rte_event_eth_tx_adapter_queue_del' filepath='../lib/librte_eventdev/rte_event_eth_tx_adapter.c' line='1050' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_eth_tx_adapter_queue_del@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='id' filepath='../lib/librte_eventdev/rte_event_eth_tx_adapter.c' line='1050' column='1'/>
+      <parameter type-id='type-id-16' name='eth_dev_id' filepath='../lib/librte_eventdev/rte_event_eth_tx_adapter.c' line='1051' column='1'/>
+      <parameter type-id='type-id-52' name='queue' filepath='../lib/librte_eventdev/rte_event_eth_tx_adapter.c' line='1052' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_eth_tx_adapter_queue_add' mangled-name='rte_event_eth_tx_adapter_queue_add' filepath='../lib/librte_eventdev/rte_event_eth_tx_adapter.c' line='1019' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_eth_tx_adapter_queue_add@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='id' filepath='../lib/librte_eventdev/rte_event_eth_tx_adapter.c' line='1050' column='1'/>
+      <parameter type-id='type-id-16' name='eth_dev_id' filepath='../lib/librte_eventdev/rte_event_eth_tx_adapter.c' line='1051' column='1'/>
+      <parameter type-id='type-id-52' name='queue' filepath='../lib/librte_eventdev/rte_event_eth_tx_adapter.c' line='1052' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_eth_tx_adapter_free' mangled-name='rte_event_eth_tx_adapter_free' filepath='../lib/librte_eventdev/rte_event_eth_tx_adapter.c' line='1001' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_eth_tx_adapter_free@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='id' filepath='../lib/librte_eventdev/rte_event_eth_tx_adapter.c' line='1148' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_eth_tx_adapter_event_port_get' mangled-name='rte_event_eth_tx_adapter_event_port_get' filepath='../lib/librte_eventdev/rte_event_eth_tx_adapter.c' line='993' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_eth_tx_adapter_event_port_get@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='id' filepath='../lib/librte_eventdev/rte_event_eth_tx_adapter.c' line='993' column='1'/>
+      <parameter type-id='type-id-206' name='event_port_id' filepath='../lib/librte_eventdev/rte_event_eth_tx_adapter.c' line='993' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <class-decl name='rte_event_eth_tx_adapter_conf' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_eventdev/rte_event_eth_tx_adapter.h' line='89' column='1' id='type-id-907'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event_port_id' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_event_eth_tx_adapter.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_nb_tx' type-id='type-id-25' visibility='default' filepath='../lib/librte_eventdev/rte_event_eth_tx_adapter.h' line='95' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-907' size-in-bits='64' id='type-id-908'/>
+    <pointer-type-def type-id='type-id-909' size-in-bits='64' id='type-id-910'/>
+    <typedef-decl name='rte_event_eth_tx_adapter_conf_cb' type-id='type-id-910' filepath='../lib/librte_eventdev/rte_event_eth_tx_adapter.h' line='122' column='1' id='type-id-911'/>
+    <function-decl name='rte_event_eth_tx_adapter_create_ext' mangled-name='rte_event_eth_tx_adapter_create_ext' filepath='../lib/librte_eventdev/rte_event_eth_tx_adapter.c' line='951' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_eth_tx_adapter_create_ext@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='id' filepath='../lib/librte_eventdev/rte_event_eth_tx_adapter.c' line='951' column='1'/>
+      <parameter type-id='type-id-11' name='dev_id' filepath='../lib/librte_eventdev/rte_event_eth_tx_adapter.c' line='951' column='1'/>
+      <parameter type-id='type-id-911' name='conf_cb' filepath='../lib/librte_eventdev/rte_event_eth_tx_adapter.c' line='952' column='1'/>
+      <parameter type-id='type-id-18' name='conf_arg' filepath='../lib/librte_eventdev/rte_event_eth_tx_adapter.c' line='953' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-decl name='rte_event_eth_tx_adapter_create' mangled-name='rte_event_eth_tx_adapter_create' filepath='../lib/librte_eventdev/rte_event_eth_tx_adapter.c' line='908' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_event_eth_tx_adapter_create@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='id' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.c' line='2005' column='1'/>
+      <parameter type-id='type-id-11' name='dev_id' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.c' line='2005' column='1'/>
+      <parameter type-id='type-id-46' name='port_config' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.c' line='2006' column='1'/>
+      <return type-id='type-id-44'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-909'>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-908'/>
+      <parameter type-id='type-id-18'/>
+      <return type-id='type-id-44'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_fib.dump b/lib/.abi/librte_fib.dump
new file mode 100644
index 000000000..1963a4590
--- /dev/null
+++ b/lib/.abi/librte_fib.dump
@@ -0,0 +1,327 @@
+<abi-corpus path='gcc//lib/librte_fib.so.0.200' architecture='elf-amd-x86_64' soname='librte_fib.so.0.200'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_rib.so.0.200'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_fib6_add' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fib6_create' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fib6_delete' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fib6_find_existing' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fib6_free' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fib6_get_dp' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fib6_get_rib' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fib6_lookup_bulk' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fib_add' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fib_create' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fib_delete' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fib_find_existing' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fib_free' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fib_get_dp' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fib_get_rib' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fib_lookup_bulk' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_fib/rte_fib.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_rib' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1'/>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-2'/>
+    <class-decl name='rte_fib' size-in-bits='896' is-struct='yes' visibility='default' filepath='../lib/librte_fib/rte_fib.c' line='40' column='1' id='type-id-3'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-4' visibility='default' filepath='../lib/librte_fib/rte_fib.c' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='type' type-id='type-id-5' visibility='default' filepath='../lib/librte_fib/rte_fib.c' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='rib' type-id='type-id-2' visibility='default' filepath='../lib/librte_fib/rte_fib.c' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dp' type-id='type-id-6' visibility='default' filepath='../lib/librte_fib/rte_fib.c' line='44' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='lookup' type-id='type-id-7' visibility='default' filepath='../lib/librte_fib/rte_fib.c' line='45' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='modify' type-id='type-id-8' visibility='default' filepath='../lib/librte_fib/rte_fib.c' line='46' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='def_nh' type-id='type-id-9' visibility='default' filepath='../lib/librte_fib/rte_fib.c' line='47' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-10'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-11'/>
+
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='512' id='type-id-4'>
+      <subrange length='64' type-id='type-id-11' id='type-id-12'/>
+
+    </array-type-def>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-13'/>
+    <enum-decl name='rte_fib_type' filepath='../lib/librte_fib/rte_fib.h' line='24' column='1' id='type-id-5'>
+      <underlying-type type-id='type-id-13'/>
+      <enumerator name='RTE_FIB_DUMMY' value='0'/>
+      <enumerator name='RTE_FIB_DIR24_8' value='1'/>
+      <enumerator name='RTE_FIB_TYPE_MAX' value='2'/>
+    </enum-decl>
+    <type-decl name='void' id='type-id-14'/>
+    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-6'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-15'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-15' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-16'/>
+    <typedef-decl name='uint32_t' type-id='type-id-16' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-17'/>
+    <qualified-type-def type-id='type-id-17' const='yes' id='type-id-18'/>
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-19'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-11' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-20'/>
+    <typedef-decl name='uint64_t' type-id='type-id-20' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-9'/>
+    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-21'/>
+    <qualified-type-def type-id='type-id-15' const='yes' id='type-id-22'/>
+    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-24'/>
+    <typedef-decl name='rte_fib_lookup_fn_t' type-id='type-id-24' filepath='../lib/librte_fib/rte_fib.h' line='34' column='1' id='type-id-7'/>
+    <type-decl name='int' size-in-bits='32' id='type-id-25'/>
+    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-26'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-27'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-27' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-28'/>
+    <typedef-decl name='uint8_t' type-id='type-id-28' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-29'/>
+    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-31'/>
+    <typedef-decl name='rte_fib_modify_fn_t' type-id='type-id-31' filepath='../lib/librte_fib/rte_fib.h' line='31' column='1' id='type-id-8'/>
+    <function-decl name='rte_fib_get_rib' mangled-name='rte_fib_get_rib' filepath='../lib/librte_fib/rte_fib.c' line='316' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fib_get_rib@@EXPERIMENTAL'>
+      <parameter type-id='type-id-26' name='fib' filepath='../lib/librte_fib/rte_fib.c' line='316' column='1'/>
+      <return type-id='type-id-2'/>
+    </function-decl>
+    <function-decl name='rte_fib_get_dp' mangled-name='rte_fib_get_dp' filepath='../lib/librte_fib/rte_fib.c' line='310' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fib_get_dp@@EXPERIMENTAL'>
+      <parameter type-id='type-id-26' name='fib' filepath='../lib/librte_fib/rte_fib.c' line='310' column='1'/>
+      <return type-id='type-id-6'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-32'/>
+    <function-decl name='rte_fib_lookup_bulk' mangled-name='rte_fib_lookup_bulk' filepath='../lib/librte_fib/rte_fib.c' line='138' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fib_lookup_bulk@@EXPERIMENTAL'>
+      <parameter type-id='type-id-26' name='fib' filepath='../lib/librte_fib/rte_fib.c' line='138' column='1'/>
+      <parameter type-id='type-id-32' name='ips' filepath='../lib/librte_fib/rte_fib.c' line='138' column='1'/>
+      <parameter type-id='type-id-21' name='next_hops' filepath='../lib/librte_fib/rte_fib.c' line='139' column='1'/>
+      <parameter type-id='type-id-25' name='n' filepath='../lib/librte_fib/rte_fib.c' line='139' column='1'/>
+      <return type-id='type-id-25'/>
+    </function-decl>
+    <function-decl name='rte_fib_delete' mangled-name='rte_fib_delete' filepath='../lib/librte_fib/rte_fib.c' line='129' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fib_delete@@EXPERIMENTAL'>
+      <parameter type-id='type-id-26' name='fib' filepath='../lib/librte_fib/rte_fib.c' line='129' column='1'/>
+      <parameter type-id='type-id-17' name='ip' filepath='../lib/librte_fib/rte_fib.c' line='129' column='1'/>
+      <parameter type-id='type-id-29' name='depth' filepath='../lib/librte_fib/rte_fib.c' line='129' column='1'/>
+      <return type-id='type-id-25'/>
+    </function-decl>
+    <function-decl name='rte_fib_add' mangled-name='rte_fib_add' filepath='../lib/librte_fib/rte_fib.c' line='120' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fib_add@@EXPERIMENTAL'>
+      <parameter type-id='type-id-26' name='fib' filepath='../lib/librte_fib/rte_fib.c' line='120' column='1'/>
+      <parameter type-id='type-id-17' name='ip' filepath='../lib/librte_fib/rte_fib.c' line='120' column='1'/>
+      <parameter type-id='type-id-29' name='depth' filepath='../lib/librte_fib/rte_fib.c' line='120' column='1'/>
+      <parameter type-id='type-id-9' name='next_hop' filepath='../lib/librte_fib/rte_fib.c' line='120' column='1'/>
+      <return type-id='type-id-25'/>
+    </function-decl>
+    <function-decl name='rte_fib_free' mangled-name='rte_fib_free' filepath='../lib/librte_fib/rte_fib.c' line='281' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fib_free@@EXPERIMENTAL'>
+      <parameter type-id='type-id-26' name='fib' filepath='../lib/librte_fib/rte_fib.c' line='281' column='1'/>
+      <return type-id='type-id-14'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-10' const='yes' id='type-id-33'/>
+    <pointer-type-def type-id='type-id-33' size-in-bits='64' id='type-id-34'/>
+    <function-decl name='rte_fib_find_existing' mangled-name='rte_fib_find_existing' filepath='../lib/librte_fib/rte_fib.c' line='243' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fib_find_existing@@EXPERIMENTAL'>
+      <parameter type-id='type-id-34' name='name' filepath='../lib/librte_fib/rte_fib.c' line='243' column='1'/>
+      <return type-id='type-id-26'/>
+    </function-decl>
+    <class-decl name='rte_fib_conf' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_fib/rte_fib.h' line='51' column='1' id='type-id-35'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-5' visibility='default' filepath='../lib/librte_fib/rte_fib.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='default_nh' type-id='type-id-9' visibility='default' filepath='../lib/librte_fib/rte_fib.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='max_routes' type-id='type-id-25' visibility='default' filepath='../lib/librte_fib/rte_fib.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='' type-id='type-id-36' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_fib/rte_fib.h' line='56' column='1' id='type-id-36'>
+      <data-member access='private'>
+        <var-decl name='dir24_8' type-id='type-id-37' visibility='default' filepath='../lib/librte_fib/rte_fib.h' line='60' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_fib/rte_fib.h' line='57' column='1' id='type-id-37'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nh_sz' type-id='type-id-38' visibility='default' filepath='../lib/librte_fib/rte_fib.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='num_tbl8' type-id='type-id-17' visibility='default' filepath='../lib/librte_fib/rte_fib.h' line='59' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_fib_dir24_8_nh_sz' filepath='../lib/librte_fib/rte_fib.h' line='43' column='1' id='type-id-38'>
+      <underlying-type type-id='type-id-13'/>
+      <enumerator name='RTE_FIB_DIR24_8_1B' value='0'/>
+      <enumerator name='RTE_FIB_DIR24_8_2B' value='1'/>
+      <enumerator name='RTE_FIB_DIR24_8_4B' value='2'/>
+      <enumerator name='RTE_FIB_DIR24_8_8B' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-35' size-in-bits='64' id='type-id-39'/>
+    <function-decl name='rte_fib_create' mangled-name='rte_fib_create' filepath='../lib/librte_fib/rte_fib.c' line='149' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fib_create@@EXPERIMENTAL'>
+      <parameter type-id='type-id-34' name='name' filepath='../lib/librte_fib/rte_fib.c' line='149' column='1'/>
+      <parameter type-id='type-id-25' name='socket_id' filepath='../lib/librte_fib/rte_fib.c' line='149' column='1'/>
+      <parameter type-id='type-id-39' name='conf' filepath='../lib/librte_fib/rte_fib.c' line='149' column='1'/>
+      <return type-id='type-id-26'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-30'>
+      <parameter type-id='type-id-26'/>
+      <parameter type-id='type-id-17'/>
+      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-9'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-25'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-23'>
+      <parameter type-id='type-id-6'/>
+      <parameter type-id='type-id-19'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-22'/>
+      <return type-id='type-id-14'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_fib/rte_fib6.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_rib6' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-40'/>
+    <pointer-type-def type-id='type-id-40' size-in-bits='64' id='type-id-41'/>
+    <class-decl name='rte_fib6' size-in-bits='896' is-struct='yes' visibility='default' filepath='../lib/librte_fib/rte_fib6.c' line='40' column='1' id='type-id-42'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-4' visibility='default' filepath='../lib/librte_fib/rte_fib6.c' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='type' type-id='type-id-43' visibility='default' filepath='../lib/librte_fib/rte_fib6.c' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='rib' type-id='type-id-41' visibility='default' filepath='../lib/librte_fib/rte_fib6.c' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dp' type-id='type-id-6' visibility='default' filepath='../lib/librte_fib/rte_fib6.c' line='44' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='lookup' type-id='type-id-44' visibility='default' filepath='../lib/librte_fib/rte_fib6.c' line='45' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='modify' type-id='type-id-45' visibility='default' filepath='../lib/librte_fib/rte_fib6.c' line='46' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='def_nh' type-id='type-id-9' visibility='default' filepath='../lib/librte_fib/rte_fib6.c' line='47' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_fib6_type' filepath='../lib/librte_fib/rte_fib6.h' line='25' column='1' id='type-id-43'>
+      <underlying-type type-id='type-id-13'/>
+      <enumerator name='RTE_FIB6_DUMMY' value='0'/>
+      <enumerator name='RTE_FIB6_TRIE' value='1'/>
+      <enumerator name='RTE_FIB6_TYPE_MAX' value='2'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-29' size-in-bits='128' id='type-id-46'>
+      <subrange length='16' type-id='type-id-11' id='type-id-47'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-48'/>
+    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-50'/>
+    <typedef-decl name='rte_fib6_lookup_fn_t' type-id='type-id-50' filepath='../lib/librte_fib/rte_fib6.h' line='36' column='1' id='type-id-44'/>
+    <pointer-type-def type-id='type-id-42' size-in-bits='64' id='type-id-51'/>
+    <qualified-type-def type-id='type-id-29' const='yes' id='type-id-52'/>
+    <pointer-type-def type-id='type-id-52' size-in-bits='64' id='type-id-53'/>
+    <pointer-type-def type-id='type-id-54' size-in-bits='64' id='type-id-55'/>
+    <typedef-decl name='rte_fib6_modify_fn_t' type-id='type-id-55' filepath='../lib/librte_fib/rte_fib6.h' line='32' column='1' id='type-id-45'/>
+    <function-decl name='rte_fib6_get_rib' mangled-name='rte_fib6_get_rib' filepath='../lib/librte_fib/rte_fib6.c' line='318' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fib6_get_rib@@EXPERIMENTAL'>
+      <parameter type-id='type-id-51' name='fib' filepath='../lib/librte_fib/rte_fib6.c' line='318' column='1'/>
+      <return type-id='type-id-41'/>
+    </function-decl>
+    <function-decl name='rte_fib6_get_dp' mangled-name='rte_fib6_get_dp' filepath='../lib/librte_fib/rte_fib6.c' line='312' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fib6_get_dp@@EXPERIMENTAL'>
+      <parameter type-id='type-id-51' name='fib' filepath='../lib/librte_fib/rte_fib6.c' line='312' column='1'/>
+      <return type-id='type-id-6'/>
+    </function-decl>
+    <function-decl name='rte_fib6_lookup_bulk' mangled-name='rte_fib6_lookup_bulk' filepath='../lib/librte_fib/rte_fib6.c' line='140' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fib6_lookup_bulk@@EXPERIMENTAL'>
+      <parameter type-id='type-id-51' name='fib' filepath='../lib/librte_fib/rte_fib6.c' line='140' column='1'/>
+      <parameter type-id='type-id-48' name='ips' filepath='../lib/librte_fib/rte_fib6.c' line='141' column='1'/>
+      <parameter type-id='type-id-21' name='next_hops' filepath='../lib/librte_fib/rte_fib6.c' line='142' column='1'/>
+      <parameter type-id='type-id-25' name='n' filepath='../lib/librte_fib/rte_fib6.c' line='142' column='1'/>
+      <return type-id='type-id-25'/>
+    </function-decl>
+    <function-decl name='rte_fib6_delete' mangled-name='rte_fib6_delete' filepath='../lib/librte_fib/rte_fib6.c' line='130' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fib6_delete@@EXPERIMENTAL'>
+      <parameter type-id='type-id-51' name='fib' filepath='../lib/librte_fib/rte_fib6.c' line='130' column='1'/>
+      <parameter type-id='type-id-53' name='ip' filepath='../lib/librte_fib/rte_fib6.c' line='130' column='1'/>
+      <parameter type-id='type-id-29' name='depth' filepath='../lib/librte_fib/rte_fib6.c' line='131' column='1'/>
+      <return type-id='type-id-25'/>
+    </function-decl>
+    <function-decl name='rte_fib6_add' mangled-name='rte_fib6_add' filepath='../lib/librte_fib/rte_fib6.c' line='120' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fib6_add@@EXPERIMENTAL'>
+      <parameter type-id='type-id-51' name='fib' filepath='../lib/librte_fib/rte_fib6.c' line='120' column='1'/>
+      <parameter type-id='type-id-53' name='ip' filepath='../lib/librte_fib/rte_fib6.c' line='120' column='1'/>
+      <parameter type-id='type-id-29' name='depth' filepath='../lib/librte_fib/rte_fib6.c' line='121' column='1'/>
+      <parameter type-id='type-id-9' name='next_hop' filepath='../lib/librte_fib/rte_fib6.c' line='121' column='1'/>
+      <return type-id='type-id-25'/>
+    </function-decl>
+    <function-decl name='rte_fib6_free' mangled-name='rte_fib6_free' filepath='../lib/librte_fib/rte_fib6.c' line='283' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fib6_free@@EXPERIMENTAL'>
+      <parameter type-id='type-id-51' name='fib' filepath='../lib/librte_fib/rte_fib6.c' line='283' column='1'/>
+      <return type-id='type-id-14'/>
+    </function-decl>
+    <function-decl name='rte_fib6_find_existing' mangled-name='rte_fib6_find_existing' filepath='../lib/librte_fib/rte_fib6.c' line='245' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fib6_find_existing@@EXPERIMENTAL'>
+      <parameter type-id='type-id-34' name='name' filepath='../lib/librte_fib/rte_fib6.c' line='245' column='1'/>
+      <return type-id='type-id-51'/>
+    </function-decl>
+    <class-decl name='rte_fib6_conf' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_fib/rte_fib6.h' line='52' column='1' id='type-id-56'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-43' visibility='default' filepath='../lib/librte_fib/rte_fib6.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='default_nh' type-id='type-id-9' visibility='default' filepath='../lib/librte_fib/rte_fib6.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='max_routes' type-id='type-id-25' visibility='default' filepath='../lib/librte_fib/rte_fib6.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='' type-id='type-id-57' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_fib/rte_fib6.h' line='57' column='1' id='type-id-57'>
+      <data-member access='private'>
+        <var-decl name='trie' type-id='type-id-58' visibility='default' filepath='../lib/librte_fib/rte_fib6.h' line='61' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_fib/rte_fib6.h' line='58' column='1' id='type-id-58'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nh_sz' type-id='type-id-59' visibility='default' filepath='../lib/librte_fib/rte_fib6.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='num_tbl8' type-id='type-id-17' visibility='default' filepath='../lib/librte_fib/rte_fib6.h' line='60' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_fib_trie_nh_sz' filepath='../lib/librte_fib/rte_fib6.h' line='45' column='1' id='type-id-59'>
+      <underlying-type type-id='type-id-13'/>
+      <enumerator name='RTE_FIB6_TRIE_2B' value='1'/>
+      <enumerator name='RTE_FIB6_TRIE_4B' value='2'/>
+      <enumerator name='RTE_FIB6_TRIE_8B' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-56' size-in-bits='64' id='type-id-60'/>
+    <function-decl name='rte_fib6_create' mangled-name='rte_fib6_create' filepath='../lib/librte_fib/rte_fib6.c' line='151' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fib6_create@@EXPERIMENTAL'>
+      <parameter type-id='type-id-34' name='name' filepath='../lib/librte_fib/rte_fib6.c' line='151' column='1'/>
+      <parameter type-id='type-id-25' name='socket_id' filepath='../lib/librte_fib/rte_fib6.c' line='151' column='1'/>
+      <parameter type-id='type-id-60' name='conf' filepath='../lib/librte_fib/rte_fib6.c' line='151' column='1'/>
+      <return type-id='type-id-51'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-54'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-53'/>
+      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-9'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-25'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-49'>
+      <parameter type-id='type-id-6'/>
+      <parameter type-id='type-id-48'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-22'/>
+      <return type-id='type-id-14'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_flow_classify.dump b/lib/.abi/librte_flow_classify.dump
new file mode 100644
index 000000000..5f726075a
--- /dev/null
+++ b/lib/.abi/librte_flow_classify.dump
@@ -0,0 +1,1054 @@
+<abi-corpus path='gcc//lib/librte_flow_classify.so.0.200' architecture='elf-amd-x86_64' soname='librte_flow_classify.so.0.200'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_table.so.20.0'/>
+    <dependency name='librte_port.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_sched.so.20.0'/>
+    <dependency name='librte_ip_frag.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='librte_eventdev.so.20.0'/>
+    <dependency name='librte_timer.so.20.0'/>
+    <dependency name='librte_kni.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_lpm.so.20.0'/>
+    <dependency name='librte_acl.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpcap.so.1'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_flow_classifier_create' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_flow_classifier_free' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_flow_classifier_query' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_flow_classify_table_create' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_flow_classify_table_entry_add' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_flow_classify_table_entry_delete' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_flow_classify_validate' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_flow_classify/rte_flow_classify.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='librte_flow_classify_logtype' type-id='type-id-1' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.h' line='56' column='1'/>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-2'/>
+    <enum-decl name='rte_flow_classify_table_type' filepath='../lib/librte_flow_classify/rte_flow_classify.h' line='84' column='1' id='type-id-3'>
+      <underlying-type type-id='type-id-2'/>
+      <enumerator name='RTE_FLOW_CLASSIFY_TABLE_TYPE_NONE' value='1'/>
+      <enumerator name='RTE_FLOW_CLASSIFY_TABLE_ACL_IP4_5TUPLE' value='2'/>
+      <enumerator name='RTE_FLOW_CLASSIFY_TABLE_ACL_VLAN_IP4_5TUPLE' value='4'/>
+      <enumerator name='RTE_FLOW_CLASSIFY_TABLE_ACL_QINQ_IP4_5TUPLE' value='8'/>
+    </enum-decl>
+    <var-decl name='table_type' type-id='type-id-3' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify_parse.h' line='17' column='1'/>
+    <class-decl name='rte_flow_classifier' size-in-bits='27136' is-struct='yes' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='40' column='1' id='type-id-4'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-5' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2080'>
+        <var-decl name='ntuple_filter' type-id='type-id-6' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='47' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='tables' type-id='type-id-7' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='22848'>
+        <var-decl name='table_mask' type-id='type-id-8' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='22880'>
+        <var-decl name='num_tables' type-id='type-id-8' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='22912'>
+        <var-decl name='nb_pkts' type-id='type-id-9' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='22976'>
+        <var-decl name='entries' type-id='type-id-10' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='56' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-11'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-12'/>
+
+    <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='2048' id='type-id-5'>
+      <subrange length='256' type-id='type-id-12' id='type-id-13'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_ntuple_filter' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='159' column='1' id='type-id-6'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-9' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='160' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dst_ip' type-id='type-id-8' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='161' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dst_ip_mask' type-id='type-id-8' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='162' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='src_ip' type-id='type-id-8' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='163' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='src_ip_mask' type-id='type-id-8' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='164' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='dst_port' type-id='type-id-9' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='165' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='dst_port_mask' type-id='type-id-9' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='166' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='src_port' type-id='type-id-9' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='167' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='208'>
+        <var-decl name='src_port_mask' type-id='type-id-9' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='168' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='proto' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='169' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='232'>
+        <var-decl name='proto_mask' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='170' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='240'>
+        <var-decl name='tcp_flags' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='174' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='priority' type-id='type-id-9' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='175' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='272'>
+        <var-decl name='queue' type-id='type-id-9' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='177' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-15'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-15' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-16'/>
+    <typedef-decl name='uint16_t' type-id='type-id-16' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-9'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-17'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-17' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-18'/>
+    <typedef-decl name='uint32_t' type-id='type-id-18' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-8'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-19'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-19' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-20'/>
+    <typedef-decl name='uint8_t' type-id='type-id-20' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-14'/>
+    <class-decl name='rte_cls_table' size-in-bits='640' is-struct='yes' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='28' column='1' id='type-id-21'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ops' type-id='type-id-22' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='30' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='entry_size' type-id='type-id-8' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='type' type-id='type-id-3' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='32' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='h_table' type-id='type-id-23' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='35' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_ops' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_table/rte_table.h' line='257' column='1' id='type-id-22'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='f_create' type-id='type-id-24' visibility='default' filepath='../lib/librte_table/rte_table.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='f_free' type-id='type-id-25' visibility='default' filepath='../lib/librte_table/rte_table.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='f_add' type-id='type-id-26' visibility='default' filepath='../lib/librte_table/rte_table.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='f_delete' type-id='type-id-27' visibility='default' filepath='../lib/librte_table/rte_table.h' line='261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='f_add_bulk' type-id='type-id-28' visibility='default' filepath='../lib/librte_table/rte_table.h' line='262' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='f_delete_bulk' type-id='type-id-29' visibility='default' filepath='../lib/librte_table/rte_table.h' line='263' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='f_lookup' type-id='type-id-30' visibility='default' filepath='../lib/librte_table/rte_table.h' line='264' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='f_stats' type-id='type-id-31' visibility='default' filepath='../lib/librte_table/rte_table.h' line='265' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='void' id='type-id-32'/>
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-23'/>
+    <pointer-type-def type-id='type-id-33' size-in-bits='64' id='type-id-34'/>
+    <typedef-decl name='rte_table_op_create' type-id='type-id-34' filepath='../lib/librte_table/rte_table.h' line='52' column='1' id='type-id-24'/>
+    <pointer-type-def type-id='type-id-35' size-in-bits='64' id='type-id-36'/>
+    <typedef-decl name='rte_table_op_free' type-id='type-id-36' filepath='../lib/librte_table/rte_table.h' line='63' column='1' id='type-id-25'/>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-37'/>
+    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-38'/>
+    <pointer-type-def type-id='type-id-39' size-in-bits='64' id='type-id-40'/>
+    <typedef-decl name='rte_table_op_entry_add' type-id='type-id-40' filepath='../lib/librte_table/rte_table.h' line='92' column='1' id='type-id-26'/>
+    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-42'/>
+    <typedef-decl name='rte_table_op_entry_delete' type-id='type-id-42' filepath='../lib/librte_table/rte_table.h' line='121' column='1' id='type-id-27'/>
+    <pointer-type-def type-id='type-id-43' size-in-bits='64' id='type-id-44'/>
+    <typedef-decl name='rte_table_op_entry_add_bulk' type-id='type-id-44' filepath='../lib/librte_table/rte_table.h' line='156' column='1' id='type-id-28'/>
+    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-46'/>
+    <typedef-decl name='rte_table_op_entry_delete_bulk' type-id='type-id-46' filepath='../lib/librte_table/rte_table.h' line='191' column='1' id='type-id-29'/>
+    <class-decl name='rte_mbuf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='480' column='1' id='type-id-47'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheline0' type-id='type-id-48' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-23' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-49' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rearm_data' type-id='type-id-50' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='497' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_off' type-id='type-id-9' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_segs' type-id='type-id-9' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='port' type-id='type-id-9' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ol_flags' type-id='type-id-51' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_descriptor_fields1' type-id='type-id-48' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='pkt_len' type-id='type-id-8' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data_len' type-id='type-id-9' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='vlan_tci' type-id='type-id-9' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vlan_tci_outer' type-id='type-id-9' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='buf_len' type-id='type-id-9' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='timestamp' type-id='type-id-51' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cacheline1' type-id='type-id-48' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='pool' type-id='type-id-52' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='next' type-id='type-id-53' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv_size' type-id='type-id-9' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='timesync' type-id='type-id-9' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='seqn' type-id='type-id-8' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='shinfo' type-id='type-id-54' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dynfield1' type-id='type-id-55' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-23' size-in-bits='infinite' id='type-id-56'>
+      <subrange length='infinite' type-id='type-id-12' id='type-id-57'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER' type-id='type-id-56' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='414' column='1' id='type-id-48'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='491' column='1' id='type-id-49'>
+      <data-member access='private'>
+        <var-decl name='buf_iova' type-id='type-id-58' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='buf_physaddr' type-id='type-id-58' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='__uint64_t' type-id='type-id-12' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-59'/>
+    <typedef-decl name='uint64_t' type-id='type-id-59' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-51'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-51' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-58'/>
+
+    <array-type-def dimensions='1' type-id='type-id-51' size-in-bits='infinite' id='type-id-60'>
+      <subrange length='infinite' type-id='type-id-12' id='type-id-57'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER64' type-id='type-id-60' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='420' column='1' id='type-id-50'/>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-61'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-62' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-63' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-23' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-64' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-17' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-8' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-8' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-8' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-8' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-8' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-17' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-65' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-66' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-8' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-67' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-8' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-68' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='256' id='type-id-62'>
+      <subrange length='32' type-id='type-id-12' id='type-id-69'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-63'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-23' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-51' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-70'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-62' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-71' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-72' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-51' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-65' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-8' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-71'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-73' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-58' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-51' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-73'/>
+    <typedef-decl name='size_t' type-id='type-id-12' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-72'/>
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-74'/>
+    <typedef-decl name='int32_t' type-id='type-id-74' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-65'/>
+    <qualified-type-def type-id='type-id-70' const='yes' id='type-id-75'/>
+    <pointer-type-def type-id='type-id-75' size-in-bits='64' id='type-id-64'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-76'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-8' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-8' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-8' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-77' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-23' size-in-bits='98304' id='type-id-77'>
+      <subrange length='1536' type-id='type-id-12' id='type-id-78'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-76' size-in-bits='64' id='type-id-66'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-67'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-79' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-80' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-81'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-82' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-52' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-83' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-82'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-79' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-81' size-in-bits='64' id='type-id-79'/>
+    <pointer-type-def type-id='type-id-61' size-in-bits='64' id='type-id-52'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-83'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-58' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-73' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-79' size-in-bits='64' id='type-id-80'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-68'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-84' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-85' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-86'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-87' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-52' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-23' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-88' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-72' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-89' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-23' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-87'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-84' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-86' size-in-bits='64' id='type-id-84'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-88'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-58' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-73' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-90' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-91'/>
+    <pointer-type-def type-id='type-id-91' size-in-bits='64' id='type-id-89'/>
+    <pointer-type-def type-id='type-id-84' size-in-bits='64' id='type-id-85'/>
+    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-53'/>
+    <class-decl name='rte_mbuf_ext_shared_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='689' column='1' id='type-id-92'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_cb' type-id='type-id-93' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcb_opaque' type-id='type-id-23' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt_atomic' type-id='type-id-94' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-95' size-in-bits='64' id='type-id-96'/>
+    <typedef-decl name='rte_mbuf_extbuf_free_callback_t' type-id='type-id-96' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='684' column='1' id='type-id-93'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-94' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-97'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-98' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-99'/>
+    <typedef-decl name='__int16_t' type-id='type-id-99' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-100'/>
+    <typedef-decl name='int16_t' type-id='type-id-100' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-101'/>
+    <qualified-type-def type-id='type-id-101' volatile='yes' id='type-id-98'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-97' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-94'/>
+    <pointer-type-def type-id='type-id-92' size-in-bits='64' id='type-id-54'/>
+
+    <array-type-def dimensions='1' type-id='type-id-51' size-in-bits='128' id='type-id-55'>
+      <subrange length='2' type-id='type-id-12' id='type-id-102'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-103'/>
+    <pointer-type-def type-id='type-id-51' size-in-bits='64' id='type-id-104'/>
+    <pointer-type-def type-id='type-id-105' size-in-bits='64' id='type-id-106'/>
+    <typedef-decl name='rte_table_op_lookup' type-id='type-id-106' filepath='../lib/librte_table/rte_table.h' line='231' column='1' id='type-id-30'/>
+    <class-decl name='rte_table_stats' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_table/rte_table.h' line='34' column='1' id='type-id-107'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n_pkts_in' type-id='type-id-51' visibility='default' filepath='../lib/librte_table/rte_table.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='n_pkts_lookup_miss' type-id='type-id-51' visibility='default' filepath='../lib/librte_table/rte_table.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-107' size-in-bits='64' id='type-id-108'/>
+    <pointer-type-def type-id='type-id-109' size-in-bits='64' id='type-id-110'/>
+    <typedef-decl name='rte_table_op_stats_read' type-id='type-id-110' filepath='../lib/librte_table/rte_table.h' line='251' column='1' id='type-id-31'/>
+
+    <array-type-def dimensions='1' type-id='type-id-21' size-in-bits='20480' id='type-id-7'>
+      <subrange length='32' type-id='type-id-12' id='type-id-69'/>
+
+    </array-type-def>
+    <class-decl name='rte_flow_classify_table_entry' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='20' column='1' id='type-id-111'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rule_id' type-id='type-id-8' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='22' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='action' type-id='type-id-112' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='25' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='classify_action' size-in-bits='320' is-struct='yes' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify_parse.h' line='19' column='1' id='type-id-112'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='action_mask' type-id='type-id-51' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify_parse.h' line='21' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='act' type-id='type-id-113' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify_parse.h' line='28' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='action' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify_parse.h' line='23' column='1' id='type-id-113'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mark' type-id='type-id-114' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify_parse.h' line='25' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='counter' type-id='type-id-115' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify_parse.h' line='27' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_flow_action_mark' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2019' column='1' id='type-id-114'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-8' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2020' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_flow_query_count' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2085' column='1' id='type-id-115'>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='reset' type-id='type-id-8' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2086' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='hits_set' type-id='type-id-8' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2087' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='bytes_set' type-id='type-id-8' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2088' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='reserved' type-id='type-id-8' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2089' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='hits' type-id='type-id-51' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2090' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='bytes' type-id='type-id-51' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2091' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-111' size-in-bits='64' id='type-id-116'/>
+
+    <array-type-def dimensions='1' type-id='type-id-116' size-in-bits='4096' id='type-id-10'>
+      <subrange length='64' type-id='type-id-12' id='type-id-117'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-118'/>
+    <qualified-type-def type-id='type-id-9' const='yes' id='type-id-119'/>
+    <class-decl name='rte_flow_classify_rule' size-in-bits='17280' is-struct='yes' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='80' column='1' id='type-id-120'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-8' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tbl_type' type-id='type-id-3' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='82' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rules' type-id='type-id-121' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='83' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='u' type-id='type-id-122' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16768'>
+        <var-decl name='key_found' type-id='type-id-1' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='87' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16832'>
+        <var-decl name='entry' type-id='type-id-111' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='17216'>
+        <var-decl name='entry_ptr' type-id='type-id-23' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='89' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='classify_rules' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='73' column='1' id='type-id-121'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-123' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='u' type-id='type-id-124' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='77' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_classify_rule_type' filepath='../lib/librte_flow_classify/rte_flow_classify.h' line='76' column='1' id='type-id-123'>
+      <underlying-type type-id='type-id-2'/>
+      <enumerator name='RTE_FLOW_CLASSIFY_RULE_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_FLOW_CLASSIFY_RULE_TYPE_IPV4_5TUPLE' value='1'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='224' is-anonymous='yes' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='75' column='1' id='type-id-124'>
+      <data-member access='private'>
+        <var-decl name='ipv4_5tuple' type-id='type-id-125' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='76' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_flow_classify_ipv4_5tuple' size-in-bits='224' is-struct='yes' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.h' line='119' column='1' id='type-id-125'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dst_ip' type-id='type-id-8' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.h' line='120' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dst_ip_mask' type-id='type-id-8' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.h' line='121' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='src_ip' type-id='type-id-8' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.h' line='122' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='src_ip_mask' type-id='type-id-8' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.h' line='123' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dst_port' type-id='type-id-9' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.h' line='124' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='dst_port_mask' type-id='type-id-9' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.h' line='125' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='src_port' type-id='type-id-9' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.h' line='126' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='src_port_mask' type-id='type-id-9' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.h' line='127' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='proto' type-id='type-id-14' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.h' line='128' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='200'>
+        <var-decl name='proto_mask' type-id='type-id-14' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.h' line='129' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='16448' is-anonymous='yes' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='84' column='1' id='type-id-122'>
+      <data-member access='private'>
+        <var-decl name='key' type-id='type-id-126' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='85' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='acl_keys' size-in-bits='16448' is-struct='yes' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='68' column='1' id='type-id-126'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='key_add' type-id='type-id-127' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='69' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8256'>
+        <var-decl name='key_del' type-id='type-id-128' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_acl_rule_add_params' size-in-bits='8256' is-struct='yes' visibility='default' filepath='../lib/librte_table/rte_table_acl.h' line='45' column='1' id='type-id-127'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='priority' type-id='type-id-65' visibility='default' filepath='../lib/librte_table/rte_table_acl.h' line='47' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='field_value' type-id='type-id-129' visibility='default' filepath='../lib/librte_table/rte_table_acl.h' line='50' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_acl_field' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_acl/rte_acl.h' line='75' column='1' id='type-id-130'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='value' type-id='type-id-131' visibility='default' filepath='../lib/librte_acl/rte_acl.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mask_range' type-id='type-id-131' visibility='default' filepath='../lib/librte_acl/rte_acl.h' line='78' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='rte_acl_field_types' size-in-bits='64' visibility='default' filepath='../lib/librte_acl/rte_acl.h' line='27' column='1' id='type-id-131'>
+      <data-member access='private'>
+        <var-decl name='u8' type-id='type-id-14' visibility='default' filepath='../lib/librte_acl/rte_acl.h' line='28' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='u16' type-id='type-id-9' visibility='default' filepath='../lib/librte_acl/rte_acl.h' line='29' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='u32' type-id='type-id-8' visibility='default' filepath='../lib/librte_acl/rte_acl.h' line='30' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='u64' type-id='type-id-51' visibility='default' filepath='../lib/librte_acl/rte_acl.h' line='31' column='1'/>
+      </data-member>
+    </union-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-130' size-in-bits='8192' id='type-id-129'>
+      <subrange length='64' type-id='type-id-12' id='type-id-117'/>
+
+    </array-type-def>
+    <class-decl name='rte_table_acl_rule_delete_params' size-in-bits='8192' is-struct='yes' visibility='default' filepath='../lib/librte_table/rte_table_acl.h' line='54' column='1' id='type-id-128'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='field_value' type-id='type-id-129' visibility='default' filepath='../lib/librte_table/rte_table_acl.h' line='56' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-120' size-in-bits='64' id='type-id-132'/>
+    <class-decl name='rte_flow_classify_stats' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.h' line='139' column='1' id='type-id-133'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stats' type-id='type-id-23' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.h' line='140' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-133' size-in-bits='64' id='type-id-134'/>
+    <function-decl name='rte_flow_classifier_query' mangled-name='rte_flow_classifier_query' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='646' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_flow_classifier_query@@EXPERIMENTAL'>
+      <parameter type-id='type-id-118' name='cls' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='646' column='1'/>
+      <parameter type-id='type-id-103' name='pkts' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='647' column='1'/>
+      <parameter type-id='type-id-119' name='nb_pkts' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='648' column='1'/>
+      <parameter type-id='type-id-132' name='rule' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='649' column='1'/>
+      <parameter type-id='type-id-134' name='stats' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='650' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_flow_classify_table_entry_delete' mangled-name='rte_flow_classify_table_entry_delete' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='568' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_flow_classify_table_entry_delete@@EXPERIMENTAL'>
+      <parameter type-id='type-id-118' name='cls' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='568' column='1'/>
+      <parameter type-id='type-id-132' name='rule' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='569' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_flow_attr' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='75' column='1' id='type-id-135'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='group' type-id='type-id-8' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='priority' type-id='type-id-8' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='ingress' type-id='type-id-8' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='egress' type-id='type-id-8' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='transfer' type-id='type-id-8' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='98' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='reserved' type-id='type-id-8' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='99' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-135' const='yes' id='type-id-136'/>
+    <pointer-type-def type-id='type-id-136' size-in-bits='64' id='type-id-137'/>
+    <class-decl name='rte_flow_item' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1517' column='1' id='type-id-138'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-139' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1518' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='spec' type-id='type-id-23' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1519' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='last' type-id='type-id-23' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='mask' type-id='type-id-23' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1521' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_item_type' filepath='../lib/librte_ethdev/rte_flow.h' line='118' column='1' id='type-id-139'>
+      <underlying-type type-id='type-id-2'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_END' value='0'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VOID' value='1'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_INVERT' value='2'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ANY' value='3'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PF' value='4'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VF' value='5'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PHY_PORT' value='6'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PORT_ID' value='7'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_RAW' value='8'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ETH' value='9'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VLAN' value='10'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV4' value='11'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV6' value='12'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP' value='13'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_UDP' value='14'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_TCP' value='15'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_SCTP' value='16'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VXLAN' value='17'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_E_TAG' value='18'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_NVGRE' value='19'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_MPLS' value='20'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GRE' value='21'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_FUZZY' value='22'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTP' value='23'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTPC' value='24'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTPU' value='25'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ESP' value='26'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GENEVE' value='27'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VXLAN_GPE' value='28'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ARP_ETH_IPV4' value='29'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV6_EXT' value='30'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6' value='31'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_NS' value='32'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_NA' value='33'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT' value='34'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT_SLA_ETH' value='35'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT_TLA_ETH' value='36'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_MARK' value='37'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_META' value='38'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GRE_KEY' value='39'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTP_PSC' value='40'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOES' value='41'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOED' value='42'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOE_PROTO_ID' value='43'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_NSH' value='44'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IGMP' value='45'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_AH' value='46'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_HIGIG2' value='47'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_TAG' value='48'/>
+    </enum-decl>
+    <qualified-type-def type-id='type-id-138' const='yes' id='type-id-140'/>
+    <pointer-type-def type-id='type-id-140' size-in-bits='64' id='type-id-141'/>
+    <class-decl name='rte_flow_action' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2568' column='1' id='type-id-142'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-143' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2569' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='conf' type-id='type-id-23' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2570' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_action_type' filepath='../lib/librte_ethdev/rte_flow.h' line='1550' column='1' id='type-id-143'>
+      <underlying-type type-id='type-id-2'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_END' value='0'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VOID' value='1'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PASSTHRU' value='2'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_JUMP' value='3'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_MARK' value='4'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_FLAG' value='5'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_QUEUE' value='6'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DROP' value='7'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_COUNT' value='8'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RSS' value='9'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PF' value='10'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VF' value='11'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PHY_PORT' value='12'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PORT_ID' value='13'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_METER' value='14'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SECURITY' value='15'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_MPLS_TTL' value='16'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_DEC_MPLS_TTL' value='17'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_NW_TTL' value='18'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_DEC_NW_TTL' value='19'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_OUT' value='20'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_IN' value='21'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_POP_VLAN' value='22'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_PUSH_VLAN' value='23'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_VID' value='24'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_PCP' value='25'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_POP_MPLS' value='26'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_PUSH_MPLS' value='27'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VXLAN_ENCAP' value='28'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VXLAN_DECAP' value='29'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_NVGRE_ENCAP' value='30'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_NVGRE_DECAP' value='31'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RAW_ENCAP' value='32'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RAW_DECAP' value='33'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV4_SRC' value='34'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV4_DST' value='35'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV6_SRC' value='36'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV6_DST' value='37'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TP_SRC' value='38'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TP_DST' value='39'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_MAC_SWAP' value='40'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TTL' value='41'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TTL' value='42'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_MAC_SRC' value='43'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_MAC_DST' value='44'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_INC_TCP_SEQ' value='45'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TCP_SEQ' value='46'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_INC_TCP_ACK' value='47'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TCP_ACK' value='48'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TAG' value='49'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_META' value='50'/>
+    </enum-decl>
+    <qualified-type-def type-id='type-id-142' const='yes' id='type-id-144'/>
+    <pointer-type-def type-id='type-id-144' size-in-bits='64' id='type-id-145'/>
+    <class-decl name='rte_flow_error' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2618' column='1' id='type-id-146'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-147' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2619' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='cause' type-id='type-id-23' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2620' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='message' type-id='type-id-148' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2621' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_error_type' filepath='../lib/librte_ethdev/rte_flow.h' line='2587' column='1' id='type-id-147'>
+      <underlying-type type-id='type-id-2'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_UNSPECIFIED' value='1'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_HANDLE' value='2'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_GROUP' value='3'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_PRIORITY' value='4'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_INGRESS' value='5'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_EGRESS' value='6'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_TRANSFER' value='7'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR' value='8'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_NUM' value='9'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_SPEC' value='10'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_LAST' value='11'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_MASK' value='12'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM' value='13'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION_NUM' value='14'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION_CONF' value='15'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION' value='16'/>
+    </enum-decl>
+    <qualified-type-def type-id='type-id-11' const='yes' id='type-id-149'/>
+    <pointer-type-def type-id='type-id-149' size-in-bits='64' id='type-id-148'/>
+    <pointer-type-def type-id='type-id-146' size-in-bits='64' id='type-id-150'/>
+    <function-decl name='rte_flow_classify_table_entry_add' mangled-name='rte_flow_classify_table_entry_add' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='486' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_flow_classify_table_entry_add@@EXPERIMENTAL'>
+      <parameter type-id='type-id-118' name='cls' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='486' column='1'/>
+      <parameter type-id='type-id-137' name='attr' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='487' column='1'/>
+      <parameter type-id='type-id-141' name='pattern' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='488' column='1'/>
+      <parameter type-id='type-id-145' name='actions' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='489' column='1'/>
+      <parameter type-id='type-id-37' name='key_found' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='490' column='1'/>
+      <parameter type-id='type-id-150' name='error' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='491' column='1'/>
+      <return type-id='type-id-132'/>
+    </function-decl>
+    <function-decl name='rte_flow_classify_validate' mangled-name='rte_flow_classify_validate' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='93' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_flow_classify_validate@@EXPERIMENTAL'>
+      <parameter type-id='type-id-118' name='cls' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='94' column='1'/>
+      <parameter type-id='type-id-137' name='attr' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='95' column='1'/>
+      <parameter type-id='type-id-141' name='pattern' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='96' column='1'/>
+      <parameter type-id='type-id-145' name='actions' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='97' column='1'/>
+      <parameter type-id='type-id-150' name='error' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='98' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_flow_classify_table_params' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.h' line='107' column='1' id='type-id-151'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ops' type-id='type-id-152' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='arg_create' type-id='type-id-23' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.h' line='112' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='type' type-id='type-id-3' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.h' line='115' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-152'/>
+    <pointer-type-def type-id='type-id-151' size-in-bits='64' id='type-id-153'/>
+    <function-decl name='rte_flow_classify_table_create' mangled-name='rte_flow_classify_table_create' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='376' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_flow_classify_table_create@@EXPERIMENTAL'>
+      <parameter type-id='type-id-118' name='cls' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='376' column='1'/>
+      <parameter type-id='type-id-153' name='params' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='377' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_flow_classifier_free' mangled-name='rte_flow_classifier_free' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='304' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_flow_classifier_free@@EXPERIMENTAL'>
+      <parameter type-id='type-id-118' name='cls' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='304' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_flow_classifier_params' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.h' line='97' column='1' id='type-id-154'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-148' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.h' line='99' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_flow_classify/rte_flow_classify.h' line='103' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-154' size-in-bits='64' id='type-id-155'/>
+    <function-decl name='rte_flow_classifier_create' mangled-name='rte_flow_classifier_create' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_flow_classifier_create@@EXPERIMENTAL'>
+      <parameter type-id='type-id-155' name='params' filepath='../lib/librte_flow_classify/rte_flow_classify.c' line='262' column='1'/>
+      <return type-id='type-id-118'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-35'>
+      <parameter type-id='type-id-23'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-105'>
+      <parameter type-id='type-id-23'/>
+      <parameter type-id='type-id-103'/>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-104'/>
+      <parameter type-id='type-id-38'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-109'>
+      <parameter type-id='type-id-23'/>
+      <parameter type-id='type-id-108'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-45'>
+      <parameter type-id='type-id-23'/>
+      <parameter type-id='type-id-38'/>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-37'/>
+      <parameter type-id='type-id-38'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-43'>
+      <parameter type-id='type-id-23'/>
+      <parameter type-id='type-id-38'/>
+      <parameter type-id='type-id-38'/>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-37'/>
+      <parameter type-id='type-id-38'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-41'>
+      <parameter type-id='type-id-23'/>
+      <parameter type-id='type-id-23'/>
+      <parameter type-id='type-id-37'/>
+      <parameter type-id='type-id-23'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-39'>
+      <parameter type-id='type-id-23'/>
+      <parameter type-id='type-id-23'/>
+      <parameter type-id='type-id-23'/>
+      <parameter type-id='type-id-37'/>
+      <parameter type-id='type-id-38'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-90'>
+      <parameter type-id='type-id-84'/>
+      <parameter type-id='type-id-23'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-95'>
+      <parameter type-id='type-id-23'/>
+      <parameter type-id='type-id-23'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-33'>
+      <parameter type-id='type-id-23'/>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-8'/>
+      <return type-id='type-id-23'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_gro.dump b/lib/.abi/librte_gro.dump
new file mode 100644
index 000000000..1ee97e77e
--- /dev/null
+++ b/lib/.abi/librte_gro.dump
@@ -0,0 +1,428 @@
+<abi-corpus path='gcc//lib/librte_gro.so.20.0' architecture='elf-amd-x86_64' soname='librte_gro.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_gro_ctx_create' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_gro_ctx_destroy' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_gro_get_pkt_count' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_gro_reassemble' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_gro_reassemble_burst' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_gro_timeout_flush' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_gro/rte_gro.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-1'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-2'/>
+    <typedef-decl name='uint64_t' type-id='type-id-2' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-3'/>
+    <type-decl name='void' id='type-id-4'/>
+    <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-5'/>
+    <function-decl name='rte_gro_get_pkt_count' mangled-name='rte_gro_get_pkt_count' filepath='../lib/librte_gro/rte_gro.c' line='301' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_gro_get_pkt_count@@DPDK_20.0'>
+      <parameter type-id='type-id-5' name='ctx' filepath='../lib/librte_gro/rte_gro.c' line='301' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-6'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-7'/>
+    <typedef-decl name='uint16_t' type-id='type-id-7' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-8'/>
+    <class-decl name='rte_mbuf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='480' column='1' id='type-id-9'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheline0' type-id='type-id-10' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-5' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-11' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rearm_data' type-id='type-id-12' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='497' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_off' type-id='type-id-8' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_segs' type-id='type-id-8' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='port' type-id='type-id-8' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ol_flags' type-id='type-id-3' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_descriptor_fields1' type-id='type-id-10' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='pkt_len' type-id='type-id-13' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data_len' type-id='type-id-8' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='vlan_tci' type-id='type-id-8' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vlan_tci_outer' type-id='type-id-8' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='buf_len' type-id='type-id-8' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='timestamp' type-id='type-id-3' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cacheline1' type-id='type-id-10' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='pool' type-id='type-id-14' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='next' type-id='type-id-15' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv_size' type-id='type-id-8' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='timesync' type-id='type-id-8' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='seqn' type-id='type-id-13' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='shinfo' type-id='type-id-16' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dynfield1' type-id='type-id-17' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-5' size-in-bits='infinite' id='type-id-18'>
+      <subrange length='infinite' type-id='type-id-1' id='type-id-19'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER' type-id='type-id-18' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='414' column='1' id='type-id-10'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='491' column='1' id='type-id-11'>
+      <data-member access='private'>
+        <var-decl name='buf_iova' type-id='type-id-20' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='buf_physaddr' type-id='type-id-20' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_iova_t' type-id='type-id-3' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-20'/>
+
+    <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='infinite' id='type-id-21'>
+      <subrange length='infinite' type-id='type-id-1' id='type-id-19'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER64' type-id='type-id-21' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='420' column='1' id='type-id-12'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-22'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-22' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-23'/>
+    <typedef-decl name='uint32_t' type-id='type-id-23' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-13'/>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-24'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-25' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-26' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-5' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-27' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-22' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-13' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-13' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-13' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-13' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-13' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-22' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-29' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-30' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-13' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-31' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-13' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-33'/>
+
+    <array-type-def dimensions='1' type-id='type-id-33' size-in-bits='256' id='type-id-25'>
+      <subrange length='32' type-id='type-id-1' id='type-id-34'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-26'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-5' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-3' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-35'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-25' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-36' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-37' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-3' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-29' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-13' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-36'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-38' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-20' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-3' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-38'/>
+    <typedef-decl name='size_t' type-id='type-id-1' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-37'/>
+    <type-decl name='int' size-in-bits='32' id='type-id-28'/>
+    <typedef-decl name='__int32_t' type-id='type-id-28' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-39'/>
+    <typedef-decl name='int32_t' type-id='type-id-39' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-29'/>
+    <qualified-type-def type-id='type-id-35' const='yes' id='type-id-40'/>
+    <pointer-type-def type-id='type-id-40' size-in-bits='64' id='type-id-27'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-41'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-13' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-13' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-13' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-42' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-5' size-in-bits='98304' id='type-id-42'>
+      <subrange length='1536' type-id='type-id-1' id='type-id-43'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-30'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-31'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-44' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-45' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-46'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-47' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-14' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-48' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-47'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-44' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-44'/>
+    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-14'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-48'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-20' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-38' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-45'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-32'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-50' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-51'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-52' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-14' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-5' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-53' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-37' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-54' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-5' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-52'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-51' size-in-bits='64' id='type-id-49'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-53'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-20' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-38' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-55' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-56'/>
+    <pointer-type-def type-id='type-id-56' size-in-bits='64' id='type-id-54'/>
+    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-50'/>
+    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-15'/>
+    <class-decl name='rte_mbuf_ext_shared_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='689' column='1' id='type-id-57'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_cb' type-id='type-id-58' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcb_opaque' type-id='type-id-5' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt_atomic' type-id='type-id-59' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-61'/>
+    <typedef-decl name='rte_mbuf_extbuf_free_callback_t' type-id='type-id-61' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='684' column='1' id='type-id-58'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-59' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-62'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-63' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-64'/>
+    <typedef-decl name='__int16_t' type-id='type-id-64' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-65'/>
+    <typedef-decl name='int16_t' type-id='type-id-65' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-66'/>
+    <qualified-type-def type-id='type-id-66' volatile='yes' id='type-id-63'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-62' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-59'/>
+    <pointer-type-def type-id='type-id-57' size-in-bits='64' id='type-id-16'/>
+
+    <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='128' id='type-id-17'>
+      <subrange length='2' type-id='type-id-1' id='type-id-67'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-15' size-in-bits='64' id='type-id-68'/>
+    <function-decl name='rte_gro_timeout_flush' mangled-name='rte_gro_timeout_flush' filepath='../lib/librte_gro/rte_gro.c' line='269' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_gro_timeout_flush@@DPDK_20.0'>
+      <parameter type-id='type-id-5' name='ctx' filepath='../lib/librte_gro/rte_gro.c' line='269' column='1'/>
+      <parameter type-id='type-id-3' name='timeout_cycles' filepath='../lib/librte_gro/rte_gro.c' line='270' column='1'/>
+      <parameter type-id='type-id-3' name='gro_types' filepath='../lib/librte_gro/rte_gro.c' line='271' column='1'/>
+      <parameter type-id='type-id-68' name='out' filepath='../lib/librte_gro/rte_gro.c' line='272' column='1'/>
+      <parameter type-id='type-id-8' name='max_nb_out' filepath='../lib/librte_gro/rte_gro.c' line='273' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='rte_gro_reassemble' mangled-name='rte_gro_reassemble' filepath='../lib/librte_gro/rte_gro.c' line='221' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_gro_reassemble@@DPDK_20.0'>
+      <parameter type-id='type-id-68' name='pkts' filepath='../lib/librte_gro/rte_gro.c' line='221' column='1'/>
+      <parameter type-id='type-id-8' name='nb_pkts' filepath='../lib/librte_gro/rte_gro.c' line='222' column='1'/>
+      <parameter type-id='type-id-5' name='ctx' filepath='../lib/librte_gro/rte_gro.c' line='223' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <class-decl name='rte_gro_param' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_gro/rte_gro.h' line='40' column='1' id='type-id-69'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='gro_types' type-id='type-id-3' visibility='default' filepath='../lib/librte_gro/rte_gro.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='max_flow_num' type-id='type-id-8' visibility='default' filepath='../lib/librte_gro/rte_gro.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='max_item_per_flow' type-id='type-id-8' visibility='default' filepath='../lib/librte_gro/rte_gro.h' line='45' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='socket_id' type-id='type-id-8' visibility='default' filepath='../lib/librte_gro/rte_gro.h' line='47' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-69' const='yes' id='type-id-70'/>
+    <pointer-type-def type-id='type-id-70' size-in-bits='64' id='type-id-71'/>
+    <function-decl name='rte_gro_reassemble_burst' mangled-name='rte_gro_reassemble_burst' filepath='../lib/librte_gro/rte_gro.c' line='117' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_gro_reassemble_burst@@DPDK_20.0'>
+      <parameter type-id='type-id-68' name='pkts' filepath='../lib/librte_gro/rte_gro.c' line='117' column='1'/>
+      <parameter type-id='type-id-8' name='nb_pkts' filepath='../lib/librte_gro/rte_gro.c' line='118' column='1'/>
+      <parameter type-id='type-id-71' name='param' filepath='../lib/librte_gro/rte_gro.c' line='119' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='rte_gro_ctx_destroy' mangled-name='rte_gro_ctx_destroy' filepath='../lib/librte_gro/rte_gro.c' line='98' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_gro_ctx_destroy@@DPDK_20.0'>
+      <parameter type-id='type-id-5' name='ctx' filepath='../lib/librte_gro/rte_gro.c' line='98' column='1'/>
+      <return type-id='type-id-4'/>
+    </function-decl>
+    <function-decl name='rte_gro_ctx_create' mangled-name='rte_gro_ctx_create' filepath='../lib/librte_gro/rte_gro.c' line='57' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_gro_ctx_create@@DPDK_20.0'>
+      <parameter type-id='type-id-71' name='param' filepath='../lib/librte_gro/rte_gro.c' line='57' column='1'/>
+      <return type-id='type-id-5'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-55'>
+      <parameter type-id='type-id-49'/>
+      <parameter type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-60'>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-5'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_gso.dump b/lib/.abi/librte_gso.dump
new file mode 100644
index 000000000..7f7be2710
--- /dev/null
+++ b/lib/.abi/librte_gso.dump
@@ -0,0 +1,402 @@
+<abi-corpus path='gcc//lib/librte_gso.so.20.0' architecture='elf-amd-x86_64' soname='librte_gso.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_gso_segment' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_gso/rte_gso.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <class-decl name='rte_mbuf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='480' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheline0' type-id='type-id-3' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-4' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rearm_data' type-id='type-id-6' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='497' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_off' type-id='type-id-7' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_segs' type-id='type-id-7' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='port' type-id='type-id-7' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ol_flags' type-id='type-id-8' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_descriptor_fields1' type-id='type-id-3' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='pkt_len' type-id='type-id-9' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data_len' type-id='type-id-7' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='vlan_tci' type-id='type-id-7' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vlan_tci_outer' type-id='type-id-7' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='buf_len' type-id='type-id-7' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='timestamp' type-id='type-id-8' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cacheline1' type-id='type-id-3' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='pool' type-id='type-id-10' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='next' type-id='type-id-11' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv_size' type-id='type-id-7' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='timesync' type-id='type-id-7' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='seqn' type-id='type-id-9' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='shinfo' type-id='type-id-12' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dynfield1' type-id='type-id-13' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='void' id='type-id-14'/>
+    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-4'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-15'/>
+
+    <array-type-def dimensions='1' type-id='type-id-4' size-in-bits='infinite' id='type-id-16'>
+      <subrange length='infinite' type-id='type-id-15' id='type-id-17'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER' type-id='type-id-16' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='414' column='1' id='type-id-3'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='491' column='1' id='type-id-5'>
+      <data-member access='private'>
+        <var-decl name='buf_iova' type-id='type-id-18' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='buf_physaddr' type-id='type-id-18' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='__uint64_t' type-id='type-id-15' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-19'/>
+    <typedef-decl name='uint64_t' type-id='type-id-19' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-8'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-8' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-18'/>
+
+    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='infinite' id='type-id-20'>
+      <subrange length='infinite' type-id='type-id-15' id='type-id-17'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER64' type-id='type-id-20' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='420' column='1' id='type-id-6'/>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-21'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-21' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-22'/>
+    <typedef-decl name='uint16_t' type-id='type-id-22' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-7'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-23'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-23' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-24'/>
+    <typedef-decl name='uint32_t' type-id='type-id-24' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-9'/>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-25'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-26' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-27' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-4' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-23' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-9' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-9' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-9' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-9' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-9' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-23' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-29' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-30' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-9' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-31' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-9' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-33'/>
+
+    <array-type-def dimensions='1' type-id='type-id-33' size-in-bits='256' id='type-id-26'>
+      <subrange length='32' type-id='type-id-15' id='type-id-34'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-27'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-4' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-8' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-35'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-26' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-36' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-37' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-8' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-29' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-9' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-36'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-38' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-18' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-8' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-38'/>
+    <typedef-decl name='size_t' type-id='type-id-15' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-37'/>
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-39'/>
+    <typedef-decl name='int32_t' type-id='type-id-39' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-29'/>
+    <qualified-type-def type-id='type-id-35' const='yes' id='type-id-40'/>
+    <pointer-type-def type-id='type-id-40' size-in-bits='64' id='type-id-28'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-41'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-9' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-9' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-9' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-42' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-4' size-in-bits='98304' id='type-id-42'>
+      <subrange length='1536' type-id='type-id-15' id='type-id-43'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-30'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-31'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-44' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-45' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-46'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-47' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-10' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-48' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-47'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-44' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-44'/>
+    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-10'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-48'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-18' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-38' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-45'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-32'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-50' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-51'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-52' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-10' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-4' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-53' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-37' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-54' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-4' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-52'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-51' size-in-bits='64' id='type-id-49'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-53'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-18' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-38' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-55' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-56'/>
+    <pointer-type-def type-id='type-id-56' size-in-bits='64' id='type-id-54'/>
+    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-50'/>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-11'/>
+    <class-decl name='rte_mbuf_ext_shared_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='689' column='1' id='type-id-57'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_cb' type-id='type-id-58' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcb_opaque' type-id='type-id-4' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt_atomic' type-id='type-id-59' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-61'/>
+    <typedef-decl name='rte_mbuf_extbuf_free_callback_t' type-id='type-id-61' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='684' column='1' id='type-id-58'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-59' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-62'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-63' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-64'/>
+    <typedef-decl name='__int16_t' type-id='type-id-64' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-65'/>
+    <typedef-decl name='int16_t' type-id='type-id-65' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-66'/>
+    <qualified-type-def type-id='type-id-66' volatile='yes' id='type-id-63'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-62' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-59'/>
+    <pointer-type-def type-id='type-id-57' size-in-bits='64' id='type-id-12'/>
+
+    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='128' id='type-id-13'>
+      <subrange length='2' type-id='type-id-15' id='type-id-67'/>
+
+    </array-type-def>
+    <class-decl name='rte_gso_ctx' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_gso/rte_gso.h' line='37' column='1' id='type-id-68'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='direct_pool' type-id='type-id-10' visibility='default' filepath='../lib/librte_gso/rte_gso.h' line='38' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='indirect_pool' type-id='type-id-10' visibility='default' filepath='../lib/librte_gso/rte_gso.h' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='flag' type-id='type-id-8' visibility='default' filepath='../lib/librte_gso/rte_gso.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='gso_types' type-id='type-id-9' visibility='default' filepath='../lib/librte_gso/rte_gso.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='gso_size' type-id='type-id-7' visibility='default' filepath='../lib/librte_gso/rte_gso.h' line='61' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-68' const='yes' id='type-id-69'/>
+    <pointer-type-def type-id='type-id-69' size-in-bits='64' id='type-id-70'/>
+    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-71'/>
+    <function-decl name='rte_gso_segment' mangled-name='rte_gso_segment' filepath='../lib/librte_gso/rte_gso.c' line='27' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_gso_segment@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='pkt' filepath='../lib/librte_gso/rte_gso.c' line='27' column='1'/>
+      <parameter type-id='type-id-70' name='gso_ctx' filepath='../lib/librte_gso/rte_gso.c' line='28' column='1'/>
+      <parameter type-id='type-id-71' name='pkts_out' filepath='../lib/librte_gso/rte_gso.c' line='29' column='1'/>
+      <parameter type-id='type-id-7' name='nb_pkts_out' filepath='../lib/librte_gso/rte_gso.c' line='30' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-55'>
+      <parameter type-id='type-id-49'/>
+      <parameter type-id='type-id-4'/>
+      <return type-id='type-id-14'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-60'>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-4'/>
+      <return type-id='type-id-14'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_hash.dump b/lib/.abi/librte_hash.dump
new file mode 100644
index 000000000..039f23fd9
--- /dev/null
+++ b/lib/.abi/librte_hash.dump
@@ -0,0 +1,578 @@
+<abi-corpus path='gcc//lib/librte_hash.so.20.0' architecture='elf-amd-x86_64' soname='librte_hash.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_fbk_hash_create' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fbk_hash_find_existing' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fbk_hash_free' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_hash_add_key' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_hash_add_key_data' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_hash_add_key_with_hash' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_hash_add_key_with_hash_data' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_hash_count' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_hash_create' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_hash_del_key' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_hash_del_key_with_hash' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_hash_find_existing' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_hash_free' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_hash_free_key_with_position' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_hash_get_key_with_position' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_hash_hash' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_hash_iterate' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_hash_lookup' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_hash_lookup_bulk' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_hash_lookup_bulk_data' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_hash_lookup_data' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_hash_lookup_with_hash' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_hash_lookup_with_hash_data' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_hash_reset' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_hash_set_cmp_func' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_hash/rte_cuckoo_hash.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-2'/>
+    <typedef-decl name='int32_t' type-id='type-id-2' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-3'/>
+    <class-decl name='rte_hash' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_hash/rte_cuckoo_hash.h' line='160' column='1' id='type-id-4'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-5' visibility='default' filepath='../lib/librte_hash/rte_cuckoo_hash.h' line='161' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='entries' type-id='type-id-6' visibility='default' filepath='../lib/librte_hash/rte_cuckoo_hash.h' line='162' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='num_buckets' type-id='type-id-6' visibility='default' filepath='../lib/librte_hash/rte_cuckoo_hash.h' line='163' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_slots' type-id='type-id-7' visibility='default' filepath='../lib/librte_hash/rte_cuckoo_hash.h' line='165' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='local_free_slots' type-id='type-id-8' visibility='default' filepath='../lib/librte_hash/rte_cuckoo_hash.h' line='168' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='key_len' type-id='type-id-6' visibility='default' filepath='../lib/librte_hash/rte_cuckoo_hash.h' line='173' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='hw_trans_mem_support' type-id='type-id-9' visibility='default' filepath='../lib/librte_hash/rte_cuckoo_hash.h' line='175' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='552'>
+        <var-decl name='use_local_cache' type-id='type-id-9' visibility='default' filepath='../lib/librte_hash/rte_cuckoo_hash.h' line='177' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='560'>
+        <var-decl name='readwrite_concur_support' type-id='type-id-9' visibility='default' filepath='../lib/librte_hash/rte_cuckoo_hash.h' line='181' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='568'>
+        <var-decl name='ext_table_support' type-id='type-id-9' visibility='default' filepath='../lib/librte_hash/rte_cuckoo_hash.h' line='183' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='no_free_on_del' type-id='type-id-9' visibility='default' filepath='../lib/librte_hash/rte_cuckoo_hash.h' line='184' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='584'>
+        <var-decl name='readwrite_concur_lf_support' type-id='type-id-9' visibility='default' filepath='../lib/librte_hash/rte_cuckoo_hash.h' line='190' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='592'>
+        <var-decl name='writer_takes_lock' type-id='type-id-9' visibility='default' filepath='../lib/librte_hash/rte_cuckoo_hash.h' line='192' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='hash_func' type-id='type-id-10' visibility='default' filepath='../lib/librte_hash/rte_cuckoo_hash.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='hash_func_init_val' type-id='type-id-6' visibility='default' filepath='../lib/librte_hash/rte_cuckoo_hash.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='rte_hash_custom_cmp_eq' type-id='type-id-11' visibility='default' filepath='../lib/librte_hash/rte_cuckoo_hash.h' line='196' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='cmp_jump_table_idx' type-id='type-id-12' visibility='default' filepath='../lib/librte_hash/rte_cuckoo_hash.h' line='198' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='864'>
+        <var-decl name='sig_cmp_fn' type-id='type-id-13' visibility='default' filepath='../lib/librte_hash/rte_cuckoo_hash.h' line='200' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='bucket_bitmask' type-id='type-id-6' visibility='default' filepath='../lib/librte_hash/rte_cuckoo_hash.h' line='202' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='928'>
+        <var-decl name='key_entry_size' type-id='type-id-6' visibility='default' filepath='../lib/librte_hash/rte_cuckoo_hash.h' line='204' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='key_store' type-id='type-id-14' visibility='default' filepath='../lib/librte_hash/rte_cuckoo_hash.h' line='206' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='buckets' type-id='type-id-15' visibility='default' filepath='../lib/librte_hash/rte_cuckoo_hash.h' line='207' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='readwrite_lock' type-id='type-id-16' visibility='default' filepath='../lib/librte_hash/rte_cuckoo_hash.h' line='211' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='buckets_ext' type-id='type-id-15' visibility='default' filepath='../lib/librte_hash/rte_cuckoo_hash.h' line='212' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='free_ext_bkts' type-id='type-id-7' visibility='default' filepath='../lib/librte_hash/rte_cuckoo_hash.h' line='213' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='ext_bkt_to_free' type-id='type-id-17' visibility='default' filepath='../lib/librte_hash/rte_cuckoo_hash.h' line='220' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='tbl_chng_cnt' type-id='type-id-17' visibility='default' filepath='../lib/librte_hash/rte_cuckoo_hash.h' line='221' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-18'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-19'/>
+
+    <array-type-def dimensions='1' type-id='type-id-18' size-in-bits='256' id='type-id-5'>
+      <subrange length='32' type-id='type-id-19' id='type-id-20'/>
+
+    </array-type-def>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-21'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-21' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-22'/>
+    <typedef-decl name='uint32_t' type-id='type-id-22' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-6'/>
+    <class-decl name='rte_ring' size-in-bits='3072' is-struct='yes' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='81' column='1' id='type-id-23'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-5' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='87' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='flags' type-id='type-id-1' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='memzone' type-id='type-id-24' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='89' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='size' type-id='type-id-6' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='mask' type-id='type-id-6' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='92' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='capacity' type-id='type-id-6' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='93' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='pad0' type-id='type-id-18' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='95' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='prod' type-id='type-id-25' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='98' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='pad1' type-id='type-id-18' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='99' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='cons' type-id='type-id-25' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='102' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='pad2' type-id='type-id-18' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='103' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-26'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-5' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-27' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-28' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-29' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-3' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-6' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-27'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-30' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-31' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='__uint64_t' type-id='type-id-19' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-32'/>
+    <typedef-decl name='uint64_t' type-id='type-id-32' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-29'/>
+    <typedef-decl name='phys_addr_t' type-id='type-id-29' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-30'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-29' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-31'/>
+    <typedef-decl name='size_t' type-id='type-id-19' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-28'/>
+    <qualified-type-def type-id='type-id-26' const='yes' id='type-id-33'/>
+    <pointer-type-def type-id='type-id-33' size-in-bits='64' id='type-id-24'/>
+    <class-decl name='rte_ring_headtail' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='65' column='1' id='type-id-25'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='head' type-id='type-id-34' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tail' type-id='type-id-34' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='single' type-id='type-id-6' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='68' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-6' volatile='yes' id='type-id-34'/>
+    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-7'/>
+    <class-decl name='lcore_cache' size-in-bits='4608' is-struct='yes' visibility='default' filepath='../lib/librte_hash/rte_cuckoo_hash.h' line='125' column='1' id='type-id-35'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='len' type-id='type-id-21' visibility='default' filepath='../lib/librte_hash/rte_cuckoo_hash.h' line='126' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='objs' type-id='type-id-36' visibility='default' filepath='../lib/librte_hash/rte_cuckoo_hash.h' line='127' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='void' id='type-id-37'/>
+    <pointer-type-def type-id='type-id-37' size-in-bits='64' id='type-id-14'/>
+
+    <array-type-def dimensions='1' type-id='type-id-14' size-in-bits='4096' id='type-id-36'>
+      <subrange length='64' type-id='type-id-19' id='type-id-38'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-35' size-in-bits='64' id='type-id-8'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-39'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-39' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-40'/>
+    <typedef-decl name='uint8_t' type-id='type-id-40' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-9'/>
+    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-42'/>
+    <typedef-decl name='rte_hash_function' type-id='type-id-42' filepath='../lib/librte_hash/rte_hash.h' line='66' column='1' id='type-id-10'/>
+    <pointer-type-def type-id='type-id-43' size-in-bits='64' id='type-id-44'/>
+    <typedef-decl name='rte_hash_cmp_eq_t' type-id='type-id-44' filepath='../lib/librte_hash/rte_hash.h' line='70' column='1' id='type-id-11'/>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-45'/>
+    <enum-decl name='cmp_jump_table_case' filepath='../lib/librte_hash/rte_cuckoo_hash.h' line='51' column='1' id='type-id-12'>
+      <underlying-type type-id='type-id-45'/>
+      <enumerator name='KEY_CUSTOM' value='0'/>
+      <enumerator name='KEY_16_BYTES' value='1'/>
+      <enumerator name='KEY_32_BYTES' value='2'/>
+      <enumerator name='KEY_48_BYTES' value='3'/>
+      <enumerator name='KEY_64_BYTES' value='4'/>
+      <enumerator name='KEY_80_BYTES' value='5'/>
+      <enumerator name='KEY_96_BYTES' value='6'/>
+      <enumerator name='KEY_112_BYTES' value='7'/>
+      <enumerator name='KEY_128_BYTES' value='8'/>
+      <enumerator name='KEY_OTHER_BYTES' value='9'/>
+      <enumerator name='NUM_KEY_CMP_CASES' value='10'/>
+    </enum-decl>
+    <enum-decl name='rte_hash_sig_compare_function' filepath='../lib/librte_hash/rte_cuckoo_hash.h' line='141' column='1' id='type-id-13'>
+      <underlying-type type-id='type-id-45'/>
+      <enumerator name='RTE_HASH_COMPARE_SCALAR' value='0'/>
+      <enumerator name='RTE_HASH_COMPARE_SSE' value='1'/>
+      <enumerator name='RTE_HASH_COMPARE_NEON' value='2'/>
+      <enumerator name='RTE_HASH_COMPARE_NUM' value='3'/>
+    </enum-decl>
+    <class-decl name='rte_hash_bucket' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_hash/rte_cuckoo_hash.h' line='149' column='1' id='type-id-46'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='sig_current' type-id='type-id-47' visibility='default' filepath='../lib/librte_hash/rte_cuckoo_hash.h' line='150' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='key_idx' type-id='type-id-48' visibility='default' filepath='../lib/librte_hash/rte_cuckoo_hash.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='flag' type-id='type-id-49' visibility='default' filepath='../lib/librte_hash/rte_cuckoo_hash.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='next' type-id='type-id-14' visibility='default' filepath='../lib/librte_hash/rte_cuckoo_hash.h' line='156' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-50'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-50' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-51'/>
+    <typedef-decl name='uint16_t' type-id='type-id-51' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-52'/>
+
+    <array-type-def dimensions='1' type-id='type-id-52' size-in-bits='128' id='type-id-47'>
+      <subrange length='8' type-id='type-id-19' id='type-id-53'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-6' size-in-bits='256' id='type-id-48'>
+      <subrange length='8' type-id='type-id-19' id='type-id-53'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-9' size-in-bits='64' id='type-id-49'>
+      <subrange length='8' type-id='type-id-19' id='type-id-53'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-15'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-54' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_rwlock.h' line='33' column='1' id='type-id-55'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-56' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_rwlock.h' line='34' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-3' volatile='yes' id='type-id-56'/>
+    <typedef-decl name='rte_rwlock_t' type-id='type-id-55' filepath='../lib/librte_eal/common/include/generic/rte_rwlock.h' line='35' column='1' id='type-id-54'/>
+    <pointer-type-def type-id='type-id-54' size-in-bits='64' id='type-id-16'/>
+    <pointer-type-def type-id='type-id-6' size-in-bits='64' id='type-id-17'/>
+    <qualified-type-def type-id='type-id-4' const='yes' id='type-id-57'/>
+    <pointer-type-def type-id='type-id-57' size-in-bits='64' id='type-id-58'/>
+    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-59'/>
+    <function-decl name='rte_hash_iterate' mangled-name='rte_hash_iterate' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='2154' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_hash_iterate@@DPDK_20.0'>
+      <parameter type-id='type-id-58' name='h' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='2154' column='1'/>
+      <parameter type-id='type-id-59' name='key' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='2154' column='1'/>
+      <parameter type-id='type-id-59' name='data' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='2154' column='1'/>
+      <parameter type-id='type-id-17' name='next' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='2154' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-60'/>
+    <function-decl name='rte_hash_lookup_bulk_data' mangled-name='rte_hash_lookup_bulk_data' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='2138' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_hash_lookup_bulk_data@@DPDK_20.0'>
+      <parameter type-id='type-id-58' name='h' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='2138' column='1'/>
+      <parameter type-id='type-id-59' name='keys' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='2138' column='1'/>
+      <parameter type-id='type-id-6' name='num_keys' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='2139' column='1'/>
+      <parameter type-id='type-id-60' name='hit_mask' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='2139' column='1'/>
+      <parameter type-id='type-id-59' name='data' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='2139' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-61'/>
+    <function-decl name='rte_hash_lookup_bulk' mangled-name='rte_hash_lookup_bulk' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='2126' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_hash_lookup_bulk@@DPDK_20.0'>
+      <parameter type-id='type-id-58' name='h' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='2126' column='1'/>
+      <parameter type-id='type-id-59' name='keys' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='2126' column='1'/>
+      <parameter type-id='type-id-6' name='num_keys' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='2127' column='1'/>
+      <parameter type-id='type-id-61' name='positions' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='2127' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-3' const='yes' id='type-id-62'/>
+    <function-decl name='rte_hash_get_key_with_position' mangled-name='rte_hash_get_key_with_position' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1576' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_hash_get_key_with_position@@DPDK_20.0'>
+      <parameter type-id='type-id-58' name='h' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1576' column='1'/>
+      <parameter type-id='type-id-62' name='position' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1576' column='1'/>
+      <parameter type-id='type-id-59' name='key' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1577' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_hash_del_key' mangled-name='rte_hash_del_key' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1569' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_hash_del_key@@DPDK_20.0'>
+      <parameter type-id='type-id-58' name='h' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1569' column='1'/>
+      <parameter type-id='type-id-14' name='key' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1569' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <typedef-decl name='hash_sig_t' type-id='type-id-6' filepath='../lib/librte_hash/rte_hash.h' line='63' column='1' id='type-id-63'/>
+    <function-decl name='rte_hash_del_key_with_hash' mangled-name='rte_hash_del_key_with_hash' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1561' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_hash_del_key_with_hash@@DPDK_20.0'>
+      <parameter type-id='type-id-58' name='h' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1561' column='1'/>
+      <parameter type-id='type-id-14' name='key' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1562' column='1'/>
+      <parameter type-id='type-id-63' name='sig' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1562' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <function-decl name='rte_hash_lookup_data' mangled-name='rte_hash_lookup_data' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1358' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_hash_lookup_data@@DPDK_20.0'>
+      <parameter type-id='type-id-58' name='h' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1358' column='1'/>
+      <parameter type-id='type-id-14' name='key' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1358' column='1'/>
+      <parameter type-id='type-id-59' name='data' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1358' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_hash_lookup_with_hash_data' mangled-name='rte_hash_lookup_with_hash_data' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1350' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_hash_lookup_with_hash_data@@DPDK_20.0'>
+      <parameter type-id='type-id-58' name='h' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1350' column='1'/>
+      <parameter type-id='type-id-14' name='key' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1351' column='1'/>
+      <parameter type-id='type-id-63' name='sig' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1351' column='1'/>
+      <parameter type-id='type-id-59' name='data' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1351' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_hash_lookup' mangled-name='rte_hash_lookup' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1343' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_hash_lookup@@DPDK_20.0'>
+      <parameter type-id='type-id-58' name='h' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1569' column='1'/>
+      <parameter type-id='type-id-14' name='key' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1569' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <function-decl name='rte_hash_lookup_with_hash' mangled-name='rte_hash_lookup_with_hash' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1335' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_hash_lookup_with_hash@@DPDK_20.0'>
+      <parameter type-id='type-id-58' name='h' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1561' column='1'/>
+      <parameter type-id='type-id-14' name='key' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1562' column='1'/>
+      <parameter type-id='type-id-63' name='sig' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1562' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <function-decl name='rte_hash_add_key_data' mangled-name='rte_hash_add_key_data' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1138' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_hash_add_key_data@@DPDK_20.0'>
+      <parameter type-id='type-id-58' name='h' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1138' column='1'/>
+      <parameter type-id='type-id-14' name='key' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1138' column='1'/>
+      <parameter type-id='type-id-14' name='data' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1138' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_hash_add_key_with_hash_data' mangled-name='rte_hash_add_key_with_hash_data' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1124' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_hash_add_key_with_hash_data@@DPDK_20.0'>
+      <parameter type-id='type-id-58' name='h' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1124' column='1'/>
+      <parameter type-id='type-id-14' name='key' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1125' column='1'/>
+      <parameter type-id='type-id-63' name='sig' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1125' column='1'/>
+      <parameter type-id='type-id-14' name='data' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1125' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_hash_add_key' mangled-name='rte_hash_add_key' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1117' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_hash_add_key@@DPDK_20.0'>
+      <parameter type-id='type-id-58' name='h' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1569' column='1'/>
+      <parameter type-id='type-id-14' name='key' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1569' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <function-decl name='rte_hash_add_key_with_hash' mangled-name='rte_hash_add_key_with_hash' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1109' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_hash_add_key_with_hash@@DPDK_20.0'>
+      <parameter type-id='type-id-58' name='h' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1561' column='1'/>
+      <parameter type-id='type-id-14' name='key' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1562' column='1'/>
+      <parameter type-id='type-id-63' name='sig' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1562' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-64'/>
+    <function-decl name='rte_hash_reset' mangled-name='rte_hash_reset' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='571' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_hash_reset@@DPDK_20.0'>
+      <parameter type-id='type-id-64' name='h' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='571' column='1'/>
+      <return type-id='type-id-37'/>
+    </function-decl>
+    <function-decl name='rte_hash_count' mangled-name='rte_hash_count' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='510' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_hash_count@@DPDK_20.0'>
+      <parameter type-id='type-id-58' name='h' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='510' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <function-decl name='rte_hash_hash' mangled-name='rte_hash_hash' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='503' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_hash_hash@@DPDK_20.0'>
+      <parameter type-id='type-id-58' name='h' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='503' column='1'/>
+      <parameter type-id='type-id-14' name='key' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='503' column='1'/>
+      <return type-id='type-id-63'/>
+    </function-decl>
+    <function-decl name='rte_hash_free' mangled-name='rte_hash_free' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='460' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_hash_free@@DPDK_20.0'>
+      <parameter type-id='type-id-64' name='h' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='460' column='1'/>
+      <return type-id='type-id-37'/>
+    </function-decl>
+    <class-decl name='rte_hash_parameters' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_hash/rte_hash.h' line='75' column='1' id='type-id-65'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-66' visibility='default' filepath='../lib/librte_hash/rte_hash.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='entries' type-id='type-id-6' visibility='default' filepath='../lib/librte_hash/rte_hash.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='reserved' type-id='type-id-6' visibility='default' filepath='../lib/librte_hash/rte_hash.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='key_len' type-id='type-id-6' visibility='default' filepath='../lib/librte_hash/rte_hash.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='hash_func' type-id='type-id-10' visibility='default' filepath='../lib/librte_hash/rte_hash.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='hash_func_init_val' type-id='type-id-6' visibility='default' filepath='../lib/librte_hash/rte_hash.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_hash/rte_hash.h' line='82' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='extra_flag' type-id='type-id-9' visibility='default' filepath='../lib/librte_hash/rte_hash.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-18' const='yes' id='type-id-67'/>
+    <pointer-type-def type-id='type-id-67' size-in-bits='64' id='type-id-66'/>
+    <qualified-type-def type-id='type-id-65' const='yes' id='type-id-68'/>
+    <pointer-type-def type-id='type-id-68' size-in-bits='64' id='type-id-69'/>
+    <function-decl name='rte_hash_create' mangled-name='rte_hash_create' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='125' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_hash_create@@DPDK_20.0'>
+      <parameter type-id='type-id-69' name='params' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='125' column='1'/>
+      <return type-id='type-id-64'/>
+    </function-decl>
+    <function-decl name='rte_hash_set_cmp_func' mangled-name='rte_hash_set_cmp_func' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_hash_set_cmp_func@@DPDK_20.0'>
+      <parameter type-id='type-id-64' name='h' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='79' column='1'/>
+      <parameter type-id='type-id-11' name='func' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='79' column='1'/>
+      <return type-id='type-id-37'/>
+    </function-decl>
+    <function-decl name='rte_hash_find_existing' mangled-name='rte_hash_find_existing' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='48' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_hash_find_existing@@DPDK_20.0'>
+      <parameter type-id='type-id-66' name='name' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='48' column='1'/>
+      <return type-id='type-id-64'/>
+    </function-decl>
+    <function-decl name='rte_hash_free_key_with_position' mangled-name='rte_hash_free_key_with_position' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1596' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_hash_free_key_with_position@@EXPERIMENTAL'>
+      <parameter type-id='type-id-58' name='h' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1596' column='1'/>
+      <parameter type-id='type-id-62' name='position' filepath='../lib/librte_hash/rte_cuckoo_hash.c' line='1597' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-43'>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-41'>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-6'/>
+      <parameter type-id='type-id-6'/>
+      <return type-id='type-id-6'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_hash/rte_fbk_hash.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_fbk_hash_table' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_hash/rte_fbk_hash.h' line='71' column='1' id='type-id-70'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-5' visibility='default' filepath='../lib/librte_hash/rte_fbk_hash.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='entries' type-id='type-id-6' visibility='default' filepath='../lib/librte_hash/rte_fbk_hash.h' line='73' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='entries_per_bucket' type-id='type-id-6' visibility='default' filepath='../lib/librte_hash/rte_fbk_hash.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='used_entries' type-id='type-id-6' visibility='default' filepath='../lib/librte_hash/rte_fbk_hash.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='bucket_mask' type-id='type-id-6' visibility='default' filepath='../lib/librte_hash/rte_fbk_hash.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='bucket_shift' type-id='type-id-6' visibility='default' filepath='../lib/librte_hash/rte_fbk_hash.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hash_func' type-id='type-id-71' visibility='default' filepath='../lib/librte_hash/rte_fbk_hash.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='init_val' type-id='type-id-6' visibility='default' filepath='../lib/librte_hash/rte_fbk_hash.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='t' type-id='type-id-72' visibility='default' filepath='../lib/librte_hash/rte_fbk_hash.h' line='82' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-73' size-in-bits='64' id='type-id-74'/>
+    <typedef-decl name='rte_fbk_hash_fn' type-id='type-id-74' filepath='../lib/librte_hash/rte_fbk_hash.h' line='47' column='1' id='type-id-71'/>
+    <union-decl name='rte_fbk_hash_entry' size-in-bits='64' visibility='default' filepath='../lib/librte_hash/rte_fbk_hash.h' line='60' column='1' id='type-id-75'>
+      <data-member access='private'>
+        <var-decl name='whole_entry' type-id='type-id-29' visibility='default' filepath='../lib/librte_hash/rte_fbk_hash.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='entry' type-id='type-id-76' visibility='default' filepath='../lib/librte_hash/rte_fbk_hash.h' line='66' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_hash/rte_fbk_hash.h' line='62' column='1' id='type-id-76'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='is_entry' type-id='type-id-52' visibility='default' filepath='../lib/librte_hash/rte_fbk_hash.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='value' type-id='type-id-52' visibility='default' filepath='../lib/librte_hash/rte_fbk_hash.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='key' type-id='type-id-6' visibility='default' filepath='../lib/librte_hash/rte_fbk_hash.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-75' size-in-bits='infinite' id='type-id-72'>
+      <subrange length='infinite' type-id='type-id-19' id='type-id-77'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-70' size-in-bits='64' id='type-id-78'/>
+    <function-decl name='rte_fbk_hash_free' mangled-name='rte_fbk_hash_free' filepath='../lib/librte_hash/rte_fbk_hash.c' line='181' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fbk_hash_free@@DPDK_20.0'>
+      <parameter type-id='type-id-78' name='ht' filepath='../lib/librte_hash/rte_fbk_hash.c' line='181' column='1'/>
+      <return type-id='type-id-37'/>
+    </function-decl>
+    <class-decl name='rte_fbk_hash_params' size-in-bits='320' is-struct='yes' visibility='default' filepath='../lib/librte_hash/rte_fbk_hash.h' line='50' column='1' id='type-id-79'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-66' visibility='default' filepath='../lib/librte_hash/rte_fbk_hash.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='entries' type-id='type-id-6' visibility='default' filepath='../lib/librte_hash/rte_fbk_hash.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='entries_per_bucket' type-id='type-id-6' visibility='default' filepath='../lib/librte_hash/rte_fbk_hash.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_hash/rte_fbk_hash.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='hash_func' type-id='type-id-71' visibility='default' filepath='../lib/librte_hash/rte_fbk_hash.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='init_val' type-id='type-id-6' visibility='default' filepath='../lib/librte_hash/rte_fbk_hash.h' line='56' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-79' const='yes' id='type-id-80'/>
+    <pointer-type-def type-id='type-id-80' size-in-bits='64' id='type-id-81'/>
+    <function-decl name='rte_fbk_hash_create' mangled-name='rte_fbk_hash_create' filepath='../lib/librte_hash/rte_fbk_hash.c' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fbk_hash_create@@DPDK_20.0'>
+      <parameter type-id='type-id-81' name='params' filepath='../lib/librte_hash/rte_fbk_hash.c' line='79' column='1'/>
+      <return type-id='type-id-78'/>
+    </function-decl>
+    <function-decl name='rte_fbk_hash_find_existing' mangled-name='rte_fbk_hash_find_existing' filepath='../lib/librte_hash/rte_fbk_hash.c' line='45' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fbk_hash_find_existing@@DPDK_20.0'>
+      <parameter type-id='type-id-66' name='name' filepath='../lib/librte_hash/rte_fbk_hash.c' line='45' column='1'/>
+      <return type-id='type-id-78'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-73'>
+      <parameter type-id='type-id-6'/>
+      <parameter type-id='type-id-6'/>
+      <return type-id='type-id-6'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_ip_frag.dump b/lib/.abi/librte_ip_frag.dump
new file mode 100644
index 000000000..4060ed6fb
--- /dev/null
+++ b/lib/.abi/librte_ip_frag.dump
@@ -0,0 +1,813 @@
+<abi-corpus path='gcc//lib/librte_ip_frag.so.20.0' architecture='elf-amd-x86_64' soname='librte_ip_frag.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_frag_table_del_expired_entries' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_ip_frag_free_death_row' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_ip_frag_table_create' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_ip_frag_table_destroy' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_ip_frag_table_statistics_dump' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_ipv4_frag_reassemble_packet' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_ipv4_fragment_packet' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_ipv6_frag_reassemble_packet' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_ipv6_fragment_packet' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_ip_frag/rte_ipv4_fragmentation.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-2'/>
+    <typedef-decl name='int32_t' type-id='type-id-2' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-3'/>
+    <class-decl name='rte_mbuf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='480' column='1' id='type-id-4'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheline0' type-id='type-id-5' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-6' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-7' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rearm_data' type-id='type-id-8' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='497' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_off' type-id='type-id-9' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_segs' type-id='type-id-9' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='port' type-id='type-id-9' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ol_flags' type-id='type-id-10' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_descriptor_fields1' type-id='type-id-5' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='pkt_len' type-id='type-id-11' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data_len' type-id='type-id-9' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='vlan_tci' type-id='type-id-9' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vlan_tci_outer' type-id='type-id-9' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='buf_len' type-id='type-id-9' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='timestamp' type-id='type-id-10' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cacheline1' type-id='type-id-5' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='pool' type-id='type-id-12' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='next' type-id='type-id-13' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv_size' type-id='type-id-9' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='timesync' type-id='type-id-9' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='seqn' type-id='type-id-11' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='shinfo' type-id='type-id-14' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dynfield1' type-id='type-id-15' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='void' id='type-id-16'/>
+    <pointer-type-def type-id='type-id-16' size-in-bits='64' id='type-id-6'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-17'/>
+
+    <array-type-def dimensions='1' type-id='type-id-6' size-in-bits='infinite' id='type-id-18'>
+      <subrange length='infinite' type-id='type-id-17' id='type-id-19'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER' type-id='type-id-18' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='414' column='1' id='type-id-5'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='491' column='1' id='type-id-7'>
+      <data-member access='private'>
+        <var-decl name='buf_iova' type-id='type-id-20' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='buf_physaddr' type-id='type-id-20' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='__uint64_t' type-id='type-id-17' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-21'/>
+    <typedef-decl name='uint64_t' type-id='type-id-21' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-10'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-10' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-20'/>
+
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='infinite' id='type-id-22'>
+      <subrange length='infinite' type-id='type-id-17' id='type-id-19'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER64' type-id='type-id-22' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='420' column='1' id='type-id-8'/>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-23'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-23' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-24'/>
+    <typedef-decl name='uint16_t' type-id='type-id-24' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-9'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-25'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-25' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-26'/>
+    <typedef-decl name='uint32_t' type-id='type-id-26' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-11'/>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-27'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-29' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-6' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-30' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-25' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-11' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-11' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-11' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-11' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-11' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-3' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-31' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-11' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-11' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-33' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-34'/>
+
+    <array-type-def dimensions='1' type-id='type-id-34' size-in-bits='256' id='type-id-28'>
+      <subrange length='32' type-id='type-id-17' id='type-id-35'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-29'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-6' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-10' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-36'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-28' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-37' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-38' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-10' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-3' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-11' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-37'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-39' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-20' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-10' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-39'/>
+    <typedef-decl name='size_t' type-id='type-id-17' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-38'/>
+    <qualified-type-def type-id='type-id-36' const='yes' id='type-id-40'/>
+    <pointer-type-def type-id='type-id-40' size-in-bits='64' id='type-id-30'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-41'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-11' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-11' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-11' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-42' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-6' size-in-bits='98304' id='type-id-42'>
+      <subrange length='1536' type-id='type-id-17' id='type-id-43'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-31'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-32'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-44' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-45' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-46'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-47' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-12' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-48' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-47'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-44' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-44'/>
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-12'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-48'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-20' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-45'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-33'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-50' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-51'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-52' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-12' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-6' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-53' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-38' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-54' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-6' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-52'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-51' size-in-bits='64' id='type-id-49'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-53'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-20' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-55' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-56'/>
+    <pointer-type-def type-id='type-id-56' size-in-bits='64' id='type-id-54'/>
+    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-50'/>
+    <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-13'/>
+    <class-decl name='rte_mbuf_ext_shared_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='689' column='1' id='type-id-57'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_cb' type-id='type-id-58' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcb_opaque' type-id='type-id-6' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt_atomic' type-id='type-id-59' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-61'/>
+    <typedef-decl name='rte_mbuf_extbuf_free_callback_t' type-id='type-id-61' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='684' column='1' id='type-id-58'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-59' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-62'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-63' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-64'/>
+    <typedef-decl name='__int16_t' type-id='type-id-64' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-65'/>
+    <typedef-decl name='int16_t' type-id='type-id-65' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-66'/>
+    <qualified-type-def type-id='type-id-66' volatile='yes' id='type-id-63'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-62' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-59'/>
+    <pointer-type-def type-id='type-id-57' size-in-bits='64' id='type-id-14'/>
+
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='128' id='type-id-15'>
+      <subrange length='2' type-id='type-id-17' id='type-id-67'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-13' size-in-bits='64' id='type-id-68'/>
+    <function-decl name='rte_ipv4_fragment_packet' mangled-name='rte_ipv4_fragment_packet' filepath='../lib/librte_ip_frag/rte_ipv4_fragmentation.c' line='65' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_ipv4_fragment_packet@@DPDK_20.0'>
+      <parameter type-id='type-id-13' name='pkt_in' filepath='../lib/librte_ip_frag/rte_ipv4_fragmentation.c' line='65' column='1'/>
+      <parameter type-id='type-id-68' name='pkts_out' filepath='../lib/librte_ip_frag/rte_ipv4_fragmentation.c' line='66' column='1'/>
+      <parameter type-id='type-id-9' name='nb_pkts_out' filepath='../lib/librte_ip_frag/rte_ipv4_fragmentation.c' line='67' column='1'/>
+      <parameter type-id='type-id-9' name='mtu_size' filepath='../lib/librte_ip_frag/rte_ipv4_fragmentation.c' line='68' column='1'/>
+      <parameter type-id='type-id-12' name='pool_direct' filepath='../lib/librte_ip_frag/rte_ipv4_fragmentation.c' line='69' column='1'/>
+      <parameter type-id='type-id-12' name='pool_indirect' filepath='../lib/librte_ip_frag/rte_ipv4_fragmentation.c' line='70' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-55'>
+      <parameter type-id='type-id-49'/>
+      <parameter type-id='type-id-6'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-60'>
+      <parameter type-id='type-id-6'/>
+      <parameter type-id='type-id-6'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_ip_frag/rte_ipv6_fragmentation.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='rte_ipv6_fragment_packet' mangled-name='rte_ipv6_fragment_packet' filepath='../lib/librte_ip_frag/rte_ipv6_fragmentation.c' line='68' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_ipv6_fragment_packet@@DPDK_20.0'>
+      <parameter type-id='type-id-13' name='pkt_in' filepath='../lib/librte_ip_frag/rte_ipv6_fragmentation.c' line='68' column='1'/>
+      <parameter type-id='type-id-68' name='pkts_out' filepath='../lib/librte_ip_frag/rte_ipv6_fragmentation.c' line='69' column='1'/>
+      <parameter type-id='type-id-9' name='nb_pkts_out' filepath='../lib/librte_ip_frag/rte_ipv6_fragmentation.c' line='70' column='1'/>
+      <parameter type-id='type-id-9' name='mtu_size' filepath='../lib/librte_ip_frag/rte_ipv6_fragmentation.c' line='71' column='1'/>
+      <parameter type-id='type-id-12' name='pool_direct' filepath='../lib/librte_ip_frag/rte_ipv6_fragmentation.c' line='72' column='1'/>
+      <parameter type-id='type-id-12' name='pool_indirect' filepath='../lib/librte_ip_frag/rte_ipv6_fragmentation.c' line='73' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_ip_frag/rte_ipv4_reassembly.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_ip_frag_tbl' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='99' column='1' id='type-id-69'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max_cycles' type-id='type-id-10' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='100' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='entry_mask' type-id='type-id-11' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='101' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='max_entries' type-id='type-id-11' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='102' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='use_entries' type-id='type-id-11' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='103' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='bucket_entries' type-id='type-id-11' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='104' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='nb_entries' type-id='type-id-11' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='nb_buckets' type-id='type-id-11' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='last' type-id='type-id-70' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='lru' type-id='type-id-71' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='stat' type-id='type-id-72' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='pkt' type-id='type-id-73' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ip_frag_pkt' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='64' column='1' id='type-id-74'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='lru' type-id='type-id-75' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='key' type-id='type-id-76' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='start' type-id='type-id-10' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='total_size' type-id='type-id-11' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='frag_size' type-id='type-id-11' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='last_idx' type-id='type-id-11' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='frags' type-id='type-id-77' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='71' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='65' column='1' id='type-id-75'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-70' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-78' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-74' size-in-bits='64' id='type-id-70'/>
+    <pointer-type-def type-id='type-id-70' size-in-bits='64' id='type-id-78'/>
+    <class-decl name='ip_frag_key' size-in-bits='320' is-struct='yes' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='46' column='1' id='type-id-76'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_dst' type-id='type-id-79' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='47' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-80' visibility='default'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='256' id='type-id-79'>
+      <subrange length='4' type-id='type-id-17' id='type-id-81'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='50' column='1' id='type-id-80'>
+      <data-member access='private'>
+        <var-decl name='id_key_len' type-id='type-id-10' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-82' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='53' column='1' id='type-id-82'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-11' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='key_len' type-id='type-id-11' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='55' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ip_frag' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='39' column='1' id='type-id-83'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ofs' type-id='type-id-9' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='40' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='len' type-id='type-id-9' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mb' type-id='type-id-13' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='42' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-83' size-in-bits='512' id='type-id-77'>
+      <subrange length='4' type-id='type-id-17' id='type-id-81'/>
+
+    </array-type-def>
+    <class-decl name='ip_pkt_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='86' column='1' id='type-id-71'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-70' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-78' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='86' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ip_frag_tbl_stat' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='89' column='1' id='type-id-72'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='find_num' type-id='type-id-10' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='add_num' type-id='type-id-10' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='del_num' type-id='type-id-10' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='92' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reuse_num' type-id='type-id-10' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='93' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='fail_total' type-id='type-id-10' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='fail_nospace' type-id='type-id-10' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='95' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-74' size-in-bits='infinite' id='type-id-73'>
+      <subrange length='infinite' type-id='type-id-17' id='type-id-19'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-69' size-in-bits='64' id='type-id-84'/>
+    <class-decl name='rte_ip_frag_death_row' size-in-bits='10304' is-struct='yes' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='80' column='1' id='type-id-85'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-11' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='row' type-id='type-id-86' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='82' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-13' size-in-bits='10240' id='type-id-86'>
+      <subrange length='160' type-id='type-id-17' id='type-id-87'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-85' size-in-bits='64' id='type-id-88'/>
+    <class-decl name='rte_ipv4_hdr' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_net/rte_ip.h' line='33' column='1' id='type-id-89'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='version_ihl' type-id='type-id-90' visibility='default' filepath='../lib/librte_net/rte_ip.h' line='34' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='type_of_service' type-id='type-id-90' visibility='default' filepath='../lib/librte_net/rte_ip.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='total_length' type-id='type-id-91' visibility='default' filepath='../lib/librte_net/rte_ip.h' line='36' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='packet_id' type-id='type-id-91' visibility='default' filepath='../lib/librte_net/rte_ip.h' line='37' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='fragment_offset' type-id='type-id-91' visibility='default' filepath='../lib/librte_net/rte_ip.h' line='38' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='time_to_live' type-id='type-id-90' visibility='default' filepath='../lib/librte_net/rte_ip.h' line='39' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='next_proto_id' type-id='type-id-90' visibility='default' filepath='../lib/librte_net/rte_ip.h' line='40' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='hdr_checksum' type-id='type-id-91' visibility='default' filepath='../lib/librte_net/rte_ip.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='src_addr' type-id='type-id-92' visibility='default' filepath='../lib/librte_net/rte_ip.h' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dst_addr' type-id='type-id-92' visibility='default' filepath='../lib/librte_net/rte_ip.h' line='43' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-93'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-93' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-94'/>
+    <typedef-decl name='uint8_t' type-id='type-id-94' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-90'/>
+    <typedef-decl name='rte_be16_t' type-id='type-id-9' filepath='../lib/librte_eal/common/include/generic/rte_byteorder.h' line='110' column='1' id='type-id-91'/>
+    <typedef-decl name='rte_be32_t' type-id='type-id-11' filepath='../lib/librte_eal/common/include/generic/rte_byteorder.h' line='111' column='1' id='type-id-92'/>
+    <pointer-type-def type-id='type-id-89' size-in-bits='64' id='type-id-95'/>
+    <function-decl name='rte_ipv4_frag_reassemble_packet' mangled-name='rte_ipv4_frag_reassemble_packet' filepath='../lib/librte_ip_frag/rte_ipv4_reassembly.c' line='98' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_ipv4_frag_reassemble_packet@@DPDK_20.0'>
+      <parameter type-id='type-id-84' name='tbl' filepath='../lib/librte_ip_frag/rte_ipv4_reassembly.c' line='98' column='1'/>
+      <parameter type-id='type-id-88' name='dr' filepath='../lib/librte_ip_frag/rte_ipv4_reassembly.c' line='99' column='1'/>
+      <parameter type-id='type-id-13' name='mb' filepath='../lib/librte_ip_frag/rte_ipv4_reassembly.c' line='99' column='1'/>
+      <parameter type-id='type-id-10' name='tms' filepath='../lib/librte_ip_frag/rte_ipv4_reassembly.c' line='99' column='1'/>
+      <parameter type-id='type-id-95' name='ip_hdr' filepath='../lib/librte_ip_frag/rte_ipv4_reassembly.c' line='100' column='1'/>
+      <return type-id='type-id-13'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_ip_frag/rte_ipv6_reassembly.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_ipv6_hdr' size-in-bits='320' is-struct='yes' visibility='default' filepath='../lib/librte_net/rte_ip.h' line='356' column='1' id='type-id-96'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vtc_flow' type-id='type-id-92' visibility='default' filepath='../lib/librte_net/rte_ip.h' line='357' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='payload_len' type-id='type-id-91' visibility='default' filepath='../lib/librte_net/rte_ip.h' line='358' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='proto' type-id='type-id-90' visibility='default' filepath='../lib/librte_net/rte_ip.h' line='359' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='hop_limits' type-id='type-id-90' visibility='default' filepath='../lib/librte_net/rte_ip.h' line='360' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='src_addr' type-id='type-id-97' visibility='default' filepath='../lib/librte_net/rte_ip.h' line='361' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dst_addr' type-id='type-id-97' visibility='default' filepath='../lib/librte_net/rte_ip.h' line='362' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-90' size-in-bits='128' id='type-id-97'>
+      <subrange length='16' type-id='type-id-17' id='type-id-98'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-96' size-in-bits='64' id='type-id-99'/>
+    <class-decl name='ipv6_extension_fragment' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='129' column='1' id='type-id-100'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next_header' type-id='type-id-90' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='130' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='reserved' type-id='type-id-90' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='131' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='frag_data' type-id='type-id-9' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='132' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='id' type-id='type-id-11' visibility='default' filepath='../lib/librte_ip_frag/rte_ip_frag.h' line='133' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-100' size-in-bits='64' id='type-id-101'/>
+    <function-decl name='rte_ipv6_frag_reassemble_packet' mangled-name='rte_ipv6_frag_reassemble_packet' filepath='../lib/librte_ip_frag/rte_ipv6_reassembly.c' line='137' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_ipv6_frag_reassemble_packet@@DPDK_20.0'>
+      <parameter type-id='type-id-84' name='tbl' filepath='../lib/librte_ip_frag/rte_ipv6_reassembly.c' line='137' column='1'/>
+      <parameter type-id='type-id-88' name='dr' filepath='../lib/librte_ip_frag/rte_ipv6_reassembly.c' line='138' column='1'/>
+      <parameter type-id='type-id-13' name='mb' filepath='../lib/librte_ip_frag/rte_ipv6_reassembly.c' line='138' column='1'/>
+      <parameter type-id='type-id-10' name='tms' filepath='../lib/librte_ip_frag/rte_ipv6_reassembly.c' line='138' column='1'/>
+      <parameter type-id='type-id-99' name='ip_hdr' filepath='../lib/librte_ip_frag/rte_ipv6_reassembly.c' line='139' column='1'/>
+      <parameter type-id='type-id-101' name='frag_hdr' filepath='../lib/librte_ip_frag/rte_ipv6_reassembly.c' line='139' column='1'/>
+      <return type-id='type-id-13'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_ip_frag/rte_ip_frag_common.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='_IO_FILE' size-in-bits='1728' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='49' column='1' id='type-id-102'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='_flags' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='_IO_read_ptr' type-id='type-id-103' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='_IO_read_end' type-id='type-id-103' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='_IO_read_base' type-id='type-id-103' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='_IO_write_base' type-id='type-id-103' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='_IO_write_ptr' type-id='type-id-103' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='_IO_write_end' type-id='type-id-103' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='_IO_buf_base' type-id='type-id-103' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='60' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='_IO_buf_end' type-id='type-id-103' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='_IO_save_base' type-id='type-id-103' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='_IO_backup_base' type-id='type-id-103' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='_IO_save_end' type-id='type-id-103' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='_markers' type-id='type-id-104' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='_chain' type-id='type-id-105' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='_fileno' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='928'>
+        <var-decl name='_flags2' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='73' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='_old_offset' type-id='type-id-106' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='_cur_column' type-id='type-id-23' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1040'>
+        <var-decl name='_vtable_offset' type-id='type-id-107' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1048'>
+        <var-decl name='_shortbuf' type-id='type-id-108' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='_lock' type-id='type-id-109' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='_offset' type-id='type-id-110' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='89' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='_codecvt' type-id='type-id-111' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='_wide_data' type-id='type-id-112' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='92' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='_freeres_list' type-id='type-id-105' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='93' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='_freeres_buf' type-id='type-id-6' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='__pad5' type-id='type-id-38' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='95' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='_mode' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1568'>
+        <var-decl name='_unused2' type-id='type-id-113' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='98' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-103'/>
+    <class-decl name='_IO_marker' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-114'/>
+    <pointer-type-def type-id='type-id-114' size-in-bits='64' id='type-id-104'/>
+    <pointer-type-def type-id='type-id-102' size-in-bits='64' id='type-id-105'/>
+    <type-decl name='long int' size-in-bits='64' id='type-id-115'/>
+    <typedef-decl name='__off_t' type-id='type-id-115' filepath='/usr/include/bits/types.h' line='152' column='1' id='type-id-106'/>
+    <type-decl name='signed char' size-in-bits='8' id='type-id-107'/>
+
+    <array-type-def dimensions='1' type-id='type-id-34' size-in-bits='8' id='type-id-108'>
+      <subrange length='1' type-id='type-id-17' id='type-id-116'/>
+
+    </array-type-def>
+    <typedef-decl name='_IO_lock_t' type-id='type-id-16' filepath='/usr/include/bits/types/struct_FILE.h' line='43' column='1' id='type-id-117'/>
+    <pointer-type-def type-id='type-id-117' size-in-bits='64' id='type-id-109'/>
+    <typedef-decl name='__off64_t' type-id='type-id-115' filepath='/usr/include/bits/types.h' line='153' column='1' id='type-id-110'/>
+    <class-decl name='_IO_codecvt' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-118'/>
+    <pointer-type-def type-id='type-id-118' size-in-bits='64' id='type-id-111'/>
+    <class-decl name='_IO_wide_data' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-119'/>
+    <pointer-type-def type-id='type-id-119' size-in-bits='64' id='type-id-112'/>
+
+    <array-type-def dimensions='1' type-id='type-id-34' size-in-bits='160' id='type-id-113'>
+      <subrange length='20' type-id='type-id-17' id='type-id-120'/>
+
+    </array-type-def>
+    <typedef-decl name='FILE' type-id='type-id-102' filepath='/usr/include/bits/types/FILE.h' line='7' column='1' id='type-id-121'/>
+    <pointer-type-def type-id='type-id-121' size-in-bits='64' id='type-id-122'/>
+    <qualified-type-def type-id='type-id-69' const='yes' id='type-id-123'/>
+    <pointer-type-def type-id='type-id-123' size-in-bits='64' id='type-id-124'/>
+    <function-decl name='rte_ip_frag_table_statistics_dump' mangled-name='rte_ip_frag_table_statistics_dump' filepath='../lib/librte_ip_frag/rte_ip_frag_common.c' line='98' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_ip_frag_table_statistics_dump@@DPDK_20.0'>
+      <parameter type-id='type-id-122' name='f' filepath='../lib/librte_ip_frag/rte_ip_frag_common.c' line='98' column='1'/>
+      <parameter type-id='type-id-124' name='tbl' filepath='../lib/librte_ip_frag/rte_ip_frag_common.c' line='98' column='1'/>
+      <return type-id='type-id-16'/>
+    </function-decl>
+    <function-decl name='rte_ip_frag_table_destroy' mangled-name='rte_ip_frag_table_destroy' filepath='../lib/librte_ip_frag/rte_ip_frag_common.c' line='85' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_ip_frag_table_destroy@@DPDK_20.0'>
+      <parameter type-id='type-id-84' name='tbl' filepath='../lib/librte_ip_frag/rte_ip_frag_common.c' line='85' column='1'/>
+      <return type-id='type-id-16'/>
+    </function-decl>
+    <function-decl name='rte_ip_frag_table_create' mangled-name='rte_ip_frag_table_create' filepath='../lib/librte_ip_frag/rte_ip_frag_common.c' line='41' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_ip_frag_table_create@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='bucket_num' filepath='../lib/librte_ip_frag/rte_ip_frag_common.c' line='41' column='1'/>
+      <parameter type-id='type-id-11' name='bucket_entries' filepath='../lib/librte_ip_frag/rte_ip_frag_common.c' line='41' column='1'/>
+      <parameter type-id='type-id-11' name='max_entries' filepath='../lib/librte_ip_frag/rte_ip_frag_common.c' line='42' column='1'/>
+      <parameter type-id='type-id-10' name='max_cycles' filepath='../lib/librte_ip_frag/rte_ip_frag_common.c' line='42' column='1'/>
+      <parameter type-id='type-id-1' name='socket_id' filepath='../lib/librte_ip_frag/rte_ip_frag_common.c' line='42' column='1'/>
+      <return type-id='type-id-84'/>
+    </function-decl>
+    <function-decl name='rte_ip_frag_free_death_row' mangled-name='rte_ip_frag_free_death_row' filepath='../lib/librte_ip_frag/rte_ip_frag_common.c' line='17' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_ip_frag_free_death_row@@DPDK_20.0'>
+      <parameter type-id='type-id-88' name='dr' filepath='../lib/librte_ip_frag/rte_ip_frag_common.c' line='17' column='1'/>
+      <parameter type-id='type-id-11' name='prefetch' filepath='../lib/librte_ip_frag/rte_ip_frag_common.c' line='18' column='1'/>
+      <return type-id='type-id-16'/>
+    </function-decl>
+    <function-decl name='rte_frag_table_del_expired_entries' mangled-name='rte_frag_table_del_expired_entries' filepath='../lib/librte_ip_frag/rte_ip_frag_common.c' line='127' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_frag_table_del_expired_entries@@EXPERIMENTAL'>
+      <parameter type-id='type-id-84' name='tbl' filepath='../lib/librte_ip_frag/rte_ip_frag_common.c' line='127' column='1'/>
+      <parameter type-id='type-id-88' name='dr' filepath='../lib/librte_ip_frag/rte_ip_frag_common.c' line='128' column='1'/>
+      <parameter type-id='type-id-10' name='tms' filepath='../lib/librte_ip_frag/rte_ip_frag_common.c' line='128' column='1'/>
+      <return type-id='type-id-16'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_ipsec.dump b/lib/.abi/librte_ipsec.dump
new file mode 100644
index 000000000..269d9f83e
--- /dev/null
+++ b/lib/.abi/librte_ipsec.dump
@@ -0,0 +1,1269 @@
+<abi-corpus path='gcc//lib/librte_ipsec.so.0.200' architecture='elf-amd-x86_64' soname='librte_ipsec.so.0.200'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='librte_security.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_ipsec_sa_fini' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_ipsec_sa_init' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_ipsec_sa_size' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_ipsec_sa_type' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_ipsec_sad_add' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_ipsec_sad_create' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_ipsec_sad_del' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_ipsec_sad_destroy' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_ipsec_sad_find_existing' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_ipsec_sad_lookup' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_ipsec_session_prepare' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_ipsec/sa.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='void' id='type-id-1'/>
+    <class-decl name='rte_ipsec_sa' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='73' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-3' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='udata' type-id='type-id-3' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='size' type-id='type-id-4' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='spi' type-id='type-id-4' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='sqn_mask' type-id='type-id-3' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='replay' type-id='type-id-5' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='ctp' type-id='type-id-6' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='tx_offload' type-id='type-id-7' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='95' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='salt' type-id='type-id-4' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='algo_type' type-id='type-id-8' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='97' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='616'>
+        <var-decl name='proto' type-id='type-id-8' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='98' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='624'>
+        <var-decl name='aad_len' type-id='type-id-8' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='99' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='632'>
+        <var-decl name='hdr_len' type-id='type-id-8' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='100' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='hdr_l3_off' type-id='type-id-8' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='101' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='648'>
+        <var-decl name='icv_len' type-id='type-id-8' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='102' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='656'>
+        <var-decl name='sqh_len' type-id='type-id-8' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='103' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='664'>
+        <var-decl name='iv_ofs' type-id='type-id-8' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='104' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='iv_len' type-id='type-id-8' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='680'>
+        <var-decl name='pad_align' type-id='type-id-8' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='688'>
+        <var-decl name='tos_mask' type-id='type-id-8' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='696'>
+        <var-decl name='hdr' type-id='type-id-9' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='110' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='sqn' type-id='type-id-10' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='129' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-11'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-11' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-12'/>
+    <typedef-decl name='uint64_t' type-id='type-id-12' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-3'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-13'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-13' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-14'/>
+    <typedef-decl name='uint32_t' type-id='type-id-14' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-4'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='81' column='1' id='type-id-5'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='win_sz' type-id='type-id-4' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='82' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_bucket' type-id='type-id-15' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='83' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='bucket_index_mask' type-id='type-id-15' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='84' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-16'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-16' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-17'/>
+    <typedef-decl name='uint16_t' type-id='type-id-17' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-15'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='87' column='1' id='type-id-6'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cipher' type-id='type-id-18' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='auth' type-id='type-id-18' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='89' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='sym_op_ofslen' size-in-bits='64' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='36' column='1' id='type-id-18'>
+      <data-member access='private'>
+        <var-decl name='raw' type-id='type-id-3' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='37' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-19' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='38' column='1' id='type-id-19'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='offset' type-id='type-id-4' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='39' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='length' type-id='type-id-4' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='40' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='92' column='1' id='type-id-7'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='msk' type-id='type-id-3' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='93' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='val' type-id='type-id-3' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='94' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-20'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-20' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-21'/>
+    <typedef-decl name='uint8_t' type-id='type-id-21' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-8'/>
+
+    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='512' id='type-id-9'>
+      <subrange length='64' type-id='type-id-11' id='type-id-22'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='119' column='1' id='type-id-10'>
+      <data-member access='private'>
+        <var-decl name='outb' type-id='type-id-23' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='123' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='inb' type-id='type-id-24' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='128' column='1'/>
+      </data-member>
+    </union-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='120' column='1' id='type-id-23'>
+      <data-member access='private'>
+        <var-decl name='atom' type-id='type-id-25' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='121' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='raw' type-id='type-id-3' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='122' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-25' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='788' column='1' id='type-id-26'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-27' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='789' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='long int' size-in-bits='64' id='type-id-28'/>
+    <typedef-decl name='__int64_t' type-id='type-id-28' filepath='/usr/include/bits/types.h' line='44' column='1' id='type-id-29'/>
+    <typedef-decl name='int64_t' type-id='type-id-29' filepath='/usr/include/bits/stdint-intn.h' line='27' column='1' id='type-id-30'/>
+    <qualified-type-def type-id='type-id-30' volatile='yes' id='type-id-27'/>
+    <typedef-decl name='rte_atomic64_t' type-id='type-id-26' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='790' column='1' id='type-id-25'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='124' column='1' id='type-id-24'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rdidx' type-id='type-id-4' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='125' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='wridx' type-id='type-id-4' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='126' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rsn' type-id='type-id-31' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='127' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='replay_sqn' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='57' column='1' id='type-id-32'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rwl' type-id='type-id-33' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='sqn' type-id='type-id-3' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='window' type-id='type-id-34' visibility='default' filepath='../lib/librte_ipsec/sa.h' line='60' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-33' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_rwlock.h' line='33' column='1' id='type-id-35'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-36' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_rwlock.h' line='34' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='int' size-in-bits='32' id='type-id-37'/>
+    <typedef-decl name='__int32_t' type-id='type-id-37' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-38'/>
+    <typedef-decl name='int32_t' type-id='type-id-38' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-39'/>
+    <qualified-type-def type-id='type-id-39' volatile='yes' id='type-id-36'/>
+    <typedef-decl name='rte_rwlock_t' type-id='type-id-35' filepath='../lib/librte_eal/common/include/generic/rte_rwlock.h' line='35' column='1' id='type-id-33'/>
+
+    <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='infinite' id='type-id-34'>
+      <subrange length='infinite' type-id='type-id-11' id='type-id-40'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-41'/>
+
+    <array-type-def dimensions='1' type-id='type-id-41' size-in-bits='128' id='type-id-31'>
+      <subrange length='2' type-id='type-id-11' id='type-id-42'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-43'/>
+    <function-decl name='rte_ipsec_sa_fini' mangled-name='rte_ipsec_sa_fini' filepath='../lib/librte_ipsec/sa.c' line='153' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_ipsec_sa_fini@@EXPERIMENTAL'>
+      <parameter type-id='type-id-43' name='sa' filepath='../lib/librte_ipsec/sa.c' line='153' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_ipsec_sa_prm' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec_sa.h' line='31' column='1' id='type-id-44'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='userdata' type-id='type-id-3' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec_sa.h' line='33' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='flags' type-id='type-id-3' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec_sa.h' line='34' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ipsec_xform' type-id='type-id-45' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec_sa.h' line='36' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='crypto_xform' type-id='type-id-46' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec_sa.h' line='38' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='' type-id='type-id-47' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_security_ipsec_xform' size-in-bits='704' is-struct='yes' visibility='default' filepath='../lib/librte_security/rte_security.h' line='198' column='1' id='type-id-45'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='spi' type-id='type-id-4' visibility='default' filepath='../lib/librte_security/rte_security.h' line='199' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='salt' type-id='type-id-4' visibility='default' filepath='../lib/librte_security/rte_security.h' line='201' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='options' type-id='type-id-48' visibility='default' filepath='../lib/librte_security/rte_security.h' line='203' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='direction' type-id='type-id-49' visibility='default' filepath='../lib/librte_security/rte_security.h' line='205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='proto' type-id='type-id-50' visibility='default' filepath='../lib/librte_security/rte_security.h' line='207' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='mode' type-id='type-id-51' visibility='default' filepath='../lib/librte_security/rte_security.h' line='209' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='tunnel' type-id='type-id-52' visibility='default' filepath='../lib/librte_security/rte_security.h' line='211' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='esn_soft_limit' type-id='type-id-3' visibility='default' filepath='../lib/librte_security/rte_security.h' line='213' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='replay_win_sz' type-id='type-id-4' visibility='default' filepath='../lib/librte_security/rte_security.h' line='215' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_security_ipsec_sa_options' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_security/rte_security.h' line='117' column='1' id='type-id-48'>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='esn' type-id='type-id-4' visibility='default' filepath='../lib/librte_security/rte_security.h' line='123' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='udp_encap' type-id='type-id-4' visibility='default' filepath='../lib/librte_security/rte_security.h' line='131' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='copy_dscp' type-id='type-id-4' visibility='default' filepath='../lib/librte_security/rte_security.h' line='140' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='28'>
+        <var-decl name='copy_flabel' type-id='type-id-4' visibility='default' filepath='../lib/librte_security/rte_security.h' line='148' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='27'>
+        <var-decl name='copy_df' type-id='type-id-4' visibility='default' filepath='../lib/librte_security/rte_security.h' line='156' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='26'>
+        <var-decl name='dec_ttl' type-id='type-id-4' visibility='default' filepath='../lib/librte_security/rte_security.h' line='165' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25'>
+        <var-decl name='ecn' type-id='type-id-4' visibility='default' filepath='../lib/librte_security/rte_security.h' line='174' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='stats' type-id='type-id-4' visibility='default' filepath='../lib/librte_security/rte_security.h' line='182' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-53'/>
+    <enum-decl name='rte_security_ipsec_sa_direction' filepath='../lib/librte_security/rte_security.h' line='186' column='1' id='type-id-49'>
+      <underlying-type type-id='type-id-53'/>
+      <enumerator name='RTE_SECURITY_IPSEC_SA_DIR_EGRESS' value='0'/>
+      <enumerator name='RTE_SECURITY_IPSEC_SA_DIR_INGRESS' value='1'/>
+    </enum-decl>
+    <enum-decl name='rte_security_ipsec_sa_protocol' filepath='../lib/librte_security/rte_security.h' line='42' column='1' id='type-id-50'>
+      <underlying-type type-id='type-id-53'/>
+      <enumerator name='RTE_SECURITY_IPSEC_SA_PROTO_AH' value='1'/>
+      <enumerator name='RTE_SECURITY_IPSEC_SA_PROTO_ESP' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_security_ipsec_sa_mode' filepath='../lib/librte_security/rte_security.h' line='34' column='1' id='type-id-51'>
+      <underlying-type type-id='type-id-53'/>
+      <enumerator name='RTE_SECURITY_IPSEC_SA_MODE_TRANSPORT' value='1'/>
+      <enumerator name='RTE_SECURITY_IPSEC_SA_MODE_TUNNEL' value='2'/>
+    </enum-decl>
+    <class-decl name='rte_security_ipsec_tunnel_param' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_security/rte_security.h' line='80' column='1' id='type-id-52'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-54' visibility='default' filepath='../lib/librte_security/rte_security.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='' type-id='type-id-55' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_security_ipsec_tunnel_type' filepath='../lib/librte_security/rte_security.h' line='50' column='1' id='type-id-54'>
+      <underlying-type type-id='type-id-53'/>
+      <enumerator name='RTE_SECURITY_IPSEC_TUNNEL_IPV4' value='1'/>
+      <enumerator name='RTE_SECURITY_IPSEC_TUNNEL_IPV6' value='2'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='352' is-anonymous='yes' visibility='default' filepath='../lib/librte_security/rte_security.h' line='84' column='1' id='type-id-55'>
+      <data-member access='private'>
+        <var-decl name='ipv4' type-id='type-id-56' visibility='default' filepath='../lib/librte_security/rte_security.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='ipv6' type-id='type-id-57' visibility='default' filepath='../lib/librte_security/rte_security.h' line='109' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='96' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_security/rte_security.h' line='85' column='1' id='type-id-56'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-58' visibility='default' filepath='../lib/librte_security/rte_security.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dst_ip' type-id='type-id-58' visibility='default' filepath='../lib/librte_security/rte_security.h' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dscp' type-id='type-id-8' visibility='default' filepath='../lib/librte_security/rte_security.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='df' type-id='type-id-8' visibility='default' filepath='../lib/librte_security/rte_security.h' line='92' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='ttl' type-id='type-id-8' visibility='default' filepath='../lib/librte_security/rte_security.h' line='94' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='in_addr' size-in-bits='32' is-struct='yes' visibility='default' filepath='/usr/include/netinet/in.h' line='31' column='1' id='type-id-58'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='s_addr' type-id='type-id-59' visibility='default' filepath='/usr/include/netinet/in.h' line='33' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='in_addr_t' type-id='type-id-4' filepath='/usr/include/netinet/in.h' line='30' column='1' id='type-id-59'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='352' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_security/rte_security.h' line='98' column='1' id='type-id-57'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_addr' type-id='type-id-60' visibility='default' filepath='../lib/librte_security/rte_security.h' line='99' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dst_addr' type-id='type-id-60' visibility='default' filepath='../lib/librte_security/rte_security.h' line='101' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dscp' type-id='type-id-8' visibility='default' filepath='../lib/librte_security/rte_security.h' line='103' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='flabel' type-id='type-id-4' visibility='default' filepath='../lib/librte_security/rte_security.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='hlimit' type-id='type-id-8' visibility='default' filepath='../lib/librte_security/rte_security.h' line='107' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='in6_addr' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/netinet/in.h' line='212' column='1' id='type-id-60'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__in6_u' type-id='type-id-61' visibility='default' filepath='/usr/include/netinet/in.h' line='219' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='/usr/include/netinet/in.h' line='214' column='1' id='type-id-61'>
+      <data-member access='private'>
+        <var-decl name='__u6_addr8' type-id='type-id-62' visibility='default' filepath='/usr/include/netinet/in.h' line='216' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='__u6_addr16' type-id='type-id-63' visibility='default' filepath='/usr/include/netinet/in.h' line='217' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='__u6_addr32' type-id='type-id-64' visibility='default' filepath='/usr/include/netinet/in.h' line='218' column='1'/>
+      </data-member>
+    </union-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='128' id='type-id-62'>
+      <subrange length='16' type-id='type-id-11' id='type-id-65'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-15' size-in-bits='128' id='type-id-63'>
+      <subrange length='8' type-id='type-id-11' id='type-id-66'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-4' size-in-bits='128' id='type-id-64'>
+      <subrange length='4' type-id='type-id-11' id='type-id-67'/>
+
+    </array-type-def>
+    <class-decl name='rte_crypto_sym_xform' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='440' column='1' id='type-id-68'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-46' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='441' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-69' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='443' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-70' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-68' size-in-bits='64' id='type-id-46'/>
+    <enum-decl name='rte_crypto_sym_xform_type' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='424' column='1' id='type-id-69'>
+      <underlying-type type-id='type-id-53'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_NOT_SPECIFIED' value='0'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_AUTH' value='1'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_CIPHER' value='2'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_AEAD' value='3'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='446' column='1' id='type-id-70'>
+      <data-member access='private'>
+        <var-decl name='auth' type-id='type-id-71' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='447' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='cipher' type-id='type-id-72' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='aead' type-id='type-id-73' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='451' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_crypto_auth_xform' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='278' column='1' id='type-id-71'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-74' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-75' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='281' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-76' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='287' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv' type-id='type-id-77' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='330' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='digest_length' type-id='type-id-15' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='332' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_auth_operation' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='262' column='1' id='type-id-74'>
+      <underlying-type type-id='type-id-53'/>
+      <enumerator name='RTE_CRYPTO_AUTH_OP_VERIFY' value='0'/>
+      <enumerator name='RTE_CRYPTO_AUTH_OP_GENERATE' value='1'/>
+    </enum-decl>
+    <enum-decl name='rte_crypto_auth_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='189' column='1' id='type-id-75'>
+      <underlying-type type-id='type-id-53'/>
+      <enumerator name='RTE_CRYPTO_AUTH_NULL' value='1'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_CBC_MAC' value='2'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_CMAC' value='3'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_GMAC' value='4'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_XCBC_MAC' value='5'/>
+      <enumerator name='RTE_CRYPTO_AUTH_KASUMI_F9' value='6'/>
+      <enumerator name='RTE_CRYPTO_AUTH_MD5' value='7'/>
+      <enumerator name='RTE_CRYPTO_AUTH_MD5_HMAC' value='8'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA1' value='9'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA1_HMAC' value='10'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA224' value='11'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA224_HMAC' value='12'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA256' value='13'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA256_HMAC' value='14'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA384' value='15'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA384_HMAC' value='16'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA512' value='17'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA512_HMAC' value='18'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SNOW3G_UIA2' value='19'/>
+      <enumerator name='RTE_CRYPTO_AUTH_ZUC_EIA3' value='20'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_224' value='21'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_224_HMAC' value='22'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_256' value='23'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_256_HMAC' value='24'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_384' value='25'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_384_HMAC' value='26'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_512' value='27'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_512_HMAC' value='28'/>
+      <enumerator name='RTE_CRYPTO_AUTH_LIST_END' value='29'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='284' column='1' id='type-id-76'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-78' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='285' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='length' type-id='type-id-15' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='286' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-8' const='yes' id='type-id-79'/>
+    <pointer-type-def type-id='type-id-79' size-in-bits='64' id='type-id-78'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='295' column='1' id='type-id-77'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='offset' type-id='type-id-15' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='296' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='length' type-id='type-id-15' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='312' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_cipher_xform' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='107' column='1' id='type-id-72'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-80' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-81' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='113' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-76' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='119' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv' type-id='type-id-77' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='185' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_cipher_operation' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='90' column='1' id='type-id-80'>
+      <underlying-type type-id='type-id-53'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_OP_ENCRYPT' value='0'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_OP_DECRYPT' value='1'/>
+    </enum-decl>
+    <enum-decl name='rte_crypto_cipher_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='30' column='1' id='type-id-81'>
+      <underlying-type type-id='type-id-53'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_NULL' value='1'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_CBC' value='2'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_CTR' value='3'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_ECB' value='4'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_CBC' value='5'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_CTR' value='6'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_ECB' value='7'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_F8' value='8'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_XTS' value='9'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_ARC4' value='10'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_KASUMI_F8' value='11'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_SNOW3G_UEA2' value='12'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_ZUC_EEA3' value='13'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_DES_CBC' value='14'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_DOCSISBPI' value='15'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_DES_DOCSISBPI' value='16'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_LIST_END' value='17'/>
+    </enum-decl>
+    <class-decl name='rte_crypto_aead_xform' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='370' column='1' id='type-id-73'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-82' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='371' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-83' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='373' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-76' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='379' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv' type-id='type-id-77' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='411' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='digest_length' type-id='type-id-15' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='413' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='240'>
+        <var-decl name='aad_length' type-id='type-id-15' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='415' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_aead_operation' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='359' column='1' id='type-id-82'>
+      <underlying-type type-id='type-id-53'/>
+      <enumerator name='RTE_CRYPTO_AEAD_OP_ENCRYPT' value='0'/>
+      <enumerator name='RTE_CRYPTO_AEAD_OP_DECRYPT' value='1'/>
+    </enum-decl>
+    <enum-decl name='rte_crypto_aead_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='346' column='1' id='type-id-83'>
+      <underlying-type type-id='type-id-53'/>
+      <enumerator name='RTE_CRYPTO_AEAD_AES_CCM' value='1'/>
+      <enumerator name='RTE_CRYPTO_AEAD_AES_GCM' value='2'/>
+      <enumerator name='RTE_CRYPTO_AEAD_LIST_END' value='3'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec_sa.h' line='39' column='1' id='type-id-47'>
+      <data-member access='private'>
+        <var-decl name='tun' type-id='type-id-84' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec_sa.h' line='45' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='trs' type-id='type-id-85' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec_sa.h' line='48' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec_sa.h' line='40' column='1' id='type-id-84'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='hdr_len' type-id='type-id-8' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec_sa.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='hdr_l3_off' type-id='type-id-8' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec_sa.h' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='next_proto' type-id='type-id-8' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec_sa.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='hdr' type-id='type-id-86' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec_sa.h' line='44' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-86'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='8' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec_sa.h' line='46' column='1' id='type-id-85'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='proto' type-id='type-id-8' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec_sa.h' line='47' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-44' const='yes' id='type-id-87'/>
+    <pointer-type-def type-id='type-id-87' size-in-bits='64' id='type-id-88'/>
+    <function-decl name='rte_ipsec_sa_init' mangled-name='rte_ipsec_sa_init' filepath='../lib/librte_ipsec/sa.c' line='447' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_ipsec_sa_init@@EXPERIMENTAL'>
+      <parameter type-id='type-id-43' name='sa' filepath='../lib/librte_ipsec/sa.c' line='447' column='1'/>
+      <parameter type-id='type-id-88' name='prm' filepath='../lib/librte_ipsec/sa.c' line='447' column='1'/>
+      <parameter type-id='type-id-4' name='size' filepath='../lib/librte_ipsec/sa.c' line='448' column='1'/>
+      <return type-id='type-id-37'/>
+    </function-decl>
+    <function-decl name='rte_ipsec_sa_size' mangled-name='rte_ipsec_sa_size' filepath='../lib/librte_ipsec/sa.c' line='427' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_ipsec_sa_size@@EXPERIMENTAL'>
+      <parameter type-id='type-id-88' name='prm' filepath='../lib/librte_ipsec/sa.c' line='427' column='1'/>
+      <return type-id='type-id-37'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-2' const='yes' id='type-id-89'/>
+    <pointer-type-def type-id='type-id-89' size-in-bits='64' id='type-id-90'/>
+    <function-decl name='rte_ipsec_sa_type' mangled-name='rte_ipsec_sa_type' filepath='../lib/librte_ipsec/sa.c' line='81' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_ipsec_sa_type@@EXPERIMENTAL'>
+      <parameter type-id='type-id-90' name='sa' filepath='../lib/librte_ipsec/sa.c' line='81' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_ipsec/ses.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_ipsec_session' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec.h' line='53' column='1' id='type-id-91'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='sa' type-id='type-id-43' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-92' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec.h' line='60' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-93' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pkt_func' type-id='type-id-94' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec.h' line='73' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_security_session_action_type' filepath='../lib/librte_security/rte_security.h' line='299' column='1' id='type-id-92'>
+      <underlying-type type-id='type-id-53'/>
+      <enumerator name='RTE_SECURITY_ACTION_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_SECURITY_ACTION_TYPE_INLINE_CRYPTO' value='1'/>
+      <enumerator name='RTE_SECURITY_ACTION_TYPE_INLINE_PROTOCOL' value='2'/>
+      <enumerator name='RTE_SECURITY_ACTION_TYPE_LOOKASIDE_PROTOCOL' value='3'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec.h' line='62' column='1' id='type-id-93'>
+      <data-member access='private'>
+        <var-decl name='crypto' type-id='type-id-95' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='security' type-id='type-id-96' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec.h' line='70' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec.h' line='63' column='1' id='type-id-95'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ses' type-id='type-id-97' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec.h' line='64' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_sym_session' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='974' column='1' id='type-id-98'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='opaque_data' type-id='type-id-3' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='975' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='nb_drivers' type-id='type-id-15' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='977' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='user_data_sz' type-id='type-id-15' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='979' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='sess_data' type-id='type-id-99' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='984' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='981' column='1' id='type-id-100'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-86' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='982' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='refcnt' type-id='type-id-15' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='983' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-100' size-in-bits='infinite' id='type-id-99'>
+      <subrange length='infinite' type-id='type-id-11' id='type-id-40'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-98' size-in-bits='64' id='type-id-97'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec.h' line='66' column='1' id='type-id-96'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ses' type-id='type-id-101' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ctx' type-id='type-id-102' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ol_flags' type-id='type-id-4' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec.h' line='69' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_security_session' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_security/rte_security.h' line='347' column='1' id='type-id-103'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='sess_private_data' type-id='type-id-86' visibility='default' filepath='../lib/librte_security/rte_security.h' line='348' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='opaque_data' type-id='type-id-3' visibility='default' filepath='../lib/librte_security/rte_security.h' line='350' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-103' size-in-bits='64' id='type-id-101'/>
+    <class-decl name='rte_security_ctx' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_security/rte_security.h' line='66' column='1' id='type-id-104'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='device' type-id='type-id-86' visibility='default' filepath='../lib/librte_security/rte_security.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ops' type-id='type-id-105' visibility='default' filepath='../lib/librte_security/rte_security.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='sess_cnt' type-id='type-id-15' visibility='default' filepath='../lib/librte_security/rte_security.h' line='71' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_security_ops' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-106'/>
+    <qualified-type-def type-id='type-id-106' const='yes' id='type-id-107'/>
+    <pointer-type-def type-id='type-id-107' size-in-bits='64' id='type-id-105'/>
+    <pointer-type-def type-id='type-id-104' size-in-bits='64' id='type-id-102'/>
+    <class-decl name='rte_ipsec_sa_pkt_func' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec.h' line='35' column='1' id='type-id-94'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='prepare' type-id='type-id-108' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec.h' line='36' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='process' type-id='type-id-109' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec.h' line='40' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-91' const='yes' id='type-id-110'/>
+    <pointer-type-def type-id='type-id-110' size-in-bits='64' id='type-id-111'/>
+    <class-decl name='rte_mbuf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='480' column='1' id='type-id-112'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheline0' type-id='type-id-113' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-86' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-114' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rearm_data' type-id='type-id-115' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='497' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_off' type-id='type-id-15' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_segs' type-id='type-id-15' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='port' type-id='type-id-15' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ol_flags' type-id='type-id-3' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_descriptor_fields1' type-id='type-id-113' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='pkt_len' type-id='type-id-4' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data_len' type-id='type-id-15' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='vlan_tci' type-id='type-id-15' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vlan_tci_outer' type-id='type-id-15' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='buf_len' type-id='type-id-15' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='timestamp' type-id='type-id-3' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cacheline1' type-id='type-id-113' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='pool' type-id='type-id-116' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='next' type-id='type-id-117' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv_size' type-id='type-id-15' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='timesync' type-id='type-id-15' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='seqn' type-id='type-id-4' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='shinfo' type-id='type-id-118' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dynfield1' type-id='type-id-119' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-86' size-in-bits='infinite' id='type-id-120'>
+      <subrange length='infinite' type-id='type-id-11' id='type-id-40'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER' type-id='type-id-120' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='414' column='1' id='type-id-113'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='491' column='1' id='type-id-114'>
+      <data-member access='private'>
+        <var-decl name='buf_iova' type-id='type-id-121' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='buf_physaddr' type-id='type-id-121' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_iova_t' type-id='type-id-3' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-121'/>
+    <typedef-decl name='MARKER64' type-id='type-id-34' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='420' column='1' id='type-id-115'/>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-122'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-123' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-124' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-86' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-125' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-13' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-37' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-4' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-4' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-4' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-4' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-4' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-13' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-126' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-4' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-127' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-4' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-128' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-129'/>
+
+    <array-type-def dimensions='1' type-id='type-id-129' size-in-bits='256' id='type-id-123'>
+      <subrange length='32' type-id='type-id-11' id='type-id-130'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-124'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-86' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-3' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-131'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-123' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-132' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-133' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-3' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-39' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-132'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-134' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-121' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-3' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-134'/>
+    <typedef-decl name='size_t' type-id='type-id-11' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-133'/>
+    <qualified-type-def type-id='type-id-131' const='yes' id='type-id-135'/>
+    <pointer-type-def type-id='type-id-135' size-in-bits='64' id='type-id-125'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-136'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-4' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-4' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-4' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-137' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-86' size-in-bits='98304' id='type-id-137'>
+      <subrange length='1536' type-id='type-id-11' id='type-id-138'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-136' size-in-bits='64' id='type-id-126'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-127'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-139' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-140' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-141'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-142' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-116' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-143' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-142'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-139' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-141' size-in-bits='64' id='type-id-139'/>
+    <pointer-type-def type-id='type-id-122' size-in-bits='64' id='type-id-116'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-143'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-121' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-134' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-139' size-in-bits='64' id='type-id-140'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-128'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-144' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-145' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-146'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-147' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-116' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-86' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-148' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-133' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-149' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-86' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-147'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-144' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-146' size-in-bits='64' id='type-id-144'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-148'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-121' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-134' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-150' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-151'/>
+    <pointer-type-def type-id='type-id-151' size-in-bits='64' id='type-id-149'/>
+    <pointer-type-def type-id='type-id-144' size-in-bits='64' id='type-id-145'/>
+    <pointer-type-def type-id='type-id-112' size-in-bits='64' id='type-id-117'/>
+    <class-decl name='rte_mbuf_ext_shared_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='689' column='1' id='type-id-152'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_cb' type-id='type-id-153' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcb_opaque' type-id='type-id-86' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt_atomic' type-id='type-id-154' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-155' size-in-bits='64' id='type-id-156'/>
+    <typedef-decl name='rte_mbuf_extbuf_free_callback_t' type-id='type-id-156' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='684' column='1' id='type-id-153'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-154' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-157'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-158' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-159'/>
+    <typedef-decl name='__int16_t' type-id='type-id-159' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-160'/>
+    <typedef-decl name='int16_t' type-id='type-id-160' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-161'/>
+    <qualified-type-def type-id='type-id-161' volatile='yes' id='type-id-158'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-157' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-154'/>
+    <pointer-type-def type-id='type-id-152' size-in-bits='64' id='type-id-118'/>
+
+    <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='128' id='type-id-119'>
+      <subrange length='2' type-id='type-id-11' id='type-id-42'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-117' size-in-bits='64' id='type-id-162'/>
+    <class-decl name='rte_crypto_op' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='78' column='1' id='type-id-163'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-164' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mempool' type-id='type-id-116' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='110' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='phys_addr' type-id='type-id-121' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='113' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='80' column='1' id='type-id-164'>
+      <data-member access='private'>
+        <var-decl name='raw' type-id='type-id-3' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-165' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='83' column='1' id='type-id-165'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-8' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='status' type-id='type-id-8' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='sess_type' type-id='type-id-8' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='reserved' type-id='type-id-166' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='private_data_offset' type-id='type-id-15' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='100' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='24' id='type-id-166'>
+      <subrange length='3' type-id='type-id-11' id='type-id-167'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-163' size-in-bits='64' id='type-id-168'/>
+    <pointer-type-def type-id='type-id-168' size-in-bits='64' id='type-id-169'/>
+    <pointer-type-def type-id='type-id-170' size-in-bits='64' id='type-id-108'/>
+    <pointer-type-def type-id='type-id-171' size-in-bits='64' id='type-id-109'/>
+    <pointer-type-def type-id='type-id-91' size-in-bits='64' id='type-id-172'/>
+    <function-decl name='rte_ipsec_session_prepare' mangled-name='rte_ipsec_session_prepare' filepath='../lib/librte_ipsec/ses.c' line='31' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_ipsec_session_prepare@@EXPERIMENTAL'>
+      <parameter type-id='type-id-172' name='ss' filepath='../lib/librte_ipsec/ses.c' line='31' column='1'/>
+      <return type-id='type-id-37'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-170'>
+      <parameter type-id='type-id-111'/>
+      <parameter type-id='type-id-162'/>
+      <parameter type-id='type-id-169'/>
+      <parameter type-id='type-id-15'/>
+      <return type-id='type-id-15'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-171'>
+      <parameter type-id='type-id-111'/>
+      <parameter type-id='type-id-162'/>
+      <parameter type-id='type-id-15'/>
+      <return type-id='type-id-15'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-150'>
+      <parameter type-id='type-id-144'/>
+      <parameter type-id='type-id-86'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-155'>
+      <parameter type-id='type-id-86'/>
+      <parameter type-id='type-id-86'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_ipsec/ipsec_sad.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_ipsec_sad' size-in-bits='704' is-struct='yes' visibility='default' filepath='../lib/librte_ipsec/ipsec_sad.c' line='36' column='1' id='type-id-173'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-174' visibility='default' filepath='../lib/librte_ipsec/ipsec_sad.c' line='37' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='hash' type-id='type-id-175' visibility='default' filepath='../lib/librte_ipsec/ipsec_sad.c' line='38' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='cnt_arr' type-id='type-id-176' visibility='default' filepath='../lib/librte_ipsec/ipsec_sad.c' line='43' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-129' size-in-bits='512' id='type-id-174'>
+      <subrange length='64' type-id='type-id-11' id='type-id-22'/>
+
+    </array-type-def>
+    <class-decl name='rte_hash' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-177'/>
+    <pointer-type-def type-id='type-id-177' size-in-bits='64' id='type-id-178'/>
+
+    <array-type-def dimensions='1' type-id='type-id-178' size-in-bits='192' id='type-id-175'>
+      <subrange length='3' type-id='type-id-11' id='type-id-167'/>
+
+    </array-type-def>
+    <class-decl name='hash_cnt' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ipsec/ipsec_sad.c' line='31' column='1' id='type-id-179'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt_dip' type-id='type-id-4' visibility='default' filepath='../lib/librte_ipsec/ipsec_sad.c' line='32' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='cnt_dip_sip' type-id='type-id-4' visibility='default' filepath='../lib/librte_ipsec/ipsec_sad.c' line='33' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-179' size-in-bits='infinite' id='type-id-176'>
+      <subrange length='infinite' type-id='type-id-11' id='type-id-40'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-173' const='yes' id='type-id-180'/>
+    <pointer-type-def type-id='type-id-180' size-in-bits='64' id='type-id-181'/>
+    <union-decl name='rte_ipsec_sad_key' size-in-bits='288' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec_sad.h' line='45' column='1' id='type-id-182'>
+      <data-member access='private'>
+        <var-decl name='v4' type-id='type-id-183' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec_sad.h' line='46' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='v6' type-id='type-id-184' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec_sad.h' line='47' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_ipsec_sadv4_key' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec_sad.h' line='33' column='1' id='type-id-183'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='spi' type-id='type-id-4' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec_sad.h' line='34' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dip' type-id='type-id-4' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec_sad.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='sip' type-id='type-id-4' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec_sad.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_ipsec_sadv6_key' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec_sad.h' line='39' column='1' id='type-id-184'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='spi' type-id='type-id-4' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec_sad.h' line='40' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dip' type-id='type-id-62' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec_sad.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='sip' type-id='type-id-62' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec_sad.h' line='42' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-182' const='yes' id='type-id-185'/>
+    <pointer-type-def type-id='type-id-185' size-in-bits='64' id='type-id-186'/>
+    <pointer-type-def type-id='type-id-186' size-in-bits='64' id='type-id-187'/>
+    <pointer-type-def type-id='type-id-86' size-in-bits='64' id='type-id-188'/>
+    <function-decl name='rte_ipsec_sad_lookup' mangled-name='rte_ipsec_sad_lookup' filepath='../lib/librte_ipsec/ipsec_sad.c' line='498' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_ipsec_sad_lookup@@EXPERIMENTAL'>
+      <parameter type-id='type-id-181' name='sad' filepath='../lib/librte_ipsec/ipsec_sad.c' line='498' column='1'/>
+      <parameter type-id='type-id-187' name='keys' filepath='../lib/librte_ipsec/ipsec_sad.c' line='499' column='1'/>
+      <parameter type-id='type-id-188' name='sa' filepath='../lib/librte_ipsec/ipsec_sad.c' line='499' column='1'/>
+      <parameter type-id='type-id-4' name='n' filepath='../lib/librte_ipsec/ipsec_sad.c' line='499' column='1'/>
+      <return type-id='type-id-37'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-173' size-in-bits='64' id='type-id-189'/>
+    <function-decl name='rte_ipsec_sad_destroy' mangled-name='rte_ipsec_sad_destroy' filepath='../lib/librte_ipsec/ipsec_sad.c' line='389' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_ipsec_sad_destroy@@EXPERIMENTAL'>
+      <parameter type-id='type-id-189' name='sad' filepath='../lib/librte_ipsec/ipsec_sad.c' line='389' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-129' const='yes' id='type-id-190'/>
+    <pointer-type-def type-id='type-id-190' size-in-bits='64' id='type-id-191'/>
+    <function-decl name='rte_ipsec_sad_find_existing' mangled-name='rte_ipsec_sad_find_existing' filepath='../lib/librte_ipsec/ipsec_sad.c' line='355' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_ipsec_sad_find_existing@@EXPERIMENTAL'>
+      <parameter type-id='type-id-191' name='name' filepath='../lib/librte_ipsec/ipsec_sad.c' line='355' column='1'/>
+      <return type-id='type-id-189'/>
+    </function-decl>
+    <class-decl name='rte_ipsec_sad_conf' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec_sad.h' line='56' column='1' id='type-id-192'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='socket_id' type-id='type-id-37' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec_sad.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_sa' type-id='type-id-193' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec_sad.h' line='60' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='flags' type-id='type-id-4' visibility='default' filepath='../lib/librte_ipsec/rte_ipsec_sad.h' line='62' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-4' size-in-bits='96' id='type-id-193'>
+      <subrange length='3' type-id='type-id-11' id='type-id-167'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-192' const='yes' id='type-id-194'/>
+    <pointer-type-def type-id='type-id-194' size-in-bits='64' id='type-id-195'/>
+    <function-decl name='rte_ipsec_sad_create' mangled-name='rte_ipsec_sad_create' filepath='../lib/librte_ipsec/ipsec_sad.c' line='231' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_ipsec_sad_create@@EXPERIMENTAL'>
+      <parameter type-id='type-id-191' name='name' filepath='../lib/librte_ipsec/ipsec_sad.c' line='231' column='1'/>
+      <parameter type-id='type-id-195' name='conf' filepath='../lib/librte_ipsec/ipsec_sad.c' line='231' column='1'/>
+      <return type-id='type-id-189'/>
+    </function-decl>
+    <function-decl name='rte_ipsec_sad_del' mangled-name='rte_ipsec_sad_del' filepath='../lib/librte_ipsec/ipsec_sad.c' line='196' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_ipsec_sad_del@@EXPERIMENTAL'>
+      <parameter type-id='type-id-189' name='sad' filepath='../lib/librte_ipsec/ipsec_sad.c' line='196' column='1'/>
+      <parameter type-id='type-id-186' name='key' filepath='../lib/librte_ipsec/ipsec_sad.c' line='197' column='1'/>
+      <parameter type-id='type-id-37' name='key_type' filepath='../lib/librte_ipsec/ipsec_sad.c' line='198' column='1'/>
+      <return type-id='type-id-37'/>
+    </function-decl>
+    <function-decl name='rte_ipsec_sad_add' mangled-name='rte_ipsec_sad_add' filepath='../lib/librte_ipsec/ipsec_sad.c' line='106' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_ipsec_sad_add@@EXPERIMENTAL'>
+      <parameter type-id='type-id-189' name='sad' filepath='../lib/librte_ipsec/ipsec_sad.c' line='106' column='1'/>
+      <parameter type-id='type-id-186' name='key' filepath='../lib/librte_ipsec/ipsec_sad.c' line='107' column='1'/>
+      <parameter type-id='type-id-37' name='key_type' filepath='../lib/librte_ipsec/ipsec_sad.c' line='108' column='1'/>
+      <parameter type-id='type-id-86' name='sa' filepath='../lib/librte_ipsec/ipsec_sad.c' line='108' column='1'/>
+      <return type-id='type-id-37'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_jobstats.dump b/lib/.abi/librte_jobstats.dump
new file mode 100644
index 000000000..feb3c94c1
--- /dev/null
+++ b/lib/.abi/librte_jobstats.dump
@@ -0,0 +1,197 @@
+<abi-corpus path='gcc//lib/librte_jobstats.so.20.0' architecture='elf-amd-x86_64' soname='librte_jobstats.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_jobstats_abort' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_jobstats_context_finish' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_jobstats_context_init' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_jobstats_context_reset' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_jobstats_context_start' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_jobstats_finish' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_jobstats_init' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_jobstats_reset' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_jobstats_set_max' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_jobstats_set_min' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_jobstats_set_period' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_jobstats_set_target' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_jobstats_set_update_period_function' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_jobstats_start' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_jobstats/rte_jobstats.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='void' id='type-id-1'/>
+    <class-decl name='rte_jobstats' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_jobstats/rte_jobstats.h' line='36' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='period' type-id='type-id-3' visibility='default' filepath='../lib/librte_jobstats/rte_jobstats.h' line='37' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='min_period' type-id='type-id-3' visibility='default' filepath='../lib/librte_jobstats/rte_jobstats.h' line='40' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='max_period' type-id='type-id-3' visibility='default' filepath='../lib/librte_jobstats/rte_jobstats.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='target' type-id='type-id-4' visibility='default' filepath='../lib/librte_jobstats/rte_jobstats.h' line='46' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='update_period_cb' type-id='type-id-5' visibility='default' filepath='../lib/librte_jobstats/rte_jobstats.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='exec_time' type-id='type-id-3' visibility='default' filepath='../lib/librte_jobstats/rte_jobstats.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='min_exec_time' type-id='type-id-3' visibility='default' filepath='../lib/librte_jobstats/rte_jobstats.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='max_exec_time' type-id='type-id-3' visibility='default' filepath='../lib/librte_jobstats/rte_jobstats.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='exec_cnt' type-id='type-id-3' visibility='default' filepath='../lib/librte_jobstats/rte_jobstats.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='name' type-id='type-id-6' visibility='default' filepath='../lib/librte_jobstats/rte_jobstats.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='context' type-id='type-id-7' visibility='default' filepath='../lib/librte_jobstats/rte_jobstats.h' line='67' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-8'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-8' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-9'/>
+    <typedef-decl name='uint64_t' type-id='type-id-9' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-3'/>
+    <type-decl name='long int' size-in-bits='64' id='type-id-10'/>
+    <typedef-decl name='__int64_t' type-id='type-id-10' filepath='/usr/include/bits/types.h' line='44' column='1' id='type-id-11'/>
+    <typedef-decl name='int64_t' type-id='type-id-11' filepath='/usr/include/bits/stdint-intn.h' line='27' column='1' id='type-id-4'/>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-12'/>
+    <pointer-type-def type-id='type-id-13' size-in-bits='64' id='type-id-14'/>
+    <typedef-decl name='rte_job_update_period_cb_t' type-id='type-id-14' filepath='../lib/librte_jobstats/rte_jobstats.h' line='33' column='1' id='type-id-5'/>
+    <type-decl name='char' size-in-bits='8' id='type-id-15'/>
+
+    <array-type-def dimensions='1' type-id='type-id-15' size-in-bits='256' id='type-id-6'>
+      <subrange length='32' type-id='type-id-8' id='type-id-16'/>
+
+    </array-type-def>
+    <class-decl name='rte_jobstats_context' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_jobstats/rte_jobstats.h' line='71' column='1' id='type-id-17'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='state_time' type-id='type-id-3' visibility='default' filepath='../lib/librte_jobstats/rte_jobstats.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='loop_executed_jobs' type-id='type-id-3' visibility='default' filepath='../lib/librte_jobstats/rte_jobstats.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='exec_time' type-id='type-id-3' visibility='default' filepath='../lib/librte_jobstats/rte_jobstats.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='min_exec_time' type-id='type-id-3' visibility='default' filepath='../lib/librte_jobstats/rte_jobstats.h' line='87' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='max_exec_time' type-id='type-id-3' visibility='default' filepath='../lib/librte_jobstats/rte_jobstats.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='management_time' type-id='type-id-3' visibility='default' filepath='../lib/librte_jobstats/rte_jobstats.h' line='99' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='min_management_time' type-id='type-id-3' visibility='default' filepath='../lib/librte_jobstats/rte_jobstats.h' line='101' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='max_management_time' type-id='type-id-3' visibility='default' filepath='../lib/librte_jobstats/rte_jobstats.h' line='104' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='start_time' type-id='type-id-3' visibility='default' filepath='../lib/librte_jobstats/rte_jobstats.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='job_exec_cnt' type-id='type-id-3' visibility='default' filepath='../lib/librte_jobstats/rte_jobstats.h' line='110' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='loop_cnt' type-id='type-id-3' visibility='default' filepath='../lib/librte_jobstats/rte_jobstats.h' line='113' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-7'/>
+    <function-decl name='rte_jobstats_reset' mangled-name='rte_jobstats_reset' filepath='../lib/librte_jobstats/rte_jobstats.c' line='261' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_jobstats_reset@@DPDK_20.0'>
+      <parameter type-id='type-id-12' name='job' filepath='../lib/librte_jobstats/rte_jobstats.c' line='261' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_jobstats_set_update_period_function' mangled-name='rte_jobstats_set_update_period_function' filepath='../lib/librte_jobstats/rte_jobstats.c' line='251' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_jobstats_set_update_period_function@@DPDK_20.0'>
+      <parameter type-id='type-id-12' name='job' filepath='../lib/librte_jobstats/rte_jobstats.c' line='251' column='1'/>
+      <parameter type-id='type-id-5' name='update_period_cb' filepath='../lib/librte_jobstats/rte_jobstats.c' line='252' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <type-decl name='int' size-in-bits='32' id='type-id-18'/>
+    <qualified-type-def type-id='type-id-15' const='yes' id='type-id-19'/>
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-20'/>
+    <function-decl name='rte_jobstats_init' mangled-name='rte_jobstats_init' filepath='../lib/librte_jobstats/rte_jobstats.c' line='231' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_jobstats_init@@DPDK_20.0'>
+      <parameter type-id='type-id-12' name='job' filepath='../lib/librte_jobstats/rte_jobstats.c' line='231' column='1'/>
+      <parameter type-id='type-id-20' name='name' filepath='../lib/librte_jobstats/rte_jobstats.c' line='231' column='1'/>
+      <parameter type-id='type-id-3' name='min_period' filepath='../lib/librte_jobstats/rte_jobstats.c' line='232' column='1'/>
+      <parameter type-id='type-id-3' name='max_period' filepath='../lib/librte_jobstats/rte_jobstats.c' line='232' column='1'/>
+      <parameter type-id='type-id-3' name='initial_period' filepath='../lib/librte_jobstats/rte_jobstats.c' line='232' column='1'/>
+      <parameter type-id='type-id-4' name='target' filepath='../lib/librte_jobstats/rte_jobstats.c' line='233' column='1'/>
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <function-decl name='rte_jobstats_set_max' mangled-name='rte_jobstats_set_max' filepath='../lib/librte_jobstats/rte_jobstats.c' line='223' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_jobstats_set_max@@DPDK_20.0'>
+      <parameter type-id='type-id-12' name='job' filepath='../lib/librte_jobstats/rte_jobstats.c' line='223' column='1'/>
+      <parameter type-id='type-id-3' name='period' filepath='../lib/librte_jobstats/rte_jobstats.c' line='223' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_jobstats_set_min' mangled-name='rte_jobstats_set_min' filepath='../lib/librte_jobstats/rte_jobstats.c' line='215' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_jobstats_set_min@@DPDK_20.0'>
+      <parameter type-id='type-id-12' name='job' filepath='../lib/librte_jobstats/rte_jobstats.c' line='223' column='1'/>
+      <parameter type-id='type-id-3' name='period' filepath='../lib/librte_jobstats/rte_jobstats.c' line='223' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-21'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-21' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-22'/>
+    <typedef-decl name='uint8_t' type-id='type-id-22' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-23'/>
+    <function-decl name='rte_jobstats_set_period' mangled-name='rte_jobstats_set_period' filepath='../lib/librte_jobstats/rte_jobstats.c' line='201' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_jobstats_set_period@@DPDK_20.0'>
+      <parameter type-id='type-id-12' name='job' filepath='../lib/librte_jobstats/rte_jobstats.c' line='201' column='1'/>
+      <parameter type-id='type-id-3' name='period' filepath='../lib/librte_jobstats/rte_jobstats.c' line='201' column='1'/>
+      <parameter type-id='type-id-23' name='saturate' filepath='../lib/librte_jobstats/rte_jobstats.c' line='202' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_jobstats_finish' mangled-name='rte_jobstats_finish' filepath='../lib/librte_jobstats/rte_jobstats.c' line='165' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_jobstats_finish@@DPDK_20.0'>
+      <parameter type-id='type-id-12' name='job' filepath='../lib/librte_jobstats/rte_jobstats.c' line='165' column='1'/>
+      <parameter type-id='type-id-4' name='job_value' filepath='../lib/librte_jobstats/rte_jobstats.c' line='165' column='1'/>
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <function-decl name='rte_jobstats_abort' mangled-name='rte_jobstats_abort' filepath='../lib/librte_jobstats/rte_jobstats.c' line='145' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_jobstats_abort@@DPDK_20.0'>
+      <parameter type-id='type-id-12' name='job' filepath='../lib/librte_jobstats/rte_jobstats.c' line='145' column='1'/>
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <function-decl name='rte_jobstats_start' mangled-name='rte_jobstats_start' filepath='../lib/librte_jobstats/rte_jobstats.c' line='126' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_jobstats_start@@DPDK_20.0'>
+      <parameter type-id='type-id-7' name='ctx' filepath='../lib/librte_jobstats/rte_jobstats.c' line='126' column='1'/>
+      <parameter type-id='type-id-12' name='job' filepath='../lib/librte_jobstats/rte_jobstats.c' line='126' column='1'/>
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <function-decl name='rte_jobstats_set_target' mangled-name='rte_jobstats_set_target' filepath='../lib/librte_jobstats/rte_jobstats.c' line='120' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_jobstats_set_target@@DPDK_20.0'>
+      <parameter type-id='type-id-12' name='job' filepath='../lib/librte_jobstats/rte_jobstats.c' line='120' column='1'/>
+      <parameter type-id='type-id-4' name='target' filepath='../lib/librte_jobstats/rte_jobstats.c' line='120' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_jobstats_context_reset' mangled-name='rte_jobstats_context_reset' filepath='../lib/librte_jobstats/rte_jobstats.c' line='109' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_jobstats_context_reset@@DPDK_20.0'>
+      <parameter type-id='type-id-7' name='ctx' filepath='../lib/librte_jobstats/rte_jobstats.c' line='109' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_jobstats_context_finish' mangled-name='rte_jobstats_context_finish' filepath='../lib/librte_jobstats/rte_jobstats.c' line='96' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_jobstats_context_finish@@DPDK_20.0'>
+      <parameter type-id='type-id-7' name='ctx' filepath='../lib/librte_jobstats/rte_jobstats.c' line='96' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_jobstats_context_start' mangled-name='rte_jobstats_context_start' filepath='../lib/librte_jobstats/rte_jobstats.c' line='84' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_jobstats_context_start@@DPDK_20.0'>
+      <parameter type-id='type-id-7' name='ctx' filepath='../lib/librte_jobstats/rte_jobstats.c' line='96' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_jobstats_context_init' mangled-name='rte_jobstats_context_init' filepath='../lib/librte_jobstats/rte_jobstats.c' line='70' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_jobstats_context_init@@DPDK_20.0'>
+      <parameter type-id='type-id-7' name='ctx' filepath='../lib/librte_jobstats/rte_jobstats.c' line='70' column='1'/>
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-13'>
+      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-4'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_kni.dump b/lib/.abi/librte_kni.dump
new file mode 100644
index 000000000..83b6d72c3
--- /dev/null
+++ b/lib/.abi/librte_kni.dump
@@ -0,0 +1,657 @@
+<abi-corpus path='gcc//lib/librte_kni.so.20.0' architecture='elf-amd-x86_64' soname='librte_kni.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_kni_alloc' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_kni_close' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_kni_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_kni_get_name' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_kni_handle_request' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_kni_init' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_kni_register_handlers' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_kni_release' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_kni_rx_burst' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_kni_tx_burst' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_kni_unregister_handlers' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_kni_update_link' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_kni/rte_kni.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='void' id='type-id-1'/>
+    <function-decl name='rte_kni_close' mangled-name='rte_kni_close' filepath='../lib/librte_kni/rte_kni.c' line='816' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_kni_close@@DPDK_20.0'>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <type-decl name='int' size-in-bits='32' id='type-id-2'/>
+    <class-decl name='rte_kni' size-in-bits='1600' is-struct='yes' visibility='default' filepath='../lib/librte_kni/rte_kni.c' line='58' column='1' id='type-id-3'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-4' visibility='default' filepath='../lib/librte_kni/rte_kni.c' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='group_id' type-id='type-id-5' visibility='default' filepath='../lib/librte_kni/rte_kni.c' line='60' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='slot_id' type-id='type-id-6' visibility='default' filepath='../lib/librte_kni/rte_kni.c' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='pktmbuf_pool' type-id='type-id-7' visibility='default' filepath='../lib/librte_kni/rte_kni.c' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='mbuf_size' type-id='type-id-8' visibility='default' filepath='../lib/librte_kni/rte_kni.c' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='m_tx_q' type-id='type-id-9' visibility='default' filepath='../lib/librte_kni/rte_kni.c' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='m_rx_q' type-id='type-id-9' visibility='default' filepath='../lib/librte_kni/rte_kni.c' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='m_alloc_q' type-id='type-id-9' visibility='default' filepath='../lib/librte_kni/rte_kni.c' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='m_free_q' type-id='type-id-9' visibility='default' filepath='../lib/librte_kni/rte_kni.c' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_q' type-id='type-id-10' visibility='default' filepath='../lib/librte_kni/rte_kni.c' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='rx_q' type-id='type-id-10' visibility='default' filepath='../lib/librte_kni/rte_kni.c' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='alloc_q' type-id='type-id-10' visibility='default' filepath='../lib/librte_kni/rte_kni.c' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='free_q' type-id='type-id-10' visibility='default' filepath='../lib/librte_kni/rte_kni.c' line='73' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='m_req_q' type-id='type-id-9' visibility='default' filepath='../lib/librte_kni/rte_kni.c' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='m_resp_q' type-id='type-id-9' visibility='default' filepath='../lib/librte_kni/rte_kni.c' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='m_sync_addr' type-id='type-id-9' visibility='default' filepath='../lib/librte_kni/rte_kni.c' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='req_q' type-id='type-id-10' visibility='default' filepath='../lib/librte_kni/rte_kni.c' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='resp_q' type-id='type-id-10' visibility='default' filepath='../lib/librte_kni/rte_kni.c' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='sync_addr' type-id='type-id-11' visibility='default' filepath='../lib/librte_kni/rte_kni.c' line='82' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='ops' type-id='type-id-12' visibility='default' filepath='../lib/librte_kni/rte_kni.c' line='84' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-13'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-14'/>
+
+    <array-type-def dimensions='1' type-id='type-id-13' size-in-bits='128' id='type-id-4'>
+      <subrange length='16' type-id='type-id-14' id='type-id-15'/>
+
+    </array-type-def>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-16'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-16' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-17'/>
+    <typedef-decl name='uint16_t' type-id='type-id-17' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-5'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-8'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-8' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-18'/>
+    <typedef-decl name='uint32_t' type-id='type-id-18' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-6'/>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-19'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-20' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-21' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-11' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-9' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-8' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-2' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-6' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-6' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-6' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-6' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-6' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-8' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-22' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-23' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-6' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-24' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-6' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-25' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-13' size-in-bits='256' id='type-id-20'>
+      <subrange length='32' type-id='type-id-14' id='type-id-26'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-21'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-11' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-27' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-11'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-14' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-28'/>
+    <typedef-decl name='uint64_t' type-id='type-id-28' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-27'/>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-29'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-20' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-30' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-31' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-27' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-22' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-6' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-30'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-32' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-33' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-27' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-32'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-27' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-33'/>
+    <typedef-decl name='size_t' type-id='type-id-14' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-31'/>
+    <typedef-decl name='__int32_t' type-id='type-id-2' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-34'/>
+    <typedef-decl name='int32_t' type-id='type-id-34' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-22'/>
+    <qualified-type-def type-id='type-id-29' const='yes' id='type-id-35'/>
+    <pointer-type-def type-id='type-id-35' size-in-bits='64' id='type-id-9'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-36'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-6' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-6' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-6' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-37' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='98304' id='type-id-37'>
+      <subrange length='1536' type-id='type-id-14' id='type-id-38'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-23'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-24'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-40' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-41'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-42' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-7' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-43' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-42'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-39'/>
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-7'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-43'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-33' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-39' size-in-bits='64' id='type-id-40'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-25'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-44' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-45' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-46'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-47' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-7' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-11' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-48' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-31' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-11' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-47'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-44' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-44'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-48'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-33' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-50' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-51'/>
+    <pointer-type-def type-id='type-id-51' size-in-bits='64' id='type-id-49'/>
+    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-45'/>
+    <class-decl name='rte_kni_fifo' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_eal/linux/eal/include/rte_kni_common.h' line='59' column='1' id='type-id-52'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='write' type-id='type-id-53' visibility='default' filepath='../lib/librte_eal/linux/eal/include/rte_kni_common.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='read' type-id='type-id-53' visibility='default' filepath='../lib/librte_eal/linux/eal/include/rte_kni_common.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-8' visibility='default' filepath='../lib/librte_eal/linux/eal/include/rte_kni_common.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='elem_size' type-id='type-id-8' visibility='default' filepath='../lib/librte_eal/linux/eal/include/rte_kni_common.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='buffer' type-id='type-id-54' visibility='default' filepath='../lib/librte_eal/linux/eal/include/rte_kni_common.h' line='69' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-8' volatile='yes' id='type-id-53'/>
+    <qualified-type-def type-id='type-id-11' volatile='yes' id='type-id-55'/>
+
+    <array-type-def dimensions='1' type-id='type-id-55' size-in-bits='infinite' id='type-id-56'>
+      <subrange length='infinite' type-id='type-id-14' id='type-id-57'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-56' volatile='yes' id='type-id-54'/>
+    <pointer-type-def type-id='type-id-52' size-in-bits='64' id='type-id-10'/>
+    <class-decl name='rte_kni_ops' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_kni/rte_kni.h' line='37' column='1' id='type-id-12'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='port_id' type-id='type-id-5' visibility='default' filepath='../lib/librte_kni/rte_kni.h' line='38' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='change_mtu' type-id='type-id-58' visibility='default' filepath='../lib/librte_kni/rte_kni.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='config_network_if' type-id='type-id-59' visibility='default' filepath='../lib/librte_kni/rte_kni.h' line='44' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='config_mac_address' type-id='type-id-60' visibility='default' filepath='../lib/librte_kni/rte_kni.h' line='47' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='config_promiscusity' type-id='type-id-59' visibility='default' filepath='../lib/librte_kni/rte_kni.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='config_allmulticast' type-id='type-id-59' visibility='default' filepath='../lib/librte_kni/rte_kni.h' line='53' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-61' size-in-bits='64' id='type-id-58'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-62'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-62' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-63'/>
+    <typedef-decl name='uint8_t' type-id='type-id-63' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-64'/>
+    <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-59'/>
+    <pointer-type-def type-id='type-id-64' size-in-bits='64' id='type-id-66'/>
+    <pointer-type-def type-id='type-id-67' size-in-bits='64' id='type-id-60'/>
+    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-68'/>
+    <function-decl name='rte_kni_unregister_handlers' mangled-name='rte_kni_unregister_handlers' filepath='../lib/librte_kni/rte_kni.c' line='763' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_kni_unregister_handlers@@DPDK_20.0'>
+      <parameter type-id='type-id-68' name='kni' filepath='../lib/librte_kni/rte_kni.c' line='763' column='1'/>
+      <return type-id='type-id-2'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-12' size-in-bits='64' id='type-id-69'/>
+    <function-decl name='rte_kni_register_handlers' mangled-name='rte_kni_register_handlers' filepath='../lib/librte_kni/rte_kni.c' line='738' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_kni_register_handlers@@DPDK_20.0'>
+      <parameter type-id='type-id-68' name='kni' filepath='../lib/librte_kni/rte_kni.c' line='738' column='1'/>
+      <parameter type-id='type-id-69' name='ops' filepath='../lib/librte_kni/rte_kni.c' line='738' column='1'/>
+      <return type-id='type-id-2'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-13' const='yes' id='type-id-70'/>
+    <pointer-type-def type-id='type-id-70' size-in-bits='64' id='type-id-71'/>
+    <qualified-type-def type-id='type-id-3' const='yes' id='type-id-72'/>
+    <pointer-type-def type-id='type-id-72' size-in-bits='64' id='type-id-73'/>
+    <function-decl name='rte_kni_get_name' mangled-name='rte_kni_get_name' filepath='../lib/librte_kni/rte_kni.c' line='715' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_kni_get_name@@DPDK_20.0'>
+      <parameter type-id='type-id-73' name='kni' filepath='../lib/librte_kni/rte_kni.c' line='715' column='1'/>
+      <return type-id='type-id-71'/>
+    </function-decl>
+    <function-decl name='rte_kni_get' mangled-name='rte_kni_get' filepath='../lib/librte_kni/rte_kni.c' line='698' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_kni_get@@DPDK_20.0'>
+      <parameter type-id='type-id-71' name='name' filepath='../lib/librte_kni/rte_kni.c' line='698' column='1'/>
+      <return type-id='type-id-68'/>
+    </function-decl>
+    <class-decl name='rte_mbuf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='480' column='1' id='type-id-74'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheline0' type-id='type-id-75' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-11' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-76' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rearm_data' type-id='type-id-77' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='497' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_off' type-id='type-id-5' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_segs' type-id='type-id-5' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='port' type-id='type-id-5' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ol_flags' type-id='type-id-27' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_descriptor_fields1' type-id='type-id-75' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='pkt_len' type-id='type-id-6' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data_len' type-id='type-id-5' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='vlan_tci' type-id='type-id-5' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vlan_tci_outer' type-id='type-id-5' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='buf_len' type-id='type-id-5' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='timestamp' type-id='type-id-27' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cacheline1' type-id='type-id-75' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='pool' type-id='type-id-7' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='next' type-id='type-id-78' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv_size' type-id='type-id-5' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='timesync' type-id='type-id-5' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='seqn' type-id='type-id-6' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='shinfo' type-id='type-id-79' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dynfield1' type-id='type-id-80' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='infinite' id='type-id-81'>
+      <subrange length='infinite' type-id='type-id-14' id='type-id-57'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER' type-id='type-id-81' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='414' column='1' id='type-id-75'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='491' column='1' id='type-id-76'>
+      <data-member access='private'>
+        <var-decl name='buf_iova' type-id='type-id-33' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='buf_physaddr' type-id='type-id-33' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-27' size-in-bits='infinite' id='type-id-82'>
+      <subrange length='infinite' type-id='type-id-14' id='type-id-57'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER64' type-id='type-id-82' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='420' column='1' id='type-id-77'/>
+    <pointer-type-def type-id='type-id-74' size-in-bits='64' id='type-id-78'/>
+    <class-decl name='rte_mbuf_ext_shared_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='689' column='1' id='type-id-83'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_cb' type-id='type-id-84' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcb_opaque' type-id='type-id-11' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt_atomic' type-id='type-id-85' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-86' size-in-bits='64' id='type-id-87'/>
+    <typedef-decl name='rte_mbuf_extbuf_free_callback_t' type-id='type-id-87' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='684' column='1' id='type-id-84'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-85' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-88'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-90'/>
+    <typedef-decl name='__int16_t' type-id='type-id-90' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-91'/>
+    <typedef-decl name='int16_t' type-id='type-id-91' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-92'/>
+    <qualified-type-def type-id='type-id-92' volatile='yes' id='type-id-89'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-88' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-85'/>
+    <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-79'/>
+
+    <array-type-def dimensions='1' type-id='type-id-27' size-in-bits='128' id='type-id-80'>
+      <subrange length='2' type-id='type-id-14' id='type-id-93'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-78' size-in-bits='64' id='type-id-94'/>
+    <function-decl name='rte_kni_rx_burst' mangled-name='rte_kni_rx_burst' filepath='../lib/librte_kni/rte_kni.c' line='617' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_kni_rx_burst@@DPDK_20.0'>
+      <parameter type-id='type-id-68' name='kni' filepath='../lib/librte_kni/rte_kni.c' line='617' column='1'/>
+      <parameter type-id='type-id-94' name='mbufs' filepath='../lib/librte_kni/rte_kni.c' line='617' column='1'/>
+      <parameter type-id='type-id-8' name='num' filepath='../lib/librte_kni/rte_kni.c' line='617' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='rte_kni_tx_burst' mangled-name='rte_kni_tx_burst' filepath='../lib/librte_kni/rte_kni.c' line='598' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_kni_tx_burst@@DPDK_20.0'>
+      <parameter type-id='type-id-68' name='kni' filepath='../lib/librte_kni/rte_kni.c' line='598' column='1'/>
+      <parameter type-id='type-id-94' name='mbufs' filepath='../lib/librte_kni/rte_kni.c' line='598' column='1'/>
+      <parameter type-id='type-id-8' name='num' filepath='../lib/librte_kni/rte_kni.c' line='598' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='rte_kni_handle_request' mangled-name='rte_kni_handle_request' filepath='../lib/librte_kni/rte_kni.c' line='527' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_kni_handle_request@@DPDK_20.0'>
+      <parameter type-id='type-id-68' name='kni' filepath='../lib/librte_kni/rte_kni.c' line='527' column='1'/>
+      <return type-id='type-id-2'/>
+    </function-decl>
+    <function-decl name='rte_kni_release' mangled-name='rte_kni_release' filepath='../lib/librte_kni/rte_kni.c' line='397' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_kni_release@@DPDK_20.0'>
+      <parameter type-id='type-id-68' name='kni' filepath='../lib/librte_kni/rte_kni.c' line='397' column='1'/>
+      <return type-id='type-id-2'/>
+    </function-decl>
+    <class-decl name='rte_kni_conf' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_kni/rte_kni.h' line='59' column='1' id='type-id-95'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-4' visibility='default' filepath='../lib/librte_kni/rte_kni.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='core_id' type-id='type-id-6' visibility='default' filepath='../lib/librte_kni/rte_kni.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='group_id' type-id='type-id-5' visibility='default' filepath='../lib/librte_kni/rte_kni.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='mbuf_size' type-id='type-id-8' visibility='default' filepath='../lib/librte_kni/rte_kni.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='addr' type-id='type-id-96' visibility='default' filepath='../lib/librte_kni/rte_kni.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='id' type-id='type-id-97' visibility='default' filepath='../lib/librte_kni/rte_kni.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='force_bind' type-id='type-id-64' visibility='default' filepath='../lib/librte_kni/rte_kni.h' line='73' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='392'>
+        <var-decl name='mac_addr' type-id='type-id-98' visibility='default' filepath='../lib/librte_kni/rte_kni.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='mtu' type-id='type-id-5' visibility='default' filepath='../lib/librte_kni/rte_kni.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='min_mtu' type-id='type-id-5' visibility='default' filepath='../lib/librte_kni/rte_kni.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='max_mtu' type-id='type-id-5' visibility='default' filepath='../lib/librte_kni/rte_kni.h' line='77' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_pci_addr' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='61' column='1' id='type-id-96'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='domain' type-id='type-id-6' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='bus' type-id='type-id-64' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='devid' type-id='type-id-64' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='function' type-id='type-id-64' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_pci_id' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='50' column='1' id='type-id-97'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='class_id' type-id='type-id-6' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='vendor_id' type-id='type-id-5' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='device_id' type-id='type-id-5' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='subsystem_vendor_id' type-id='type-id-5' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='subsystem_device_id' type-id='type-id-5' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='55' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-64' size-in-bits='48' id='type-id-98'>
+      <subrange length='6' type-id='type-id-14' id='type-id-99'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-95' const='yes' id='type-id-100'/>
+    <pointer-type-def type-id='type-id-100' size-in-bits='64' id='type-id-101'/>
+    <function-decl name='rte_kni_alloc' mangled-name='rte_kni_alloc' filepath='../lib/librte_kni/rte_kni.c' line='206' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_kni_alloc@@DPDK_20.0'>
+      <parameter type-id='type-id-7' name='pktmbuf_pool' filepath='../lib/librte_kni/rte_kni.c' line='206' column='1'/>
+      <parameter type-id='type-id-101' name='conf' filepath='../lib/librte_kni/rte_kni.c' line='207' column='1'/>
+      <parameter type-id='type-id-69' name='ops' filepath='../lib/librte_kni/rte_kni.c' line='208' column='1'/>
+      <return type-id='type-id-68'/>
+    </function-decl>
+    <function-decl name='rte_kni_init' mangled-name='rte_kni_init' filepath='../lib/librte_kni/rte_kni.c' line='99' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_kni_init@@DPDK_20.0'>
+      <parameter type-id='type-id-8' name='max_kni_ifaces' filepath='../lib/librte_kni/rte_kni.c' line='99' column='1'/>
+      <return type-id='type-id-2'/>
+    </function-decl>
+    <function-decl name='rte_kni_update_link' mangled-name='rte_kni_update_link' filepath='../lib/librte_kni/rte_kni.c' line='776' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_kni_update_link@@EXPERIMENTAL'>
+      <parameter type-id='type-id-68' name='kni' filepath='../lib/librte_kni/rte_kni.c' line='776' column='1'/>
+      <parameter type-id='type-id-8' name='linkup' filepath='../lib/librte_kni/rte_kni.c' line='776' column='1'/>
+      <return type-id='type-id-2'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-65'>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-64'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-67'>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-66'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-61'>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-8'/>
+      <return type-id='type-id-2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-50'>
+      <parameter type-id='type-id-44'/>
+      <parameter type-id='type-id-11'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-86'>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-11'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_kvargs.dump b/lib/.abi/librte_kvargs.dump
new file mode 100644
index 000000000..4288c07ea
--- /dev/null
+++ b/lib/.abi/librte_kvargs.dump
@@ -0,0 +1,98 @@
+<abi-corpus path='gcc//lib/librte_kvargs.so.20.0' architecture='elf-amd-x86_64' soname='librte_kvargs.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_kvargs_count' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_kvargs_free' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_kvargs_parse' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_kvargs_parse_delim' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_kvargs_process' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_kvargs_strcmp' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_kvargs/rte_kvargs.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_kvargs' size-in-bits='4224' is-struct='yes' visibility='default' filepath='../lib/librte_kvargs/rte_kvargs.h' line='49' column='1' id='type-id-1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='str' type-id='type-id-2' visibility='default' filepath='../lib/librte_kvargs/rte_kvargs.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='count' type-id='type-id-3' visibility='default' filepath='../lib/librte_kvargs/rte_kvargs.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pairs' type-id='type-id-4' visibility='default' filepath='../lib/librte_kvargs/rte_kvargs.h' line='52' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-5'/>
+    <pointer-type-def type-id='type-id-5' size-in-bits='64' id='type-id-2'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-3'/>
+    <class-decl name='rte_kvargs_pair' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_kvargs/rte_kvargs.h' line='43' column='1' id='type-id-6'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='key' type-id='type-id-2' visibility='default' filepath='../lib/librte_kvargs/rte_kvargs.h' line='44' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='value' type-id='type-id-2' visibility='default' filepath='../lib/librte_kvargs/rte_kvargs.h' line='45' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-7'/>
+
+    <array-type-def dimensions='1' type-id='type-id-6' size-in-bits='4096' id='type-id-4'>
+      <subrange length='32' type-id='type-id-7' id='type-id-8'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-9'/>
+    <qualified-type-def type-id='type-id-5' const='yes' id='type-id-10'/>
+    <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-11'/>
+    <qualified-type-def type-id='type-id-11' const='yes' id='type-id-12'/>
+    <pointer-type-def type-id='type-id-12' size-in-bits='64' id='type-id-13'/>
+    <function-decl name='rte_kvargs_parse' mangled-name='rte_kvargs_parse' filepath='../lib/librte_kvargs/rte_kvargs.c' line='167' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_kvargs_parse@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='args' filepath='../lib/librte_kvargs/rte_kvargs.c' line='167' column='1'/>
+      <parameter type-id='type-id-13' name='valid_keys' filepath='../lib/librte_kvargs/rte_kvargs.c' line='167' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <type-decl name='void' id='type-id-14'/>
+    <function-decl name='rte_kvargs_free' mangled-name='rte_kvargs_free' filepath='../lib/librte_kvargs/rte_kvargs.c' line='152' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_kvargs_free@@DPDK_20.0'>
+      <parameter type-id='type-id-9' name='kvlist' filepath='../lib/librte_kvargs/rte_kvargs.c' line='152' column='1'/>
+      <return type-id='type-id-14'/>
+    </function-decl>
+    <type-decl name='int' size-in-bits='32' id='type-id-15'/>
+    <qualified-type-def type-id='type-id-1' const='yes' id='type-id-16'/>
+    <pointer-type-def type-id='type-id-16' size-in-bits='64' id='type-id-17'/>
+    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-18'/>
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-20'/>
+    <typedef-decl name='arg_handler_t' type-id='type-id-20' filepath='../lib/librte_kvargs/rte_kvargs.h' line='40' column='1' id='type-id-21'/>
+    <function-decl name='rte_kvargs_process' mangled-name='rte_kvargs_process' filepath='../lib/librte_kvargs/rte_kvargs.c' line='129' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_kvargs_process@@DPDK_20.0'>
+      <parameter type-id='type-id-17' name='kvlist' filepath='../lib/librte_kvargs/rte_kvargs.c' line='129' column='1'/>
+      <parameter type-id='type-id-11' name='key_match' filepath='../lib/librte_kvargs/rte_kvargs.c' line='130' column='1'/>
+      <parameter type-id='type-id-21' name='handler' filepath='../lib/librte_kvargs/rte_kvargs.c' line='131' column='1'/>
+      <parameter type-id='type-id-18' name='opaque_arg' filepath='../lib/librte_kvargs/rte_kvargs.c' line='132' column='1'/>
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <function-decl name='rte_kvargs_count' mangled-name='rte_kvargs_count' filepath='../lib/librte_kvargs/rte_kvargs.c' line='110' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_kvargs_count@@DPDK_20.0'>
+      <parameter type-id='type-id-17' name='kvlist' filepath='../lib/librte_kvargs/rte_kvargs.c' line='110' column='1'/>
+      <parameter type-id='type-id-11' name='key_match' filepath='../lib/librte_kvargs/rte_kvargs.c' line='110' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <function-decl name='rte_kvargs_strcmp' mangled-name='rte_kvargs_strcmp' filepath='../lib/librte_kvargs/rte_kvargs.c' line='214' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_kvargs_strcmp@@EXPERIMENTAL'>
+      <parameter type-id='type-id-11' name='key' filepath='../lib/librte_kvargs/rte_kvargs.c' line='214' column='1'/>
+      <parameter type-id='type-id-11' name='value' filepath='../lib/librte_kvargs/rte_kvargs.c' line='215' column='1'/>
+      <parameter type-id='type-id-18' name='opaque' filepath='../lib/librte_kvargs/rte_kvargs.c' line='215' column='1'/>
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <function-decl name='rte_kvargs_parse_delim' mangled-name='rte_kvargs_parse_delim' filepath='../lib/librte_kvargs/rte_kvargs.c' line='190' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_kvargs_parse_delim@@EXPERIMENTAL'>
+      <parameter type-id='type-id-11' name='args' filepath='../lib/librte_kvargs/rte_kvargs.c' line='190' column='1'/>
+      <parameter type-id='type-id-13' name='valid_keys' filepath='../lib/librte_kvargs/rte_kvargs.c' line='190' column='1'/>
+      <parameter type-id='type-id-11' name='valid_ends' filepath='../lib/librte_kvargs/rte_kvargs.c' line='191' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-19'>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-18'/>
+      <return type-id='type-id-15'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_latencystats.dump b/lib/.abi/librte_latencystats.dump
new file mode 100644
index 000000000..bc21e0d5a
--- /dev/null
+++ b/lib/.abi/librte_latencystats.dump
@@ -0,0 +1,427 @@
+<abi-corpus path='gcc//lib/librte_latencystats.so.20.0' architecture='elf-amd-x86_64' soname='librte_latencystats.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_metrics.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_latencystats_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_latencystats_get_names' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_latencystats_init' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_latencystats_uninit' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_latencystats_update' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_latencystats/rte_latencystats.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <class-decl name='rte_metric_value' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_metrics/rte_metrics.h' line='67' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='key' type-id='type-id-3' visibility='default' filepath='../lib/librte_metrics/rte_metrics.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='value' type-id='type-id-4' visibility='default' filepath='../lib/librte_metrics/rte_metrics.h' line='71' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-5'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-5' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-6'/>
+    <typedef-decl name='uint16_t' type-id='type-id-6' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-3'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-7'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-7' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-8'/>
+    <typedef-decl name='uint64_t' type-id='type-id-8' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-4'/>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-9'/>
+    <function-decl name='rte_latencystats_get' mangled-name='rte_latencystats_get' filepath='../lib/librte_latencystats/rte_latencystats.c' line='339' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_latencystats_get@@DPDK_20.0'>
+      <parameter type-id='type-id-9' name='values' filepath='../lib/librte_latencystats/rte_latencystats.c' line='339' column='1'/>
+      <parameter type-id='type-id-3' name='size' filepath='../lib/librte_latencystats/rte_latencystats.c' line='339' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_metric_name' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_metrics/rte_metrics.h' line='53' column='1' id='type-id-10'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-11' visibility='default' filepath='../lib/librte_metrics/rte_metrics.h' line='55' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-12'/>
+
+    <array-type-def dimensions='1' type-id='type-id-12' size-in-bits='512' id='type-id-11'>
+      <subrange length='64' type-id='type-id-7' id='type-id-13'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-14'/>
+    <function-decl name='rte_latencystats_get_names' mangled-name='rte_latencystats_get_names' filepath='../lib/librte_latencystats/rte_latencystats.c' line='324' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_latencystats_get_names@@DPDK_20.0'>
+      <parameter type-id='type-id-14' name='names' filepath='../lib/librte_latencystats/rte_latencystats.c' line='324' column='1'/>
+      <parameter type-id='type-id-3' name='size' filepath='../lib/librte_latencystats/rte_latencystats.c' line='324' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_latencystats_uninit' mangled-name='rte_latencystats_uninit' filepath='../lib/librte_latencystats/rte_latencystats.c' line='276' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_latencystats_uninit@@DPDK_20.0'>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_mbuf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='480' column='1' id='type-id-15'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheline0' type-id='type-id-16' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-17' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-18' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rearm_data' type-id='type-id-19' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='497' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_off' type-id='type-id-3' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_segs' type-id='type-id-3' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='port' type-id='type-id-3' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ol_flags' type-id='type-id-4' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_descriptor_fields1' type-id='type-id-16' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='pkt_len' type-id='type-id-20' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data_len' type-id='type-id-3' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='vlan_tci' type-id='type-id-3' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vlan_tci_outer' type-id='type-id-3' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='buf_len' type-id='type-id-3' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='timestamp' type-id='type-id-4' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cacheline1' type-id='type-id-16' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='pool' type-id='type-id-21' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='next' type-id='type-id-22' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv_size' type-id='type-id-3' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='timesync' type-id='type-id-3' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='seqn' type-id='type-id-20' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='shinfo' type-id='type-id-23' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dynfield1' type-id='type-id-24' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='void' id='type-id-25'/>
+    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-17'/>
+
+    <array-type-def dimensions='1' type-id='type-id-17' size-in-bits='infinite' id='type-id-26'>
+      <subrange length='infinite' type-id='type-id-7' id='type-id-27'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER' type-id='type-id-26' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='414' column='1' id='type-id-16'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='491' column='1' id='type-id-18'>
+      <data-member access='private'>
+        <var-decl name='buf_iova' type-id='type-id-28' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='buf_physaddr' type-id='type-id-28' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_iova_t' type-id='type-id-4' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-28'/>
+
+    <array-type-def dimensions='1' type-id='type-id-4' size-in-bits='infinite' id='type-id-29'>
+      <subrange length='infinite' type-id='type-id-7' id='type-id-27'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER64' type-id='type-id-29' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='420' column='1' id='type-id-19'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-30'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-30' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-31'/>
+    <typedef-decl name='uint32_t' type-id='type-id-31' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-20'/>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-32'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-33' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-34' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-17' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-35' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-30' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-20' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-20' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-20' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-20' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-20' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-30' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-36' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-37' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-20' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-38' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-20' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-12' size-in-bits='256' id='type-id-33'>
+      <subrange length='32' type-id='type-id-7' id='type-id-40'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-34'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-17' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-4' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-41'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-33' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-42' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-43' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-36' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-20' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-42'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-44' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-28' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-4' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-44'/>
+    <typedef-decl name='size_t' type-id='type-id-7' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-43'/>
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-45'/>
+    <typedef-decl name='int32_t' type-id='type-id-45' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-36'/>
+    <qualified-type-def type-id='type-id-41' const='yes' id='type-id-46'/>
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-35'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-47'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-20' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-20' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-20' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-48' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-17' size-in-bits='98304' id='type-id-48'>
+      <subrange length='1536' type-id='type-id-7' id='type-id-49'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-37'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-38'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-50' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-51' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-52'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-53' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-21' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-54' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-53'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-50' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-52' size-in-bits='64' id='type-id-50'/>
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-21'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-54'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-44' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-50' size-in-bits='64' id='type-id-51'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-39'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-55' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-56' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-57'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-58' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-21' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-17' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-59' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-43' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-60' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-17' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-58'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-55' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-57' size-in-bits='64' id='type-id-55'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-59'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-44' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-61' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-62'/>
+    <pointer-type-def type-id='type-id-62' size-in-bits='64' id='type-id-60'/>
+    <pointer-type-def type-id='type-id-55' size-in-bits='64' id='type-id-56'/>
+    <pointer-type-def type-id='type-id-15' size-in-bits='64' id='type-id-22'/>
+    <class-decl name='rte_mbuf_ext_shared_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='689' column='1' id='type-id-63'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_cb' type-id='type-id-64' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcb_opaque' type-id='type-id-17' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt_atomic' type-id='type-id-65' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
+    <typedef-decl name='rte_mbuf_extbuf_free_callback_t' type-id='type-id-67' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='684' column='1' id='type-id-64'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-65' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-68'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-69' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-70'/>
+    <typedef-decl name='__int16_t' type-id='type-id-70' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-71'/>
+    <typedef-decl name='int16_t' type-id='type-id-71' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-72'/>
+    <qualified-type-def type-id='type-id-72' volatile='yes' id='type-id-69'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-68' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-65'/>
+    <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-23'/>
+
+    <array-type-def dimensions='1' type-id='type-id-4' size-in-bits='128' id='type-id-24'>
+      <subrange length='2' type-id='type-id-7' id='type-id-73'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-74' size-in-bits='64' id='type-id-75'/>
+    <typedef-decl name='rte_latency_stats_flow_type_fn' type-id='type-id-75' filepath='../lib/librte_latencystats/rte_latencystats.h' line='40' column='1' id='type-id-76'/>
+    <function-decl name='rte_latencystats_init' mangled-name='rte_latencystats_init' filepath='../lib/librte_latencystats/rte_latencystats.c' line='201' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_latencystats_init@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='app_samp_intvl' filepath='../lib/librte_latencystats/rte_latencystats.c' line='201' column='1'/>
+      <parameter type-id='type-id-76' name='user_cb' filepath='../lib/librte_latencystats/rte_latencystats.c' line='202' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_latencystats_update' mangled-name='rte_latencystats_update' filepath='../lib/librte_latencystats/rte_latencystats.c' line='72' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_latencystats_update@@DPDK_20.0'>
+      <return type-id='type-id-36'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-74'>
+      <parameter type-id='type-id-22'/>
+      <parameter type-id='type-id-17'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-61'>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-17'/>
+      <return type-id='type-id-25'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-66'>
+      <parameter type-id='type-id-17'/>
+      <parameter type-id='type-id-17'/>
+      <return type-id='type-id-25'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_lpm.dump b/lib/.abi/librte_lpm.dump
new file mode 100644
index 000000000..5ee454d21
--- /dev/null
+++ b/lib/.abi/librte_lpm.dump
@@ -0,0 +1,330 @@
+<abi-corpus path='gcc//lib/librte_lpm.so.20.0' architecture='elf-amd-x86_64' soname='librte_lpm.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_lpm6_add' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_lpm6_create' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_lpm6_delete' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_lpm6_delete_all' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_lpm6_delete_bulk_func' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_lpm6_find_existing' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_lpm6_free' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_lpm6_is_rule_present' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_lpm6_lookup' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_lpm6_lookup_bulk_func' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_lpm_add' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_lpm_create' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_lpm_delete' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_lpm_delete_all' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_lpm_find_existing' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_lpm_free' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_lpm_is_rule_present' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_lpm/rte_lpm.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='void' id='type-id-1'/>
+    <class-decl name='rte_lpm' size-in-bits='536873984' is-struct='yes' visibility='default' filepath='../lib/librte_lpm/rte_lpm.h' line='121' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-3' visibility='default' filepath='../lib/librte_lpm/rte_lpm.h' line='123' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='max_rules' type-id='type-id-4' visibility='default' filepath='../lib/librte_lpm/rte_lpm.h' line='124' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='number_tbl8s' type-id='type-id-4' visibility='default' filepath='../lib/librte_lpm/rte_lpm.h' line='125' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='rule_info' type-id='type-id-5' visibility='default' filepath='../lib/librte_lpm/rte_lpm.h' line='126' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='tbl24' type-id='type-id-6' visibility='default' filepath='../lib/librte_lpm/rte_lpm.h' line='129' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='536873472'>
+        <var-decl name='tbl8' type-id='type-id-7' visibility='default' filepath='../lib/librte_lpm/rte_lpm.h' line='131' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='536873536'>
+        <var-decl name='rules_tbl' type-id='type-id-8' visibility='default' filepath='../lib/librte_lpm/rte_lpm.h' line='132' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-9'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-10'/>
+
+    <array-type-def dimensions='1' type-id='type-id-9' size-in-bits='256' id='type-id-3'>
+      <subrange length='32' type-id='type-id-10' id='type-id-11'/>
+
+    </array-type-def>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-12'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-12' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-13'/>
+    <typedef-decl name='uint32_t' type-id='type-id-13' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-4'/>
+    <class-decl name='rte_lpm_rule_info' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_lpm/rte_lpm.h' line='115' column='1' id='type-id-14'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='used_rules' type-id='type-id-4' visibility='default' filepath='../lib/librte_lpm/rte_lpm.h' line='116' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='first_rule' type-id='type-id-4' visibility='default' filepath='../lib/librte_lpm/rte_lpm.h' line='117' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-14' size-in-bits='2048' id='type-id-5'>
+      <subrange length='32' type-id='type-id-10' id='type-id-11'/>
+
+    </array-type-def>
+    <class-decl name='rte_lpm_tbl_entry' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_lpm/rte_lpm.h' line='68' column='1' id='type-id-15'>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='next_hop' type-id='type-id-4' visibility='default' filepath='../lib/librte_lpm/rte_lpm.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='valid' type-id='type-id-4' visibility='default' filepath='../lib/librte_lpm/rte_lpm.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='valid_group' type-id='type-id-4' visibility='default' filepath='../lib/librte_lpm/rte_lpm.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='depth' type-id='type-id-4' visibility='default' filepath='../lib/librte_lpm/rte_lpm.h' line='85' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-15' size-in-bits='536870912' id='type-id-6'>
+      <subrange length='16777216' type-id='type-id-10' id='type-id-16'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-15' size-in-bits='64' id='type-id-7'/>
+    <class-decl name='rte_lpm_rule' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_lpm/rte_lpm.h' line='109' column='1' id='type-id-17'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ip' type-id='type-id-4' visibility='default' filepath='../lib/librte_lpm/rte_lpm.h' line='110' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='next_hop' type-id='type-id-4' visibility='default' filepath='../lib/librte_lpm/rte_lpm.h' line='111' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-8'/>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-18'/>
+    <function-decl name='rte_lpm_delete_all' mangled-name='rte_lpm_delete_all' filepath='../lib/librte_lpm/rte_lpm.c' line='1053' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_lpm_delete_all@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='lpm' filepath='../lib/librte_lpm/rte_lpm.c' line='1053' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <type-decl name='int' size-in-bits='32' id='type-id-19'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-20'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-20' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-21'/>
+    <typedef-decl name='uint8_t' type-id='type-id-21' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-22'/>
+    <function-decl name='rte_lpm_delete' mangled-name='rte_lpm_delete' filepath='../lib/librte_lpm/rte_lpm.c' line='997' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_lpm_delete@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='lpm' filepath='../lib/librte_lpm/rte_lpm.c' line='997' column='1'/>
+      <parameter type-id='type-id-4' name='ip' filepath='../lib/librte_lpm/rte_lpm.c' line='997' column='1'/>
+      <parameter type-id='type-id-22' name='depth' filepath='../lib/librte_lpm/rte_lpm.c' line='997' column='1'/>
+      <return type-id='type-id-19'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-23'/>
+    <function-decl name='rte_lpm_is_rule_present' mangled-name='rte_lpm_is_rule_present' filepath='../lib/librte_lpm/rte_lpm.c' line='706' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_lpm_is_rule_present@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='lpm' filepath='../lib/librte_lpm/rte_lpm.c' line='706' column='1'/>
+      <parameter type-id='type-id-4' name='ip' filepath='../lib/librte_lpm/rte_lpm.c' line='706' column='1'/>
+      <parameter type-id='type-id-22' name='depth' filepath='../lib/librte_lpm/rte_lpm.c' line='706' column='1'/>
+      <parameter type-id='type-id-23' name='next_hop' filepath='../lib/librte_lpm/rte_lpm.c' line='707' column='1'/>
+      <return type-id='type-id-19'/>
+    </function-decl>
+    <function-decl name='rte_lpm_add' mangled-name='rte_lpm_add' filepath='../lib/librte_lpm/rte_lpm.c' line='663' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_lpm_add@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='lpm' filepath='../lib/librte_lpm/rte_lpm.c' line='663' column='1'/>
+      <parameter type-id='type-id-4' name='ip' filepath='../lib/librte_lpm/rte_lpm.c' line='663' column='1'/>
+      <parameter type-id='type-id-22' name='depth' filepath='../lib/librte_lpm/rte_lpm.c' line='663' column='1'/>
+      <parameter type-id='type-id-4' name='next_hop' filepath='../lib/librte_lpm/rte_lpm.c' line='664' column='1'/>
+      <return type-id='type-id-19'/>
+    </function-decl>
+    <function-decl name='rte_lpm_free' mangled-name='rte_lpm_free' filepath='../lib/librte_lpm/rte_lpm.c' line='227' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_lpm_free@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='lpm' filepath='../lib/librte_lpm/rte_lpm.c' line='227' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-9' const='yes' id='type-id-24'/>
+    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-25'/>
+    <class-decl name='rte_lpm_config' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_lpm/rte_lpm.h' line='102' column='1' id='type-id-26'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max_rules' type-id='type-id-4' visibility='default' filepath='../lib/librte_lpm/rte_lpm.h' line='103' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='number_tbl8s' type-id='type-id-4' visibility='default' filepath='../lib/librte_lpm/rte_lpm.h' line='104' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='flags' type-id='type-id-19' visibility='default' filepath='../lib/librte_lpm/rte_lpm.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-26' const='yes' id='type-id-27'/>
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-28'/>
+    <function-decl name='rte_lpm_create' mangled-name='rte_lpm_create' filepath='../lib/librte_lpm/rte_lpm.c' line='122' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_lpm_create@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='name' filepath='../lib/librte_lpm/rte_lpm.c' line='122' column='1'/>
+      <parameter type-id='type-id-19' name='socket_id' filepath='../lib/librte_lpm/rte_lpm.c' line='122' column='1'/>
+      <parameter type-id='type-id-28' name='config' filepath='../lib/librte_lpm/rte_lpm.c' line='123' column='1'/>
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <function-decl name='rte_lpm_find_existing' mangled-name='rte_lpm_find_existing' filepath='../lib/librte_lpm/rte_lpm.c' line='94' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_lpm_find_existing@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='name' filepath='../lib/librte_lpm/rte_lpm.c' line='94' column='1'/>
+      <return type-id='type-id-18'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_lpm/rte_lpm6.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_lpm6' size-in-bits='536871936' is-struct='yes' visibility='default' filepath='../lib/librte_lpm/rte_lpm6.c' line='99' column='1' id='type-id-29'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-3' visibility='default' filepath='../lib/librte_lpm/rte_lpm6.c' line='101' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='max_rules' type-id='type-id-4' visibility='default' filepath='../lib/librte_lpm/rte_lpm6.c' line='102' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='used_rules' type-id='type-id-4' visibility='default' filepath='../lib/librte_lpm/rte_lpm6.c' line='103' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='number_tbl8s' type-id='type-id-4' visibility='default' filepath='../lib/librte_lpm/rte_lpm6.c' line='104' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='rules_tbl' type-id='type-id-30' visibility='default' filepath='../lib/librte_lpm/rte_lpm6.c' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='tbl24' type-id='type-id-31' visibility='default' filepath='../lib/librte_lpm/rte_lpm6.c' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='536871424'>
+        <var-decl name='tbl8_pool' type-id='type-id-23' visibility='default' filepath='../lib/librte_lpm/rte_lpm6.c' line='111' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='536871488'>
+        <var-decl name='tbl8_pool_pos' type-id='type-id-4' visibility='default' filepath='../lib/librte_lpm/rte_lpm6.c' line='112' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='536871552'>
+        <var-decl name='tbl8_hdrs' type-id='type-id-32' visibility='default' filepath='../lib/librte_lpm/rte_lpm6.c' line='114' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='536871936'>
+        <var-decl name='tbl8' type-id='type-id-33' visibility='default' filepath='../lib/librte_lpm/rte_lpm6.c' line='116' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_hash' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-34'/>
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-30'/>
+    <class-decl name='rte_lpm6_tbl_entry' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_lpm/rte_lpm6.c' line='64' column='1' id='type-id-35'>
+      <data-member access='public' layout-offset-in-bits='11'>
+        <var-decl name='next_hop' type-id='type-id-4' visibility='default' filepath='../lib/librte_lpm/rte_lpm6.c' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3'>
+        <var-decl name='depth' type-id='type-id-4' visibility='default' filepath='../lib/librte_lpm/rte_lpm6.c' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2'>
+        <var-decl name='valid' type-id='type-id-4' visibility='default' filepath='../lib/librte_lpm/rte_lpm6.c' line='69' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1'>
+        <var-decl name='valid_group' type-id='type-id-4' visibility='default' filepath='../lib/librte_lpm/rte_lpm6.c' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ext_entry' type-id='type-id-4' visibility='default' filepath='../lib/librte_lpm/rte_lpm6.c' line='71' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-35' size-in-bits='536870912' id='type-id-31'>
+      <subrange length='16777216' type-id='type-id-10' id='type-id-16'/>
+
+    </array-type-def>
+    <class-decl name='rte_lpm_tbl8_hdr' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_lpm/rte_lpm6.c' line='88' column='1' id='type-id-36'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='owner_tbl_ind' type-id='type-id-4' visibility='default' filepath='../lib/librte_lpm/rte_lpm6.c' line='89' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='owner_entry_ind' type-id='type-id-4' visibility='default' filepath='../lib/librte_lpm/rte_lpm6.c' line='92' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ref_cnt' type-id='type-id-4' visibility='default' filepath='../lib/librte_lpm/rte_lpm6.c' line='95' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-32'/>
+
+    <array-type-def dimensions='1' type-id='type-id-35' size-in-bits='infinite' id='type-id-33'>
+      <subrange length='infinite' type-id='type-id-10' id='type-id-37'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-38'/>
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-39'/>
+    <function-decl name='rte_lpm6_delete' mangled-name='rte_lpm6_delete' filepath='../lib/librte_lpm/rte_lpm6.c' line='1294' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_lpm6_delete@@DPDK_20.0'>
+      <parameter type-id='type-id-38' name='lpm' filepath='../lib/librte_lpm/rte_lpm6.c' line='1294' column='1'/>
+      <parameter type-id='type-id-39' name='ip' filepath='../lib/librte_lpm/rte_lpm6.c' line='1294' column='1'/>
+      <parameter type-id='type-id-22' name='depth' filepath='../lib/librte_lpm/rte_lpm6.c' line='1294' column='1'/>
+      <return type-id='type-id-19'/>
+    </function-decl>
+    <function-decl name='rte_lpm6_delete_all' mangled-name='rte_lpm6_delete_all' filepath='../lib/librte_lpm/rte_lpm6.c' line='1111' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_lpm6_delete_all@@DPDK_20.0'>
+      <parameter type-id='type-id-38' name='lpm' filepath='../lib/librte_lpm/rte_lpm6.c' line='1111' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-22' size-in-bits='128' id='type-id-40'>
+      <subrange length='16' type-id='type-id-10' id='type-id-41'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-40' size-in-bits='64' id='type-id-42'/>
+    <function-decl name='rte_lpm6_delete_bulk_func' mangled-name='rte_lpm6_delete_bulk_func' filepath='../lib/librte_lpm/rte_lpm6.c' line='1072' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_lpm6_delete_bulk_func@@DPDK_20.0'>
+      <parameter type-id='type-id-38' name='lpm' filepath='../lib/librte_lpm/rte_lpm6.c' line='1072' column='1'/>
+      <parameter type-id='type-id-42' name='ips' filepath='../lib/librte_lpm/rte_lpm6.c' line='1073' column='1'/>
+      <parameter type-id='type-id-39' name='depths' filepath='../lib/librte_lpm/rte_lpm6.c' line='1073' column='1'/>
+      <parameter type-id='type-id-12' name='n' filepath='../lib/librte_lpm/rte_lpm6.c' line='1074' column='1'/>
+      <return type-id='type-id-19'/>
+    </function-decl>
+    <function-decl name='rte_lpm6_is_rule_present' mangled-name='rte_lpm6_is_rule_present' filepath='../lib/librte_lpm/rte_lpm6.c' line='1023' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_lpm6_is_rule_present@@DPDK_20.0'>
+      <parameter type-id='type-id-38' name='lpm' filepath='../lib/librte_lpm/rte_lpm6.c' line='1023' column='1'/>
+      <parameter type-id='type-id-39' name='ip' filepath='../lib/librte_lpm/rte_lpm6.c' line='1023' column='1'/>
+      <parameter type-id='type-id-22' name='depth' filepath='../lib/librte_lpm/rte_lpm6.c' line='1023' column='1'/>
+      <parameter type-id='type-id-23' name='next_hop' filepath='../lib/librte_lpm/rte_lpm6.c' line='1024' column='1'/>
+      <return type-id='type-id-19'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-29' const='yes' id='type-id-43'/>
+    <pointer-type-def type-id='type-id-43' size-in-bits='64' id='type-id-44'/>
+    <typedef-decl name='__int32_t' type-id='type-id-19' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-45'/>
+    <typedef-decl name='int32_t' type-id='type-id-45' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-46'/>
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-47'/>
+    <function-decl name='rte_lpm6_lookup_bulk_func' mangled-name='rte_lpm6_lookup_bulk_func' filepath='../lib/librte_lpm/rte_lpm6.c' line='978' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_lpm6_lookup_bulk_func@@DPDK_20.0'>
+      <parameter type-id='type-id-44' name='lpm' filepath='../lib/librte_lpm/rte_lpm6.c' line='978' column='1'/>
+      <parameter type-id='type-id-42' name='ips' filepath='../lib/librte_lpm/rte_lpm6.c' line='979' column='1'/>
+      <parameter type-id='type-id-47' name='next_hops' filepath='../lib/librte_lpm/rte_lpm6.c' line='980' column='1'/>
+      <parameter type-id='type-id-12' name='n' filepath='../lib/librte_lpm/rte_lpm6.c' line='980' column='1'/>
+      <return type-id='type-id-19'/>
+    </function-decl>
+    <function-decl name='rte_lpm6_lookup' mangled-name='rte_lpm6_lookup' filepath='../lib/librte_lpm/rte_lpm6.c' line='946' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_lpm6_lookup@@DPDK_20.0'>
+      <parameter type-id='type-id-44' name='lpm' filepath='../lib/librte_lpm/rte_lpm6.c' line='946' column='1'/>
+      <parameter type-id='type-id-39' name='ip' filepath='../lib/librte_lpm/rte_lpm6.c' line='946' column='1'/>
+      <parameter type-id='type-id-23' name='next_hop' filepath='../lib/librte_lpm/rte_lpm6.c' line='947' column='1'/>
+      <return type-id='type-id-19'/>
+    </function-decl>
+    <function-decl name='rte_lpm6_add' mangled-name='rte_lpm6_add' filepath='../lib/librte_lpm/rte_lpm6.c' line='857' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_lpm6_add@@DPDK_20.0'>
+      <parameter type-id='type-id-38' name='lpm' filepath='../lib/librte_lpm/rte_lpm6.c' line='857' column='1'/>
+      <parameter type-id='type-id-39' name='ip' filepath='../lib/librte_lpm/rte_lpm6.c' line='857' column='1'/>
+      <parameter type-id='type-id-22' name='depth' filepath='../lib/librte_lpm/rte_lpm6.c' line='857' column='1'/>
+      <parameter type-id='type-id-4' name='next_hop' filepath='../lib/librte_lpm/rte_lpm6.c' line='858' column='1'/>
+      <return type-id='type-id-19'/>
+    </function-decl>
+    <function-decl name='rte_lpm6_free' mangled-name='rte_lpm6_free' filepath='../lib/librte_lpm/rte_lpm6.c' line='414' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_lpm6_free@@DPDK_20.0'>
+      <parameter type-id='type-id-38' name='lpm' filepath='../lib/librte_lpm/rte_lpm6.c' line='414' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_lpm6_find_existing' mangled-name='rte_lpm6_find_existing' filepath='../lib/librte_lpm/rte_lpm6.c' line='386' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_lpm6_find_existing@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='name' filepath='../lib/librte_lpm/rte_lpm6.c' line='386' column='1'/>
+      <return type-id='type-id-38'/>
+    </function-decl>
+    <class-decl name='rte_lpm6_config' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_lpm/rte_lpm6.h' line='29' column='1' id='type-id-48'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max_rules' type-id='type-id-4' visibility='default' filepath='../lib/librte_lpm/rte_lpm6.h' line='30' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='number_tbl8s' type-id='type-id-4' visibility='default' filepath='../lib/librte_lpm/rte_lpm6.h' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='flags' type-id='type-id-19' visibility='default' filepath='../lib/librte_lpm/rte_lpm6.h' line='32' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-48' const='yes' id='type-id-49'/>
+    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-50'/>
+    <function-decl name='rte_lpm6_create' mangled-name='rte_lpm6_create' filepath='../lib/librte_lpm/rte_lpm6.c' line='248' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_lpm6_create@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='name' filepath='../lib/librte_lpm/rte_lpm6.c' line='248' column='1'/>
+      <parameter type-id='type-id-19' name='socket_id' filepath='../lib/librte_lpm/rte_lpm6.c' line='248' column='1'/>
+      <parameter type-id='type-id-50' name='config' filepath='../lib/librte_lpm/rte_lpm6.c' line='249' column='1'/>
+      <return type-id='type-id-38'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_mbuf.dump b/lib/.abi/librte_mbuf.dump
new file mode 100644
index 000000000..565765a78
--- /dev/null
+++ b/lib/.abi/librte_mbuf.dump
@@ -0,0 +1,745 @@
+<abi-corpus path='gcc//lib/librte_mbuf.so.20.0' architecture='elf-amd-x86_64' soname='librte_mbuf.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='__rte_pktmbuf_linearize' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='__rte_pktmbuf_read' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_get_ptype_inner_l2_name' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_get_ptype_inner_l3_name' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_get_ptype_inner_l4_name' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_get_ptype_l2_name' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_get_ptype_l3_name' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_get_ptype_l4_name' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_get_ptype_name' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_get_ptype_tunnel_name' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_get_rx_ol_flag_list' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_get_rx_ol_flag_name' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_get_tx_ol_flag_list' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_get_tx_ol_flag_name' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mbuf_best_mempool_ops' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mbuf_check' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mbuf_dyn_dump' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mbuf_dynfield_lookup' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mbuf_dynfield_register' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mbuf_dynfield_register_offset' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mbuf_dynflag_lookup' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mbuf_dynflag_register' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mbuf_dynflag_register_bitnum' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mbuf_platform_mempool_ops' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mbuf_sanity_check' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mbuf_set_platform_mempool_ops' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mbuf_set_user_mempool_ops' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mbuf_user_mempool_ops' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pktmbuf_clone' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pktmbuf_copy' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pktmbuf_dump' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pktmbuf_free_bulk' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pktmbuf_init' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pktmbuf_pool_create' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pktmbuf_pool_create_by_ops' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pktmbuf_pool_init' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_mbuf/rte_mbuf.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-2'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-2' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-3'/>
+    <typedef-decl name='uint64_t' type-id='type-id-3' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-4'/>
+    <type-decl name='char' size-in-bits='8' id='type-id-5'/>
+    <pointer-type-def type-id='type-id-5' size-in-bits='64' id='type-id-6'/>
+    <typedef-decl name='size_t' type-id='type-id-2' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-7'/>
+    <function-decl name='rte_get_tx_ol_flag_list' mangled-name='rte_get_tx_ol_flag_list' filepath='../lib/librte_mbuf/rte_mbuf.c' line='681' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_get_tx_ol_flag_list@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='mask' filepath='../lib/librte_mbuf/rte_mbuf.c' line='681' column='1'/>
+      <parameter type-id='type-id-6' name='buf' filepath='../lib/librte_mbuf/rte_mbuf.c' line='681' column='1'/>
+      <parameter type-id='type-id-7' name='buflen' filepath='../lib/librte_mbuf/rte_mbuf.c' line='681' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-5' const='yes' id='type-id-8'/>
+    <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-9'/>
+    <function-decl name='rte_get_tx_ol_flag_name' mangled-name='rte_get_tx_ol_flag_name' filepath='../lib/librte_mbuf/rte_mbuf.c' line='646' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_get_tx_ol_flag_name@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='mask' filepath='../lib/librte_mbuf/rte_mbuf.c' line='646' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <function-decl name='rte_get_rx_ol_flag_list' mangled-name='rte_get_rx_ol_flag_list' filepath='../lib/librte_mbuf/rte_mbuf.c' line='580' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_get_rx_ol_flag_list@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='mask' filepath='../lib/librte_mbuf/rte_mbuf.c' line='681' column='1'/>
+      <parameter type-id='type-id-6' name='buf' filepath='../lib/librte_mbuf/rte_mbuf.c' line='681' column='1'/>
+      <parameter type-id='type-id-7' name='buflen' filepath='../lib/librte_mbuf/rte_mbuf.c' line='681' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_get_rx_ol_flag_name' mangled-name='rte_get_rx_ol_flag_name' filepath='../lib/librte_mbuf/rte_mbuf.c' line='539' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_get_rx_ol_flag_name@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='mask' filepath='../lib/librte_mbuf/rte_mbuf.c' line='646' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <type-decl name='void' id='type-id-10'/>
+    <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-11'/>
+    <class-decl name='rte_mbuf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='480' column='1' id='type-id-12'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheline0' type-id='type-id-13' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-11' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-14' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rearm_data' type-id='type-id-15' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='497' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_off' type-id='type-id-16' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_segs' type-id='type-id-16' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='port' type-id='type-id-16' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ol_flags' type-id='type-id-4' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_descriptor_fields1' type-id='type-id-13' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='pkt_len' type-id='type-id-17' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data_len' type-id='type-id-16' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='vlan_tci' type-id='type-id-16' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vlan_tci_outer' type-id='type-id-16' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='buf_len' type-id='type-id-16' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='timestamp' type-id='type-id-4' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cacheline1' type-id='type-id-13' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='pool' type-id='type-id-18' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='next' type-id='type-id-19' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv_size' type-id='type-id-16' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='timesync' type-id='type-id-16' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='seqn' type-id='type-id-17' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='shinfo' type-id='type-id-20' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dynfield1' type-id='type-id-21' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='infinite' id='type-id-22'>
+      <subrange length='infinite' type-id='type-id-2' id='type-id-23'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER' type-id='type-id-22' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='414' column='1' id='type-id-13'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='491' column='1' id='type-id-14'>
+      <data-member access='private'>
+        <var-decl name='buf_iova' type-id='type-id-24' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='buf_physaddr' type-id='type-id-24' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_iova_t' type-id='type-id-4' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-24'/>
+
+    <array-type-def dimensions='1' type-id='type-id-4' size-in-bits='infinite' id='type-id-25'>
+      <subrange length='infinite' type-id='type-id-2' id='type-id-23'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER64' type-id='type-id-25' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='420' column='1' id='type-id-15'/>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-26'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-26' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-27'/>
+    <typedef-decl name='uint16_t' type-id='type-id-27' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-16'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-28'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-28' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-29'/>
+    <typedef-decl name='uint32_t' type-id='type-id-29' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-17'/>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-30'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-31' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-32' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-11' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-33' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-17' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-17' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-17' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-17' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-17' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-34' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-35' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-17' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-36' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-17' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-37' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-5' size-in-bits='256' id='type-id-31'>
+      <subrange length='32' type-id='type-id-2' id='type-id-38'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-32'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-11' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-4' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-39'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-31' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-40' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-7' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-34' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-17' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-40'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-41' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-24' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-4' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-41'/>
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-42'/>
+    <typedef-decl name='int32_t' type-id='type-id-42' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-34'/>
+    <qualified-type-def type-id='type-id-39' const='yes' id='type-id-43'/>
+    <pointer-type-def type-id='type-id-43' size-in-bits='64' id='type-id-33'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-44'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-17' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-17' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-17' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-45' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='98304' id='type-id-45'>
+      <subrange length='1536' type-id='type-id-2' id='type-id-46'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-35'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-36'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-47' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-48' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-49'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-50' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-18' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-51' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-50'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-47' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-47'/>
+    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-18'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-51'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-24' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-41' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-48'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-37'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-52' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-53' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-54'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-55' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-18' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-11' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-56' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-7' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-57' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-11' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-55'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-52' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-54' size-in-bits='64' id='type-id-52'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-56'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-24' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-41' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-58' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-59'/>
+    <pointer-type-def type-id='type-id-59' size-in-bits='64' id='type-id-57'/>
+    <pointer-type-def type-id='type-id-52' size-in-bits='64' id='type-id-53'/>
+    <pointer-type-def type-id='type-id-12' size-in-bits='64' id='type-id-19'/>
+    <class-decl name='rte_mbuf_ext_shared_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='689' column='1' id='type-id-60'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_cb' type-id='type-id-61' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcb_opaque' type-id='type-id-11' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt_atomic' type-id='type-id-62' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-64'/>
+    <typedef-decl name='rte_mbuf_extbuf_free_callback_t' type-id='type-id-64' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='684' column='1' id='type-id-61'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-62' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-65'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-66' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-67'/>
+    <typedef-decl name='__int16_t' type-id='type-id-67' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-68'/>
+    <typedef-decl name='int16_t' type-id='type-id-68' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-69'/>
+    <qualified-type-def type-id='type-id-69' volatile='yes' id='type-id-66'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-65' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-62'/>
+    <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-20'/>
+
+    <array-type-def dimensions='1' type-id='type-id-4' size-in-bits='128' id='type-id-21'>
+      <subrange length='2' type-id='type-id-2' id='type-id-70'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-12' const='yes' id='type-id-71'/>
+    <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-72'/>
+    <function-decl name='__rte_pktmbuf_read' mangled-name='__rte_pktmbuf_read' filepath='../lib/librte_mbuf/rte_mbuf.c' line='502' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__rte_pktmbuf_read@@DPDK_20.0'>
+      <parameter type-id='type-id-72' name='m' filepath='../lib/librte_mbuf/rte_mbuf.c' line='502' column='1'/>
+      <parameter type-id='type-id-17' name='off' filepath='../lib/librte_mbuf/rte_mbuf.c' line='502' column='1'/>
+      <parameter type-id='type-id-17' name='len' filepath='../lib/librte_mbuf/rte_mbuf.c' line='503' column='1'/>
+      <parameter type-id='type-id-11' name='buf' filepath='../lib/librte_mbuf/rte_mbuf.c' line='503' column='1'/>
+      <return type-id='type-id-11'/>
+    </function-decl>
+    <class-decl name='_IO_FILE' size-in-bits='1728' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='49' column='1' id='type-id-73'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='_flags' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='_IO_read_ptr' type-id='type-id-6' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='_IO_read_end' type-id='type-id-6' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='_IO_read_base' type-id='type-id-6' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='_IO_write_base' type-id='type-id-6' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='_IO_write_ptr' type-id='type-id-6' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='_IO_write_end' type-id='type-id-6' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='_IO_buf_base' type-id='type-id-6' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='60' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='_IO_buf_end' type-id='type-id-6' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='_IO_save_base' type-id='type-id-6' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='_IO_backup_base' type-id='type-id-6' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='_IO_save_end' type-id='type-id-6' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='_markers' type-id='type-id-74' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='_chain' type-id='type-id-75' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='_fileno' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='928'>
+        <var-decl name='_flags2' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='73' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='_old_offset' type-id='type-id-76' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='_cur_column' type-id='type-id-26' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1040'>
+        <var-decl name='_vtable_offset' type-id='type-id-77' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1048'>
+        <var-decl name='_shortbuf' type-id='type-id-78' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='_lock' type-id='type-id-79' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='_offset' type-id='type-id-80' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='89' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='_codecvt' type-id='type-id-81' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='_wide_data' type-id='type-id-82' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='92' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='_freeres_list' type-id='type-id-75' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='93' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='_freeres_buf' type-id='type-id-11' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='__pad5' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='95' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='_mode' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1568'>
+        <var-decl name='_unused2' type-id='type-id-83' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='98' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='_IO_marker' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-84'/>
+    <pointer-type-def type-id='type-id-84' size-in-bits='64' id='type-id-74'/>
+    <pointer-type-def type-id='type-id-73' size-in-bits='64' id='type-id-75'/>
+    <type-decl name='long int' size-in-bits='64' id='type-id-85'/>
+    <typedef-decl name='__off_t' type-id='type-id-85' filepath='/usr/include/bits/types.h' line='152' column='1' id='type-id-76'/>
+    <type-decl name='signed char' size-in-bits='8' id='type-id-77'/>
+
+    <array-type-def dimensions='1' type-id='type-id-5' size-in-bits='8' id='type-id-78'>
+      <subrange length='1' type-id='type-id-2' id='type-id-86'/>
+
+    </array-type-def>
+    <typedef-decl name='_IO_lock_t' type-id='type-id-10' filepath='/usr/include/bits/types/struct_FILE.h' line='43' column='1' id='type-id-87'/>
+    <pointer-type-def type-id='type-id-87' size-in-bits='64' id='type-id-79'/>
+    <typedef-decl name='__off64_t' type-id='type-id-85' filepath='/usr/include/bits/types.h' line='153' column='1' id='type-id-80'/>
+    <class-decl name='_IO_codecvt' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-88'/>
+    <pointer-type-def type-id='type-id-88' size-in-bits='64' id='type-id-81'/>
+    <class-decl name='_IO_wide_data' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-89'/>
+    <pointer-type-def type-id='type-id-89' size-in-bits='64' id='type-id-82'/>
+
+    <array-type-def dimensions='1' type-id='type-id-5' size-in-bits='160' id='type-id-83'>
+      <subrange length='20' type-id='type-id-2' id='type-id-90'/>
+
+    </array-type-def>
+    <typedef-decl name='FILE' type-id='type-id-73' filepath='/usr/include/bits/types/FILE.h' line='7' column='1' id='type-id-91'/>
+    <pointer-type-def type-id='type-id-91' size-in-bits='64' id='type-id-92'/>
+    <function-decl name='rte_pktmbuf_dump' mangled-name='rte_pktmbuf_dump' filepath='../lib/librte_mbuf/rte_mbuf.c' line='471' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pktmbuf_dump@@DPDK_20.0'>
+      <parameter type-id='type-id-92' name='f' filepath='../lib/librte_mbuf/rte_mbuf.c' line='471' column='1'/>
+      <parameter type-id='type-id-72' name='m' filepath='../lib/librte_mbuf/rte_mbuf.c' line='471' column='1'/>
+      <parameter type-id='type-id-28' name='dump_len' filepath='../lib/librte_mbuf/rte_mbuf.c' line='471' column='1'/>
+      <return type-id='type-id-10'/>
+    </function-decl>
+    <function-decl name='__rte_pktmbuf_linearize' mangled-name='__rte_pktmbuf_linearize' filepath='../lib/librte_mbuf/rte_mbuf.c' line='357' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__rte_pktmbuf_linearize@@DPDK_20.0'>
+      <parameter type-id='type-id-19' name='mbuf' filepath='../lib/librte_mbuf/rte_mbuf.c' line='357' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pktmbuf_clone' mangled-name='rte_pktmbuf_clone' filepath='../lib/librte_mbuf/rte_mbuf.c' line='318' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pktmbuf_clone@@DPDK_20.0'>
+      <parameter type-id='type-id-19' name='md' filepath='../lib/librte_mbuf/rte_mbuf.c' line='318' column='1'/>
+      <parameter type-id='type-id-18' name='mp' filepath='../lib/librte_mbuf/rte_mbuf.c' line='318' column='1'/>
+      <return type-id='type-id-19'/>
+    </function-decl>
+    <function-decl name='rte_mbuf_sanity_check' mangled-name='rte_mbuf_sanity_check' filepath='../lib/librte_mbuf/rte_mbuf.c' line='174' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mbuf_sanity_check@@DPDK_20.0'>
+      <parameter type-id='type-id-72' name='m' filepath='../lib/librte_mbuf/rte_mbuf.c' line='174' column='1'/>
+      <parameter type-id='type-id-1' name='is_header' filepath='../lib/librte_mbuf/rte_mbuf.c' line='174' column='1'/>
+      <return type-id='type-id-10'/>
+    </function-decl>
+    <function-decl name='rte_pktmbuf_pool_create' mangled-name='rte_pktmbuf_pool_create' filepath='../lib/librte_mbuf/rte_mbuf.c' line='164' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pktmbuf_pool_create@@DPDK_20.0'>
+      <parameter type-id='type-id-9' name='name' filepath='../lib/librte_mbuf/rte_mbuf.c' line='164' column='1'/>
+      <parameter type-id='type-id-28' name='n' filepath='../lib/librte_mbuf/rte_mbuf.c' line='164' column='1'/>
+      <parameter type-id='type-id-28' name='cache_size' filepath='../lib/librte_mbuf/rte_mbuf.c' line='165' column='1'/>
+      <parameter type-id='type-id-16' name='priv_size' filepath='../lib/librte_mbuf/rte_mbuf.c' line='165' column='1'/>
+      <parameter type-id='type-id-16' name='data_room_size' filepath='../lib/librte_mbuf/rte_mbuf.c' line='165' column='1'/>
+      <parameter type-id='type-id-1' name='socket_id' filepath='../lib/librte_mbuf/rte_mbuf.c' line='166' column='1'/>
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <function-decl name='rte_pktmbuf_pool_create_by_ops' mangled-name='rte_pktmbuf_pool_create_by_ops' filepath='../lib/librte_mbuf/rte_mbuf.c' line='112' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pktmbuf_pool_create_by_ops@@DPDK_20.0'>
+      <parameter type-id='type-id-9' name='name' filepath='../lib/librte_mbuf/rte_mbuf.c' line='112' column='1'/>
+      <parameter type-id='type-id-28' name='n' filepath='../lib/librte_mbuf/rte_mbuf.c' line='112' column='1'/>
+      <parameter type-id='type-id-28' name='cache_size' filepath='../lib/librte_mbuf/rte_mbuf.c' line='113' column='1'/>
+      <parameter type-id='type-id-16' name='priv_size' filepath='../lib/librte_mbuf/rte_mbuf.c' line='113' column='1'/>
+      <parameter type-id='type-id-16' name='data_room_size' filepath='../lib/librte_mbuf/rte_mbuf.c' line='113' column='1'/>
+      <parameter type-id='type-id-1' name='socket_id' filepath='../lib/librte_mbuf/rte_mbuf.c' line='114' column='1'/>
+      <parameter type-id='type-id-9' name='ops_name' filepath='../lib/librte_mbuf/rte_mbuf.c' line='114' column='1'/>
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <function-decl name='rte_pktmbuf_init' mangled-name='rte_pktmbuf_init' filepath='../lib/librte_mbuf/rte_mbuf.c' line='76' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pktmbuf_init@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='mp' filepath='../lib/librte_mbuf/rte_mbuf.c' line='76' column='1'/>
+      <parameter type-id='type-id-11' name='opaque_arg' filepath='../lib/librte_mbuf/rte_mbuf.c' line='77' column='1'/>
+      <parameter type-id='type-id-11' name='_m' filepath='../lib/librte_mbuf/rte_mbuf.c' line='78' column='1'/>
+      <parameter type-id='type-id-28' name='i' filepath='../lib/librte_mbuf/rte_mbuf.c' line='79' column='1'/>
+      <return type-id='type-id-10'/>
+    </function-decl>
+    <function-decl name='rte_pktmbuf_pool_init' mangled-name='rte_pktmbuf_pool_init' filepath='../lib/librte_mbuf/rte_mbuf.c' line='41' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pktmbuf_pool_init@@DPDK_20.0'>
+      <parameter type-id='type-id-18' name='mp' filepath='../lib/librte_mbuf/rte_mbuf.c' line='41' column='1'/>
+      <parameter type-id='type-id-11' name='opaque_arg' filepath='../lib/librte_mbuf/rte_mbuf.c' line='41' column='1'/>
+      <return type-id='type-id-10'/>
+    </function-decl>
+    <function-decl name='rte_pktmbuf_copy' mangled-name='rte_pktmbuf_copy' filepath='../lib/librte_mbuf/rte_mbuf.c' line='394' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pktmbuf_copy@@EXPERIMENTAL'>
+      <parameter type-id='type-id-72' name='m' filepath='../lib/librte_mbuf/rte_mbuf.c' line='394' column='1'/>
+      <parameter type-id='type-id-18' name='mp' filepath='../lib/librte_mbuf/rte_mbuf.c' line='394' column='1'/>
+      <parameter type-id='type-id-17' name='off' filepath='../lib/librte_mbuf/rte_mbuf.c' line='395' column='1'/>
+      <parameter type-id='type-id-17' name='len' filepath='../lib/librte_mbuf/rte_mbuf.c' line='395' column='1'/>
+      <return type-id='type-id-19'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-93'/>
+    <function-decl name='rte_pktmbuf_free_bulk' mangled-name='rte_pktmbuf_free_bulk' filepath='../lib/librte_mbuf/rte_mbuf.c' line='291' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pktmbuf_free_bulk@@EXPERIMENTAL'>
+      <parameter type-id='type-id-93' name='mbufs' filepath='../lib/librte_mbuf/rte_mbuf.c' line='291' column='1'/>
+      <parameter type-id='type-id-28' name='count' filepath='../lib/librte_mbuf/rte_mbuf.c' line='291' column='1'/>
+      <return type-id='type-id-10'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-94'/>
+    <function-decl name='rte_mbuf_check' mangled-name='rte_mbuf_check' filepath='../lib/librte_mbuf/rte_mbuf.c' line='182' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mbuf_check@@EXPERIMENTAL'>
+      <parameter type-id='type-id-72' name='m' filepath='../lib/librte_mbuf/rte_mbuf.c' line='182' column='1'/>
+      <parameter type-id='type-id-1' name='is_header' filepath='../lib/librte_mbuf/rte_mbuf.c' line='182' column='1'/>
+      <parameter type-id='type-id-94' name='reason' filepath='../lib/librte_mbuf/rte_mbuf.c' line='183' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-58'>
+      <parameter type-id='type-id-52'/>
+      <parameter type-id='type-id-11'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-63'>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-11'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_mbuf/rte_mbuf_ptype.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='rte_get_ptype_name' mangled-name='rte_get_ptype_name' filepath='../lib/librte_mbuf/rte_mbuf_ptype.c' line='120' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_get_ptype_name@@DPDK_20.0'>
+      <parameter type-id='type-id-17' name='ptype' filepath='../lib/librte_mbuf/rte_mbuf_ptype.c' line='120' column='1'/>
+      <parameter type-id='type-id-6' name='buf' filepath='../lib/librte_mbuf/rte_mbuf_ptype.c' line='120' column='1'/>
+      <parameter type-id='type-id-7' name='buflen' filepath='../lib/librte_mbuf/rte_mbuf_ptype.c' line='120' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_get_ptype_inner_l4_name' mangled-name='rte_get_ptype_inner_l4_name' filepath='../lib/librte_mbuf/rte_mbuf_ptype.c' line='106' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_get_ptype_inner_l4_name@@DPDK_20.0'>
+      <parameter type-id='type-id-17' name='ptype' filepath='../lib/librte_mbuf/rte_mbuf_ptype.c' line='106' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <function-decl name='rte_get_ptype_inner_l3_name' mangled-name='rte_get_ptype_inner_l3_name' filepath='../lib/librte_mbuf/rte_mbuf_ptype.c' line='90' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_get_ptype_inner_l3_name@@DPDK_20.0'>
+      <parameter type-id='type-id-17' name='ptype' filepath='../lib/librte_mbuf/rte_mbuf_ptype.c' line='106' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <function-decl name='rte_get_ptype_inner_l2_name' mangled-name='rte_get_ptype_inner_l2_name' filepath='../lib/librte_mbuf/rte_mbuf_ptype.c' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_get_ptype_inner_l2_name@@DPDK_20.0'>
+      <parameter type-id='type-id-17' name='ptype' filepath='../lib/librte_mbuf/rte_mbuf_ptype.c' line='106' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <function-decl name='rte_get_ptype_tunnel_name' mangled-name='rte_get_ptype_tunnel_name' filepath='../lib/librte_mbuf/rte_mbuf_ptype.c' line='58' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_get_ptype_tunnel_name@@DPDK_20.0'>
+      <parameter type-id='type-id-17' name='ptype' filepath='../lib/librte_mbuf/rte_mbuf_ptype.c' line='106' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <function-decl name='rte_get_ptype_l4_name' mangled-name='rte_get_ptype_l4_name' filepath='../lib/librte_mbuf/rte_mbuf_ptype.c' line='43' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_get_ptype_l4_name@@DPDK_20.0'>
+      <parameter type-id='type-id-17' name='ptype' filepath='../lib/librte_mbuf/rte_mbuf_ptype.c' line='106' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <function-decl name='rte_get_ptype_l3_name' mangled-name='rte_get_ptype_l3_name' filepath='../lib/librte_mbuf/rte_mbuf_ptype.c' line='29' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_get_ptype_l3_name@@DPDK_20.0'>
+      <parameter type-id='type-id-17' name='ptype' filepath='../lib/librte_mbuf/rte_mbuf_ptype.c' line='106' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <function-decl name='rte_get_ptype_l2_name' mangled-name='rte_get_ptype_l2_name' filepath='../lib/librte_mbuf/rte_mbuf_ptype.c' line='11' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_get_ptype_l2_name@@DPDK_20.0'>
+      <parameter type-id='type-id-17' name='ptype' filepath='../lib/librte_mbuf/rte_mbuf_ptype.c' line='106' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_mbuf/rte_mbuf_pool_ops.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='rte_mbuf_best_mempool_ops' mangled-name='rte_mbuf_best_mempool_ops' filepath='../lib/librte_mbuf/rte_mbuf_pool_ops.c' line='83' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mbuf_best_mempool_ops@@DPDK_20.0'>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <function-decl name='rte_mbuf_user_mempool_ops' mangled-name='rte_mbuf_user_mempool_ops' filepath='../lib/librte_mbuf/rte_mbuf_pool_ops.c' line='71' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mbuf_user_mempool_ops@@DPDK_20.0'>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <function-decl name='rte_mbuf_set_user_mempool_ops' mangled-name='rte_mbuf_set_user_mempool_ops' filepath='../lib/librte_mbuf/rte_mbuf_pool_ops.c' line='50' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mbuf_set_user_mempool_ops@@DPDK_20.0'>
+      <parameter type-id='type-id-9' name='ops_name' filepath='../lib/librte_mbuf/rte_mbuf_pool_ops.c' line='50' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_mbuf_platform_mempool_ops' mangled-name='rte_mbuf_platform_mempool_ops' filepath='../lib/librte_mbuf/rte_mbuf_pool_ops.c' line='39' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mbuf_platform_mempool_ops@@DPDK_20.0'>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <function-decl name='rte_mbuf_set_platform_mempool_ops' mangled-name='rte_mbuf_set_platform_mempool_ops' filepath='../lib/librte_mbuf/rte_mbuf_pool_ops.c' line='13' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mbuf_set_platform_mempool_ops@@DPDK_20.0'>
+      <parameter type-id='type-id-9' name='ops_name' filepath='../lib/librte_mbuf/rte_mbuf_pool_ops.c' line='50' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_mbuf/rte_mbuf_dyn.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='rte_mbuf_dyn_dump' mangled-name='rte_mbuf_dyn_dump' filepath='../lib/librte_mbuf/rte_mbuf_dyn.c' line='515' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mbuf_dyn_dump@@EXPERIMENTAL'>
+      <parameter type-id='type-id-92' name='out' filepath='../lib/librte_mbuf/rte_mbuf_dyn.c' line='515' column='1'/>
+      <return type-id='type-id-10'/>
+    </function-decl>
+    <class-decl name='rte_mbuf_dynflag' size-in-bits='544' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_dyn.h' line='88' column='1' id='type-id-95'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-96' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_dyn.h' line='89' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='flags' type-id='type-id-28' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_dyn.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-5' size-in-bits='512' id='type-id-96'>
+      <subrange length='64' type-id='type-id-2' id='type-id-97'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-95' size-in-bits='64' id='type-id-98'/>
+    <function-decl name='rte_mbuf_dynflag_lookup' mangled-name='rte_mbuf_dynflag_lookup' filepath='../lib/librte_mbuf/rte_mbuf_dyn.c' line='375' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mbuf_dynflag_lookup@@EXPERIMENTAL'>
+      <parameter type-id='type-id-9' name='name' filepath='../lib/librte_mbuf/rte_mbuf_dyn.c' line='375' column='1'/>
+      <parameter type-id='type-id-98' name='params' filepath='../lib/librte_mbuf/rte_mbuf_dyn.c' line='376' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-95' const='yes' id='type-id-99'/>
+    <pointer-type-def type-id='type-id-99' size-in-bits='64' id='type-id-100'/>
+    <function-decl name='rte_mbuf_dynflag_register_bitnum' mangled-name='rte_mbuf_dynflag_register_bitnum' filepath='../lib/librte_mbuf/rte_mbuf_dyn.c' line='491' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mbuf_dynflag_register_bitnum@@EXPERIMENTAL'>
+      <parameter type-id='type-id-100' name='params' filepath='../lib/librte_mbuf/rte_mbuf_dyn.c' line='491' column='1'/>
+      <parameter type-id='type-id-28' name='req' filepath='../lib/librte_mbuf/rte_mbuf_dyn.c' line='492' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_mbuf_dynflag_register' mangled-name='rte_mbuf_dynflag_register' filepath='../lib/librte_mbuf/rte_mbuf_dyn.c' line='510' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mbuf_dynflag_register@@EXPERIMENTAL'>
+      <parameter type-id='type-id-100' name='params' filepath='../lib/librte_mbuf/rte_mbuf_dyn.c' line='510' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_mbuf_dynfield' size-in-bits='704' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_dyn.h' line='78' column='1' id='type-id-101'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-96' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_dyn.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-7' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_dyn.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='align' type-id='type-id-7' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_dyn.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='flags' type-id='type-id-28' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_dyn.h' line='82' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-101' size-in-bits='64' id='type-id-102'/>
+    <function-decl name='rte_mbuf_dynfield_lookup' mangled-name='rte_mbuf_dynfield_lookup' filepath='../lib/librte_mbuf/rte_mbuf_dyn.c' line='180' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mbuf_dynfield_lookup@@EXPERIMENTAL'>
+      <parameter type-id='type-id-9' name='name' filepath='../lib/librte_mbuf/rte_mbuf_dyn.c' line='180' column='1'/>
+      <parameter type-id='type-id-102' name='params' filepath='../lib/librte_mbuf/rte_mbuf_dyn.c' line='180' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-101' const='yes' id='type-id-103'/>
+    <pointer-type-def type-id='type-id-103' size-in-bits='64' id='type-id-104'/>
+    <function-decl name='rte_mbuf_dynfield_register_offset' mangled-name='rte_mbuf_dynfield_register_offset' filepath='../lib/librte_mbuf/rte_mbuf_dyn.c' line='317' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mbuf_dynfield_register_offset@@EXPERIMENTAL'>
+      <parameter type-id='type-id-104' name='params' filepath='../lib/librte_mbuf/rte_mbuf_dyn.c' line='317' column='1'/>
+      <parameter type-id='type-id-7' name='req' filepath='../lib/librte_mbuf/rte_mbuf_dyn.c' line='318' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_mbuf_dynfield_register' mangled-name='rte_mbuf_dynfield_register' filepath='../lib/librte_mbuf/rte_mbuf_dyn.c' line='343' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mbuf_dynfield_register@@EXPERIMENTAL'>
+      <parameter type-id='type-id-104' name='params' filepath='../lib/librte_mbuf/rte_mbuf_dyn.c' line='343' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_member.dump b/lib/.abi/librte_member.dump
new file mode 100644
index 000000000..23539832a
--- /dev/null
+++ b/lib/.abi/librte_member.dump
@@ -0,0 +1,216 @@
+<abi-corpus path='gcc//lib/librte_member.so.20.0' architecture='elf-amd-x86_64' soname='librte_member.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_member_add' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_member_create' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_member_delete' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_member_find_existing' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_member_free' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_member_lookup' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_member_lookup_bulk' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_member_lookup_multi' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_member_lookup_multi_bulk' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_member_reset' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_member/rte_member.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='librte_member_logtype' type-id='type-id-1' visibility='default' filepath='../lib/librte_member/rte_member.h' line='79' column='1'/>
+    <type-decl name='void' id='type-id-2'/>
+    <class-decl name='rte_member_setsum' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_member/rte_member.h' line='119' column='1' id='type-id-3'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-4' visibility='default' filepath='../lib/librte_member/rte_member.h' line='120' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='key_len' type-id='type-id-5' visibility='default' filepath='../lib/librte_member/rte_member.h' line='121' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='prim_hash_seed' type-id='type-id-5' visibility='default' filepath='../lib/librte_member/rte_member.h' line='122' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='sec_hash_seed' type-id='type-id-5' visibility='default' filepath='../lib/librte_member/rte_member.h' line='123' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='bucket_cnt' type-id='type-id-5' visibility='default' filepath='../lib/librte_member/rte_member.h' line='126' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='bucket_mask' type-id='type-id-5' visibility='default' filepath='../lib/librte_member/rte_member.h' line='127' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='sig_cmp_fn' type-id='type-id-6' visibility='default' filepath='../lib/librte_member/rte_member.h' line='129' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='cache' type-id='type-id-7' visibility='default' filepath='../lib/librte_member/rte_member.h' line='130' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='num_set' type-id='type-id-5' visibility='default' filepath='../lib/librte_member/rte_member.h' line='133' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='bits' type-id='type-id-5' visibility='default' filepath='../lib/librte_member/rte_member.h' line='134' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='bit_mask' type-id='type-id-5' visibility='default' filepath='../lib/librte_member/rte_member.h' line='135' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='num_hashes' type-id='type-id-5' visibility='default' filepath='../lib/librte_member/rte_member.h' line='136' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mul_shift' type-id='type-id-5' visibility='default' filepath='../lib/librte_member/rte_member.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='div_shift' type-id='type-id-5' visibility='default' filepath='../lib/librte_member/rte_member.h' line='139' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='table' type-id='type-id-8' visibility='default' filepath='../lib/librte_member/rte_member.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-5' visibility='default' filepath='../lib/librte_member/rte_member.h' line='145' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='name' type-id='type-id-9' visibility='default' filepath='../lib/librte_member/rte_member.h' line='146' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-10'/>
+    <enum-decl name='rte_member_setsum_type' filepath='../lib/librte_member/rte_member.h' line='105' column='1' id='type-id-4'>
+      <underlying-type type-id='type-id-10'/>
+      <enumerator name='RTE_MEMBER_TYPE_HT' value='0'/>
+      <enumerator name='RTE_MEMBER_TYPE_VBF' value='1'/>
+      <enumerator name='RTE_MEMBER_NUM_TYPE' value='2'/>
+    </enum-decl>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-11'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-11' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-12'/>
+    <typedef-decl name='uint32_t' type-id='type-id-12' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-5'/>
+    <enum-decl name='rte_member_sig_compare_function' filepath='../lib/librte_member/rte_member.h' line='112' column='1' id='type-id-6'>
+      <underlying-type type-id='type-id-10'/>
+      <enumerator name='RTE_MEMBER_COMPARE_SCALAR' value='0'/>
+      <enumerator name='RTE_MEMBER_COMPARE_AVX2' value='1'/>
+      <enumerator name='RTE_MEMBER_COMPARE_NUM' value='2'/>
+    </enum-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-13'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-13' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-14'/>
+    <typedef-decl name='uint8_t' type-id='type-id-14' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-7'/>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-8'/>
+    <type-decl name='char' size-in-bits='8' id='type-id-15'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-16'/>
+
+    <array-type-def dimensions='1' type-id='type-id-15' size-in-bits='256' id='type-id-9'>
+      <subrange length='32' type-id='type-id-16' id='type-id-17'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-3' const='yes' id='type-id-18'/>
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-19'/>
+    <function-decl name='rte_member_reset' mangled-name='rte_member_reset' filepath='../lib/librte_member/rte_member.c' line='286' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_member_reset@@DPDK_20.0'>
+      <parameter type-id='type-id-19' name='setsum' filepath='../lib/librte_member/rte_member.c' line='286' column='1'/>
+      <return type-id='type-id-2'/>
+    </function-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-20'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-20' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-21'/>
+    <typedef-decl name='uint16_t' type-id='type-id-21' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-22'/>
+    <typedef-decl name='member_set_t' type-id='type-id-22' filepath='../lib/librte_member/rte_member.h' line='58' column='1' id='type-id-23'/>
+    <function-decl name='rte_member_delete' mangled-name='rte_member_delete' filepath='../lib/librte_member/rte_member.c' line='269' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_member_delete@@DPDK_20.0'>
+      <parameter type-id='type-id-19' name='setsum' filepath='../lib/librte_member/rte_member.c' line='269' column='1'/>
+      <parameter type-id='type-id-8' name='key' filepath='../lib/librte_member/rte_member.c' line='269' column='1'/>
+      <parameter type-id='type-id-23' name='set_id' filepath='../lib/librte_member/rte_member.c' line='270' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-24'/>
+    <pointer-type-def type-id='type-id-5' size-in-bits='64' id='type-id-25'/>
+    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-26'/>
+    <function-decl name='rte_member_lookup_multi_bulk' mangled-name='rte_member_lookup_multi_bulk' filepath='../lib/librte_member/rte_member.c' line='247' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_member_lookup_multi_bulk@@DPDK_20.0'>
+      <parameter type-id='type-id-19' name='setsum' filepath='../lib/librte_member/rte_member.c' line='247' column='1'/>
+      <parameter type-id='type-id-24' name='keys' filepath='../lib/librte_member/rte_member.c' line='248' column='1'/>
+      <parameter type-id='type-id-5' name='num_keys' filepath='../lib/librte_member/rte_member.c' line='248' column='1'/>
+      <parameter type-id='type-id-5' name='max_match_per_key' filepath='../lib/librte_member/rte_member.c' line='249' column='1'/>
+      <parameter type-id='type-id-25' name='match_count' filepath='../lib/librte_member/rte_member.c' line='249' column='1'/>
+      <parameter type-id='type-id-26' name='set_ids' filepath='../lib/librte_member/rte_member.c' line='250' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_member_lookup_multi' mangled-name='rte_member_lookup_multi' filepath='../lib/librte_member/rte_member.c' line='228' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_member_lookup_multi@@DPDK_20.0'>
+      <parameter type-id='type-id-19' name='setsum' filepath='../lib/librte_member/rte_member.c' line='228' column='1'/>
+      <parameter type-id='type-id-8' name='key' filepath='../lib/librte_member/rte_member.c' line='228' column='1'/>
+      <parameter type-id='type-id-5' name='match_per_key' filepath='../lib/librte_member/rte_member.c' line='229' column='1'/>
+      <parameter type-id='type-id-26' name='set_id' filepath='../lib/librte_member/rte_member.c' line='229' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_member_lookup_bulk' mangled-name='rte_member_lookup_bulk' filepath='../lib/librte_member/rte_member.c' line='208' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_member_lookup_bulk@@DPDK_20.0'>
+      <parameter type-id='type-id-19' name='setsum' filepath='../lib/librte_member/rte_member.c' line='208' column='1'/>
+      <parameter type-id='type-id-24' name='keys' filepath='../lib/librte_member/rte_member.c' line='209' column='1'/>
+      <parameter type-id='type-id-5' name='num_keys' filepath='../lib/librte_member/rte_member.c' line='209' column='1'/>
+      <parameter type-id='type-id-26' name='set_ids' filepath='../lib/librte_member/rte_member.c' line='210' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_member_lookup' mangled-name='rte_member_lookup' filepath='../lib/librte_member/rte_member.c' line='191' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_member_lookup@@DPDK_20.0'>
+      <parameter type-id='type-id-19' name='setsum' filepath='../lib/librte_member/rte_member.c' line='191' column='1'/>
+      <parameter type-id='type-id-8' name='key' filepath='../lib/librte_member/rte_member.c' line='191' column='1'/>
+      <parameter type-id='type-id-26' name='set_id' filepath='../lib/librte_member/rte_member.c' line='192' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_member_add' mangled-name='rte_member_add' filepath='../lib/librte_member/rte_member.c' line='174' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_member_add@@DPDK_20.0'>
+      <parameter type-id='type-id-19' name='setsum' filepath='../lib/librte_member/rte_member.c' line='269' column='1'/>
+      <parameter type-id='type-id-8' name='key' filepath='../lib/librte_member/rte_member.c' line='269' column='1'/>
+      <parameter type-id='type-id-23' name='set_id' filepath='../lib/librte_member/rte_member.c' line='270' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-27'/>
+    <class-decl name='rte_member_parameters' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_member/rte_member.h' line='158' column='1' id='type-id-28'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-29' visibility='default' filepath='../lib/librte_member/rte_member.h' line='159' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-4' visibility='default' filepath='../lib/librte_member/rte_member.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='is_cache' type-id='type-id-7' visibility='default' filepath='../lib/librte_member/rte_member.h' line='192' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='num_keys' type-id='type-id-5' visibility='default' filepath='../lib/librte_member/rte_member.h' line='210' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='key_len' type-id='type-id-5' visibility='default' filepath='../lib/librte_member/rte_member.h' line='216' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='num_set' type-id='type-id-5' visibility='default' filepath='../lib/librte_member/rte_member.h' line='227' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='false_positive_rate' type-id='type-id-30' visibility='default' filepath='../lib/librte_member/rte_member.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='prim_hash_seed' type-id='type-id-5' visibility='default' filepath='../lib/librte_member/rte_member.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='sec_hash_seed' type-id='type-id-5' visibility='default' filepath='../lib/librte_member/rte_member.h' line='263' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_member/rte_member.h' line='265' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-15' const='yes' id='type-id-31'/>
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-29'/>
+    <type-decl name='float' size-in-bits='32' id='type-id-30'/>
+    <qualified-type-def type-id='type-id-28' const='yes' id='type-id-32'/>
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-33'/>
+    <function-decl name='rte_member_create' mangled-name='rte_member_create' filepath='../lib/librte_member/rte_member.c' line='87' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_member_create@@DPDK_20.0'>
+      <parameter type-id='type-id-33' name='params' filepath='../lib/librte_member/rte_member.c' line='87' column='1'/>
+      <return type-id='type-id-27'/>
+    </function-decl>
+    <function-decl name='rte_member_free' mangled-name='rte_member_free' filepath='../lib/librte_member/rte_member.c' line='52' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_member_free@@DPDK_20.0'>
+      <parameter type-id='type-id-27' name='setsum' filepath='../lib/librte_member/rte_member.c' line='52' column='1'/>
+      <return type-id='type-id-2'/>
+    </function-decl>
+    <function-decl name='rte_member_find_existing' mangled-name='rte_member_find_existing' filepath='../lib/librte_member/rte_member.c' line='28' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_member_find_existing@@DPDK_20.0'>
+      <parameter type-id='type-id-29' name='name' filepath='../lib/librte_member/rte_member.c' line='28' column='1'/>
+      <return type-id='type-id-27'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_mempool.dump b/lib/.abi/librte_mempool.dump
new file mode 100644
index 000000000..c2b20114a
--- /dev/null
+++ b/lib/.abi/librte_mempool.dump
@@ -0,0 +1,763 @@
+<abi-corpus path='gcc//lib/librte_mempool.so.20.0' architecture='elf-amd-x86_64' soname='librte_mempool.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_mempool_audit' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mempool_avail_count' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mempool_cache_create' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mempool_cache_free' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mempool_calc_obj_size' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mempool_check_cookies' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mempool_contig_blocks_check_cookies' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mempool_create' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mempool_create_empty' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mempool_dump' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mempool_free' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mempool_get_page_size' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mempool_in_use_count' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mempool_list_dump' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mempool_lookup' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mempool_mem_iter' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mempool_obj_iter' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mempool_op_calc_mem_size_default' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mempool_op_calc_mem_size_helper' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mempool_op_populate_default' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mempool_op_populate_helper' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mempool_ops_get_info' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mempool_populate_anon' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mempool_populate_default' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mempool_populate_iova' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mempool_populate_virt' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mempool_register_ops' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mempool_set_ops_byname' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mempool_walk' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <elf-variable-symbols>
+    <elf-symbol name='rte_mempool_ops_table' size='2112' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_mempool/rte_mempool.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='void' id='type-id-1'/>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-3' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-5' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-6' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-7' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-8' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-9' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-9' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-9' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-9' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-9' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-7' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-10' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-11' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-9' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-12' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-9' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-13' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-14'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-15'/>
+
+    <array-type-def dimensions='1' type-id='type-id-14' size-in-bits='256' id='type-id-3'>
+      <subrange length='32' type-id='type-id-15' id='type-id-16'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-4'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-5' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-17' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-5'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-15' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-18'/>
+    <typedef-decl name='uint64_t' type-id='type-id-18' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-17'/>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-19'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-3' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-20' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-21' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-17' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-10' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-9' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-20'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-22' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-23' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-17' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-22'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-17' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-23'/>
+    <typedef-decl name='size_t' type-id='type-id-15' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-21'/>
+    <type-decl name='int' size-in-bits='32' id='type-id-8'/>
+    <typedef-decl name='__int32_t' type-id='type-id-8' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-24'/>
+    <typedef-decl name='int32_t' type-id='type-id-24' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-10'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-7'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-7' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-25'/>
+    <typedef-decl name='uint32_t' type-id='type-id-25' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-9'/>
+    <qualified-type-def type-id='type-id-19' const='yes' id='type-id-26'/>
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-6'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-27'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-9' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-9' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-9' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-5' size-in-bits='98304' id='type-id-28'>
+      <subrange length='1536' type-id='type-id-15' id='type-id-29'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-11'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-12'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-30' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-31' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-32'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-33' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-34' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-35' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-33'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-30' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-30'/>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-34'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-35'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-23' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-22' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-31'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-13'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-36' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-37' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-38'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-34' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-5' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-40' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-21' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-41' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-5' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-39'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-36' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-38' size-in-bits='64' id='type-id-36'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-40'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-23' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-22' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-42' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-43'/>
+    <pointer-type-def type-id='type-id-43' size-in-bits='64' id='type-id-41'/>
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-37'/>
+    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-45'/>
+    <function-decl name='rte_mempool_walk' mangled-name='rte_mempool_walk' filepath='../lib/librte_mempool/rte_mempool.c' line='1289' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mempool_walk@@DPDK_20.0'>
+      <parameter type-id='type-id-45' name='func' filepath='../lib/librte_mempool/rte_mempool.c' line='1289' column='1'/>
+      <parameter type-id='type-id-5' name='arg' filepath='../lib/librte_mempool/rte_mempool.c' line='1290' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-14' const='yes' id='type-id-46'/>
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-47'/>
+    <function-decl name='rte_mempool_lookup' mangled-name='rte_mempool_lookup' filepath='../lib/librte_mempool/rte_mempool.c' line='1263' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mempool_lookup@@DPDK_20.0'>
+      <parameter type-id='type-id-47' name='name' filepath='../lib/librte_mempool/rte_mempool.c' line='1263' column='1'/>
+      <return type-id='type-id-34'/>
+    </function-decl>
+    <class-decl name='_IO_FILE' size-in-bits='1728' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='49' column='1' id='type-id-48'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='_flags' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='_IO_read_ptr' type-id='type-id-49' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='_IO_read_end' type-id='type-id-49' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='_IO_read_base' type-id='type-id-49' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='_IO_write_base' type-id='type-id-49' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='_IO_write_ptr' type-id='type-id-49' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='_IO_write_end' type-id='type-id-49' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='_IO_buf_base' type-id='type-id-49' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='60' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='_IO_buf_end' type-id='type-id-49' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='_IO_save_base' type-id='type-id-49' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='_IO_backup_base' type-id='type-id-49' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='_IO_save_end' type-id='type-id-49' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='_markers' type-id='type-id-50' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='_chain' type-id='type-id-51' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='_fileno' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='928'>
+        <var-decl name='_flags2' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='73' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='_old_offset' type-id='type-id-52' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='_cur_column' type-id='type-id-53' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1040'>
+        <var-decl name='_vtable_offset' type-id='type-id-54' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1048'>
+        <var-decl name='_shortbuf' type-id='type-id-55' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='_lock' type-id='type-id-56' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='_offset' type-id='type-id-57' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='89' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='_codecvt' type-id='type-id-58' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='_wide_data' type-id='type-id-59' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='92' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='_freeres_list' type-id='type-id-51' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='93' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='_freeres_buf' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='__pad5' type-id='type-id-21' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='95' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='_mode' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1568'>
+        <var-decl name='_unused2' type-id='type-id-60' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='98' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-49'/>
+    <class-decl name='_IO_marker' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-61'/>
+    <pointer-type-def type-id='type-id-61' size-in-bits='64' id='type-id-50'/>
+    <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-51'/>
+    <type-decl name='long int' size-in-bits='64' id='type-id-62'/>
+    <typedef-decl name='__off_t' type-id='type-id-62' filepath='/usr/include/bits/types.h' line='152' column='1' id='type-id-52'/>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-53'/>
+    <type-decl name='signed char' size-in-bits='8' id='type-id-54'/>
+
+    <array-type-def dimensions='1' type-id='type-id-14' size-in-bits='8' id='type-id-55'>
+      <subrange length='1' type-id='type-id-15' id='type-id-63'/>
+
+    </array-type-def>
+    <typedef-decl name='_IO_lock_t' type-id='type-id-1' filepath='/usr/include/bits/types/struct_FILE.h' line='43' column='1' id='type-id-64'/>
+    <pointer-type-def type-id='type-id-64' size-in-bits='64' id='type-id-56'/>
+    <typedef-decl name='__off64_t' type-id='type-id-62' filepath='/usr/include/bits/types.h' line='153' column='1' id='type-id-57'/>
+    <class-decl name='_IO_codecvt' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-65'/>
+    <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-58'/>
+    <class-decl name='_IO_wide_data' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-66'/>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-59'/>
+
+    <array-type-def dimensions='1' type-id='type-id-14' size-in-bits='160' id='type-id-60'>
+      <subrange length='20' type-id='type-id-15' id='type-id-67'/>
+
+    </array-type-def>
+    <typedef-decl name='FILE' type-id='type-id-48' filepath='/usr/include/bits/types/FILE.h' line='7' column='1' id='type-id-68'/>
+    <pointer-type-def type-id='type-id-68' size-in-bits='64' id='type-id-69'/>
+    <function-decl name='rte_mempool_list_dump' mangled-name='rte_mempool_list_dump' filepath='../lib/librte_mempool/rte_mempool.c' line='1243' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mempool_list_dump@@DPDK_20.0'>
+      <parameter type-id='type-id-69' name='f' filepath='../lib/librte_mempool/rte_mempool.c' line='1243' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_mempool_dump' mangled-name='rte_mempool_dump' filepath='../lib/librte_mempool/rte_mempool.c' line='1165' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mempool_dump@@DPDK_20.0'>
+      <parameter type-id='type-id-69' name='f' filepath='../lib/librte_mempool/rte_mempool.c' line='1165' column='1'/>
+      <parameter type-id='type-id-34' name='mp' filepath='../lib/librte_mempool/rte_mempool.c' line='1165' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_mempool_audit' mangled-name='rte_mempool_audit' filepath='../lib/librte_mempool/rte_mempool.c' line='1154' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mempool_audit@@DPDK_20.0'>
+      <parameter type-id='type-id-34' name='mp' filepath='../lib/librte_mempool/rte_mempool.c' line='1154' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-2' const='yes' id='type-id-70'/>
+    <pointer-type-def type-id='type-id-70' size-in-bits='64' id='type-id-71'/>
+    <qualified-type-def type-id='type-id-5' const='yes' id='type-id-72'/>
+    <pointer-type-def type-id='type-id-72' size-in-bits='64' id='type-id-73'/>
+    <function-decl name='rte_mempool_contig_blocks_check_cookies' mangled-name='rte_mempool_contig_blocks_check_cookies' filepath='../lib/librte_mempool/rte_mempool.c' line='1074' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mempool_contig_blocks_check_cookies@@DPDK_20.0'>
+      <parameter type-id='type-id-71' name='mp' filepath='../lib/librte_mempool/rte_mempool.c' line='1074' column='1'/>
+      <parameter type-id='type-id-73' name='first_obj_table_const' filepath='../lib/librte_mempool/rte_mempool.c' line='1075' column='1'/>
+      <parameter type-id='type-id-7' name='n' filepath='../lib/librte_mempool/rte_mempool.c' line='1075' column='1'/>
+      <parameter type-id='type-id-8' name='free' filepath='../lib/librte_mempool/rte_mempool.c' line='1075' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_mempool_check_cookies' mangled-name='rte_mempool_check_cookies' filepath='../lib/librte_mempool/rte_mempool.c' line='1005' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mempool_check_cookies@@DPDK_20.0'>
+      <parameter type-id='type-id-71' name='mp' filepath='../lib/librte_mempool/rte_mempool.c' line='1074' column='1'/>
+      <parameter type-id='type-id-73' name='first_obj_table_const' filepath='../lib/librte_mempool/rte_mempool.c' line='1075' column='1'/>
+      <parameter type-id='type-id-7' name='n' filepath='../lib/librte_mempool/rte_mempool.c' line='1075' column='1'/>
+      <parameter type-id='type-id-8' name='free' filepath='../lib/librte_mempool/rte_mempool.c' line='1075' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_mempool_in_use_count' mangled-name='rte_mempool_in_use_count' filepath='../lib/librte_mempool/rte_mempool.c' line='971' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mempool_in_use_count@@DPDK_20.0'>
+      <parameter type-id='type-id-71' name='mp' filepath='../lib/librte_mempool/rte_mempool.c' line='971' column='1'/>
+      <return type-id='type-id-7'/>
+    </function-decl>
+    <function-decl name='rte_mempool_avail_count' mangled-name='rte_mempool_avail_count' filepath='../lib/librte_mempool/rte_mempool.c' line='947' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mempool_avail_count@@DPDK_20.0'>
+      <parameter type-id='type-id-71' name='mp' filepath='../lib/librte_mempool/rte_mempool.c' line='947' column='1'/>
+      <return type-id='type-id-7'/>
+    </function-decl>
+    <typedef-decl name='rte_mempool_ctor_t' type-id='type-id-44' filepath='../lib/librte_mempool/rte_mempool.h' line='947' column='1' id='type-id-74'/>
+    <pointer-type-def type-id='type-id-74' size-in-bits='64' id='type-id-75'/>
+    <typedef-decl name='rte_mempool_obj_cb_t' type-id='type-id-76' filepath='../lib/librte_mempool/rte_mempool.h' line='928' column='1' id='type-id-77'/>
+    <pointer-type-def type-id='type-id-77' size-in-bits='64' id='type-id-78'/>
+    <function-decl name='rte_mempool_create' mangled-name='rte_mempool_create' filepath='../lib/librte_mempool/rte_mempool.c' line='897' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mempool_create@@DPDK_20.0'>
+      <parameter type-id='type-id-47' name='name' filepath='../lib/librte_mempool/rte_mempool.c' line='897' column='1'/>
+      <parameter type-id='type-id-7' name='n' filepath='../lib/librte_mempool/rte_mempool.c' line='897' column='1'/>
+      <parameter type-id='type-id-7' name='elt_size' filepath='../lib/librte_mempool/rte_mempool.c' line='897' column='1'/>
+      <parameter type-id='type-id-7' name='cache_size' filepath='../lib/librte_mempool/rte_mempool.c' line='898' column='1'/>
+      <parameter type-id='type-id-7' name='private_data_size' filepath='../lib/librte_mempool/rte_mempool.c' line='898' column='1'/>
+      <parameter type-id='type-id-75' name='mp_init' filepath='../lib/librte_mempool/rte_mempool.c' line='899' column='1'/>
+      <parameter type-id='type-id-5' name='mp_init_arg' filepath='../lib/librte_mempool/rte_mempool.c' line='899' column='1'/>
+      <parameter type-id='type-id-78' name='obj_init' filepath='../lib/librte_mempool/rte_mempool.c' line='900' column='1'/>
+      <parameter type-id='type-id-5' name='obj_init_arg' filepath='../lib/librte_mempool/rte_mempool.c' line='900' column='1'/>
+      <parameter type-id='type-id-8' name='socket_id' filepath='../lib/librte_mempool/rte_mempool.c' line='901' column='1'/>
+      <parameter type-id='type-id-7' name='flags' filepath='../lib/librte_mempool/rte_mempool.c' line='901' column='1'/>
+      <return type-id='type-id-34'/>
+    </function-decl>
+    <function-decl name='rte_mempool_create_empty' mangled-name='rte_mempool_create_empty' filepath='../lib/librte_mempool/rte_mempool.c' line='761' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mempool_create_empty@@DPDK_20.0'>
+      <parameter type-id='type-id-47' name='name' filepath='../lib/librte_mempool/rte_mempool.c' line='761' column='1'/>
+      <parameter type-id='type-id-7' name='n' filepath='../lib/librte_mempool/rte_mempool.c' line='761' column='1'/>
+      <parameter type-id='type-id-7' name='elt_size' filepath='../lib/librte_mempool/rte_mempool.c' line='761' column='1'/>
+      <parameter type-id='type-id-7' name='cache_size' filepath='../lib/librte_mempool/rte_mempool.c' line='762' column='1'/>
+      <parameter type-id='type-id-7' name='private_data_size' filepath='../lib/librte_mempool/rte_mempool.c' line='762' column='1'/>
+      <parameter type-id='type-id-8' name='socket_id' filepath='../lib/librte_mempool/rte_mempool.c' line='763' column='1'/>
+      <parameter type-id='type-id-7' name='flags' filepath='../lib/librte_mempool/rte_mempool.c' line='763' column='1'/>
+      <return type-id='type-id-34'/>
+    </function-decl>
+    <function-decl name='rte_mempool_cache_free' mangled-name='rte_mempool_cache_free' filepath='../lib/librte_mempool/rte_mempool.c' line='754' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mempool_cache_free@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='cache' filepath='../lib/librte_mempool/rte_mempool.c' line='754' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_mempool_cache_create' mangled-name='rte_mempool_cache_create' filepath='../lib/librte_mempool/rte_mempool.c' line='726' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mempool_cache_create@@DPDK_20.0'>
+      <parameter type-id='type-id-9' name='size' filepath='../lib/librte_mempool/rte_mempool.c' line='726' column='1'/>
+      <parameter type-id='type-id-8' name='socket_id' filepath='../lib/librte_mempool/rte_mempool.c' line='726' column='1'/>
+      <return type-id='type-id-11'/>
+    </function-decl>
+    <function-decl name='rte_mempool_free' mangled-name='rte_mempool_free' filepath='../lib/librte_mempool/rte_mempool.c' line='685' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mempool_free@@DPDK_20.0'>
+      <parameter type-id='type-id-34' name='mp' filepath='../lib/librte_mempool/rte_mempool.c' line='685' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_mempool_populate_anon' mangled-name='rte_mempool_populate_anon' filepath='../lib/librte_mempool/rte_mempool.c' line='635' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mempool_populate_anon@@DPDK_20.0'>
+      <parameter type-id='type-id-34' name='mp' filepath='../lib/librte_mempool/rte_mempool.c' line='635' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='rte_mempool_populate_default' mangled-name='rte_mempool_populate_default' filepath='../lib/librte_mempool/rte_mempool.c' line='455' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mempool_populate_default@@DPDK_20.0'>
+      <parameter type-id='type-id-34' name='mp' filepath='../lib/librte_mempool/rte_mempool.c' line='455' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='rte_mempool_populate_virt' mangled-name='rte_mempool_populate_virt' filepath='../lib/librte_mempool/rte_mempool.c' line='376' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mempool_populate_virt@@DPDK_20.0'>
+      <parameter type-id='type-id-34' name='mp' filepath='../lib/librte_mempool/rte_mempool.c' line='376' column='1'/>
+      <parameter type-id='type-id-49' name='addr' filepath='../lib/librte_mempool/rte_mempool.c' line='376' column='1'/>
+      <parameter type-id='type-id-21' name='len' filepath='../lib/librte_mempool/rte_mempool.c' line='377' column='1'/>
+      <parameter type-id='type-id-21' name='pg_sz' filepath='../lib/librte_mempool/rte_mempool.c' line='377' column='1'/>
+      <parameter type-id='type-id-41' name='free_cb' filepath='../lib/librte_mempool/rte_mempool.c' line='377' column='1'/>
+      <parameter type-id='type-id-5' name='opaque' filepath='../lib/librte_mempool/rte_mempool.c' line='378' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='rte_mempool_populate_iova' mangled-name='rte_mempool_populate_iova' filepath='../lib/librte_mempool/rte_mempool.c' line='301' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mempool_populate_iova@@DPDK_20.0'>
+      <parameter type-id='type-id-34' name='mp' filepath='../lib/librte_mempool/rte_mempool.c' line='301' column='1'/>
+      <parameter type-id='type-id-49' name='vaddr' filepath='../lib/librte_mempool/rte_mempool.c' line='301' column='1'/>
+      <parameter type-id='type-id-23' name='iova' filepath='../lib/librte_mempool/rte_mempool.c' line='302' column='1'/>
+      <parameter type-id='type-id-21' name='len' filepath='../lib/librte_mempool/rte_mempool.c' line='302' column='1'/>
+      <parameter type-id='type-id-41' name='free_cb' filepath='../lib/librte_mempool/rte_mempool.c' line='302' column='1'/>
+      <parameter type-id='type-id-5' name='opaque' filepath='../lib/librte_mempool/rte_mempool.c' line='303' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <class-decl name='rte_mempool_objsz' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='97' column='1' id='type-id-79'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='elt_size' type-id='type-id-9' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='98' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='header_size' type-id='type-id-9' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='99' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='trailer_size' type-id='type-id-9' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='100' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='total_size' type-id='type-id-9' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='101' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-79' size-in-bits='64' id='type-id-80'/>
+    <function-decl name='rte_mempool_calc_obj_size' mangled-name='rte_mempool_calc_obj_size' filepath='../lib/librte_mempool/rte_mempool.c' line='201' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mempool_calc_obj_size@@DPDK_20.0'>
+      <parameter type-id='type-id-9' name='elt_size' filepath='../lib/librte_mempool/rte_mempool.c' line='201' column='1'/>
+      <parameter type-id='type-id-9' name='flags' filepath='../lib/librte_mempool/rte_mempool.c' line='201' column='1'/>
+      <parameter type-id='type-id-80' name='sz' filepath='../lib/librte_mempool/rte_mempool.c' line='202' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <typedef-decl name='rte_mempool_mem_cb_t' type-id='type-id-81' filepath='../lib/librte_mempool/rte_mempool.h' line='937' column='1' id='type-id-82'/>
+    <pointer-type-def type-id='type-id-82' size-in-bits='64' id='type-id-83'/>
+    <function-decl name='rte_mempool_mem_iter' mangled-name='rte_mempool_mem_iter' filepath='../lib/librte_mempool/rte_mempool.c' line='185' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mempool_mem_iter@@DPDK_20.0'>
+      <parameter type-id='type-id-34' name='mp' filepath='../lib/librte_mempool/rte_mempool.c' line='185' column='1'/>
+      <parameter type-id='type-id-83' name='mem_cb' filepath='../lib/librte_mempool/rte_mempool.c' line='186' column='1'/>
+      <parameter type-id='type-id-5' name='mem_cb_arg' filepath='../lib/librte_mempool/rte_mempool.c' line='186' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <function-decl name='rte_mempool_obj_iter' mangled-name='rte_mempool_obj_iter' filepath='../lib/librte_mempool/rte_mempool.c' line='167' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mempool_obj_iter@@DPDK_20.0'>
+      <parameter type-id='type-id-34' name='mp' filepath='../lib/librte_mempool/rte_mempool.c' line='167' column='1'/>
+      <parameter type-id='type-id-78' name='obj_cb' filepath='../lib/librte_mempool/rte_mempool.c' line='168' column='1'/>
+      <parameter type-id='type-id-5' name='obj_cb_arg' filepath='../lib/librte_mempool/rte_mempool.c' line='168' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-84'/>
+    <function-decl name='rte_mempool_get_page_size' mangled-name='rte_mempool_get_page_size' filepath='../lib/librte_mempool/rte_mempool.c' line='427' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mempool_get_page_size@@EXPERIMENTAL'>
+      <parameter type-id='type-id-34' name='mp' filepath='../lib/librte_mempool/rte_mempool.c' line='427' column='1'/>
+      <parameter type-id='type-id-84' name='pg_sz' filepath='../lib/librte_mempool/rte_mempool.c' line='427' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-44'>
+      <parameter type-id='type-id-34'/>
+      <parameter type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-81'>
+      <parameter type-id='type-id-34'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-36'/>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-76'>
+      <parameter type-id='type-id-34'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-42'>
+      <parameter type-id='type-id-36'/>
+      <parameter type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_mempool/rte_mempool_ops.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_mempool_ops_table' size-in-bits='16896' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='678' column='1' id='type-id-85'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='sl' type-id='type-id-86' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='679' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='num_ops' type-id='type-id-9' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='680' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='ops' type-id='type-id-87' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='684' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-86' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_spinlock.h' line='30' column='1' id='type-id-88'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='locked' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_spinlock.h' line='31' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-8' volatile='yes' id='type-id-89'/>
+    <typedef-decl name='rte_spinlock_t' type-id='type-id-88' filepath='../lib/librte_eal/common/include/generic/rte_spinlock.h' line='32' column='1' id='type-id-86'/>
+    <class-decl name='rte_mempool_ops' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='640' column='1' id='type-id-90'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-3' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='641' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='alloc' type-id='type-id-91' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='642' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free' type-id='type-id-92' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='643' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='enqueue' type-id='type-id-93' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='644' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='dequeue' type-id='type-id-94' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='645' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='get_count' type-id='type-id-95' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='646' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='calc_mem_size' type-id='type-id-96' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='651' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='populate' type-id='type-id-97' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='656' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='get_info' type-id='type-id-98' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='660' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='dequeue_contig_blocks' type-id='type-id-99' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='664' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-100' size-in-bits='64' id='type-id-101'/>
+    <typedef-decl name='rte_mempool_alloc_t' type-id='type-id-101' filepath='../lib/librte_mempool/rte_mempool.h' line='410' column='1' id='type-id-91'/>
+    <pointer-type-def type-id='type-id-102' size-in-bits='64' id='type-id-103'/>
+    <typedef-decl name='rte_mempool_free_t' type-id='type-id-103' filepath='../lib/librte_mempool/rte_mempool.h' line='415' column='1' id='type-id-92'/>
+    <pointer-type-def type-id='type-id-104' size-in-bits='64' id='type-id-105'/>
+    <typedef-decl name='rte_mempool_enqueue_t' type-id='type-id-105' filepath='../lib/librte_mempool/rte_mempool.h' line='420' column='1' id='type-id-93'/>
+    <pointer-type-def type-id='type-id-5' size-in-bits='64' id='type-id-106'/>
+    <pointer-type-def type-id='type-id-107' size-in-bits='64' id='type-id-108'/>
+    <typedef-decl name='rte_mempool_dequeue_t' type-id='type-id-108' filepath='../lib/librte_mempool/rte_mempool.h' line='426' column='1' id='type-id-94'/>
+    <pointer-type-def type-id='type-id-109' size-in-bits='64' id='type-id-110'/>
+    <typedef-decl name='rte_mempool_get_count' type-id='type-id-110' filepath='../lib/librte_mempool/rte_mempool.h' line='441' column='1' id='type-id-95'/>
+    <typedef-decl name='__ssize_t' type-id='type-id-62' filepath='/usr/include/bits/types.h' line='193' column='1' id='type-id-111'/>
+    <typedef-decl name='ssize_t' type-id='type-id-111' filepath='/usr/include/stdio.h' line='77' column='1' id='type-id-112'/>
+    <pointer-type-def type-id='type-id-113' size-in-bits='64' id='type-id-114'/>
+    <typedef-decl name='rte_mempool_calc_mem_size_t' type-id='type-id-114' filepath='../lib/librte_mempool/rte_mempool.h' line='466' column='1' id='type-id-96'/>
+    <typedef-decl name='rte_mempool_populate_obj_cb_t' type-id='type-id-115' filepath='../lib/librte_mempool/rte_mempool.h' line='536' column='1' id='type-id-116'/>
+    <pointer-type-def type-id='type-id-116' size-in-bits='64' id='type-id-117'/>
+    <pointer-type-def type-id='type-id-118' size-in-bits='64' id='type-id-119'/>
+    <typedef-decl name='rte_mempool_populate_t' type-id='type-id-119' filepath='../lib/librte_mempool/rte_mempool.h' line='567' column='1' id='type-id-97'/>
+    <class-decl name='rte_mempool_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='208' column='1' id='type-id-120'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='contig_block_size' type-id='type-id-7' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='210' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-120' size-in-bits='64' id='type-id-121'/>
+    <pointer-type-def type-id='type-id-122' size-in-bits='64' id='type-id-123'/>
+    <typedef-decl name='rte_mempool_get_info_t' type-id='type-id-123' filepath='../lib/librte_mempool/rte_mempool.h' line='635' column='1' id='type-id-98'/>
+    <typedef-decl name='rte_mempool_dequeue_contig_blocks_t' type-id='type-id-108' filepath='../lib/librte_mempool/rte_mempool.h' line='435' column='1' id='type-id-99'/>
+
+    <array-type-def dimensions='1' type-id='type-id-90' size-in-bits='16384' id='type-id-87'>
+      <subrange length='16' type-id='type-id-15' id='type-id-124'/>
+
+    </array-type-def>
+    <var-decl name='rte_mempool_ops_table' type-id='type-id-85' mangled-name='rte_mempool_ops_table' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='688' column='1' elf-symbol-id='rte_mempool_ops_table@@DPDK_20.0'/>
+    <function-decl name='rte_mempool_set_ops_byname' mangled-name='rte_mempool_set_ops_byname' filepath='../lib/librte_mempool/rte_mempool_ops.c' line='158' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mempool_set_ops_byname@@DPDK_20.0'>
+      <parameter type-id='type-id-34' name='mp' filepath='../lib/librte_mempool/rte_mempool_ops.c' line='158' column='1'/>
+      <parameter type-id='type-id-47' name='name' filepath='../lib/librte_mempool/rte_mempool_ops.c' line='158' column='1'/>
+      <parameter type-id='type-id-5' name='pool_config' filepath='../lib/librte_mempool/rte_mempool_ops.c' line='159' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-90' const='yes' id='type-id-125'/>
+    <pointer-type-def type-id='type-id-125' size-in-bits='64' id='type-id-126'/>
+    <function-decl name='rte_mempool_register_ops' mangled-name='rte_mempool_register_ops' filepath='../lib/librte_mempool/rte_mempool_ops.c' line='22' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mempool_register_ops@@DPDK_20.0'>
+      <parameter type-id='type-id-126' name='h' filepath='../lib/librte_mempool/rte_mempool_ops.c' line='22' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='rte_mempool_ops_get_info' mangled-name='rte_mempool_ops_get_info' filepath='../lib/librte_mempool/rte_mempool_ops.c' line='144' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mempool_ops_get_info@@EXPERIMENTAL'>
+      <parameter type-id='type-id-71' name='mp' filepath='../lib/librte_mempool/rte_mempool_ops.c' line='144' column='1'/>
+      <parameter type-id='type-id-121' name='info' filepath='../lib/librte_mempool/rte_mempool_ops.c' line='145' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-122'>
+      <parameter type-id='type-id-71'/>
+      <parameter type-id='type-id-121'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-100'>
+      <parameter type-id='type-id-34'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-118'>
+      <parameter type-id='type-id-34'/>
+      <parameter type-id='type-id-7'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-23'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-117'/>
+      <parameter type-id='type-id-5'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-104'>
+      <parameter type-id='type-id-34'/>
+      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-107'>
+      <parameter type-id='type-id-34'/>
+      <parameter type-id='type-id-106'/>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-113'>
+      <parameter type-id='type-id-71'/>
+      <parameter type-id='type-id-9'/>
+      <parameter type-id='type-id-9'/>
+      <parameter type-id='type-id-84'/>
+      <parameter type-id='type-id-84'/>
+      <return type-id='type-id-112'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-109'>
+      <parameter type-id='type-id-71'/>
+      <return type-id='type-id-7'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-102'>
+      <parameter type-id='type-id-34'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-115'>
+      <parameter type-id='type-id-34'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-23'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_mempool/rte_mempool_ops_default.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='rte_mempool_op_populate_default' mangled-name='rte_mempool_op_populate_default' filepath='../lib/librte_mempool/rte_mempool_ops_default.c' line='138' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mempool_op_populate_default@@DPDK_20.0'>
+      <parameter type-id='type-id-34' name='mp' filepath='../lib/librte_mempool/rte_mempool_ops_default.c' line='138' column='1'/>
+      <parameter type-id='type-id-7' name='max_objs' filepath='../lib/librte_mempool/rte_mempool_ops_default.c' line='138' column='1'/>
+      <parameter type-id='type-id-5' name='vaddr' filepath='../lib/librte_mempool/rte_mempool_ops_default.c' line='139' column='1'/>
+      <parameter type-id='type-id-23' name='iova' filepath='../lib/librte_mempool/rte_mempool_ops_default.c' line='139' column='1'/>
+      <parameter type-id='type-id-21' name='len' filepath='../lib/librte_mempool/rte_mempool_ops_default.c' line='139' column='1'/>
+      <parameter type-id='type-id-117' name='obj_cb' filepath='../lib/librte_mempool/rte_mempool_ops_default.c' line='140' column='1'/>
+      <parameter type-id='type-id-5' name='obj_cb_arg' filepath='../lib/librte_mempool/rte_mempool_ops_default.c' line='141' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='rte_mempool_op_calc_mem_size_default' mangled-name='rte_mempool_op_calc_mem_size_default' filepath='../lib/librte_mempool/rte_mempool_ops_default.c' line='69' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mempool_op_calc_mem_size_default@@DPDK_20.0'>
+      <parameter type-id='type-id-71' name='mp' filepath='../lib/librte_mempool/rte_mempool_ops_default.c' line='69' column='1'/>
+      <parameter type-id='type-id-9' name='obj_num' filepath='../lib/librte_mempool/rte_mempool_ops_default.c' line='70' column='1'/>
+      <parameter type-id='type-id-9' name='pg_shift' filepath='../lib/librte_mempool/rte_mempool_ops_default.c' line='70' column='1'/>
+      <parameter type-id='type-id-84' name='min_chunk_size' filepath='../lib/librte_mempool/rte_mempool_ops_default.c' line='71' column='1'/>
+      <parameter type-id='type-id-84' name='align' filepath='../lib/librte_mempool/rte_mempool_ops_default.c' line='71' column='1'/>
+      <return type-id='type-id-112'/>
+    </function-decl>
+    <function-decl name='rte_mempool_op_populate_helper' mangled-name='rte_mempool_op_populate_helper' filepath='../lib/librte_mempool/rte_mempool_ops_default.c' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mempool_op_populate_helper@@EXPERIMENTAL'>
+      <parameter type-id='type-id-34' name='mp' filepath='../lib/librte_mempool/rte_mempool_ops_default.c' line='91' column='1'/>
+      <parameter type-id='type-id-7' name='flags' filepath='../lib/librte_mempool/rte_mempool_ops_default.c' line='91' column='1'/>
+      <parameter type-id='type-id-7' name='max_objs' filepath='../lib/librte_mempool/rte_mempool_ops_default.c' line='92' column='1'/>
+      <parameter type-id='type-id-5' name='vaddr' filepath='../lib/librte_mempool/rte_mempool_ops_default.c' line='92' column='1'/>
+      <parameter type-id='type-id-23' name='iova' filepath='../lib/librte_mempool/rte_mempool_ops_default.c' line='92' column='1'/>
+      <parameter type-id='type-id-21' name='len' filepath='../lib/librte_mempool/rte_mempool_ops_default.c' line='93' column='1'/>
+      <parameter type-id='type-id-117' name='obj_cb' filepath='../lib/librte_mempool/rte_mempool_ops_default.c' line='93' column='1'/>
+      <parameter type-id='type-id-5' name='obj_cb_arg' filepath='../lib/librte_mempool/rte_mempool_ops_default.c' line='94' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='rte_mempool_op_calc_mem_size_helper' mangled-name='rte_mempool_op_calc_mem_size_helper' filepath='../lib/librte_mempool/rte_mempool_ops_default.c' line='10' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_mempool_op_calc_mem_size_helper@@EXPERIMENTAL'>
+      <parameter type-id='type-id-71' name='mp' filepath='../lib/librte_mempool/rte_mempool_ops_default.c' line='10' column='1'/>
+      <parameter type-id='type-id-9' name='obj_num' filepath='../lib/librte_mempool/rte_mempool_ops_default.c' line='11' column='1'/>
+      <parameter type-id='type-id-9' name='pg_shift' filepath='../lib/librte_mempool/rte_mempool_ops_default.c' line='11' column='1'/>
+      <parameter type-id='type-id-21' name='chunk_reserve' filepath='../lib/librte_mempool/rte_mempool_ops_default.c' line='12' column='1'/>
+      <parameter type-id='type-id-84' name='min_chunk_size' filepath='../lib/librte_mempool/rte_mempool_ops_default.c' line='13' column='1'/>
+      <parameter type-id='type-id-84' name='align' filepath='../lib/librte_mempool/rte_mempool_ops_default.c' line='13' column='1'/>
+      <return type-id='type-id-112'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_meter.dump b/lib/.abi/librte_meter.dump
new file mode 100644
index 000000000..e59eae7c3
--- /dev/null
+++ b/lib/.abi/librte_meter.dump
@@ -0,0 +1,197 @@
+<abi-corpus path='gcc//lib/librte_meter.so.20.0' architecture='elf-amd-x86_64' soname='librte_meter.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_meter_srtcm_config' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_meter_srtcm_profile_config' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_meter_trtcm_config' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_meter_trtcm_profile_config' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_meter_trtcm_rfc4115_config' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_meter_trtcm_rfc4115_profile_config' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_meter/rte_meter.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <class-decl name='rte_meter_trtcm' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='376' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='time_tc' type-id='type-id-3' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='377' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='time_tp' type-id='type-id-3' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='379' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tc' type-id='type-id-3' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='381' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='tp' type-id='type-id-3' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='383' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-4'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-4' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-5'/>
+    <typedef-decl name='uint64_t' type-id='type-id-5' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-3'/>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-6'/>
+    <class-decl name='rte_meter_trtcm_profile' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='357' column='1' id='type-id-7'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cbs' type-id='type-id-3' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='358' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pbs' type-id='type-id-3' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='360' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cir_period' type-id='type-id-3' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='362' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='cir_bytes_per_period' type-id='type-id-3' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='364' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='pir_period' type-id='type-id-3' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='366' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pir_bytes_per_period' type-id='type-id-3' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='368' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-7' size-in-bits='64' id='type-id-8'/>
+    <function-decl name='rte_meter_trtcm_config' mangled-name='rte_meter_trtcm_config' filepath='../lib/librte_meter/rte_meter.c' line='107' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_meter_trtcm_config@@DPDK_20.0'>
+      <parameter type-id='type-id-6' name='m' filepath='../lib/librte_meter/rte_meter.c' line='107' column='1'/>
+      <parameter type-id='type-id-8' name='p' filepath='../lib/librte_meter/rte_meter.c' line='108' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_meter_trtcm_params' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='55' column='1' id='type-id-9'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cir' type-id='type-id-3' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pir' type-id='type-id-3' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cbs' type-id='type-id-3' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='pbs' type-id='type-id-3' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='59' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-10'/>
+    <function-decl name='rte_meter_trtcm_profile_config' mangled-name='rte_meter_trtcm_profile_config' filepath='../lib/librte_meter/rte_meter.c' line='80' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_meter_trtcm_profile_config@@DPDK_20.0'>
+      <parameter type-id='type-id-8' name='p' filepath='../lib/librte_meter/rte_meter.c' line='80' column='1'/>
+      <parameter type-id='type-id-10' name='params' filepath='../lib/librte_meter/rte_meter.c' line='81' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_meter_srtcm' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='351' column='1' id='type-id-11'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='time' type-id='type-id-3' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='352' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tc' type-id='type-id-3' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='353' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='te' type-id='type-id-3' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='354' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-12'/>
+    <class-decl name='rte_meter_srtcm_profile' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='339' column='1' id='type-id-13'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cbs' type-id='type-id-3' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='340' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ebs' type-id='type-id-3' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='342' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cir_period' type-id='type-id-3' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='344' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='cir_bytes_per_period' type-id='type-id-3' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='346' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-13' size-in-bits='64' id='type-id-14'/>
+    <function-decl name='rte_meter_srtcm_config' mangled-name='rte_meter_srtcm_config' filepath='../lib/librte_meter/rte_meter.c' line='64' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_meter_srtcm_config@@DPDK_20.0'>
+      <parameter type-id='type-id-12' name='m' filepath='../lib/librte_meter/rte_meter.c' line='64' column='1'/>
+      <parameter type-id='type-id-14' name='p' filepath='../lib/librte_meter/rte_meter.c' line='65' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_meter_srtcm_params' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='46' column='1' id='type-id-15'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cir' type-id='type-id-3' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='47' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='cbs' type-id='type-id-3' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ebs' type-id='type-id-3' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='49' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-15' size-in-bits='64' id='type-id-16'/>
+    <function-decl name='rte_meter_srtcm_profile_config' mangled-name='rte_meter_srtcm_profile_config' filepath='../lib/librte_meter/rte_meter.c' line='42' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_meter_srtcm_profile_config@@DPDK_20.0'>
+      <parameter type-id='type-id-14' name='p' filepath='../lib/librte_meter/rte_meter.c' line='42' column='1'/>
+      <parameter type-id='type-id-16' name='params' filepath='../lib/librte_meter/rte_meter.c' line='43' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_meter_trtcm_rfc4115' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='406' column='1' id='type-id-17'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='time_tc' type-id='type-id-3' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='407' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='time_te' type-id='type-id-3' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='409' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tc' type-id='type-id-3' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='411' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='te' type-id='type-id-3' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='413' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-18'/>
+    <class-decl name='rte_meter_trtcm_rfc4115_profile' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='387' column='1' id='type-id-19'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cbs' type-id='type-id-3' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='388' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ebs' type-id='type-id-3' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='390' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cir_period' type-id='type-id-3' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='392' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='cir_bytes_per_period' type-id='type-id-3' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='394' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='eir_period' type-id='type-id-3' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='396' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='eir_bytes_per_period' type-id='type-id-3' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='398' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-20'/>
+    <function-decl name='rte_meter_trtcm_rfc4115_config' mangled-name='rte_meter_trtcm_rfc4115_config' filepath='../lib/librte_meter/rte_meter.c' line='148' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_meter_trtcm_rfc4115_config@@EXPERIMENTAL'>
+      <parameter type-id='type-id-18' name='m' filepath='../lib/librte_meter/rte_meter.c' line='149' column='1'/>
+      <parameter type-id='type-id-20' name='p' filepath='../lib/librte_meter/rte_meter.c' line='150' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_meter_trtcm_rfc4115_params' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='66' column='1' id='type-id-21'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cir' type-id='type-id-3' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='eir' type-id='type-id-3' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cbs' type-id='type-id-3' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ebs' type-id='type-id-3' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-22'/>
+    <function-decl name='rte_meter_trtcm_rfc4115_profile_config' mangled-name='rte_meter_trtcm_rfc4115_profile_config' filepath='../lib/librte_meter/rte_meter.c' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_meter_trtcm_rfc4115_profile_config@@EXPERIMENTAL'>
+      <parameter type-id='type-id-20' name='p' filepath='../lib/librte_meter/rte_meter.c' line='124' column='1'/>
+      <parameter type-id='type-id-22' name='params' filepath='../lib/librte_meter/rte_meter.c' line='125' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_metrics.dump b/lib/.abi/librte_metrics.dump
new file mode 100644
index 000000000..15628a2bc
--- /dev/null
+++ b/lib/.abi/librte_metrics.dump
@@ -0,0 +1,102 @@
+<abi-corpus path='gcc//lib/librte_metrics.so.20.0' architecture='elf-amd-x86_64' soname='librte_metrics.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_metrics_deinit' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_metrics_get_names' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_metrics_get_values' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_metrics_init' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_metrics_reg_name' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_metrics_reg_names' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_metrics_update_value' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_metrics_update_values' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_metrics/rte_metrics.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <class-decl name='rte_metric_value' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_metrics/rte_metrics.h' line='67' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='key' type-id='type-id-3' visibility='default' filepath='../lib/librte_metrics/rte_metrics.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='value' type-id='type-id-4' visibility='default' filepath='../lib/librte_metrics/rte_metrics.h' line='71' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-5'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-5' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-6'/>
+    <typedef-decl name='uint16_t' type-id='type-id-6' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-3'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-7'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-7' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-8'/>
+    <typedef-decl name='uint64_t' type-id='type-id-8' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-4'/>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-9'/>
+    <function-decl name='rte_metrics_get_values' mangled-name='rte_metrics_get_values' filepath='../lib/librte_metrics/rte_metrics.c' line='253' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_metrics_get_values@@DPDK_20.0'>
+      <parameter type-id='type-id-1' name='port_id' filepath='../lib/librte_metrics/rte_metrics.c' line='253' column='1'/>
+      <parameter type-id='type-id-9' name='values' filepath='../lib/librte_metrics/rte_metrics.c' line='254' column='1'/>
+      <parameter type-id='type-id-3' name='capacity' filepath='../lib/librte_metrics/rte_metrics.c' line='255' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_metric_name' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_metrics/rte_metrics.h' line='53' column='1' id='type-id-10'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-11' visibility='default' filepath='../lib/librte_metrics/rte_metrics.h' line='55' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-12'/>
+
+    <array-type-def dimensions='1' type-id='type-id-12' size-in-bits='512' id='type-id-11'>
+      <subrange length='64' type-id='type-id-7' id='type-id-13'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-14'/>
+    <function-decl name='rte_metrics_get_names' mangled-name='rte_metrics_get_names' filepath='../lib/librte_metrics/rte_metrics.c' line='222' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_metrics_get_names@@DPDK_20.0'>
+      <parameter type-id='type-id-14' name='names' filepath='../lib/librte_metrics/rte_metrics.c' line='222' column='1'/>
+      <parameter type-id='type-id-3' name='capacity' filepath='../lib/librte_metrics/rte_metrics.c' line='223' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-4' const='yes' id='type-id-15'/>
+    <pointer-type-def type-id='type-id-15' size-in-bits='64' id='type-id-16'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-17'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-17' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-18'/>
+    <typedef-decl name='uint32_t' type-id='type-id-18' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-19'/>
+    <function-decl name='rte_metrics_update_values' mangled-name='rte_metrics_update_values' filepath='../lib/librte_metrics/rte_metrics.c' line='160' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_metrics_update_values@@DPDK_20.0'>
+      <parameter type-id='type-id-1' name='port_id' filepath='../lib/librte_metrics/rte_metrics.c' line='160' column='1'/>
+      <parameter type-id='type-id-3' name='key' filepath='../lib/librte_metrics/rte_metrics.c' line='161' column='1'/>
+      <parameter type-id='type-id-16' name='values' filepath='../lib/librte_metrics/rte_metrics.c' line='162' column='1'/>
+      <parameter type-id='type-id-19' name='count' filepath='../lib/librte_metrics/rte_metrics.c' line='163' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_metrics_update_value' mangled-name='rte_metrics_update_value' filepath='../lib/librte_metrics/rte_metrics.c' line='154' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_metrics_update_value@@DPDK_20.0'>
+      <parameter type-id='type-id-1' name='port_id' filepath='../lib/librte_metrics/rte_metrics.c' line='154' column='1'/>
+      <parameter type-id='type-id-3' name='key' filepath='../lib/librte_metrics/rte_metrics.c' line='154' column='1'/>
+      <parameter type-id='type-id-15' name='value' filepath='../lib/librte_metrics/rte_metrics.c' line='154' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-12' const='yes' id='type-id-20'/>
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-21'/>
+    <qualified-type-def type-id='type-id-21' const='yes' id='type-id-22'/>
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-23'/>
+    <function-decl name='rte_metrics_reg_names' mangled-name='rte_metrics_reg_names' filepath='../lib/librte_metrics/rte_metrics.c' line='108' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_metrics_reg_names@@DPDK_20.0'>
+      <parameter type-id='type-id-23' name='names' filepath='../lib/librte_metrics/rte_metrics.c' line='108' column='1'/>
+      <parameter type-id='type-id-3' name='cnt_names' filepath='../lib/librte_metrics/rte_metrics.c' line='108' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_metrics_reg_name' mangled-name='rte_metrics_reg_name' filepath='../lib/librte_metrics/rte_metrics.c' line='100' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_metrics_reg_name@@DPDK_20.0'>
+      <parameter type-id='type-id-21' name='name' filepath='../lib/librte_metrics/rte_metrics.c' line='100' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <type-decl name='void' id='type-id-24'/>
+    <function-decl name='rte_metrics_init' mangled-name='rte_metrics_init' filepath='../lib/librte_metrics/rte_metrics.c' line='59' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_metrics_init@@DPDK_20.0'>
+      <parameter type-id='type-id-1' name='socket_id' filepath='../lib/librte_metrics/rte_metrics.c' line='59' column='1'/>
+      <return type-id='type-id-24'/>
+    </function-decl>
+    <function-decl name='rte_metrics_deinit' mangled-name='rte_metrics_deinit' filepath='../lib/librte_metrics/rte_metrics.c' line='80' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_metrics_deinit@@EXPERIMENTAL'>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_net.dump b/lib/.abi/librte_net.dump
new file mode 100644
index 000000000..322d45c0f
--- /dev/null
+++ b/lib/.abi/librte_net.dump
@@ -0,0 +1,489 @@
+<abi-corpus path='gcc//lib/librte_net.so.20.0' architecture='elf-amd-x86_64' soname='librte_net.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_eth_random_addr' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_ether_format_addr' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_ether_unformat_addr' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_net_crc_calc' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_net_crc_set_alg' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_net_get_ptype' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_net_make_rarp_packet' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_net_skip_ip6_ext' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_net/rte_arp.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_mbuf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='480' column='1' id='type-id-1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheline0' type-id='type-id-2' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-3' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rearm_data' type-id='type-id-5' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='497' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_off' type-id='type-id-6' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_segs' type-id='type-id-6' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='port' type-id='type-id-6' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ol_flags' type-id='type-id-7' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_descriptor_fields1' type-id='type-id-2' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='pkt_len' type-id='type-id-8' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data_len' type-id='type-id-6' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='vlan_tci' type-id='type-id-6' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vlan_tci_outer' type-id='type-id-6' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='buf_len' type-id='type-id-6' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='timestamp' type-id='type-id-7' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cacheline1' type-id='type-id-2' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='pool' type-id='type-id-9' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='next' type-id='type-id-10' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv_size' type-id='type-id-6' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='timesync' type-id='type-id-6' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='seqn' type-id='type-id-8' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='shinfo' type-id='type-id-11' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dynfield1' type-id='type-id-12' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='void' id='type-id-13'/>
+    <pointer-type-def type-id='type-id-13' size-in-bits='64' id='type-id-3'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-14'/>
+
+    <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='infinite' id='type-id-15'>
+      <subrange length='infinite' type-id='type-id-14' id='type-id-16'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER' type-id='type-id-15' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='414' column='1' id='type-id-2'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='491' column='1' id='type-id-4'>
+      <data-member access='private'>
+        <var-decl name='buf_iova' type-id='type-id-17' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='buf_physaddr' type-id='type-id-17' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='__uint64_t' type-id='type-id-14' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-18'/>
+    <typedef-decl name='uint64_t' type-id='type-id-18' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-7'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-7' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-17'/>
+
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='infinite' id='type-id-19'>
+      <subrange length='infinite' type-id='type-id-14' id='type-id-16'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER64' type-id='type-id-19' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='420' column='1' id='type-id-5'/>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-20'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-20' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-21'/>
+    <typedef-decl name='uint16_t' type-id='type-id-21' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-6'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-22'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-22' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-23'/>
+    <typedef-decl name='uint32_t' type-id='type-id-23' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-8'/>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-24'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-25' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-26' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-3' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-27' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-22' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-8' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-8' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-8' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-8' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-8' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-22' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-29' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-30' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-8' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-31' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-8' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-33'/>
+
+    <array-type-def dimensions='1' type-id='type-id-33' size-in-bits='256' id='type-id-25'>
+      <subrange length='32' type-id='type-id-14' id='type-id-34'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-26'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-3' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-7' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-35'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-25' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-36' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-37' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-7' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-29' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-8' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-36'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-38' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-17' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-7' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-38'/>
+    <typedef-decl name='size_t' type-id='type-id-14' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-37'/>
+    <type-decl name='int' size-in-bits='32' id='type-id-28'/>
+    <typedef-decl name='__int32_t' type-id='type-id-28' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-39'/>
+    <typedef-decl name='int32_t' type-id='type-id-39' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-29'/>
+    <qualified-type-def type-id='type-id-35' const='yes' id='type-id-40'/>
+    <pointer-type-def type-id='type-id-40' size-in-bits='64' id='type-id-27'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-41'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-8' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-8' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-8' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-42' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='98304' id='type-id-42'>
+      <subrange length='1536' type-id='type-id-14' id='type-id-43'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-30'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-31'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-44' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-45' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-46'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-47' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-9' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-48' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-47'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-44' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-44'/>
+    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-9'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-48'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-17' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-38' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-45'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-32'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-50' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-51'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-52' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-9' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-3' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-53' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-37' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-54' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-3' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-52'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-51' size-in-bits='64' id='type-id-49'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-53'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-17' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-38' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-55' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-56'/>
+    <pointer-type-def type-id='type-id-56' size-in-bits='64' id='type-id-54'/>
+    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-50'/>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-10'/>
+    <class-decl name='rte_mbuf_ext_shared_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='689' column='1' id='type-id-57'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_cb' type-id='type-id-58' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcb_opaque' type-id='type-id-3' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt_atomic' type-id='type-id-59' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-61'/>
+    <typedef-decl name='rte_mbuf_extbuf_free_callback_t' type-id='type-id-61' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='684' column='1' id='type-id-58'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-59' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-62'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-63' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-64'/>
+    <typedef-decl name='__int16_t' type-id='type-id-64' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-65'/>
+    <typedef-decl name='int16_t' type-id='type-id-65' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-66'/>
+    <qualified-type-def type-id='type-id-66' volatile='yes' id='type-id-63'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-62' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-59'/>
+    <pointer-type-def type-id='type-id-57' size-in-bits='64' id='type-id-11'/>
+
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='128' id='type-id-12'>
+      <subrange length='2' type-id='type-id-14' id='type-id-67'/>
+
+    </array-type-def>
+    <class-decl name='rte_ether_addr' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='60' column='1' id='type-id-68'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr_bytes' type-id='type-id-69' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='61' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-70'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-70' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-71'/>
+    <typedef-decl name='uint8_t' type-id='type-id-71' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-72'/>
+
+    <array-type-def dimensions='1' type-id='type-id-72' size-in-bits='48' id='type-id-69'>
+      <subrange length='6' type-id='type-id-14' id='type-id-73'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-68' const='yes' id='type-id-74'/>
+    <pointer-type-def type-id='type-id-74' size-in-bits='64' id='type-id-75'/>
+    <function-decl name='rte_net_make_rarp_packet' mangled-name='rte_net_make_rarp_packet' filepath='../lib/librte_net/rte_arp.c' line='11' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_net_make_rarp_packet@@EXPERIMENTAL'>
+      <parameter type-id='type-id-9' name='mpool' filepath='../lib/librte_net/rte_arp.c' line='11' column='1'/>
+      <parameter type-id='type-id-75' name='mac' filepath='../lib/librte_net/rte_arp.c' line='12' column='1'/>
+      <return type-id='type-id-10'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-55'>
+      <parameter type-id='type-id-49'/>
+      <parameter type-id='type-id-3'/>
+      <return type-id='type-id-13'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-60'>
+      <parameter type-id='type-id-3'/>
+      <parameter type-id='type-id-3'/>
+      <return type-id='type-id-13'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_net/rte_ether.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <pointer-type-def type-id='type-id-33' size-in-bits='64' id='type-id-76'/>
+    <function-decl name='rte_ether_format_addr' mangled-name='rte_ether_format_addr' filepath='../lib/librte_net/rte_ether.c' line='22' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_ether_format_addr@@DPDK_20.0'>
+      <parameter type-id='type-id-76' name='buf' filepath='../lib/librte_net/rte_ether.c' line='22' column='1'/>
+      <parameter type-id='type-id-6' name='size' filepath='../lib/librte_net/rte_ether.c' line='22' column='1'/>
+      <parameter type-id='type-id-75' name='eth_addr' filepath='../lib/librte_net/rte_ether.c' line='23' column='1'/>
+      <return type-id='type-id-13'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-72' size-in-bits='64' id='type-id-77'/>
+    <function-decl name='rte_eth_random_addr' mangled-name='rte_eth_random_addr' filepath='../lib/librte_net/rte_ether.c' line='11' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_random_addr@@DPDK_20.0'>
+      <parameter type-id='type-id-77' name='addr' filepath='../lib/librte_net/rte_ether.c' line='11' column='1'/>
+      <return type-id='type-id-13'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-33' const='yes' id='type-id-78'/>
+    <pointer-type-def type-id='type-id-78' size-in-bits='64' id='type-id-79'/>
+    <pointer-type-def type-id='type-id-68' size-in-bits='64' id='type-id-80'/>
+    <function-decl name='rte_ether_unformat_addr' mangled-name='rte_ether_unformat_addr' filepath='../lib/librte_net/rte_ether.c' line='106' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_ether_unformat_addr@@EXPERIMENTAL'>
+      <parameter type-id='type-id-79' name='s' filepath='../lib/librte_net/rte_ether.c' line='106' column='1'/>
+      <parameter type-id='type-id-80' name='ea' filepath='../lib/librte_net/rte_ether.c' line='106' column='1'/>
+      <return type-id='type-id-28'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_net/rte_net.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <qualified-type-def type-id='type-id-1' const='yes' id='type-id-81'/>
+    <pointer-type-def type-id='type-id-81' size-in-bits='64' id='type-id-82'/>
+    <class-decl name='rte_net_hdr_lens' size-in-bits='56' is-struct='yes' visibility='default' filepath='../lib/librte_net/rte_net.h' line='21' column='1' id='type-id-83'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='l2_len' type-id='type-id-72' visibility='default' filepath='../lib/librte_net/rte_net.h' line='22' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='l3_len' type-id='type-id-72' visibility='default' filepath='../lib/librte_net/rte_net.h' line='23' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='l4_len' type-id='type-id-72' visibility='default' filepath='../lib/librte_net/rte_net.h' line='24' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='tunnel_len' type-id='type-id-72' visibility='default' filepath='../lib/librte_net/rte_net.h' line='25' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='inner_l2_len' type-id='type-id-72' visibility='default' filepath='../lib/librte_net/rte_net.h' line='26' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='inner_l3_len' type-id='type-id-72' visibility='default' filepath='../lib/librte_net/rte_net.h' line='27' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='inner_l4_len' type-id='type-id-72' visibility='default' filepath='../lib/librte_net/rte_net.h' line='28' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-84'/>
+    <function-decl name='rte_net_get_ptype' mangled-name='rte_net_get_ptype' filepath='../lib/librte_net/rte_net.c' line='228' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_net_get_ptype@@DPDK_20.0'>
+      <parameter type-id='type-id-82' name='m' filepath='../lib/librte_net/rte_net.c' line='228' column='1'/>
+      <parameter type-id='type-id-84' name='hdr_lens' filepath='../lib/librte_net/rte_net.c' line='229' column='1'/>
+      <parameter type-id='type-id-8' name='layers' filepath='../lib/librte_net/rte_net.c' line='229' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-85'/>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-86'/>
+    <function-decl name='rte_net_skip_ip6_ext' mangled-name='rte_net_skip_ip6_ext' filepath='../lib/librte_net/rte_net.c' line='183' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_net_skip_ip6_ext@@EXPERIMENTAL'>
+      <parameter type-id='type-id-6' name='proto' filepath='../lib/librte_net/rte_net.c' line='183' column='1'/>
+      <parameter type-id='type-id-82' name='m' filepath='../lib/librte_net/rte_net.c' line='183' column='1'/>
+      <parameter type-id='type-id-85' name='off' filepath='../lib/librte_net/rte_net.c' line='183' column='1'/>
+      <parameter type-id='type-id-86' name='frag' filepath='../lib/librte_net/rte_net.c' line='184' column='1'/>
+      <return type-id='type-id-28'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_net/rte_net_crc.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-87'/>
+    <enum-decl name='rte_net_crc_type' filepath='../lib/librte_net/rte_net_crc.h' line='15' column='1' id='type-id-88'>
+      <underlying-type type-id='type-id-87'/>
+      <enumerator name='RTE_NET_CRC16_CCITT' value='0'/>
+      <enumerator name='RTE_NET_CRC32_ETH' value='1'/>
+      <enumerator name='RTE_NET_CRC_REQS' value='2'/>
+    </enum-decl>
+    <function-decl name='rte_net_crc_calc' mangled-name='rte_net_crc_calc' filepath='../lib/librte_net/rte_net_crc.c' line='171' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_net_crc_calc@@DPDK_20.0'>
+      <parameter type-id='type-id-3' name='data' filepath='../lib/librte_net/rte_net_crc.c' line='171' column='1'/>
+      <parameter type-id='type-id-8' name='data_len' filepath='../lib/librte_net/rte_net_crc.c' line='172' column='1'/>
+      <parameter type-id='type-id-88' name='type' filepath='../lib/librte_net/rte_net_crc.c' line='173' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <enum-decl name='rte_net_crc_alg' filepath='../lib/librte_net/rte_net_crc.h' line='22' column='1' id='type-id-89'>
+      <underlying-type type-id='type-id-87'/>
+      <enumerator name='RTE_NET_CRC_SCALAR' value='0'/>
+      <enumerator name='RTE_NET_CRC_SSE42' value='1'/>
+      <enumerator name='RTE_NET_CRC_NEON' value='2'/>
+    </enum-decl>
+    <function-decl name='rte_net_crc_set_alg' mangled-name='rte_net_crc_set_alg' filepath='../lib/librte_net/rte_net_crc.c' line='146' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_net_crc_set_alg@@DPDK_20.0'>
+      <parameter type-id='type-id-89' name='alg' filepath='../lib/librte_net/rte_net_crc.c' line='146' column='1'/>
+      <return type-id='type-id-13'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_pci.dump b/lib/.abi/librte_pci.dump
new file mode 100644
index 000000000..7c2b3ba2a
--- /dev/null
+++ b/lib/.abi/librte_pci.dump
@@ -0,0 +1,85 @@
+<abi-corpus path='gcc//lib/librte_pci.so.20.0' architecture='elf-amd-x86_64' soname='librte_pci.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='pci_map_resource' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pci_unmap_resource' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pci_addr_cmp' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pci_addr_parse' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pci_device_name' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_pci/rte_pci.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='void' id='type-id-1'/>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-2'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
+    <typedef-decl name='size_t' type-id='type-id-3' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-4'/>
+    <function-decl name='pci_unmap_resource' mangled-name='pci_unmap_resource' filepath='../lib/librte_pci/rte_pci.c' line='156' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_unmap_resource@@DPDK_20.0'>
+      <parameter type-id='type-id-2' name='requested_addr' filepath='../lib/librte_pci/rte_pci.c' line='156' column='1'/>
+      <parameter type-id='type-id-4' name='size' filepath='../lib/librte_pci/rte_pci.c' line='156' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <type-decl name='int' size-in-bits='32' id='type-id-5'/>
+    <type-decl name='long int' size-in-bits='64' id='type-id-6'/>
+    <typedef-decl name='__off64_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='153' column='1' id='type-id-7'/>
+    <typedef-decl name='off_t' type-id='type-id-7' filepath='/usr/include/sys/types.h' line='87' column='1' id='type-id-8'/>
+    <function-decl name='pci_map_resource' mangled-name='pci_map_resource' filepath='../lib/librte_pci/rte_pci.c' line='134' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_map_resource@@DPDK_20.0'>
+      <parameter type-id='type-id-2' name='requested_addr' filepath='../lib/librte_pci/rte_pci.c' line='134' column='1'/>
+      <parameter type-id='type-id-5' name='fd' filepath='../lib/librte_pci/rte_pci.c' line='134' column='1'/>
+      <parameter type-id='type-id-8' name='offset' filepath='../lib/librte_pci/rte_pci.c' line='134' column='1'/>
+      <parameter type-id='type-id-4' name='size' filepath='../lib/librte_pci/rte_pci.c' line='134' column='1'/>
+      <parameter type-id='type-id-5' name='additional_flags' filepath='../lib/librte_pci/rte_pci.c' line='135' column='1'/>
+      <return type-id='type-id-2'/>
+    </function-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-9'/>
+    <qualified-type-def type-id='type-id-9' const='yes' id='type-id-10'/>
+    <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-11'/>
+    <class-decl name='rte_pci_addr' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='61' column='1' id='type-id-12'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='domain' type-id='type-id-13' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='bus' type-id='type-id-14' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='devid' type-id='type-id-14' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='function' type-id='type-id-14' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-15'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-15' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-16'/>
+    <typedef-decl name='uint32_t' type-id='type-id-16' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-13'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-17'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-17' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-18'/>
+    <typedef-decl name='uint8_t' type-id='type-id-18' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-14'/>
+    <pointer-type-def type-id='type-id-12' size-in-bits='64' id='type-id-19'/>
+    <function-decl name='rte_pci_addr_parse' mangled-name='rte_pci_addr_parse' filepath='../lib/librte_pci/rte_pci.c' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pci_addr_parse@@DPDK_20.0'>
+      <parameter type-id='type-id-11' name='str' filepath='../lib/librte_pci/rte_pci.c' line='123' column='1'/>
+      <parameter type-id='type-id-19' name='addr' filepath='../lib/librte_pci/rte_pci.c' line='123' column='1'/>
+      <return type-id='type-id-5'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-12' const='yes' id='type-id-20'/>
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-21'/>
+    <function-decl name='rte_pci_addr_cmp' mangled-name='rte_pci_addr_cmp' filepath='../lib/librte_pci/rte_pci.c' line='101' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pci_addr_cmp@@DPDK_20.0'>
+      <parameter type-id='type-id-21' name='addr' filepath='../lib/librte_pci/rte_pci.c' line='101' column='1'/>
+      <parameter type-id='type-id-21' name='addr2' filepath='../lib/librte_pci/rte_pci.c' line='102' column='1'/>
+      <return type-id='type-id-5'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-22'/>
+    <function-decl name='rte_pci_device_name' mangled-name='rte_pci_device_name' filepath='../lib/librte_pci/rte_pci.c' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pci_device_name@@DPDK_20.0'>
+      <parameter type-id='type-id-21' name='addr' filepath='../lib/librte_pci/rte_pci.c' line='91' column='1'/>
+      <parameter type-id='type-id-22' name='output' filepath='../lib/librte_pci/rte_pci.c' line='92' column='1'/>
+      <parameter type-id='type-id-4' name='size' filepath='../lib/librte_pci/rte_pci.c' line='92' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_pdump.dump b/lib/.abi/librte_pdump.dump
new file mode 100644
index 000000000..8ca143b20
--- /dev/null
+++ b/lib/.abi/librte_pdump.dump
@@ -0,0 +1,339 @@
+<abi-corpus path='gcc//lib/librte_pdump.so.20.0' architecture='elf-amd-x86_64' soname='librte_pdump.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_pdump_disable' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pdump_disable_by_deviceid' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pdump_enable' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pdump_enable_by_deviceid' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pdump_init' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pdump_uninit' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_pdump/rte_pdump.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <type-decl name='char' size-in-bits='8' id='type-id-2'/>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-3'/>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-4'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-4' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-5'/>
+    <typedef-decl name='uint16_t' type-id='type-id-5' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-6'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-7'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-7' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-8'/>
+    <typedef-decl name='uint32_t' type-id='type-id-8' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-9'/>
+    <function-decl name='rte_pdump_disable_by_deviceid' mangled-name='rte_pdump_disable_by_deviceid' filepath='../lib/librte_pdump/rte_pdump.c' line='615' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pdump_disable_by_deviceid@@DPDK_20.0'>
+      <parameter type-id='type-id-3' name='device_id' filepath='../lib/librte_pdump/rte_pdump.c' line='615' column='1'/>
+      <parameter type-id='type-id-6' name='queue' filepath='../lib/librte_pdump/rte_pdump.c' line='615' column='1'/>
+      <parameter type-id='type-id-9' name='flags' filepath='../lib/librte_pdump/rte_pdump.c' line='616' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pdump_disable' mangled-name='rte_pdump_disable' filepath='../lib/librte_pdump/rte_pdump.c' line='596' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pdump_disable@@DPDK_20.0'>
+      <parameter type-id='type-id-6' name='port' filepath='../lib/librte_pdump/rte_pdump.c' line='596' column='1'/>
+      <parameter type-id='type-id-6' name='queue' filepath='../lib/librte_pdump/rte_pdump.c' line='596' column='1'/>
+      <parameter type-id='type-id-9' name='flags' filepath='../lib/librte_pdump/rte_pdump.c' line='596' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_ring' size-in-bits='3072' is-struct='yes' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='81' column='1' id='type-id-10'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-11' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='87' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='flags' type-id='type-id-1' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='memzone' type-id='type-id-12' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='89' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='size' type-id='type-id-9' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='mask' type-id='type-id-9' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='92' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='capacity' type-id='type-id-9' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='93' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='pad0' type-id='type-id-2' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='95' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='prod' type-id='type-id-13' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='98' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='pad1' type-id='type-id-2' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='99' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='cons' type-id='type-id-13' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='102' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='pad2' type-id='type-id-2' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='103' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-14'/>
+
+    <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='256' id='type-id-11'>
+      <subrange length='32' type-id='type-id-14' id='type-id-15'/>
+
+    </array-type-def>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-16'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-11' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-17' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-18' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-20' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-9' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-17'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-21' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-22' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='__uint64_t' type-id='type-id-14' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-23'/>
+    <typedef-decl name='uint64_t' type-id='type-id-23' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-19'/>
+    <typedef-decl name='phys_addr_t' type-id='type-id-19' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-21'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-19' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-22'/>
+    <typedef-decl name='size_t' type-id='type-id-14' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-18'/>
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-24'/>
+    <typedef-decl name='int32_t' type-id='type-id-24' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-20'/>
+    <qualified-type-def type-id='type-id-16' const='yes' id='type-id-25'/>
+    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-12'/>
+    <class-decl name='rte_ring_headtail' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='65' column='1' id='type-id-13'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='head' type-id='type-id-26' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tail' type-id='type-id-26' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='single' type-id='type-id-9' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='68' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-9' volatile='yes' id='type-id-26'/>
+    <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-27'/>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-28'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-11' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-29' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-30' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-12' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-7' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-9' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-9' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-9' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-9' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-9' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-7' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-20' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-31' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-9' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-9' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-33' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-29'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-30' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-19' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <type-decl name='void' id='type-id-34'/>
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-30'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-35'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-9' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-9' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-9' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-36' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-30' size-in-bits='98304' id='type-id-36'>
+      <subrange length='1536' type-id='type-id-14' id='type-id-37'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-35' size-in-bits='64' id='type-id-31'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-32'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-38' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-40'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-41' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-42' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-43' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-41'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-38' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-40' size-in-bits='64' id='type-id-38'/>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-42'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-43'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-22' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-21' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-38' size-in-bits='64' id='type-id-39'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-33'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-44' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-45' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-46'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-47' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-42' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-30' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-48' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-18' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-30' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-47'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-44' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-44'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-48'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-22' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-21' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-50' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-51'/>
+    <pointer-type-def type-id='type-id-51' size-in-bits='64' id='type-id-49'/>
+    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-45'/>
+    <function-decl name='rte_pdump_enable_by_deviceid' mangled-name='rte_pdump_enable_by_deviceid' filepath='../lib/librte_pdump/rte_pdump.c' line='574' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pdump_enable_by_deviceid@@DPDK_20.0'>
+      <parameter type-id='type-id-3' name='device_id' filepath='../lib/librte_pdump/rte_pdump.c' line='574' column='1'/>
+      <parameter type-id='type-id-6' name='queue' filepath='../lib/librte_pdump/rte_pdump.c' line='574' column='1'/>
+      <parameter type-id='type-id-9' name='flags' filepath='../lib/librte_pdump/rte_pdump.c' line='575' column='1'/>
+      <parameter type-id='type-id-27' name='ring' filepath='../lib/librte_pdump/rte_pdump.c' line='576' column='1'/>
+      <parameter type-id='type-id-42' name='mp' filepath='../lib/librte_pdump/rte_pdump.c' line='577' column='1'/>
+      <parameter type-id='type-id-30' name='filter' filepath='../lib/librte_pdump/rte_pdump.c' line='578' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pdump_enable' mangled-name='rte_pdump_enable' filepath='../lib/librte_pdump/rte_pdump.c' line='548' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pdump_enable@@DPDK_20.0'>
+      <parameter type-id='type-id-6' name='port' filepath='../lib/librte_pdump/rte_pdump.c' line='548' column='1'/>
+      <parameter type-id='type-id-6' name='queue' filepath='../lib/librte_pdump/rte_pdump.c' line='548' column='1'/>
+      <parameter type-id='type-id-9' name='flags' filepath='../lib/librte_pdump/rte_pdump.c' line='548' column='1'/>
+      <parameter type-id='type-id-27' name='ring' filepath='../lib/librte_pdump/rte_pdump.c' line='549' column='1'/>
+      <parameter type-id='type-id-42' name='mp' filepath='../lib/librte_pdump/rte_pdump.c' line='550' column='1'/>
+      <parameter type-id='type-id-30' name='filter' filepath='../lib/librte_pdump/rte_pdump.c' line='551' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pdump_uninit' mangled-name='rte_pdump_uninit' filepath='../lib/librte_pdump/rte_pdump.c' line='425' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pdump_uninit@@DPDK_20.0'>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pdump_init' mangled-name='rte_pdump_init' filepath='../lib/librte_pdump/rte_pdump.c' line='416' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pdump_init@@DPDK_20.0'>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-50'>
+      <parameter type-id='type-id-44'/>
+      <parameter type-id='type-id-30'/>
+      <return type-id='type-id-34'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_pipeline.dump b/lib/.abi/librte_pipeline.dump
new file mode 100644
index 000000000..9d469fdb2
--- /dev/null
+++ b/lib/.abi/librte_pipeline.dump
@@ -0,0 +1,1795 @@
+<abi-corpus path='gcc//lib/librte_pipeline.so.20.0' architecture='elf-amd-x86_64' soname='librte_pipeline.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_port.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_sched.so.20.0'/>
+    <dependency name='librte_ip_frag.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='librte_eventdev.so.20.0'/>
+    <dependency name='librte_timer.so.20.0'/>
+    <dependency name='librte_kni.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_table.so.20.0'/>
+    <dependency name='librte_lpm.so.20.0'/>
+    <dependency name='librte_acl.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpcap.so.1'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_pipeline_ah_packet_drop' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pipeline_ah_packet_hijack' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pipeline_check' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pipeline_create' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pipeline_flush' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pipeline_free' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pipeline_port_in_connect_to_table' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pipeline_port_in_create' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pipeline_port_in_disable' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pipeline_port_in_enable' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pipeline_port_in_stats_read' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pipeline_port_out_create' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pipeline_port_out_packet_insert' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pipeline_port_out_stats_read' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pipeline_run' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pipeline_table_create' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pipeline_table_default_entry_add' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pipeline_table_default_entry_delete' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pipeline_table_entry_add' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pipeline_table_entry_add_bulk' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pipeline_table_entry_delete' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pipeline_table_entry_delete_bulk' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pipeline_table_stats_read' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_port_in_action_apply' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_port_in_action_create' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_port_in_action_free' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_port_in_action_params_get' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_port_in_action_profile_action_register' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_port_in_action_profile_create' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_port_in_action_profile_free' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_port_in_action_profile_freeze' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_table_action_apply' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_table_action_create' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_table_action_crypto_sym_session_get' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_table_action_dscp_table_update' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_table_action_free' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_table_action_meter_profile_add' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_table_action_meter_profile_delete' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_table_action_meter_read' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_table_action_profile_action_register' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_table_action_profile_create' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_table_action_profile_free' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_table_action_profile_freeze' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_table_action_stats_read' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_table_action_table_params_get' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_table_action_time_read' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_table_action_ttl_read' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_pipeline/rte_pipeline.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <class-decl name='rte_pipeline' size-in-bits='169984' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='105' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-3' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='992'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='offset_port_id' type-id='type-id-4' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='ports_in' type-id='type-id-5' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='112' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='42048'>
+        <var-decl name='ports_out' type-id='type-id-6' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='113' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='83008'>
+        <var-decl name='tables' type-id='type-id-7' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='114' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160832'>
+        <var-decl name='num_ports_in' type-id='type-id-4' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='117' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160864'>
+        <var-decl name='num_ports_out' type-id='type-id-4' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='118' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160896'>
+        <var-decl name='num_tables' type-id='type-id-4' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='119' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160960'>
+        <var-decl name='enabled_port_in_mask' type-id='type-id-8' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='122' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='161024'>
+        <var-decl name='port_in_next' type-id='type-id-9' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='123' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='161088'>
+        <var-decl name='pkts' type-id='type-id-10' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='126' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='165184'>
+        <var-decl name='entries' type-id='type-id-11' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='127' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='169280'>
+        <var-decl name='action_mask0' type-id='type-id-12' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='128' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='169536'>
+        <var-decl name='action_mask1' type-id='type-id-12' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='129' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='169792'>
+        <var-decl name='pkts_mask' type-id='type-id-8' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='130' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='169856'>
+        <var-decl name='n_pkts_ah_drop' type-id='type-id-8' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='131' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='169920'>
+        <var-decl name='pkts_drop_mask' type-id='type-id-8' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='132' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-13'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-14'/>
+
+    <array-type-def dimensions='1' type-id='type-id-13' size-in-bits='992' id='type-id-3'>
+      <subrange length='124' type-id='type-id-14' id='type-id-15'/>
+
+    </array-type-def>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-16'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-16' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-17'/>
+    <typedef-decl name='uint32_t' type-id='type-id-17' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-4'/>
+    <class-decl name='rte_port_in' size-in-bits='640' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='48' column='1' id='type-id-18'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ops' type-id='type-id-19' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='f_action' type-id='type-id-20' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='arg_ah' type-id='type-id-21' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='burst_size' type-id='type-id-4' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='table_id' type-id='type-id-4' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='56' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='h_port' type-id='type-id-21' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='next' type-id='type-id-9' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='n_pkts_dropped_by_ah' type-id='type-id-8' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_port_in_ops' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_port/rte_port.h' line='119' column='1' id='type-id-19'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='f_create' type-id='type-id-22' visibility='default' filepath='../lib/librte_port/rte_port.h' line='120' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='f_free' type-id='type-id-23' visibility='default' filepath='../lib/librte_port/rte_port.h' line='121' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='f_rx' type-id='type-id-24' visibility='default' filepath='../lib/librte_port/rte_port.h' line='122' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='f_stats' type-id='type-id-25' visibility='default' filepath='../lib/librte_port/rte_port.h' line='123' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='void' id='type-id-26'/>
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-21'/>
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-28'/>
+    <typedef-decl name='rte_port_in_op_create' type-id='type-id-28' filepath='../lib/librte_port/rte_port.h' line='71' column='1' id='type-id-22'/>
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-30'/>
+    <typedef-decl name='rte_port_in_op_free' type-id='type-id-30' filepath='../lib/librte_port/rte_port.h' line='81' column='1' id='type-id-23'/>
+    <class-decl name='rte_mbuf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='480' column='1' id='type-id-31'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheline0' type-id='type-id-32' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-21' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-33' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rearm_data' type-id='type-id-34' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='497' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_off' type-id='type-id-35' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_segs' type-id='type-id-35' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='port' type-id='type-id-35' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ol_flags' type-id='type-id-8' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_descriptor_fields1' type-id='type-id-32' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='pkt_len' type-id='type-id-4' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data_len' type-id='type-id-35' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='vlan_tci' type-id='type-id-35' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vlan_tci_outer' type-id='type-id-35' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='buf_len' type-id='type-id-35' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='timestamp' type-id='type-id-8' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cacheline1' type-id='type-id-32' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='pool' type-id='type-id-36' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='next' type-id='type-id-37' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv_size' type-id='type-id-35' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='timesync' type-id='type-id-35' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='seqn' type-id='type-id-4' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='shinfo' type-id='type-id-38' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dynfield1' type-id='type-id-39' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-21' size-in-bits='infinite' id='type-id-40'>
+      <subrange length='infinite' type-id='type-id-14' id='type-id-41'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER' type-id='type-id-40' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='414' column='1' id='type-id-32'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='491' column='1' id='type-id-33'>
+      <data-member access='private'>
+        <var-decl name='buf_iova' type-id='type-id-42' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='buf_physaddr' type-id='type-id-42' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='__uint64_t' type-id='type-id-14' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-43'/>
+    <typedef-decl name='uint64_t' type-id='type-id-43' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-8'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-8' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-42'/>
+
+    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='infinite' id='type-id-44'>
+      <subrange length='infinite' type-id='type-id-14' id='type-id-41'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER64' type-id='type-id-44' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='420' column='1' id='type-id-34'/>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-45'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-45' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-46'/>
+    <typedef-decl name='uint16_t' type-id='type-id-46' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-35'/>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-47'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-48' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-49' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-21' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-50' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-4' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-4' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-4' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-4' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-4' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-16' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-51' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-52' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-4' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-53' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-4' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-54' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-13' size-in-bits='256' id='type-id-48'>
+      <subrange length='32' type-id='type-id-14' id='type-id-55'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-49'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-21' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-8' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-56'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-48' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-57' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-58' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-8' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-51' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-57'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-59' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-42' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-8' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-59'/>
+    <typedef-decl name='size_t' type-id='type-id-14' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-58'/>
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-60'/>
+    <typedef-decl name='int32_t' type-id='type-id-60' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-51'/>
+    <qualified-type-def type-id='type-id-56' const='yes' id='type-id-61'/>
+    <pointer-type-def type-id='type-id-61' size-in-bits='64' id='type-id-50'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-62'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-4' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-4' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-4' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-63' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-21' size-in-bits='98304' id='type-id-63'>
+      <subrange length='1536' type-id='type-id-14' id='type-id-64'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-62' size-in-bits='64' id='type-id-52'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-53'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-65' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-66' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-67'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-68' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-36' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-69' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-68'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-65' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-67' size-in-bits='64' id='type-id-65'/>
+    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-36'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-69'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-42' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-59' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-66'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-54'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-70' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-71' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-72'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-73' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-36' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-21' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-74' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-58' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-75' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-21' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-73'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-70' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-72' size-in-bits='64' id='type-id-70'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-74'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-42' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-59' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-76' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-77'/>
+    <pointer-type-def type-id='type-id-77' size-in-bits='64' id='type-id-75'/>
+    <pointer-type-def type-id='type-id-70' size-in-bits='64' id='type-id-71'/>
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-37'/>
+    <class-decl name='rte_mbuf_ext_shared_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='689' column='1' id='type-id-78'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_cb' type-id='type-id-79' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcb_opaque' type-id='type-id-21' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt_atomic' type-id='type-id-80' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-81' size-in-bits='64' id='type-id-82'/>
+    <typedef-decl name='rte_mbuf_extbuf_free_callback_t' type-id='type-id-82' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='684' column='1' id='type-id-79'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-80' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-83'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-84' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-85'/>
+    <typedef-decl name='__int16_t' type-id='type-id-85' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-86'/>
+    <typedef-decl name='int16_t' type-id='type-id-86' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-87'/>
+    <qualified-type-def type-id='type-id-87' volatile='yes' id='type-id-84'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-83' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-80'/>
+    <pointer-type-def type-id='type-id-78' size-in-bits='64' id='type-id-38'/>
+
+    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='128' id='type-id-39'>
+      <subrange length='2' type-id='type-id-14' id='type-id-88'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-37' size-in-bits='64' id='type-id-89'/>
+    <pointer-type-def type-id='type-id-90' size-in-bits='64' id='type-id-91'/>
+    <typedef-decl name='rte_port_in_op_rx' type-id='type-id-91' filepath='../lib/librte_port/rte_port.h' line='95' column='1' id='type-id-24'/>
+    <class-decl name='rte_port_in_stats' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_port/rte_port.h' line='56' column='1' id='type-id-92'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n_pkts_in' type-id='type-id-8' visibility='default' filepath='../lib/librte_port/rte_port.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='n_pkts_drop' type-id='type-id-8' visibility='default' filepath='../lib/librte_port/rte_port.h' line='58' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-92' size-in-bits='64' id='type-id-93'/>
+    <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-95'/>
+    <typedef-decl name='rte_port_in_op_stats_read' type-id='type-id-95' filepath='../lib/librte_port/rte_port.h' line='113' column='1' id='type-id-25'/>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-96'/>
+    <pointer-type-def type-id='type-id-97' size-in-bits='64' id='type-id-98'/>
+    <typedef-decl name='rte_pipeline_port_in_action_handler' type-id='type-id-98' filepath='../lib/librte_pipeline/rte_pipeline.h' line='561' column='1' id='type-id-20'/>
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-9'/>
+
+    <array-type-def dimensions='1' type-id='type-id-18' size-in-bits='40960' id='type-id-5'>
+      <subrange length='64' type-id='type-id-14' id='type-id-99'/>
+
+    </array-type-def>
+    <class-decl name='rte_port_out' size-in-bits='640' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='68' column='1' id='type-id-100'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ops' type-id='type-id-101' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='f_action' type-id='type-id-102' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='arg_ah' type-id='type-id-21' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='h_port' type-id='type-id-21' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='n_pkts_dropped_by_ah' type-id='type-id-8' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='78' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_port_out_ops' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_port/rte_port.h' line='221' column='1' id='type-id-101'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='f_create' type-id='type-id-103' visibility='default' filepath='../lib/librte_port/rte_port.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='f_free' type-id='type-id-104' visibility='default' filepath='../lib/librte_port/rte_port.h' line='223' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='f_tx' type-id='type-id-105' visibility='default' filepath='../lib/librte_port/rte_port.h' line='224' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='f_tx_bulk' type-id='type-id-106' visibility='default' filepath='../lib/librte_port/rte_port.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='f_flush' type-id='type-id-107' visibility='default' filepath='../lib/librte_port/rte_port.h' line='226' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='f_stats' type-id='type-id-108' visibility='default' filepath='../lib/librte_port/rte_port.h' line='227' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='rte_port_out_op_create' type-id='type-id-28' filepath='../lib/librte_port/rte_port.h' line='146' column='1' id='type-id-103'/>
+    <typedef-decl name='rte_port_out_op_free' type-id='type-id-30' filepath='../lib/librte_port/rte_port.h' line='156' column='1' id='type-id-104'/>
+    <pointer-type-def type-id='type-id-109' size-in-bits='64' id='type-id-110'/>
+    <typedef-decl name='rte_port_out_op_tx' type-id='type-id-110' filepath='../lib/librte_port/rte_port.h' line='168' column='1' id='type-id-105'/>
+    <pointer-type-def type-id='type-id-111' size-in-bits='64' id='type-id-112'/>
+    <typedef-decl name='rte_port_out_op_tx_bulk' type-id='type-id-112' filepath='../lib/librte_port/rte_port.h' line='187' column='1' id='type-id-106'/>
+    <typedef-decl name='rte_port_out_op_flush' type-id='type-id-30' filepath='../lib/librte_port/rte_port.h' line='200' column='1' id='type-id-107'/>
+    <class-decl name='rte_port_out_stats' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_port/rte_port.h' line='131' column='1' id='type-id-113'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n_pkts_in' type-id='type-id-8' visibility='default' filepath='../lib/librte_port/rte_port.h' line='132' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='n_pkts_drop' type-id='type-id-8' visibility='default' filepath='../lib/librte_port/rte_port.h' line='133' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-113' size-in-bits='64' id='type-id-114'/>
+    <pointer-type-def type-id='type-id-115' size-in-bits='64' id='type-id-116'/>
+    <typedef-decl name='rte_port_out_op_stats_read' type-id='type-id-116' filepath='../lib/librte_port/rte_port.h' line='215' column='1' id='type-id-108'/>
+    <pointer-type-def type-id='type-id-117' size-in-bits='64' id='type-id-118'/>
+    <typedef-decl name='rte_pipeline_port_out_action_handler' type-id='type-id-118' filepath='../lib/librte_pipeline/rte_pipeline.h' line='694' column='1' id='type-id-102'/>
+
+    <array-type-def dimensions='1' type-id='type-id-100' size-in-bits='40960' id='type-id-6'>
+      <subrange length='64' type-id='type-id-14' id='type-id-99'/>
+
+    </array-type-def>
+    <class-decl name='rte_table' size-in-bits='1216' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='81' column='1' id='type-id-119'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ops' type-id='type-id-120' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='83' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='f_action_hit' type-id='type-id-121' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='f_action_miss' type-id='type-id-122' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='arg_ah' type-id='type-id-21' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='default_entry' type-id='type-id-123' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='87' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='entry_size' type-id='type-id-4' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='table_next_id' type-id='type-id-4' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='table_next_id_valid' type-id='type-id-4' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='h_table' type-id='type-id-21' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='n_pkts_dropped_by_lkp_hit_ah' type-id='type-id-8' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='97' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='n_pkts_dropped_by_lkp_miss_ah' type-id='type-id-8' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='98' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='n_pkts_dropped_lkp_hit' type-id='type-id-8' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='99' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='n_pkts_dropped_lkp_miss' type-id='type-id-8' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.c' line='100' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_ops' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_table/rte_table.h' line='257' column='1' id='type-id-120'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='f_create' type-id='type-id-124' visibility='default' filepath='../lib/librte_table/rte_table.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='f_free' type-id='type-id-125' visibility='default' filepath='../lib/librte_table/rte_table.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='f_add' type-id='type-id-126' visibility='default' filepath='../lib/librte_table/rte_table.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='f_delete' type-id='type-id-127' visibility='default' filepath='../lib/librte_table/rte_table.h' line='261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='f_add_bulk' type-id='type-id-128' visibility='default' filepath='../lib/librte_table/rte_table.h' line='262' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='f_delete_bulk' type-id='type-id-129' visibility='default' filepath='../lib/librte_table/rte_table.h' line='263' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='f_lookup' type-id='type-id-130' visibility='default' filepath='../lib/librte_table/rte_table.h' line='264' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='f_stats' type-id='type-id-131' visibility='default' filepath='../lib/librte_table/rte_table.h' line='265' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-132' size-in-bits='64' id='type-id-133'/>
+    <typedef-decl name='rte_table_op_create' type-id='type-id-133' filepath='../lib/librte_table/rte_table.h' line='52' column='1' id='type-id-124'/>
+    <typedef-decl name='rte_table_op_free' type-id='type-id-30' filepath='../lib/librte_table/rte_table.h' line='63' column='1' id='type-id-125'/>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-134'/>
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-135'/>
+    <pointer-type-def type-id='type-id-136' size-in-bits='64' id='type-id-137'/>
+    <typedef-decl name='rte_table_op_entry_add' type-id='type-id-137' filepath='../lib/librte_table/rte_table.h' line='92' column='1' id='type-id-126'/>
+    <pointer-type-def type-id='type-id-138' size-in-bits='64' id='type-id-139'/>
+    <typedef-decl name='rte_table_op_entry_delete' type-id='type-id-139' filepath='../lib/librte_table/rte_table.h' line='121' column='1' id='type-id-127'/>
+    <pointer-type-def type-id='type-id-140' size-in-bits='64' id='type-id-141'/>
+    <typedef-decl name='rte_table_op_entry_add_bulk' type-id='type-id-141' filepath='../lib/librte_table/rte_table.h' line='156' column='1' id='type-id-128'/>
+    <pointer-type-def type-id='type-id-142' size-in-bits='64' id='type-id-143'/>
+    <typedef-decl name='rte_table_op_entry_delete_bulk' type-id='type-id-143' filepath='../lib/librte_table/rte_table.h' line='191' column='1' id='type-id-129'/>
+    <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-144'/>
+    <pointer-type-def type-id='type-id-145' size-in-bits='64' id='type-id-146'/>
+    <typedef-decl name='rte_table_op_lookup' type-id='type-id-146' filepath='../lib/librte_table/rte_table.h' line='231' column='1' id='type-id-130'/>
+    <class-decl name='rte_table_stats' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_table/rte_table.h' line='34' column='1' id='type-id-147'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n_pkts_in' type-id='type-id-8' visibility='default' filepath='../lib/librte_table/rte_table.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='n_pkts_lookup_miss' type-id='type-id-8' visibility='default' filepath='../lib/librte_table/rte_table.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-147' size-in-bits='64' id='type-id-148'/>
+    <pointer-type-def type-id='type-id-149' size-in-bits='64' id='type-id-150'/>
+    <typedef-decl name='rte_table_op_stats_read' type-id='type-id-150' filepath='../lib/librte_table/rte_table.h' line='251' column='1' id='type-id-131'/>
+    <class-decl name='rte_pipeline_table_entry' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.h' line='215' column='1' id='type-id-151'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='action' type-id='type-id-152' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.h' line='217' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='' type-id='type-id-153' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='action_data' type-id='type-id-154' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.h' line='228' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-155'/>
+    <enum-decl name='rte_pipeline_action' filepath='../lib/librte_pipeline/rte_pipeline.h' line='181' column='1' id='type-id-152'>
+      <underlying-type type-id='type-id-155'/>
+      <enumerator name='RTE_PIPELINE_ACTION_DROP' value='0'/>
+      <enumerator name='RTE_PIPELINE_ACTION_PORT' value='1'/>
+      <enumerator name='RTE_PIPELINE_ACTION_PORT_META' value='2'/>
+      <enumerator name='RTE_PIPELINE_ACTION_TABLE' value='3'/>
+      <enumerator name='RTE_PIPELINE_ACTIONS' value='4'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.h' line='220' column='1' id='type-id-153'>
+      <data-member access='private'>
+        <var-decl name='port_id' type-id='type-id-4' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.h' line='223' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='table_id' type-id='type-id-4' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.h' line='225' column='1'/>
+      </data-member>
+    </union-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-156'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-156' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-157'/>
+    <typedef-decl name='uint8_t' type-id='type-id-157' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-158'/>
+
+    <array-type-def dimensions='1' type-id='type-id-158' size-in-bits='infinite' id='type-id-154'>
+      <subrange length='infinite' type-id='type-id-14' id='type-id-41'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-151' size-in-bits='64' id='type-id-123'/>
+    <pointer-type-def type-id='type-id-123' size-in-bits='64' id='type-id-159'/>
+    <pointer-type-def type-id='type-id-160' size-in-bits='64' id='type-id-161'/>
+    <typedef-decl name='rte_pipeline_table_action_handler_hit' type-id='type-id-161' filepath='../lib/librte_pipeline/rte_pipeline.h' line='260' column='1' id='type-id-121'/>
+    <pointer-type-def type-id='type-id-162' size-in-bits='64' id='type-id-163'/>
+    <typedef-decl name='rte_pipeline_table_action_handler_miss' type-id='type-id-163' filepath='../lib/librte_pipeline/rte_pipeline.h' line='296' column='1' id='type-id-122'/>
+
+    <array-type-def dimensions='1' type-id='type-id-119' size-in-bits='77824' id='type-id-7'>
+      <subrange length='64' type-id='type-id-14' id='type-id-99'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-37' size-in-bits='4096' id='type-id-10'>
+      <subrange length='64' type-id='type-id-14' id='type-id-99'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-123' size-in-bits='4096' id='type-id-11'>
+      <subrange length='64' type-id='type-id-14' id='type-id-99'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='256' id='type-id-12'>
+      <subrange length='4' type-id='type-id-14' id='type-id-164'/>
+
+    </array-type-def>
+    <class-decl name='rte_pipeline_table_stats' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.h' line='107' column='1' id='type-id-165'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stats' type-id='type-id-147' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='n_pkts_dropped_by_lkp_hit_ah' type-id='type-id-8' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.h' line='112' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='n_pkts_dropped_by_lkp_miss_ah' type-id='type-id-8' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.h' line='115' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='n_pkts_dropped_lkp_hit' type-id='type-id-8' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.h' line='119' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='n_pkts_dropped_lkp_miss' type-id='type-id-8' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.h' line='123' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-165' size-in-bits='64' id='type-id-166'/>
+    <function-decl name='rte_pipeline_table_stats_read' mangled-name='rte_pipeline_table_stats_read' filepath='../lib/librte_pipeline/rte_pipeline.c' line='1575' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pipeline_table_stats_read@@DPDK_20.0'>
+      <parameter type-id='type-id-96' name='p' filepath='../lib/librte_pipeline/rte_pipeline.c' line='1575' column='1'/>
+      <parameter type-id='type-id-4' name='table_id' filepath='../lib/librte_pipeline/rte_pipeline.c' line='1575' column='1'/>
+      <parameter type-id='type-id-166' name='stats' filepath='../lib/librte_pipeline/rte_pipeline.c' line='1576' column='1'/>
+      <parameter type-id='type-id-1' name='clear' filepath='../lib/librte_pipeline/rte_pipeline.c' line='1576' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_pipeline_port_out_stats' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.h' line='98' column='1' id='type-id-167'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stats' type-id='type-id-113' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.h' line='100' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='n_pkts_dropped_by_ah' type-id='type-id-8' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.h' line='103' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-167' size-in-bits='64' id='type-id-168'/>
+    <function-decl name='rte_pipeline_port_out_stats_read' mangled-name='rte_pipeline_port_out_stats_read' filepath='../lib/librte_pipeline/rte_pipeline.c' line='1541' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pipeline_port_out_stats_read@@DPDK_20.0'>
+      <parameter type-id='type-id-96' name='p' filepath='../lib/librte_pipeline/rte_pipeline.c' line='1541' column='1'/>
+      <parameter type-id='type-id-4' name='port_id' filepath='../lib/librte_pipeline/rte_pipeline.c' line='1541' column='1'/>
+      <parameter type-id='type-id-168' name='stats' filepath='../lib/librte_pipeline/rte_pipeline.c' line='1542' column='1'/>
+      <parameter type-id='type-id-1' name='clear' filepath='../lib/librte_pipeline/rte_pipeline.c' line='1542' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_pipeline_port_in_stats' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.h' line='88' column='1' id='type-id-169'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stats' type-id='type-id-92' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='n_pkts_dropped_by_ah' type-id='type-id-8' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.h' line='93' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-169' size-in-bits='64' id='type-id-170'/>
+    <function-decl name='rte_pipeline_port_in_stats_read' mangled-name='rte_pipeline_port_in_stats_read' filepath='../lib/librte_pipeline/rte_pipeline.c' line='1504' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pipeline_port_in_stats_read@@DPDK_20.0'>
+      <parameter type-id='type-id-96' name='p' filepath='../lib/librte_pipeline/rte_pipeline.c' line='1504' column='1'/>
+      <parameter type-id='type-id-4' name='port_id' filepath='../lib/librte_pipeline/rte_pipeline.c' line='1504' column='1'/>
+      <parameter type-id='type-id-170' name='stats' filepath='../lib/librte_pipeline/rte_pipeline.c' line='1505' column='1'/>
+      <parameter type-id='type-id-1' name='clear' filepath='../lib/librte_pipeline/rte_pipeline.c' line='1505' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pipeline_ah_packet_drop' mangled-name='rte_pipeline_ah_packet_drop' filepath='../lib/librte_pipeline/rte_pipeline.c' line='1493' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pipeline_ah_packet_drop@@DPDK_20.0'>
+      <parameter type-id='type-id-96' name='p' filepath='../lib/librte_pipeline/rte_pipeline.c' line='1493' column='1'/>
+      <parameter type-id='type-id-8' name='pkts_mask' filepath='../lib/librte_pipeline/rte_pipeline.c' line='1494' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pipeline_ah_packet_hijack' mangled-name='rte_pipeline_ah_packet_hijack' filepath='../lib/librte_pipeline/rte_pipeline.c' line='1484' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pipeline_ah_packet_hijack@@DPDK_20.0'>
+      <parameter type-id='type-id-96' name='p' filepath='../lib/librte_pipeline/rte_pipeline.c' line='1493' column='1'/>
+      <parameter type-id='type-id-8' name='pkts_mask' filepath='../lib/librte_pipeline/rte_pipeline.c' line='1494' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pipeline_port_out_packet_insert' mangled-name='rte_pipeline_port_out_packet_insert' filepath='../lib/librte_pipeline/rte_pipeline.c' line='1474' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pipeline_port_out_packet_insert@@DPDK_20.0'>
+      <parameter type-id='type-id-96' name='p' filepath='../lib/librte_pipeline/rte_pipeline.c' line='1474' column='1'/>
+      <parameter type-id='type-id-4' name='port_id' filepath='../lib/librte_pipeline/rte_pipeline.c' line='1475' column='1'/>
+      <parameter type-id='type-id-37' name='pkt' filepath='../lib/librte_pipeline/rte_pipeline.c' line='1475' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pipeline_flush' mangled-name='rte_pipeline_flush' filepath='../lib/librte_pipeline/rte_pipeline.c' line='1452' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pipeline_flush@@DPDK_20.0'>
+      <parameter type-id='type-id-96' name='p' filepath='../lib/librte_pipeline/rte_pipeline.c' line='1452' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pipeline_run' mangled-name='rte_pipeline_run' filepath='../lib/librte_pipeline/rte_pipeline.c' line='1313' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pipeline_run@@DPDK_20.0'>
+      <parameter type-id='type-id-96' name='p' filepath='../lib/librte_pipeline/rte_pipeline.c' line='1313' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pipeline_check' mangled-name='rte_pipeline_check' filepath='../lib/librte_pipeline/rte_pipeline.c' line='1040' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pipeline_check@@DPDK_20.0'>
+      <parameter type-id='type-id-96' name='p' filepath='../lib/librte_pipeline/rte_pipeline.c' line='1452' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pipeline_port_in_disable' mangled-name='rte_pipeline_port_in_disable' filepath='../lib/librte_pipeline/rte_pipeline.c' line='984' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pipeline_port_in_disable@@DPDK_20.0'>
+      <parameter type-id='type-id-96' name='p' filepath='../lib/librte_pipeline/rte_pipeline.c' line='984' column='1'/>
+      <parameter type-id='type-id-4' name='port_id' filepath='../lib/librte_pipeline/rte_pipeline.c' line='984' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pipeline_port_in_enable' mangled-name='rte_pipeline_port_in_enable' filepath='../lib/librte_pipeline/rte_pipeline.c' line='937' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pipeline_port_in_enable@@DPDK_20.0'>
+      <parameter type-id='type-id-96' name='p' filepath='../lib/librte_pipeline/rte_pipeline.c' line='984' column='1'/>
+      <parameter type-id='type-id-4' name='port_id' filepath='../lib/librte_pipeline/rte_pipeline.c' line='984' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pipeline_port_in_connect_to_table' mangled-name='rte_pipeline_port_in_connect_to_table' filepath='../lib/librte_pipeline/rte_pipeline.c' line='903' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pipeline_port_in_connect_to_table@@DPDK_20.0'>
+      <parameter type-id='type-id-96' name='p' filepath='../lib/librte_pipeline/rte_pipeline.c' line='903' column='1'/>
+      <parameter type-id='type-id-4' name='port_id' filepath='../lib/librte_pipeline/rte_pipeline.c' line='904' column='1'/>
+      <parameter type-id='type-id-4' name='table_id' filepath='../lib/librte_pipeline/rte_pipeline.c' line='905' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_pipeline_port_out_params' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.h' line='704' column='1' id='type-id-171'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ops' type-id='type-id-172' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.h' line='706' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='arg_create' type-id='type-id-21' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.h' line='708' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='f_action' type-id='type-id-102' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.h' line='712' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='arg_ah' type-id='type-id-21' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.h' line='714' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-101' size-in-bits='64' id='type-id-172'/>
+    <pointer-type-def type-id='type-id-171' size-in-bits='64' id='type-id-173'/>
+    <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-174'/>
+    <function-decl name='rte_pipeline_port_out_create' mangled-name='rte_pipeline_port_out_create' filepath='../lib/librte_pipeline/rte_pipeline.c' line='856' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pipeline_port_out_create@@DPDK_20.0'>
+      <parameter type-id='type-id-96' name='p' filepath='../lib/librte_pipeline/rte_pipeline.c' line='856' column='1'/>
+      <parameter type-id='type-id-173' name='params' filepath='../lib/librte_pipeline/rte_pipeline.c' line='857' column='1'/>
+      <parameter type-id='type-id-174' name='port_id' filepath='../lib/librte_pipeline/rte_pipeline.c' line='858' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_pipeline_port_in_params' size-in-bits='320' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.h' line='568' column='1' id='type-id-175'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ops' type-id='type-id-176' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.h' line='570' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='arg_create' type-id='type-id-21' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.h' line='572' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='f_action' type-id='type-id-20' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.h' line='576' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='arg_ah' type-id='type-id-21' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.h' line='578' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='burst_size' type-id='type-id-4' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.h' line='581' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-176'/>
+    <pointer-type-def type-id='type-id-175' size-in-bits='64' id='type-id-177'/>
+    <function-decl name='rte_pipeline_port_in_create' mangled-name='rte_pipeline_port_in_create' filepath='../lib/librte_pipeline/rte_pipeline.c' line='806' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pipeline_port_in_create@@DPDK_20.0'>
+      <parameter type-id='type-id-96' name='p' filepath='../lib/librte_pipeline/rte_pipeline.c' line='806' column='1'/>
+      <parameter type-id='type-id-177' name='params' filepath='../lib/librte_pipeline/rte_pipeline.c' line='807' column='1'/>
+      <parameter type-id='type-id-174' name='port_id' filepath='../lib/librte_pipeline/rte_pipeline.c' line='808' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pipeline_table_entry_delete_bulk' mangled-name='rte_pipeline_table_entry_delete_bulk' filepath='../lib/librte_pipeline/rte_pipeline.c' line='647' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pipeline_table_entry_delete_bulk@@DPDK_20.0'>
+      <parameter type-id='type-id-96' name='p' filepath='../lib/librte_pipeline/rte_pipeline.c' line='647' column='1'/>
+      <parameter type-id='type-id-4' name='table_id' filepath='../lib/librte_pipeline/rte_pipeline.c' line='648' column='1'/>
+      <parameter type-id='type-id-135' name='keys' filepath='../lib/librte_pipeline/rte_pipeline.c' line='649' column='1'/>
+      <parameter type-id='type-id-4' name='n_keys' filepath='../lib/librte_pipeline/rte_pipeline.c' line='650' column='1'/>
+      <parameter type-id='type-id-134' name='key_found' filepath='../lib/librte_pipeline/rte_pipeline.c' line='651' column='1'/>
+      <parameter type-id='type-id-159' name='entries' filepath='../lib/librte_pipeline/rte_pipeline.c' line='652' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pipeline_table_entry_add_bulk' mangled-name='rte_pipeline_table_entry_add_bulk' filepath='../lib/librte_pipeline/rte_pipeline.c' line='581' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pipeline_table_entry_add_bulk@@DPDK_20.0'>
+      <parameter type-id='type-id-96' name='p' filepath='../lib/librte_pipeline/rte_pipeline.c' line='581' column='1'/>
+      <parameter type-id='type-id-4' name='table_id' filepath='../lib/librte_pipeline/rte_pipeline.c' line='582' column='1'/>
+      <parameter type-id='type-id-135' name='keys' filepath='../lib/librte_pipeline/rte_pipeline.c' line='583' column='1'/>
+      <parameter type-id='type-id-159' name='entries' filepath='../lib/librte_pipeline/rte_pipeline.c' line='584' column='1'/>
+      <parameter type-id='type-id-4' name='n_keys' filepath='../lib/librte_pipeline/rte_pipeline.c' line='585' column='1'/>
+      <parameter type-id='type-id-134' name='key_found' filepath='../lib/librte_pipeline/rte_pipeline.c' line='586' column='1'/>
+      <parameter type-id='type-id-159' name='entries_ptr' filepath='../lib/librte_pipeline/rte_pipeline.c' line='587' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pipeline_table_entry_delete' mangled-name='rte_pipeline_table_entry_delete' filepath='../lib/librte_pipeline/rte_pipeline.c' line='543' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pipeline_table_entry_delete@@DPDK_20.0'>
+      <parameter type-id='type-id-96' name='p' filepath='../lib/librte_pipeline/rte_pipeline.c' line='543' column='1'/>
+      <parameter type-id='type-id-4' name='table_id' filepath='../lib/librte_pipeline/rte_pipeline.c' line='544' column='1'/>
+      <parameter type-id='type-id-21' name='key' filepath='../lib/librte_pipeline/rte_pipeline.c' line='545' column='1'/>
+      <parameter type-id='type-id-134' name='key_found' filepath='../lib/librte_pipeline/rte_pipeline.c' line='546' column='1'/>
+      <parameter type-id='type-id-123' name='entry' filepath='../lib/librte_pipeline/rte_pipeline.c' line='547' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pipeline_table_entry_add' mangled-name='rte_pipeline_table_entry_add' filepath='../lib/librte_pipeline/rte_pipeline.c' line='482' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pipeline_table_entry_add@@DPDK_20.0'>
+      <parameter type-id='type-id-96' name='p' filepath='../lib/librte_pipeline/rte_pipeline.c' line='482' column='1'/>
+      <parameter type-id='type-id-4' name='table_id' filepath='../lib/librte_pipeline/rte_pipeline.c' line='483' column='1'/>
+      <parameter type-id='type-id-21' name='key' filepath='../lib/librte_pipeline/rte_pipeline.c' line='484' column='1'/>
+      <parameter type-id='type-id-123' name='entry' filepath='../lib/librte_pipeline/rte_pipeline.c' line='485' column='1'/>
+      <parameter type-id='type-id-134' name='key_found' filepath='../lib/librte_pipeline/rte_pipeline.c' line='486' column='1'/>
+      <parameter type-id='type-id-159' name='entry_ptr' filepath='../lib/librte_pipeline/rte_pipeline.c' line='487' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pipeline_table_default_entry_delete' mangled-name='rte_pipeline_table_default_entry_delete' filepath='../lib/librte_pipeline/rte_pipeline.c' line='449' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pipeline_table_default_entry_delete@@DPDK_20.0'>
+      <parameter type-id='type-id-96' name='p' filepath='../lib/librte_pipeline/rte_pipeline.c' line='449' column='1'/>
+      <parameter type-id='type-id-4' name='table_id' filepath='../lib/librte_pipeline/rte_pipeline.c' line='450' column='1'/>
+      <parameter type-id='type-id-123' name='entry' filepath='../lib/librte_pipeline/rte_pipeline.c' line='451' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pipeline_table_default_entry_add' mangled-name='rte_pipeline_table_default_entry_add' filepath='../lib/librte_pipeline/rte_pipeline.c' line='399' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pipeline_table_default_entry_add@@DPDK_20.0'>
+      <parameter type-id='type-id-96' name='p' filepath='../lib/librte_pipeline/rte_pipeline.c' line='399' column='1'/>
+      <parameter type-id='type-id-4' name='table_id' filepath='../lib/librte_pipeline/rte_pipeline.c' line='400' column='1'/>
+      <parameter type-id='type-id-123' name='default_entry' filepath='../lib/librte_pipeline/rte_pipeline.c' line='401' column='1'/>
+      <parameter type-id='type-id-159' name='default_entry_ptr' filepath='../lib/librte_pipeline/rte_pipeline.c' line='402' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_pipeline_table_params' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.h' line='306' column='1' id='type-id-178'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ops' type-id='type-id-179' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.h' line='308' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='arg_create' type-id='type-id-21' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.h' line='311' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='f_action_hit' type-id='type-id-121' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.h' line='314' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='f_action_miss' type-id='type-id-122' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.h' line='317' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='arg_ah' type-id='type-id-21' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.h' line='321' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='action_data_size' type-id='type-id-4' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.h' line='324' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-120' size-in-bits='64' id='type-id-179'/>
+    <pointer-type-def type-id='type-id-178' size-in-bits='64' id='type-id-180'/>
+    <function-decl name='rte_pipeline_table_create' mangled-name='rte_pipeline_table_create' filepath='../lib/librte_pipeline/rte_pipeline.c' line='328' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pipeline_table_create@@DPDK_20.0'>
+      <parameter type-id='type-id-96' name='p' filepath='../lib/librte_pipeline/rte_pipeline.c' line='328' column='1'/>
+      <parameter type-id='type-id-180' name='params' filepath='../lib/librte_pipeline/rte_pipeline.c' line='329' column='1'/>
+      <parameter type-id='type-id-174' name='table_id' filepath='../lib/librte_pipeline/rte_pipeline.c' line='330' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pipeline_free' mangled-name='rte_pipeline_free' filepath='../lib/librte_pipeline/rte_pipeline.c' line='234' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pipeline_free@@DPDK_20.0'>
+      <parameter type-id='type-id-96' name='p' filepath='../lib/librte_pipeline/rte_pipeline.c' line='234' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_pipeline_params' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.h' line='73' column='1' id='type-id-181'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-182' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='offset_port_id' type-id='type-id-4' visibility='default' filepath='../lib/librte_pipeline/rte_pipeline.h' line='84' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-13' const='yes' id='type-id-183'/>
+    <pointer-type-def type-id='type-id-183' size-in-bits='64' id='type-id-182'/>
+    <pointer-type-def type-id='type-id-181' size-in-bits='64' id='type-id-184'/>
+    <function-decl name='rte_pipeline_create' mangled-name='rte_pipeline_create' filepath='../lib/librte_pipeline/rte_pipeline.c' line='192' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pipeline_create@@DPDK_20.0'>
+      <parameter type-id='type-id-184' name='params' filepath='../lib/librte_pipeline/rte_pipeline.c' line='192' column='1'/>
+      <return type-id='type-id-96'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-97'>
+      <parameter type-id='type-id-96'/>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-160'>
+      <parameter type-id='type-id-96'/>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-159'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-162'>
+      <parameter type-id='type-id-96'/>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-123'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-117'>
+      <parameter type-id='type-id-96'/>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-29'>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-109'>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-37'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-90'>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-4'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-111'>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-8'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-145'>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-144'/>
+      <parameter type-id='type-id-135'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-94'>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-115'>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-114'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-149'>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-148'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-142'>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-135'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-134'/>
+      <parameter type-id='type-id-135'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-140'>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-135'/>
+      <parameter type-id='type-id-135'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-134'/>
+      <parameter type-id='type-id-135'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-138'>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-134'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-136'>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-134'/>
+      <parameter type-id='type-id-135'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-76'>
+      <parameter type-id='type-id-70'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-81'>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-27'>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-21'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-132'>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-4'/>
+      <return type-id='type-id-21'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_pipeline/rte_port_in_action.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_port_in_action' size-in-bits='6144' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_port_in_action.c' line='284' column='1' id='type-id-185'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cfg' type-id='type-id-186' visibility='default' filepath='../lib/librte_pipeline/rte_port_in_action.c' line='285' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='data' type-id='type-id-187' visibility='default' filepath='../lib/librte_pipeline/rte_port_in_action.c' line='286' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6144'>
+        <var-decl name='memory' type-id='type-id-154' visibility='default' filepath='../lib/librte_pipeline/rte_port_in_action.c' line='287' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ap_config' size-in-bits='1664' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_port_in_action.c' line='108' column='1' id='type-id-186'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='action_mask' type-id='type-id-8' visibility='default' filepath='../lib/librte_pipeline/rte_port_in_action.c' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fltr' type-id='type-id-188' visibility='default' filepath='../lib/librte_pipeline/rte_port_in_action.c' line='110' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='lb' type-id='type-id-189' visibility='default' filepath='../lib/librte_pipeline/rte_port_in_action.c' line='111' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_port_in_action_fltr_config' size-in-bits='352' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_port_in_action.h' line='76' column='1' id='type-id-188'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='key_offset' type-id='type-id-4' visibility='default' filepath='../lib/librte_pipeline/rte_port_in_action.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='key_mask' type-id='type-id-190' visibility='default' filepath='../lib/librte_pipeline/rte_port_in_action.h' line='83' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='key' type-id='type-id-190' visibility='default' filepath='../lib/librte_pipeline/rte_port_in_action.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='filter_on_match' type-id='type-id-1' visibility='default' filepath='../lib/librte_pipeline/rte_port_in_action.h' line='93' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='port_id' type-id='type-id-4' visibility='default' filepath='../lib/librte_pipeline/rte_port_in_action.h' line='100' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-158' size-in-bits='128' id='type-id-190'>
+      <subrange length='16' type-id='type-id-14' id='type-id-191'/>
+
+    </array-type-def>
+    <class-decl name='rte_port_in_action_lb_config' size-in-bits='1216' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_port_in_action.h' line='122' column='1' id='type-id-189'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='key_size' type-id='type-id-4' visibility='default' filepath='../lib/librte_pipeline/rte_port_in_action.h' line='124' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='key_offset' type-id='type-id-4' visibility='default' filepath='../lib/librte_pipeline/rte_port_in_action.h' line='129' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key_mask' type-id='type-id-192' visibility='default' filepath='../lib/librte_pipeline/rte_port_in_action.h' line='132' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='f_hash' type-id='type-id-193' visibility='default' filepath='../lib/librte_pipeline/rte_port_in_action.h' line='135' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='seed' type-id='type-id-8' visibility='default' filepath='../lib/librte_pipeline/rte_port_in_action.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='port_id' type-id='type-id-194' visibility='default' filepath='../lib/librte_pipeline/rte_port_in_action.h' line='148' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-158' size-in-bits='512' id='type-id-192'>
+      <subrange length='64' type-id='type-id-14' id='type-id-99'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-195' size-in-bits='64' id='type-id-196'/>
+    <typedef-decl name='rte_table_hash_op_hash' type-id='type-id-196' filepath='../lib/librte_table/rte_table_hash.h' line='56' column='1' id='type-id-193'/>
+
+    <array-type-def dimensions='1' type-id='type-id-4' size-in-bits='512' id='type-id-194'>
+      <subrange length='16' type-id='type-id-14' id='type-id-191'/>
+
+    </array-type-def>
+    <class-decl name='ap_data' size-in-bits='4160' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.c' line='2301' column='1' id='type-id-187'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='offset' type-id='type-id-197' visibility='default' filepath='../lib/librte_pipeline/rte_port_in_action.c' line='157' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4096'>
+        <var-decl name='total_size' type-id='type-id-58' visibility='default' filepath='../lib/librte_pipeline/rte_port_in_action.c' line='158' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-58' size-in-bits='4096' id='type-id-197'>
+      <subrange length='64' type-id='type-id-14' id='type-id-99'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-185' size-in-bits='64' id='type-id-198'/>
+    <enum-decl name='rte_port_in_action_type' filepath='../lib/librte_pipeline/rte_port_in_action.h' line='61' column='1' id='type-id-199'>
+      <underlying-type type-id='type-id-155'/>
+      <enumerator name='RTE_PORT_IN_ACTION_FLTR' value='0'/>
+      <enumerator name='RTE_PORT_IN_ACTION_LB' value='1'/>
+    </enum-decl>
+    <function-decl name='rte_port_in_action_apply' mangled-name='rte_port_in_action_apply' filepath='../lib/librte_pipeline/rte_port_in_action.c' line='356' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_port_in_action_apply@@EXPERIMENTAL'>
+      <parameter type-id='type-id-198' name='action' filepath='../lib/librte_pipeline/rte_port_in_action.c' line='356' column='1'/>
+      <parameter type-id='type-id-199' name='type' filepath='../lib/librte_pipeline/rte_port_in_action.c' line='357' column='1'/>
+      <parameter type-id='type-id-21' name='action_params' filepath='../lib/librte_pipeline/rte_port_in_action.c' line='358' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_port_in_action_params_get' mangled-name='rte_port_in_action_params_get' filepath='../lib/librte_pipeline/rte_port_in_action.c' line='503' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_port_in_action_params_get@@EXPERIMENTAL'>
+      <parameter type-id='type-id-198' name='action' filepath='../lib/librte_pipeline/rte_port_in_action.c' line='503' column='1'/>
+      <parameter type-id='type-id-177' name='params' filepath='../lib/librte_pipeline/rte_port_in_action.c' line='504' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_port_in_action_free' mangled-name='rte_port_in_action_free' filepath='../lib/librte_pipeline/rte_port_in_action.c' line='523' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_port_in_action_free@@EXPERIMENTAL'>
+      <parameter type-id='type-id-198' name='action' filepath='../lib/librte_pipeline/rte_port_in_action.c' line='523' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_port_in_action_profile' size-in-bits='5888' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_port_in_action.c' line='198' column='1' id='type-id-200'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cfg' type-id='type-id-186' visibility='default' filepath='../lib/librte_pipeline/rte_port_in_action.c' line='199' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='data' type-id='type-id-187' visibility='default' filepath='../lib/librte_pipeline/rte_port_in_action.c' line='200' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5824'>
+        <var-decl name='frozen' type-id='type-id-1' visibility='default' filepath='../lib/librte_pipeline/rte_port_in_action.c' line='201' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-200' size-in-bits='64' id='type-id-201'/>
+    <function-decl name='rte_port_in_action_create' mangled-name='rte_port_in_action_create' filepath='../lib/librte_pipeline/rte_port_in_action.c' line='320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_port_in_action_create@@EXPERIMENTAL'>
+      <parameter type-id='type-id-201' name='profile' filepath='../lib/librte_pipeline/rte_port_in_action.c' line='320' column='1'/>
+      <parameter type-id='type-id-4' name='socket_id' filepath='../lib/librte_pipeline/rte_port_in_action.c' line='321' column='1'/>
+      <return type-id='type-id-198'/>
+    </function-decl>
+    <function-decl name='rte_port_in_action_profile_freeze' mangled-name='rte_port_in_action_profile_freeze' filepath='../lib/librte_pipeline/rte_port_in_action.c' line='260' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_port_in_action_profile_freeze@@EXPERIMENTAL'>
+      <parameter type-id='type-id-201' name='profile' filepath='../lib/librte_pipeline/rte_port_in_action.c' line='260' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_port_in_action_profile_action_register' mangled-name='rte_port_in_action_profile_action_register' filepath='../lib/librte_pipeline/rte_port_in_action.c' line='221' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_port_in_action_profile_action_register@@EXPERIMENTAL'>
+      <parameter type-id='type-id-201' name='profile' filepath='../lib/librte_pipeline/rte_port_in_action.c' line='221' column='1'/>
+      <parameter type-id='type-id-199' name='type' filepath='../lib/librte_pipeline/rte_port_in_action.c' line='222' column='1'/>
+      <parameter type-id='type-id-21' name='action_config' filepath='../lib/librte_pipeline/rte_port_in_action.c' line='223' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_port_in_action_profile_free' mangled-name='rte_port_in_action_profile_free' filepath='../lib/librte_pipeline/rte_port_in_action.c' line='272' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_port_in_action_profile_free@@EXPERIMENTAL'>
+      <parameter type-id='type-id-201' name='profile' filepath='../lib/librte_pipeline/rte_port_in_action.c' line='260' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_port_in_action_profile_create' mangled-name='rte_port_in_action_profile_create' filepath='../lib/librte_pipeline/rte_port_in_action.c' line='205' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_port_in_action_profile_create@@EXPERIMENTAL'>
+      <parameter type-id='type-id-4' name='socket_id' filepath='../lib/librte_pipeline/rte_port_in_action.c' line='205' column='1'/>
+      <return type-id='type-id-201'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-195'>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-8'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_pipeline/rte_table_action.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_cryptodev_sym_session' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='974' column='1' id='type-id-202'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='opaque_data' type-id='type-id-8' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='975' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='nb_drivers' type-id='type-id-35' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='977' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='user_data_sz' type-id='type-id-35' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='979' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='sess_data' type-id='type-id-203' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='984' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='981' column='1' id='type-id-204'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-21' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='982' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='refcnt' type-id='type-id-35' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='983' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-204' size-in-bits='infinite' id='type-id-203'>
+      <subrange length='infinite' type-id='type-id-14' id='type-id-41'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-202' size-in-bits='64' id='type-id-205'/>
+    <class-decl name='rte_table_action' size-in-bits='24256' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.c' line='2493' column='1' id='type-id-206'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cfg' type-id='type-id-207' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.c' line='2494' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='data' type-id='type-id-187' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.c' line='2495' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5824'>
+        <var-decl name='dscp_table' type-id='type-id-208' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.c' line='2496' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='9920'>
+        <var-decl name='mp' type-id='type-id-209' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.c' line='2497' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ap_config' size-in-bits='1664' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.c' line='2217' column='1' id='type-id-207'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='action_mask' type-id='type-id-8' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.c' line='2218' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='common' type-id='type-id-210' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.c' line='2219' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='lb' type-id='type-id-211' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.c' line='2220' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='mtr' type-id='type-id-212' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.c' line='2221' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='tm' type-id='type-id-213' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.c' line='2222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='encap' type-id='type-id-214' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.c' line='2223' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='nat' type-id='type-id-215' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.c' line='2224' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='ttl' type-id='type-id-216' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.c' line='2225' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='stats' type-id='type-id-217' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.c' line='2226' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='sym_crypto' type-id='type-id-218' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.c' line='2227' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_common_config' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='108' column='1' id='type-id-210'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ip_version' type-id='type-id-1' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='112' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ip_offset' type-id='type-id-4' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='117' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_lb_config' size-in-bits='768' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='145' column='1' id='type-id-211'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='key_size' type-id='type-id-4' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='147' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='key_offset' type-id='type-id-4' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key_mask' type-id='type-id-192' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='155' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='f_hash' type-id='type-id-193' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='158' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='seed' type-id='type-id-8' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='161' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='out_offset' type-id='type-id-4' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='166' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_mtr_config' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='287' column='1' id='type-id-212'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='alg' type-id='type-id-219' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='289' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='n_tc' type-id='type-id-4' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='295' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='n_packets_enabled' type-id='type-id-1' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='302' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='n_bytes_enabled' type-id='type-id-1' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='309' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_table_action_meter_algorithm' filepath='../lib/librte_pipeline/rte_table_action.h' line='215' column='1' id='type-id-219'>
+      <underlying-type type-id='type-id-155'/>
+      <enumerator name='RTE_TABLE_ACTION_METER_SRTCM' value='0'/>
+      <enumerator name='RTE_TABLE_ACTION_METER_TRTCM' value='1'/>
+    </enum-decl>
+    <class-decl name='rte_table_action_tm_config' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='342' column='1' id='type-id-213'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n_subports_per_port' type-id='type-id-4' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='344' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='n_pipes_per_subport' type-id='type-id-4' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='347' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_encap_config' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='501' column='1' id='type-id-214'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='encap_mask' type-id='type-id-8' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='508' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-220' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='96' is-anonymous='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='512' column='1' id='type-id-220'>
+      <data-member access='private'>
+        <var-decl name='vxlan' type-id='type-id-221' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='531' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='96' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='513' column='1' id='type-id-221'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data_offset' type-id='type-id-4' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='519' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='vlan' type-id='type-id-1' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='524' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ip_version' type-id='type-id-1' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='530' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_nat_config' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='579' column='1' id='type-id-215'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='source_nat' type-id='type-id-1' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='584' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='proto' type-id='type-id-158' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='590' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_ttl_config' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='615' column='1' id='type-id-216'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='drop' type-id='type-id-1' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='n_packets_enabled' type-id='type-id-1' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='629' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_stats_config' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='653' column='1' id='type-id-217'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n_packets_enabled' type-id='type-id-1' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='659' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='n_bytes_enabled' type-id='type-id-1' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='666' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_sym_crypto_config' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='732' column='1' id='type-id-218'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cryptodev_id' type-id='type-id-158' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='734' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='op_offset' type-id='type-id-4' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='740' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp_create' type-id='type-id-36' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='743' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mp_init' type-id='type-id-36' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='746' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='dscp_table_data' size-in-bits='4096' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.c' line='175' column='1' id='type-id-208'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='entry' type-id='type-id-222' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.c' line='176' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='dscp_table_entry_data' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.c' line='169' column='1' id='type-id-223'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='color' type-id='type-id-224' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.c' line='170' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tc' type-id='type-id-35' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.c' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='tc_queue' type-id='type-id-35' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.c' line='172' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_color' filepath='../lib/librte_meter/rte_meter.h' line='36' column='1' id='type-id-224'>
+      <underlying-type type-id='type-id-155'/>
+      <enumerator name='RTE_COLOR_GREEN' value='0'/>
+      <enumerator name='RTE_COLOR_YELLOW' value='1'/>
+      <enumerator name='RTE_COLOR_RED' value='2'/>
+      <enumerator name='RTE_COLORS' value='3'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-223' size-in-bits='4096' id='type-id-222'>
+      <subrange length='64' type-id='type-id-14' id='type-id-99'/>
+
+    </array-type-def>
+    <class-decl name='meter_profile_data' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.c' line='179' column='1' id='type-id-225'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='profile' type-id='type-id-226' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.c' line='180' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='profile_id' type-id='type-id-4' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.c' line='181' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='valid' type-id='type-id-1' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.c' line='182' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_meter_trtcm_profile' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='357' column='1' id='type-id-226'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cbs' type-id='type-id-8' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='358' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pbs' type-id='type-id-8' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='360' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cir_period' type-id='type-id-8' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='362' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='cir_bytes_per_period' type-id='type-id-8' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='364' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='pir_period' type-id='type-id-8' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='366' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pir_bytes_per_period' type-id='type-id-8' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='368' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-225' size-in-bits='14336' id='type-id-209'>
+      <subrange length='32' type-id='type-id-14' id='type-id-55'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-206' size-in-bits='64' id='type-id-227'/>
+    <function-decl name='rte_table_action_crypto_sym_session_get' mangled-name='rte_table_action_crypto_sym_session_get' filepath='../lib/librte_pipeline/rte_table_action.c' line='2862' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_table_action_crypto_sym_session_get@@EXPERIMENTAL'>
+      <parameter type-id='type-id-227' name='action' filepath='../lib/librte_pipeline/rte_table_action.c' line='2862' column='1'/>
+      <parameter type-id='type-id-21' name='data' filepath='../lib/librte_pipeline/rte_table_action.c' line='2863' column='1'/>
+      <return type-id='type-id-205'/>
+    </function-decl>
+    <function-decl name='rte_table_action_time_read' mangled-name='rte_table_action_time_read' filepath='../lib/librte_pipeline/rte_table_action.c' line='2839' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_table_action_time_read@@EXPERIMENTAL'>
+      <parameter type-id='type-id-227' name='action' filepath='../lib/librte_pipeline/rte_table_action.c' line='2839' column='1'/>
+      <parameter type-id='type-id-21' name='data' filepath='../lib/librte_pipeline/rte_table_action.c' line='2840' column='1'/>
+      <parameter type-id='type-id-144' name='timestamp' filepath='../lib/librte_pipeline/rte_table_action.c' line='2841' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_table_action_stats_counters' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='685' column='1' id='type-id-228'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n_packets' type-id='type-id-8' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='687' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='n_bytes' type-id='type-id-8' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='n_packets_valid' type-id='type-id-1' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='693' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='n_bytes_valid' type-id='type-id-1' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='696' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-228' size-in-bits='64' id='type-id-229'/>
+    <function-decl name='rte_table_action_stats_read' mangled-name='rte_table_action_stats_read' filepath='../lib/librte_pipeline/rte_table_action.c' line='2804' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_table_action_stats_read@@EXPERIMENTAL'>
+      <parameter type-id='type-id-227' name='action' filepath='../lib/librte_pipeline/rte_table_action.c' line='2804' column='1'/>
+      <parameter type-id='type-id-21' name='data' filepath='../lib/librte_pipeline/rte_table_action.c' line='2805' column='1'/>
+      <parameter type-id='type-id-229' name='stats' filepath='../lib/librte_pipeline/rte_table_action.c' line='2806' column='1'/>
+      <parameter type-id='type-id-1' name='clear' filepath='../lib/librte_pipeline/rte_table_action.c' line='2807' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_table_action_ttl_counters' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='642' column='1' id='type-id-230'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n_packets' type-id='type-id-8' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='646' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-230' size-in-bits='64' id='type-id-231'/>
+    <function-decl name='rte_table_action_ttl_read' mangled-name='rte_table_action_ttl_read' filepath='../lib/librte_pipeline/rte_table_action.c' line='2776' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_table_action_ttl_read@@EXPERIMENTAL'>
+      <parameter type-id='type-id-227' name='action' filepath='../lib/librte_pipeline/rte_table_action.c' line='2776' column='1'/>
+      <parameter type-id='type-id-21' name='data' filepath='../lib/librte_pipeline/rte_table_action.c' line='2777' column='1'/>
+      <parameter type-id='type-id-231' name='stats' filepath='../lib/librte_pipeline/rte_table_action.c' line='2778' column='1'/>
+      <parameter type-id='type-id-1' name='clear' filepath='../lib/librte_pipeline/rte_table_action.c' line='2779' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_table_action_mtr_counters' size-in-bits='7232' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='327' column='1' id='type-id-232'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stats' type-id='type-id-233' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='329' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7168'>
+        <var-decl name='tc_mask' type-id='type-id-4' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='335' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_mtr_counters_tc' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='266' column='1' id='type-id-234'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n_packets' type-id='type-id-235' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='271' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='n_bytes' type-id='type-id-235' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='277' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='n_packets_valid' type-id='type-id-1' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='280' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='n_bytes_valid' type-id='type-id-1' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='283' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='192' id='type-id-235'>
+      <subrange length='3' type-id='type-id-14' id='type-id-236'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-234' size-in-bits='7168' id='type-id-233'>
+      <subrange length='16' type-id='type-id-14' id='type-id-191'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-232' size-in-bits='64' id='type-id-237'/>
+    <function-decl name='rte_table_action_meter_read' mangled-name='rte_table_action_meter_read' filepath='../lib/librte_pipeline/rte_table_action.c' line='2714' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_table_action_meter_read@@EXPERIMENTAL'>
+      <parameter type-id='type-id-227' name='action' filepath='../lib/librte_pipeline/rte_table_action.c' line='2714' column='1'/>
+      <parameter type-id='type-id-21' name='data' filepath='../lib/librte_pipeline/rte_table_action.c' line='2715' column='1'/>
+      <parameter type-id='type-id-4' name='tc_mask' filepath='../lib/librte_pipeline/rte_table_action.c' line='2716' column='1'/>
+      <parameter type-id='type-id-237' name='stats' filepath='../lib/librte_pipeline/rte_table_action.c' line='2717' column='1'/>
+      <parameter type-id='type-id-1' name='clear' filepath='../lib/librte_pipeline/rte_table_action.c' line='2718' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_table_action_meter_profile_delete' mangled-name='rte_table_action_meter_profile_delete' filepath='../lib/librte_pipeline/rte_table_action.c' line='2691' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_table_action_meter_profile_delete@@EXPERIMENTAL'>
+      <parameter type-id='type-id-227' name='action' filepath='../lib/librte_pipeline/rte_table_action.c' line='2691' column='1'/>
+      <parameter type-id='type-id-4' name='meter_profile_id' filepath='../lib/librte_pipeline/rte_table_action.c' line='2692' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_table_action_meter_profile' size-in-bits='320' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='224' column='1' id='type-id-238'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='alg' type-id='type-id-219' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='226' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-239' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='229' column='1' id='type-id-239'>
+      <data-member access='private'>
+        <var-decl name='srtcm' type-id='type-id-240' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='trtcm' type-id='type-id-241' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='234' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_meter_srtcm_params' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='46' column='1' id='type-id-240'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cir' type-id='type-id-8' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='47' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='cbs' type-id='type-id-8' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ebs' type-id='type-id-8' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='49' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_meter_trtcm_params' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='55' column='1' id='type-id-241'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cir' type-id='type-id-8' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pir' type-id='type-id-8' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cbs' type-id='type-id-8' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='pbs' type-id='type-id-8' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='59' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-238' size-in-bits='64' id='type-id-242'/>
+    <function-decl name='rte_table_action_meter_profile_add' mangled-name='rte_table_action_meter_profile_add' filepath='../lib/librte_pipeline/rte_table_action.c' line='2651' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_table_action_meter_profile_add@@EXPERIMENTAL'>
+      <parameter type-id='type-id-227' name='action' filepath='../lib/librte_pipeline/rte_table_action.c' line='2651' column='1'/>
+      <parameter type-id='type-id-4' name='meter_profile_id' filepath='../lib/librte_pipeline/rte_table_action.c' line='2652' column='1'/>
+      <parameter type-id='type-id-242' name='profile' filepath='../lib/librte_pipeline/rte_table_action.c' line='2653' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_table_action_dscp_table' size-in-bits='6144' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='209' column='1' id='type-id-243'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='entry' type-id='type-id-244' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='211' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_dscp_table_entry' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='190' column='1' id='type-id-245'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tc_id' type-id='type-id-4' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tc_queue_id' type-id='type-id-4' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='200' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='color' type-id='type-id-224' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='205' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-245' size-in-bits='6144' id='type-id-244'>
+      <subrange length='64' type-id='type-id-14' id='type-id-99'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-243' size-in-bits='64' id='type-id-246'/>
+    <function-decl name='rte_table_action_dscp_table_update' mangled-name='rte_table_action_dscp_table_update' filepath='../lib/librte_pipeline/rte_table_action.c' line='2619' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_table_action_dscp_table_update@@EXPERIMENTAL'>
+      <parameter type-id='type-id-227' name='action' filepath='../lib/librte_pipeline/rte_table_action.c' line='2619' column='1'/>
+      <parameter type-id='type-id-8' name='dscp_mask' filepath='../lib/librte_pipeline/rte_table_action.c' line='2620' column='1'/>
+      <parameter type-id='type-id-246' name='table' filepath='../lib/librte_pipeline/rte_table_action.c' line='2621' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <enum-decl name='rte_table_action_type' filepath='../lib/librte_pipeline/rte_table_action.h' line='69' column='1' id='type-id-247'>
+      <underlying-type type-id='type-id-155'/>
+      <enumerator name='RTE_TABLE_ACTION_FWD' value='0'/>
+      <enumerator name='RTE_TABLE_ACTION_LB' value='1'/>
+      <enumerator name='RTE_TABLE_ACTION_MTR' value='2'/>
+      <enumerator name='RTE_TABLE_ACTION_TM' value='3'/>
+      <enumerator name='RTE_TABLE_ACTION_ENCAP' value='4'/>
+      <enumerator name='RTE_TABLE_ACTION_NAT' value='5'/>
+      <enumerator name='RTE_TABLE_ACTION_TTL' value='6'/>
+      <enumerator name='RTE_TABLE_ACTION_STATS' value='7'/>
+      <enumerator name='RTE_TABLE_ACTION_TIME' value='8'/>
+      <enumerator name='RTE_TABLE_ACTION_SYM_CRYPTO' value='9'/>
+      <enumerator name='RTE_TABLE_ACTION_TAG' value='10'/>
+      <enumerator name='RTE_TABLE_ACTION_DECAP' value='11'/>
+    </enum-decl>
+    <function-decl name='rte_table_action_apply' mangled-name='rte_table_action_apply' filepath='../lib/librte_pipeline/rte_table_action.c' line='2538' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_table_action_apply@@EXPERIMENTAL'>
+      <parameter type-id='type-id-227' name='action' filepath='../lib/librte_pipeline/rte_table_action.c' line='2538' column='1'/>
+      <parameter type-id='type-id-21' name='data' filepath='../lib/librte_pipeline/rte_table_action.c' line='2539' column='1'/>
+      <parameter type-id='type-id-247' name='type' filepath='../lib/librte_pipeline/rte_table_action.c' line='2540' column='1'/>
+      <parameter type-id='type-id-21' name='action_params' filepath='../lib/librte_pipeline/rte_table_action.c' line='2541' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_table_action_table_params_get' mangled-name='rte_table_action_table_params_get' filepath='../lib/librte_pipeline/rte_table_action.c' line='3449' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_table_action_table_params_get@@EXPERIMENTAL'>
+      <parameter type-id='type-id-227' name='action' filepath='../lib/librte_pipeline/rte_table_action.c' line='3449' column='1'/>
+      <parameter type-id='type-id-180' name='params' filepath='../lib/librte_pipeline/rte_table_action.c' line='3450' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_table_action_free' mangled-name='rte_table_action_free' filepath='../lib/librte_pipeline/rte_table_action.c' line='3474' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_table_action_free@@EXPERIMENTAL'>
+      <parameter type-id='type-id-227' name='action' filepath='../lib/librte_pipeline/rte_table_action.c' line='3474' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_table_action_profile' size-in-bits='5888' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.c' line='2375' column='1' id='type-id-248'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cfg' type-id='type-id-207' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.c' line='2376' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='data' type-id='type-id-187' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.c' line='2377' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5824'>
+        <var-decl name='frozen' type-id='type-id-1' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.c' line='2378' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-248' size-in-bits='64' id='type-id-249'/>
+    <function-decl name='rte_table_action_create' mangled-name='rte_table_action_create' filepath='../lib/librte_pipeline/rte_table_action.c' line='2501' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_table_action_create@@EXPERIMENTAL'>
+      <parameter type-id='type-id-249' name='profile' filepath='../lib/librte_pipeline/rte_table_action.c' line='2501' column='1'/>
+      <parameter type-id='type-id-4' name='socket_id' filepath='../lib/librte_pipeline/rte_table_action.c' line='2502' column='1'/>
+      <return type-id='type-id-227'/>
+    </function-decl>
+    <function-decl name='rte_table_action_profile_freeze' mangled-name='rte_table_action_profile_freeze' filepath='../lib/librte_pipeline/rte_table_action.c' line='2466' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_table_action_profile_freeze@@EXPERIMENTAL'>
+      <parameter type-id='type-id-249' name='profile' filepath='../lib/librte_pipeline/rte_table_action.c' line='2466' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_table_action_profile_action_register' mangled-name='rte_table_action_profile_action_register' filepath='../lib/librte_pipeline/rte_table_action.c' line='2403' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_table_action_profile_action_register@@EXPERIMENTAL'>
+      <parameter type-id='type-id-249' name='profile' filepath='../lib/librte_pipeline/rte_table_action.c' line='2403' column='1'/>
+      <parameter type-id='type-id-247' name='type' filepath='../lib/librte_pipeline/rte_table_action.c' line='2404' column='1'/>
+      <parameter type-id='type-id-21' name='action_config' filepath='../lib/librte_pipeline/rte_table_action.c' line='2405' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_table_action_profile_free' mangled-name='rte_table_action_profile_free' filepath='../lib/librte_pipeline/rte_table_action.c' line='2479' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_table_action_profile_free@@EXPERIMENTAL'>
+      <parameter type-id='type-id-249' name='profile' filepath='../lib/librte_pipeline/rte_table_action.c' line='2466' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-210' size-in-bits='64' id='type-id-250'/>
+    <function-decl name='rte_table_action_profile_create' mangled-name='rte_table_action_profile_create' filepath='../lib/librte_pipeline/rte_table_action.c' line='2382' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_table_action_profile_create@@EXPERIMENTAL'>
+      <parameter type-id='type-id-250' name='common' filepath='../lib/librte_pipeline/rte_table_action.c' line='2382' column='1'/>
+      <return type-id='type-id-249'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_port.dump b/lib/.abi/librte_port.dump
new file mode 100644
index 000000000..ed8ad2714
--- /dev/null
+++ b/lib/.abi/librte_port.dump
@@ -0,0 +1,567 @@
+<abi-corpus path='gcc//lib/librte_port.so.20.0' architecture='elf-amd-x86_64' soname='librte_port.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_sched.so.20.0'/>
+    <dependency name='librte_ip_frag.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='librte_eventdev.so.20.0'/>
+    <dependency name='librte_timer.so.20.0'/>
+    <dependency name='librte_kni.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='libpcap.so.1'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-variable-symbols>
+    <elf-symbol name='rte_port_ethdev_reader_ops' size='32' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_port_ethdev_writer_nodrop_ops' size='48' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_port_ethdev_writer_ops' size='48' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_port_eventdev_reader_ops' size='32' version='EXPERIMENTAL' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_port_eventdev_writer_nodrop_ops' size='48' version='EXPERIMENTAL' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_port_eventdev_writer_ops' size='48' version='EXPERIMENTAL' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_port_fd_reader_ops' size='32' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_port_fd_writer_nodrop_ops' size='48' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_port_fd_writer_ops' size='48' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_port_kni_reader_ops' size='32' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_port_kni_writer_nodrop_ops' size='48' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_port_kni_writer_ops' size='48' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_port_ring_multi_reader_ops' size='32' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_port_ring_multi_writer_nodrop_ops' size='48' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_port_ring_multi_writer_ops' size='48' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_port_ring_reader_ipv4_frag_ops' size='32' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_port_ring_reader_ipv6_frag_ops' size='32' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_port_ring_reader_ops' size='32' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_port_ring_writer_ipv4_ras_ops' size='48' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_port_ring_writer_ipv6_ras_ops' size='48' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_port_ring_writer_nodrop_ops' size='48' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_port_ring_writer_ops' size='48' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_port_sched_reader_ops' size='32' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_port_sched_writer_ops' size='48' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_port_sink_ops' size='48' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_port_source_ops' size='32' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_port_sym_crypto_reader_ops' size='32' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_port_sym_crypto_writer_nodrop_ops' size='48' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_port_sym_crypto_writer_ops' size='48' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_port/rte_port_ethdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_port_in_ops' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_port/rte_port.h' line='119' column='1' id='type-id-1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='f_create' type-id='type-id-2' visibility='default' filepath='../lib/librte_port/rte_port.h' line='120' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='f_free' type-id='type-id-3' visibility='default' filepath='../lib/librte_port/rte_port.h' line='121' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='f_rx' type-id='type-id-4' visibility='default' filepath='../lib/librte_port/rte_port.h' line='122' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='f_stats' type-id='type-id-5' visibility='default' filepath='../lib/librte_port/rte_port.h' line='123' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='void' id='type-id-6'/>
+    <pointer-type-def type-id='type-id-6' size-in-bits='64' id='type-id-7'/>
+    <type-decl name='int' size-in-bits='32' id='type-id-8'/>
+    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-10'/>
+    <typedef-decl name='rte_port_in_op_create' type-id='type-id-10' filepath='../lib/librte_port/rte_port.h' line='71' column='1' id='type-id-2'/>
+    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-12'/>
+    <typedef-decl name='rte_port_in_op_free' type-id='type-id-12' filepath='../lib/librte_port/rte_port.h' line='81' column='1' id='type-id-3'/>
+    <class-decl name='rte_mbuf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='480' column='1' id='type-id-13'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheline0' type-id='type-id-14' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-7' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-15' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rearm_data' type-id='type-id-16' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='497' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_off' type-id='type-id-17' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_segs' type-id='type-id-17' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='port' type-id='type-id-17' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ol_flags' type-id='type-id-18' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_descriptor_fields1' type-id='type-id-14' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='pkt_len' type-id='type-id-19' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data_len' type-id='type-id-17' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='vlan_tci' type-id='type-id-17' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vlan_tci_outer' type-id='type-id-17' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='buf_len' type-id='type-id-17' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='timestamp' type-id='type-id-18' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cacheline1' type-id='type-id-14' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='pool' type-id='type-id-20' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='next' type-id='type-id-21' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv_size' type-id='type-id-17' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='timesync' type-id='type-id-17' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='seqn' type-id='type-id-19' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='shinfo' type-id='type-id-22' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dynfield1' type-id='type-id-23' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-24'/>
+
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='infinite' id='type-id-25'>
+      <subrange length='infinite' type-id='type-id-24' id='type-id-26'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER' type-id='type-id-25' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='414' column='1' id='type-id-14'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='491' column='1' id='type-id-15'>
+      <data-member access='private'>
+        <var-decl name='buf_iova' type-id='type-id-27' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='buf_physaddr' type-id='type-id-27' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='__uint64_t' type-id='type-id-24' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-28'/>
+    <typedef-decl name='uint64_t' type-id='type-id-28' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-18'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-18' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-27'/>
+
+    <array-type-def dimensions='1' type-id='type-id-18' size-in-bits='infinite' id='type-id-29'>
+      <subrange length='infinite' type-id='type-id-24' id='type-id-26'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER64' type-id='type-id-29' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='420' column='1' id='type-id-16'/>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-30'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-30' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-31'/>
+    <typedef-decl name='uint16_t' type-id='type-id-31' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-17'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-32'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-32' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-33'/>
+    <typedef-decl name='uint32_t' type-id='type-id-33' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-19'/>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-34'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-35' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-36' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-7' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-37' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-8' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-19' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-19' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-19' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-19' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-19' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-38' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-19' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-40' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-19' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-41' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-42'/>
+
+    <array-type-def dimensions='1' type-id='type-id-42' size-in-bits='256' id='type-id-35'>
+      <subrange length='32' type-id='type-id-24' id='type-id-43'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-36'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-7' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-18' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-44'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-35' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-45' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-46' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-18' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-38' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-45'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-47' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-27' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-18' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-47'/>
+    <typedef-decl name='size_t' type-id='type-id-24' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-46'/>
+    <typedef-decl name='__int32_t' type-id='type-id-8' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-48'/>
+    <typedef-decl name='int32_t' type-id='type-id-48' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-38'/>
+    <qualified-type-def type-id='type-id-44' const='yes' id='type-id-49'/>
+    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-37'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-50'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-19' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-19' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-19' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-51' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='98304' id='type-id-51'>
+      <subrange length='1536' type-id='type-id-24' id='type-id-52'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-50' size-in-bits='64' id='type-id-39'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-40'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-53' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-54' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-55'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-56' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-20' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-57' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-56'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-53' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-55' size-in-bits='64' id='type-id-53'/>
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-20'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-57'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-27' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-47' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-54'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-41'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-58' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-59' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-60'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-61' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-20' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-7' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-62' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-46' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-63' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-7' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-61'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-58' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-58'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-62'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-27' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-47' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-64' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-65'/>
+    <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-63'/>
+    <pointer-type-def type-id='type-id-58' size-in-bits='64' id='type-id-59'/>
+    <pointer-type-def type-id='type-id-13' size-in-bits='64' id='type-id-21'/>
+    <class-decl name='rte_mbuf_ext_shared_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='689' column='1' id='type-id-66'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_cb' type-id='type-id-67' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcb_opaque' type-id='type-id-7' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt_atomic' type-id='type-id-68' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-69' size-in-bits='64' id='type-id-70'/>
+    <typedef-decl name='rte_mbuf_extbuf_free_callback_t' type-id='type-id-70' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='684' column='1' id='type-id-67'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-68' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-71'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-72' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-73'/>
+    <typedef-decl name='__int16_t' type-id='type-id-73' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-74'/>
+    <typedef-decl name='int16_t' type-id='type-id-74' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-75'/>
+    <qualified-type-def type-id='type-id-75' volatile='yes' id='type-id-72'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-71' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-68'/>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-22'/>
+
+    <array-type-def dimensions='1' type-id='type-id-18' size-in-bits='128' id='type-id-23'>
+      <subrange length='2' type-id='type-id-24' id='type-id-76'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-77'/>
+    <pointer-type-def type-id='type-id-78' size-in-bits='64' id='type-id-79'/>
+    <typedef-decl name='rte_port_in_op_rx' type-id='type-id-79' filepath='../lib/librte_port/rte_port.h' line='95' column='1' id='type-id-4'/>
+    <class-decl name='rte_port_in_stats' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_port/rte_port.h' line='56' column='1' id='type-id-80'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n_pkts_in' type-id='type-id-18' visibility='default' filepath='../lib/librte_port/rte_port.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='n_pkts_drop' type-id='type-id-18' visibility='default' filepath='../lib/librte_port/rte_port.h' line='58' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-80' size-in-bits='64' id='type-id-81'/>
+    <pointer-type-def type-id='type-id-82' size-in-bits='64' id='type-id-83'/>
+    <typedef-decl name='rte_port_in_op_stats_read' type-id='type-id-83' filepath='../lib/librte_port/rte_port.h' line='113' column='1' id='type-id-5'/>
+    <var-decl name='rte_port_ethdev_reader_ops' type-id='type-id-1' mangled-name='rte_port_ethdev_reader_ops' visibility='default' filepath='../lib/librte_port/rte_port_ethdev.h' line='35' column='1' elf-symbol-id='rte_port_ethdev_reader_ops@@DPDK_20.0'/>
+    <class-decl name='rte_port_out_ops' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_port/rte_port.h' line='221' column='1' id='type-id-84'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='f_create' type-id='type-id-85' visibility='default' filepath='../lib/librte_port/rte_port.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='f_free' type-id='type-id-86' visibility='default' filepath='../lib/librte_port/rte_port.h' line='223' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='f_tx' type-id='type-id-87' visibility='default' filepath='../lib/librte_port/rte_port.h' line='224' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='f_tx_bulk' type-id='type-id-88' visibility='default' filepath='../lib/librte_port/rte_port.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='f_flush' type-id='type-id-89' visibility='default' filepath='../lib/librte_port/rte_port.h' line='226' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='f_stats' type-id='type-id-90' visibility='default' filepath='../lib/librte_port/rte_port.h' line='227' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='rte_port_out_op_create' type-id='type-id-10' filepath='../lib/librte_port/rte_port.h' line='146' column='1' id='type-id-85'/>
+    <typedef-decl name='rte_port_out_op_free' type-id='type-id-12' filepath='../lib/librte_port/rte_port.h' line='156' column='1' id='type-id-86'/>
+    <pointer-type-def type-id='type-id-91' size-in-bits='64' id='type-id-92'/>
+    <typedef-decl name='rte_port_out_op_tx' type-id='type-id-92' filepath='../lib/librte_port/rte_port.h' line='168' column='1' id='type-id-87'/>
+    <pointer-type-def type-id='type-id-93' size-in-bits='64' id='type-id-94'/>
+    <typedef-decl name='rte_port_out_op_tx_bulk' type-id='type-id-94' filepath='../lib/librte_port/rte_port.h' line='187' column='1' id='type-id-88'/>
+    <typedef-decl name='rte_port_out_op_flush' type-id='type-id-12' filepath='../lib/librte_port/rte_port.h' line='200' column='1' id='type-id-89'/>
+    <class-decl name='rte_port_out_stats' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_port/rte_port.h' line='131' column='1' id='type-id-95'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n_pkts_in' type-id='type-id-18' visibility='default' filepath='../lib/librte_port/rte_port.h' line='132' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='n_pkts_drop' type-id='type-id-18' visibility='default' filepath='../lib/librte_port/rte_port.h' line='133' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-95' size-in-bits='64' id='type-id-96'/>
+    <pointer-type-def type-id='type-id-97' size-in-bits='64' id='type-id-98'/>
+    <typedef-decl name='rte_port_out_op_stats_read' type-id='type-id-98' filepath='../lib/librte_port/rte_port.h' line='215' column='1' id='type-id-90'/>
+    <var-decl name='rte_port_ethdev_writer_ops' type-id='type-id-84' mangled-name='rte_port_ethdev_writer_ops' visibility='default' filepath='../lib/librte_port/rte_port_ethdev.h' line='51' column='1' elf-symbol-id='rte_port_ethdev_writer_ops@@DPDK_20.0'/>
+    <var-decl name='rte_port_ethdev_writer_nodrop_ops' type-id='type-id-84' mangled-name='rte_port_ethdev_writer_nodrop_ops' visibility='default' filepath='../lib/librte_port/rte_port_ethdev.h' line='70' column='1' elf-symbol-id='rte_port_ethdev_writer_nodrop_ops@@DPDK_20.0'/>
+    <function-type size-in-bits='64' id='type-id-11'>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-91'>
+      <parameter type-id='type-id-7'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-78'>
+      <parameter type-id='type-id-7'/>
+      <parameter type-id='type-id-77'/>
+      <parameter type-id='type-id-19'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-93'>
+      <parameter type-id='type-id-7'/>
+      <parameter type-id='type-id-77'/>
+      <parameter type-id='type-id-18'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-82'>
+      <parameter type-id='type-id-7'/>
+      <parameter type-id='type-id-81'/>
+      <parameter type-id='type-id-8'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-97'>
+      <parameter type-id='type-id-7'/>
+      <parameter type-id='type-id-96'/>
+      <parameter type-id='type-id-8'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-64'>
+      <parameter type-id='type-id-58'/>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-6'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-69'>
+      <parameter type-id='type-id-7'/>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-6'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-9'>
+      <parameter type-id='type-id-7'/>
+      <parameter type-id='type-id-8'/>
+      <return type-id='type-id-7'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_port/rte_port_fd.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='rte_port_fd_reader_ops' type-id='type-id-1' mangled-name='rte_port_fd_reader_ops' visibility='default' filepath='../lib/librte_port/rte_port_fd.h' line='39' column='1' elf-symbol-id='rte_port_fd_reader_ops@@DPDK_20.0'/>
+    <var-decl name='rte_port_fd_writer_ops' type-id='type-id-84' mangled-name='rte_port_fd_writer_ops' visibility='default' filepath='../lib/librte_port/rte_port_fd.h' line='53' column='1' elf-symbol-id='rte_port_fd_writer_ops@@DPDK_20.0'/>
+    <var-decl name='rte_port_fd_writer_nodrop_ops' type-id='type-id-84' mangled-name='rte_port_fd_writer_nodrop_ops' visibility='default' filepath='../lib/librte_port/rte_port_fd.h' line='70' column='1' elf-symbol-id='rte_port_fd_writer_nodrop_ops@@DPDK_20.0'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_port/rte_port_frag.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='rte_port_ring_reader_ipv4_frag_ops' type-id='type-id-1' mangled-name='rte_port_ring_reader_ipv4_frag_ops' visibility='default' filepath='../lib/librte_port/rte_port_frag.h' line='63' column='1' elf-symbol-id='rte_port_ring_reader_ipv4_frag_ops@@DPDK_20.0'/>
+    <var-decl name='rte_port_ring_reader_ipv6_frag_ops' type-id='type-id-1' mangled-name='rte_port_ring_reader_ipv6_frag_ops' visibility='default' filepath='../lib/librte_port/rte_port_frag.h' line='66' column='1' elf-symbol-id='rte_port_ring_reader_ipv6_frag_ops@@DPDK_20.0'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_port/rte_port_ras.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='rte_port_ring_writer_ipv4_ras_ops' type-id='type-id-84' mangled-name='rte_port_ring_writer_ipv4_ras_ops' visibility='default' filepath='../lib/librte_port/rte_port_ras.h' line='52' column='1' elf-symbol-id='rte_port_ring_writer_ipv4_ras_ops@@DPDK_20.0'/>
+    <var-decl name='rte_port_ring_writer_ipv6_ras_ops' type-id='type-id-84' mangled-name='rte_port_ring_writer_ipv6_ras_ops' visibility='default' filepath='../lib/librte_port/rte_port_ras.h' line='55' column='1' elf-symbol-id='rte_port_ring_writer_ipv6_ras_ops@@DPDK_20.0'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_port/rte_port_ring.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='rte_port_ring_reader_ops' type-id='type-id-1' mangled-name='rte_port_ring_reader_ops' visibility='default' filepath='../lib/librte_port/rte_port_ring.h' line='40' column='1' elf-symbol-id='rte_port_ring_reader_ops@@DPDK_20.0'/>
+    <var-decl name='rte_port_ring_writer_ops' type-id='type-id-84' mangled-name='rte_port_ring_writer_ops' visibility='default' filepath='../lib/librte_port/rte_port_ring.h' line='53' column='1' elf-symbol-id='rte_port_ring_writer_ops@@DPDK_20.0'/>
+    <var-decl name='rte_port_ring_writer_nodrop_ops' type-id='type-id-84' mangled-name='rte_port_ring_writer_nodrop_ops' visibility='default' filepath='../lib/librte_port/rte_port_ring.h' line='69' column='1' elf-symbol-id='rte_port_ring_writer_nodrop_ops@@DPDK_20.0'/>
+    <var-decl name='rte_port_ring_multi_reader_ops' type-id='type-id-1' mangled-name='rte_port_ring_multi_reader_ops' visibility='default' filepath='../lib/librte_port/rte_port_ring.h' line='75' column='1' elf-symbol-id='rte_port_ring_multi_reader_ops@@DPDK_20.0'/>
+    <var-decl name='rte_port_ring_multi_writer_ops' type-id='type-id-84' mangled-name='rte_port_ring_multi_writer_ops' visibility='default' filepath='../lib/librte_port/rte_port_ring.h' line='81' column='1' elf-symbol-id='rte_port_ring_multi_writer_ops@@DPDK_20.0'/>
+    <var-decl name='rte_port_ring_multi_writer_nodrop_ops' type-id='type-id-84' mangled-name='rte_port_ring_multi_writer_nodrop_ops' visibility='default' filepath='../lib/librte_port/rte_port_ring.h' line='88' column='1' elf-symbol-id='rte_port_ring_multi_writer_nodrop_ops@@DPDK_20.0'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_port/rte_port_sched.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='rte_port_sched_reader_ops' type-id='type-id-1' mangled-name='rte_port_sched_reader_ops' visibility='default' filepath='../lib/librte_port/rte_port_sched.h' line='34' column='1' elf-symbol-id='rte_port_sched_reader_ops@@DPDK_20.0'/>
+    <var-decl name='rte_port_sched_writer_ops' type-id='type-id-84' mangled-name='rte_port_sched_writer_ops' visibility='default' filepath='../lib/librte_port/rte_port_sched.h' line='47' column='1' elf-symbol-id='rte_port_sched_writer_ops@@DPDK_20.0'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_port/rte_port_source_sink.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='rte_port_source_ops' type-id='type-id-1' mangled-name='rte_port_source_ops' visibility='default' filepath='../lib/librte_port/rte_port_source_sink.h' line='38' column='1' elf-symbol-id='rte_port_source_ops@@DPDK_20.0'/>
+    <var-decl name='rte_port_sink_ops' type-id='type-id-84' mangled-name='rte_port_sink_ops' visibility='default' filepath='../lib/librte_port/rte_port_source_sink.h' line='52' column='1' elf-symbol-id='rte_port_sink_ops@@DPDK_20.0'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_port/rte_port_sym_crypto.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='rte_port_sym_crypto_reader_ops' type-id='type-id-1' mangled-name='rte_port_sym_crypto_reader_ops' visibility='default' filepath='../lib/librte_port/rte_port_sym_crypto.h' line='47' column='1' elf-symbol-id='rte_port_sym_crypto_reader_ops@@DPDK_20.0'/>
+    <var-decl name='rte_port_sym_crypto_writer_ops' type-id='type-id-84' mangled-name='rte_port_sym_crypto_writer_ops' visibility='default' filepath='../lib/librte_port/rte_port_sym_crypto.h' line='66' column='1' elf-symbol-id='rte_port_sym_crypto_writer_ops@@DPDK_20.0'/>
+    <var-decl name='rte_port_sym_crypto_writer_nodrop_ops' type-id='type-id-84' mangled-name='rte_port_sym_crypto_writer_nodrop_ops' visibility='default' filepath='../lib/librte_port/rte_port_sym_crypto.h' line='87' column='1' elf-symbol-id='rte_port_sym_crypto_writer_nodrop_ops@@DPDK_20.0'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_port/rte_port_eventdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='rte_port_eventdev_reader_ops' type-id='type-id-1' mangled-name='rte_port_eventdev_reader_ops' visibility='default' filepath='../lib/librte_port/rte_port_eventdev.h' line='42' column='1' elf-symbol-id='rte_port_eventdev_reader_ops@@EXPERIMENTAL'/>
+    <var-decl name='rte_port_eventdev_writer_ops' type-id='type-id-84' mangled-name='rte_port_eventdev_writer_ops' visibility='default' filepath='../lib/librte_port/rte_port_eventdev.h' line='66' column='1' elf-symbol-id='rte_port_eventdev_writer_ops@@EXPERIMENTAL'/>
+    <var-decl name='rte_port_eventdev_writer_nodrop_ops' type-id='type-id-84' mangled-name='rte_port_eventdev_writer_nodrop_ops' visibility='default' filepath='../lib/librte_port/rte_port_eventdev.h' line='93' column='1' elf-symbol-id='rte_port_eventdev_writer_nodrop_ops@@EXPERIMENTAL'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_port/rte_port_kni.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='rte_port_kni_reader_ops' type-id='type-id-1' mangled-name='rte_port_kni_reader_ops' visibility='default' filepath='../lib/librte_port/rte_port_kni.h' line='35' column='1' elf-symbol-id='rte_port_kni_reader_ops@@DPDK_20.0'/>
+    <var-decl name='rte_port_kni_writer_ops' type-id='type-id-84' mangled-name='rte_port_kni_writer_ops' visibility='default' filepath='../lib/librte_port/rte_port_kni.h' line='47' column='1' elf-symbol-id='rte_port_kni_writer_ops@@DPDK_20.0'/>
+    <var-decl name='rte_port_kni_writer_nodrop_ops' type-id='type-id-84' mangled-name='rte_port_kni_writer_nodrop_ops' visibility='default' filepath='../lib/librte_port/rte_port_kni.h' line='60' column='1' elf-symbol-id='rte_port_kni_writer_nodrop_ops@@DPDK_20.0'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_power.dump b/lib/.abi/librte_power.dump
new file mode 100644
index 000000000..1618e6a9c
--- /dev/null
+++ b/lib/.abi/librte_power.dump
@@ -0,0 +1,490 @@
+<abi-corpus path='gcc//lib/librte_power.so.20.0' architecture='elf-amd-x86_64' soname='librte_power.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_timer.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_empty_poll_detection' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_power_empty_poll_stat_fetch' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_power_empty_poll_stat_free' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_power_empty_poll_stat_init' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_power_empty_poll_stat_update' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_power_exit' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_power_get_env' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_power_guest_channel_receive_msg' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_power_guest_channel_send_msg' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_power_init' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_power_poll_stat_fetch' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_power_poll_stat_update' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_power_set_env' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_power_unset_env' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <elf-variable-symbols>
+    <elf-symbol name='rte_power_freq_disable_turbo' size='8' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_power_freq_down' size='8' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_power_freq_enable_turbo' size='8' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_power_freq_max' size='8' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_power_freq_min' size='8' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_power_freq_up' size='8' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_power_freqs' size='8' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_power_get_capabilities' size='8' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_power_get_freq' size='8' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_power_set_freq' size='8' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_power_turbo_status' size='8' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_power/rte_power.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-1'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-2'/>
+    <typedef-decl name='uint32_t' type-id='type-id-2' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-3'/>
+    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-4'/>
+    <pointer-type-def type-id='type-id-5' size-in-bits='64' id='type-id-6'/>
+    <typedef-decl name='rte_power_freqs_t' type-id='type-id-6' filepath='../lib/librte_power/rte_power.h' line='97' column='1' id='type-id-7'/>
+    <var-decl name='rte_power_freqs' type-id='type-id-7' mangled-name='rte_power_freqs' visibility='default' filepath='../lib/librte_power/rte_power.h' line='100' column='1' elf-symbol-id='rte_power_freqs@@DPDK_20.0'/>
+    <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-9'/>
+    <typedef-decl name='rte_power_get_freq_t' type-id='type-id-9' filepath='../lib/librte_power/rte_power.h' line='113' column='1' id='type-id-10'/>
+    <var-decl name='rte_power_get_freq' type-id='type-id-10' mangled-name='rte_power_get_freq' visibility='default' filepath='../lib/librte_power/rte_power.h' line='115' column='1' elf-symbol-id='rte_power_get_freq@@DPDK_20.0'/>
+    <type-decl name='int' size-in-bits='32' id='type-id-11'/>
+    <pointer-type-def type-id='type-id-12' size-in-bits='64' id='type-id-13'/>
+    <typedef-decl name='rte_power_set_freq_t' type-id='type-id-13' filepath='../lib/librte_power/rte_power.h' line='133' column='1' id='type-id-14'/>
+    <var-decl name='rte_power_set_freq' type-id='type-id-14' mangled-name='rte_power_set_freq' visibility='default' filepath='../lib/librte_power/rte_power.h' line='135' column='1' elf-symbol-id='rte_power_set_freq@@DPDK_20.0'/>
+    <pointer-type-def type-id='type-id-15' size-in-bits='64' id='type-id-16'/>
+    <typedef-decl name='rte_power_freq_change_t' type-id='type-id-16' filepath='../lib/librte_power/rte_power.h' line='149' column='1' id='type-id-17'/>
+    <var-decl name='rte_power_freq_up' type-id='type-id-17' mangled-name='rte_power_freq_up' visibility='default' filepath='../lib/librte_power/rte_power.h' line='164' column='1' elf-symbol-id='rte_power_freq_up@@DPDK_20.0'/>
+    <var-decl name='rte_power_freq_down' type-id='type-id-17' mangled-name='rte_power_freq_down' visibility='default' filepath='../lib/librte_power/rte_power.h' line='180' column='1' elf-symbol-id='rte_power_freq_down@@DPDK_20.0'/>
+    <var-decl name='rte_power_freq_max' type-id='type-id-17' mangled-name='rte_power_freq_max' visibility='default' filepath='../lib/librte_power/rte_power.h' line='195' column='1' elf-symbol-id='rte_power_freq_max@@DPDK_20.0'/>
+    <var-decl name='rte_power_freq_min' type-id='type-id-17' mangled-name='rte_power_freq_min' visibility='default' filepath='../lib/librte_power/rte_power.h' line='210' column='1' elf-symbol-id='rte_power_freq_min@@DPDK_20.0'/>
+    <var-decl name='rte_power_turbo_status' type-id='type-id-17' mangled-name='rte_power_turbo_status' visibility='default' filepath='../lib/librte_power/rte_power.h' line='224' column='1' elf-symbol-id='rte_power_turbo_status@@DPDK_20.0'/>
+    <var-decl name='rte_power_freq_enable_turbo' type-id='type-id-17' mangled-name='rte_power_freq_enable_turbo' visibility='default' filepath='../lib/librte_power/rte_power.h' line='237' column='1' elf-symbol-id='rte_power_freq_enable_turbo@@DPDK_20.0'/>
+    <var-decl name='rte_power_freq_disable_turbo' type-id='type-id-17' mangled-name='rte_power_freq_disable_turbo' visibility='default' filepath='../lib/librte_power/rte_power.h' line='250' column='1' elf-symbol-id='rte_power_freq_disable_turbo@@DPDK_20.0'/>
+    <class-decl name='rte_power_core_capabilities' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_power/rte_power.h' line='255' column='1' id='type-id-18'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-19' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_power/rte_power.h' line='257' column='1' id='type-id-19'>
+      <data-member access='private'>
+        <var-decl name='capabilities' type-id='type-id-20' visibility='default' filepath='../lib/librte_power/rte_power.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-21' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-22'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-22' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-23'/>
+    <typedef-decl name='uint64_t' type-id='type-id-23' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-20'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_power/rte_power.h' line='260' column='1' id='type-id-21'>
+      <data-member access='public' layout-offset-in-bits='63'>
+        <var-decl name='turbo' type-id='type-id-20' visibility='default' filepath='../lib/librte_power/rte_power.h' line='261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='62'>
+        <var-decl name='priority' type-id='type-id-20' visibility='default' filepath='../lib/librte_power/rte_power.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-24'/>
+    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-26'/>
+    <typedef-decl name='rte_power_get_capabilities_t' type-id='type-id-26' filepath='../lib/librte_power/rte_power.h' line='281' column='1' id='type-id-27'/>
+    <var-decl name='rte_power_get_capabilities' type-id='type-id-27' mangled-name='rte_power_get_capabilities' visibility='default' filepath='../lib/librte_power/rte_power.h' line='284' column='1' elf-symbol-id='rte_power_get_capabilities@@DPDK_20.0'/>
+    <function-decl name='rte_power_exit' mangled-name='rte_power_exit' filepath='../lib/librte_power/rte_power.c' line='171' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_power_exit@@DPDK_20.0'>
+      <parameter type-id='type-id-1' name='lcore_id' filepath='../lib/librte_power/rte_power.c' line='171' column='1'/>
+      <return type-id='type-id-11'/>
+    </function-decl>
+    <function-decl name='rte_power_init' mangled-name='rte_power_init' filepath='../lib/librte_power/rte_power.c' line='128' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_power_init@@DPDK_20.0'>
+      <parameter type-id='type-id-1' name='lcore_id' filepath='../lib/librte_power/rte_power.c' line='128' column='1'/>
+      <return type-id='type-id-11'/>
+    </function-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-28'/>
+    <enum-decl name='power_management_env' filepath='../lib/librte_power/rte_power.h' line='23' column='1' id='type-id-29'>
+      <underlying-type type-id='type-id-28'/>
+      <enumerator name='PM_ENV_NOT_SET' value='0'/>
+      <enumerator name='PM_ENV_ACPI_CPUFREQ' value='1'/>
+      <enumerator name='PM_ENV_KVM_VM' value='2'/>
+      <enumerator name='PM_ENV_PSTATE_CPUFREQ' value='3'/>
+    </enum-decl>
+    <function-decl name='rte_power_get_env' mangled-name='rte_power_get_env' filepath='../lib/librte_power/rte_power.c' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_power_get_env@@DPDK_20.0'>
+      <return type-id='type-id-29'/>
+    </function-decl>
+    <type-decl name='void' id='type-id-30'/>
+    <function-decl name='rte_power_unset_env' mangled-name='rte_power_unset_env' filepath='../lib/librte_power/rte_power.c' line='114' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_power_unset_env@@DPDK_20.0'>
+      <return type-id='type-id-30'/>
+    </function-decl>
+    <function-decl name='rte_power_set_env' mangled-name='rte_power_set_env' filepath='../lib/librte_power/rte_power.c' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_power_set_env@@DPDK_20.0'>
+      <parameter type-id='type-id-29' name='env' filepath='../lib/librte_power/rte_power.c' line='47' column='1'/>
+      <return type-id='type-id-11'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-15'>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-11'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-25'>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-24'/>
+      <return type-id='type-id-11'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-12'>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-3'/>
+      <return type-id='type-id-11'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-8'>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-5'>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-3'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_power/guest_channel.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='channel_packet' size-in-bits='3712' is-struct='yes' visibility='default' filepath='../lib/librte_power/channel_commands.h' line='81' column='1' id='type-id-31'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='resource_id' type-id='type-id-20' visibility='default' filepath='../lib/librte_power/channel_commands.h' line='82' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='unit' type-id='type-id-3' visibility='default' filepath='../lib/librte_power/channel_commands.h' line='83' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='command' type-id='type-id-3' visibility='default' filepath='../lib/librte_power/channel_commands.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vm_name' type-id='type-id-32' visibility='default' filepath='../lib/librte_power/channel_commands.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='vfid' type-id='type-id-33' visibility='default' filepath='../lib/librte_power/channel_commands.h' line='87' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mac_to_monitor' type-id='type-id-11' visibility='default' filepath='../lib/librte_power/channel_commands.h' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1056'>
+        <var-decl name='traffic_policy' type-id='type-id-34' visibility='default' filepath='../lib/librte_power/channel_commands.h' line='89' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='vcpu_to_control' type-id='type-id-35' visibility='default' filepath='../lib/librte_power/channel_commands.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='num_vcpu' type-id='type-id-36' visibility='default' filepath='../lib/librte_power/channel_commands.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1248'>
+        <var-decl name='timer_policy' type-id='type-id-37' visibility='default' filepath='../lib/librte_power/channel_commands.h' line='92' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3552'>
+        <var-decl name='core_type' type-id='type-id-38' visibility='default' filepath='../lib/librte_power/channel_commands.h' line='93' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='workload' type-id='type-id-39' visibility='default' filepath='../lib/librte_power/channel_commands.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3616'>
+        <var-decl name='policy_to_use' type-id='type-id-40' visibility='default' filepath='../lib/librte_power/channel_commands.h' line='95' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3648'>
+        <var-decl name='t_boost_status' type-id='type-id-41' visibility='default' filepath='../lib/librte_power/channel_commands.h' line='96' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-42'/>
+
+    <array-type-def dimensions='1' type-id='type-id-42' size-in-bits='256' id='type-id-32'>
+      <subrange length='32' type-id='type-id-22' id='type-id-43'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-20' size-in-bits='640' id='type-id-33'>
+      <subrange length='10' type-id='type-id-22' id='type-id-44'/>
+
+    </array-type-def>
+    <class-decl name='traffic' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_power/channel_commands.h' line='72' column='1' id='type-id-34'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='min_packet_thresh' type-id='type-id-3' visibility='default' filepath='../lib/librte_power/channel_commands.h' line='73' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='avg_max_packet_thresh' type-id='type-id-3' visibility='default' filepath='../lib/librte_power/channel_commands.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='max_max_packet_thresh' type-id='type-id-3' visibility='default' filepath='../lib/librte_power/channel_commands.h' line='75' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-45'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-45' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-46'/>
+    <typedef-decl name='uint8_t' type-id='type-id-46' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-36'/>
+
+    <array-type-def dimensions='1' type-id='type-id-36' size-in-bits='64' id='type-id-35'>
+      <subrange length='8' type-id='type-id-22' id='type-id-47'/>
+
+    </array-type-def>
+    <class-decl name='timer_profile' size-in-bits='2304' is-struct='yes' visibility='default' filepath='../lib/librte_power/channel_commands.h' line='58' column='1' id='type-id-37'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='busy_hours' type-id='type-id-48' visibility='default' filepath='../lib/librte_power/channel_commands.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='quiet_hours' type-id='type-id-48' visibility='default' filepath='../lib/librte_power/channel_commands.h' line='60' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='hours_to_use_traffic_profile' type-id='type-id-48' visibility='default' filepath='../lib/librte_power/channel_commands.h' line='61' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='768' id='type-id-48'>
+      <subrange length='24' type-id='type-id-22' id='type-id-49'/>
+
+    </array-type-def>
+    <type-decl name='bool' size-in-bits='8' id='type-id-38'/>
+    <enum-decl name='workload' filepath='../lib/librte_power/channel_commands.h' line='64' column='1' id='type-id-39'>
+      <underlying-type type-id='type-id-28'/>
+      <enumerator name='HIGH' value='0'/>
+      <enumerator name='MEDIUM' value='1'/>
+      <enumerator name='LOW' value='2'/>
+    </enum-decl>
+    <enum-decl name='policy_to_use' filepath='../lib/librte_power/channel_commands.h' line='65' column='1' id='type-id-40'>
+      <underlying-type type-id='type-id-28'/>
+      <enumerator name='TRAFFIC' value='0'/>
+      <enumerator name='TIME' value='1'/>
+      <enumerator name='WORKLOAD' value='2'/>
+      <enumerator name='BRANCH_RATIO' value='3'/>
+    </enum-decl>
+    <class-decl name='t_boost_status' size-in-bits='8' is-struct='yes' visibility='default' filepath='../lib/librte_power/channel_commands.h' line='54' column='1' id='type-id-41'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tbEnabled' type-id='type-id-38' visibility='default' filepath='../lib/librte_power/channel_commands.h' line='55' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-50'/>
+    <function-decl name='rte_power_guest_channel_send_msg' mangled-name='rte_power_guest_channel_send_msg' filepath='../lib/librte_power/guest_channel.c' line='126' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_power_guest_channel_send_msg@@DPDK_20.0'>
+      <parameter type-id='type-id-50' name='pkt' filepath='../lib/librte_power/guest_channel.c' line='126' column='1'/>
+      <parameter type-id='type-id-1' name='lcore_id' filepath='../lib/librte_power/guest_channel.c' line='127' column='1'/>
+      <return type-id='type-id-11'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-51'/>
+    <typedef-decl name='size_t' type-id='type-id-22' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-52'/>
+    <function-decl name='rte_power_guest_channel_receive_msg' mangled-name='rte_power_guest_channel_receive_msg' filepath='../lib/librte_power/guest_channel.c' line='187' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_power_guest_channel_receive_msg@@EXPERIMENTAL'>
+      <parameter type-id='type-id-51' name='pkt' filepath='../lib/librte_power/guest_channel.c' line='187' column='1'/>
+      <parameter type-id='type-id-52' name='pkt_len' filepath='../lib/librte_power/guest_channel.c' line='188' column='1'/>
+      <parameter type-id='type-id-1' name='lcore_id' filepath='../lib/librte_power/guest_channel.c' line='189' column='1'/>
+      <return type-id='type-id-11'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_power/rte_power_empty_poll.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_timer' size-in-bits='960' is-struct='yes' visibility='default' filepath='../lib/librte_timer/rte_timer.h' line='100' column='1' id='type-id-53'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='expire' type-id='type-id-20' visibility='default' filepath='../lib/librte_timer/rte_timer.h' line='102' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='sl_next' type-id='type-id-54' visibility='default' filepath='../lib/librte_timer/rte_timer.h' line='103' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='status' type-id='type-id-55' visibility='default' filepath='../lib/librte_timer/rte_timer.h' line='104' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='period' type-id='type-id-20' visibility='default' filepath='../lib/librte_timer/rte_timer.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='f' type-id='type-id-56' visibility='default' filepath='../lib/librte_timer/rte_timer.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='arg' type-id='type-id-51' visibility='default' filepath='../lib/librte_timer/rte_timer.h' line='107' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-57'/>
+
+    <array-type-def dimensions='1' type-id='type-id-57' size-in-bits='640' id='type-id-54'>
+      <subrange length='10' type-id='type-id-22' id='type-id-44'/>
+
+    </array-type-def>
+    <union-decl name='rte_timer_status' size-in-bits='32' visibility='default' filepath='../lib/librte_timer/rte_timer.h' line='67' column='1' id='type-id-58'>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-59' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='u32' type-id='type-id-3' visibility='default' filepath='../lib/librte_timer/rte_timer.h' line='73' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_timer/rte_timer.h' line='69' column='1' id='type-id-59'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='state' type-id='type-id-60' visibility='default' filepath='../lib/librte_timer/rte_timer.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='owner' type-id='type-id-61' visibility='default' filepath='../lib/librte_timer/rte_timer.h' line='71' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-62'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-62' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-63'/>
+    <typedef-decl name='uint16_t' type-id='type-id-63' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-60'/>
+    <type-decl name='short int' size-in-bits='16' id='type-id-64'/>
+    <typedef-decl name='__int16_t' type-id='type-id-64' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-65'/>
+    <typedef-decl name='int16_t' type-id='type-id-65' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-61'/>
+    <qualified-type-def type-id='type-id-58' volatile='yes' id='type-id-55'/>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
+    <typedef-decl name='rte_timer_cb_t' type-id='type-id-67' filepath='../lib/librte_timer/rte_timer.h' line='93' column='1' id='type-id-56'/>
+    <function-decl name='rte_empty_poll_detection' mangled-name='rte_empty_poll_detection' filepath='../lib/librte_power/rte_power_empty_poll.c' line='365' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_empty_poll_detection@@EXPERIMENTAL'>
+      <parameter type-id='type-id-57' name='tim' filepath='../lib/librte_power/rte_power_empty_poll.c' line='365' column='1'/>
+      <parameter type-id='type-id-51' name='arg' filepath='../lib/librte_power/rte_power_empty_poll.c' line='365' column='1'/>
+      <return type-id='type-id-30'/>
+    </function-decl>
+    <function-decl name='rte_power_poll_stat_fetch' mangled-name='rte_power_poll_stat_fetch' filepath='../lib/librte_power/rte_power_empty_poll.c' line='529' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_power_poll_stat_fetch@@EXPERIMENTAL'>
+      <parameter type-id='type-id-1' name='lcore_id' filepath='../lib/librte_power/rte_power_empty_poll.c' line='529' column='1'/>
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <function-decl name='rte_power_empty_poll_stat_fetch' mangled-name='rte_power_empty_poll_stat_fetch' filepath='../lib/librte_power/rte_power_empty_poll.c' line='513' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_power_empty_poll_stat_fetch@@EXPERIMENTAL'>
+      <parameter type-id='type-id-1' name='lcore_id' filepath='../lib/librte_power/rte_power_empty_poll.c' line='529' column='1'/>
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <function-decl name='rte_power_poll_stat_update' mangled-name='rte_power_poll_stat_update' filepath='../lib/librte_power/rte_power_empty_poll.c' line='493' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_power_poll_stat_update@@EXPERIMENTAL'>
+      <parameter type-id='type-id-1' name='lcore_id' filepath='../lib/librte_power/rte_power_empty_poll.c' line='493' column='1'/>
+      <parameter type-id='type-id-36' name='nb_pkt' filepath='../lib/librte_power/rte_power_empty_poll.c' line='493' column='1'/>
+      <return type-id='type-id-11'/>
+    </function-decl>
+    <function-decl name='rte_power_empty_poll_stat_update' mangled-name='rte_power_empty_poll_stat_update' filepath='../lib/librte_power/rte_power_empty_poll.c' line='475' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_power_empty_poll_stat_update@@EXPERIMENTAL'>
+      <parameter type-id='type-id-1' name='lcore_id' filepath='../lib/librte_power/rte_power_empty_poll.c' line='475' column='1'/>
+      <return type-id='type-id-11'/>
+    </function-decl>
+    <function-decl name='rte_power_empty_poll_stat_free' mangled-name='rte_power_empty_poll_stat_free' filepath='../lib/librte_power/rte_power_empty_poll.c' line='465' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_power_empty_poll_stat_free@@EXPERIMENTAL'>
+      <return type-id='type-id-30'/>
+    </function-decl>
+    <class-decl name='ep_params' size-in-bits='3540992' is-struct='yes' visibility='default' filepath='../lib/librte_power/rte_power_empty_poll.h' line='109' column='1' id='type-id-68'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='interval_ticks' type-id='type-id-20' visibility='default' filepath='../lib/librte_power/rte_power_empty_poll.h' line='112' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='max_train_iter' type-id='type-id-3' visibility='default' filepath='../lib/librte_power/rte_power_empty_poll.h' line='113' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='timer0' type-id='type-id-53' visibility='default' filepath='../lib/librte_power/rte_power_empty_poll.h' line='115' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='wrk_data' type-id='type-id-69' visibility='default' filepath='../lib/librte_power/rte_power_empty_poll.h' line='116' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='stats_data' size-in-bits='3539456' is-struct='yes' visibility='default' filepath='../lib/librte_power/rte_power_empty_poll.h' line='99' column='1' id='type-id-69'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='wrk_stats' type-id='type-id-70' visibility='default' filepath='../lib/librte_power/rte_power_empty_poll.h' line='101' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3538944'>
+        <var-decl name='start_rx' type-id='type-id-38' visibility='default' filepath='../lib/librte_power/rte_power_empty_poll.h' line='104' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='priority_worker' size-in-bits='13824' is-struct='yes' visibility='default' filepath='../lib/librte_power/rte_power_empty_poll.h' line='63' column='1' id='type-id-71'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='empty_dequeues' type-id='type-id-20' visibility='default' filepath='../lib/librte_power/rte_power_empty_poll.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='num_dequeue_pkts' type-id='type-id-20' visibility='default' filepath='../lib/librte_power/rte_power_empty_poll.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='queue_state' type-id='type-id-72' visibility='default' filepath='../lib/librte_power/rte_power_empty_poll.h' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='empty_dequeues_prev' type-id='type-id-20' visibility='default' filepath='../lib/librte_power/rte_power_empty_poll.h' line='73' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='num_dequeue_pkts_prev' type-id='type-id-20' visibility='default' filepath='../lib/librte_power/rte_power_empty_poll.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='thresh' type-id='type-id-73' visibility='default' filepath='../lib/librte_power/rte_power_empty_poll.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='12608'>
+        <var-decl name='cur_freq' type-id='type-id-74' visibility='default' filepath='../lib/librte_power/rte_power_empty_poll.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='12672'>
+        <var-decl name='edpi_av' type-id='type-id-75' visibility='default' filepath='../lib/librte_power/rte_power_empty_poll.h' line='82' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='12928'>
+        <var-decl name='ec' type-id='type-id-3' visibility='default' filepath='../lib/librte_power/rte_power_empty_poll.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='12992'>
+        <var-decl name='ppi_av' type-id='type-id-75' visibility='default' filepath='../lib/librte_power/rte_power_empty_poll.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='13248'>
+        <var-decl name='pc' type-id='type-id-3' visibility='default' filepath='../lib/librte_power/rte_power_empty_poll.h' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='13280'>
+        <var-decl name='lcore_id' type-id='type-id-3' visibility='default' filepath='../lib/librte_power/rte_power_empty_poll.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='13312'>
+        <var-decl name='iter_counter' type-id='type-id-3' visibility='default' filepath='../lib/librte_power/rte_power_empty_poll.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='13344'>
+        <var-decl name='threshold_ctr' type-id='type-id-3' visibility='default' filepath='../lib/librte_power/rte_power_empty_poll.h' line='92' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='13376'>
+        <var-decl name='display_ctr' type-id='type-id-3' visibility='default' filepath='../lib/librte_power/rte_power_empty_poll.h' line='93' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='13408'>
+        <var-decl name='dev_id' type-id='type-id-36' visibility='default' filepath='../lib/librte_power/rte_power_empty_poll.h' line='94' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='queue_state' filepath='../lib/librte_power/rte_power_empty_poll.h' line='46' column='1' id='type-id-72'>
+      <underlying-type type-id='type-id-28'/>
+      <enumerator name='TRAINING' value='0'/>
+      <enumerator name='MED_NORMAL' value='1'/>
+      <enumerator name='HGH_BUSY' value='2'/>
+      <enumerator name='LOW_PURGE' value='3'/>
+    </enum-decl>
+    <class-decl name='freq_threshold' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_power/rte_power_empty_poll.h' line='54' column='1' id='type-id-76'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='base_edpi' type-id='type-id-20' visibility='default' filepath='../lib/librte_power/rte_power_empty_poll.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='trained' type-id='type-id-38' visibility='default' filepath='../lib/librte_power/rte_power_empty_poll.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='threshold_percent' type-id='type-id-3' visibility='default' filepath='../lib/librte_power/rte_power_empty_poll.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cur_train_iter' type-id='type-id-3' visibility='default' filepath='../lib/librte_power/rte_power_empty_poll.h' line='59' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-76' size-in-bits='12288' id='type-id-73'>
+      <subrange length='64' type-id='type-id-22' id='type-id-77'/>
+
+    </array-type-def>
+    <enum-decl name='freq_val' filepath='../lib/librte_power/rte_power_empty_poll.h' line='37' column='1' id='type-id-74'>
+      <underlying-type type-id='type-id-28'/>
+      <enumerator name='LOW' value='0'/>
+      <enumerator name='MED' value='1'/>
+      <enumerator name='HGH' value='2'/>
+      <enumerator name='NUM_FREQ' value='64'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-20' size-in-bits='256' id='type-id-75'>
+      <subrange length='4' type-id='type-id-22' id='type-id-78'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-71' size-in-bits='3538944' id='type-id-70'>
+      <subrange length='256' type-id='type-id-22' id='type-id-79'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-68' size-in-bits='64' id='type-id-80'/>
+    <pointer-type-def type-id='type-id-80' size-in-bits='64' id='type-id-81'/>
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-82'/>
+    <class-decl name='ep_policy' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_power/rte_power_empty_poll.h' line='121' column='1' id='type-id-83'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='med_base_edpi' type-id='type-id-20' visibility='default' filepath='../lib/librte_power/rte_power_empty_poll.h' line='123' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='hgh_base_edpi' type-id='type-id-20' visibility='default' filepath='../lib/librte_power/rte_power_empty_poll.h' line='124' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='state' type-id='type-id-72' visibility='default' filepath='../lib/librte_power/rte_power_empty_poll.h' line='126' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-84'/>
+    <function-decl name='rte_power_empty_poll_stat_init' mangled-name='rte_power_empty_poll_stat_init' filepath='../lib/librte_power/rte_power_empty_poll.c' line='406' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_power_empty_poll_stat_init@@EXPERIMENTAL'>
+      <parameter type-id='type-id-81' name='eptr' filepath='../lib/librte_power/rte_power_empty_poll.c' line='406' column='1'/>
+      <parameter type-id='type-id-82' name='freq_tlb' filepath='../lib/librte_power/rte_power_empty_poll.c' line='406' column='1'/>
+      <parameter type-id='type-id-84' name='policy' filepath='../lib/librte_power/rte_power_empty_poll.c' line='407' column='1'/>
+      <return type-id='type-id-11'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-66'>
+      <parameter type-id='type-id-57'/>
+      <parameter type-id='type-id-51'/>
+      <return type-id='type-id-30'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_rawdev.dump b/lib/.abi/librte_rawdev.dump
new file mode 100644
index 000000000..09a7a483c
--- /dev/null
+++ b/lib/.abi/librte_rawdev.dump
@@ -0,0 +1,839 @@
+<abi-corpus path='gcc//lib/librte_rawdev.so.20.0' architecture='elf-amd-x86_64' soname='librte_rawdev.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_rawdev_close' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rawdev_configure' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rawdev_count' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rawdev_dequeue_buffers' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rawdev_enqueue_buffers' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rawdev_firmware_load' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rawdev_firmware_status_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rawdev_firmware_unload' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rawdev_firmware_version_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rawdev_get_attr' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rawdev_get_dev_id' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rawdev_info_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rawdev_pmd_allocate' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rawdev_pmd_release' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rawdev_queue_conf_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rawdev_queue_count' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rawdev_queue_release' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rawdev_queue_setup' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rawdev_reset' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rawdev_selftest' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rawdev_set_attr' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rawdev_socket_id' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rawdev_start' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rawdev_stop' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rawdev_xstats_by_name_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rawdev_xstats_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rawdev_xstats_names_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rawdev_xstats_reset' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <elf-variable-symbols>
+    <elf-symbol name='rte_rawdevs' size='8' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_rawdev/rte_rawdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='librawdev_logtype' type-id='type-id-1' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='32' column='1'/>
+    <class-decl name='rte_rawdev' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='263' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='265' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dev_id' type-id='type-id-3' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='267' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_ops' type-id='type-id-4' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='269' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='device' type-id='type-id-5' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='271' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver_name' type-id='type-id-6' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='273' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='attached' type-id='type-id-7' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='277' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='started' type-id='type-id-7' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_private' type-id='type-id-8' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='282' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='name' type-id='type-id-9' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='284' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-10'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-10' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-11'/>
+    <typedef-decl name='uint16_t' type-id='type-id-11' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-3'/>
+    <class-decl name='rte_rawdev_ops' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='505' column='1' id='type-id-12'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_info_get' type-id='type-id-13' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='507' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_configure' type-id='type-id-14' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='509' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dev_start' type-id='type-id-15' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='511' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_stop' type-id='type-id-16' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='513' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dev_close' type-id='type-id-17' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_reset' type-id='type-id-18' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='517' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='queue_def_conf' type-id='type-id-19' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='queue_setup' type-id='type-id-20' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='queue_release' type-id='type-id-21' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='524' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='queue_count' type-id='type-id-22' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='526' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='enqueue_bufs' type-id='type-id-23' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='529' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='dequeue_bufs' type-id='type-id-24' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='532' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='dump' type-id='type-id-25' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='535' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='attr_get' type-id='type-id-26' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='538' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='attr_set' type-id='type-id-27' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='540' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='xstats_get' type-id='type-id-28' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='543' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='xstats_get_names' type-id='type-id-29' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='545' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='xstats_get_by_name' type-id='type-id-30' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='547' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='xstats_reset' type-id='type-id-31' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='549' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='firmware_status_get' type-id='type-id-32' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='552' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='firmware_version_get' type-id='type-id-33' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='554' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='firmware_load' type-id='type-id-34' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='556' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='firmware_unload' type-id='type-id-35' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='558' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='dev_selftest' type-id='type-id-36' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='561' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='void' id='type-id-37'/>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-38'/>
+    <pointer-type-def type-id='type-id-37' size-in-bits='64' id='type-id-39'/>
+    <typedef-decl name='rte_rawdev_obj_t' type-id='type-id-39' filepath='../lib/librte_rawdev/rte_rawdev.h' line='29' column='1' id='type-id-8'/>
+    <pointer-type-def type-id='type-id-40' size-in-bits='64' id='type-id-41'/>
+    <typedef-decl name='rawdev_info_get_t' type-id='type-id-41' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='148' column='1' id='type-id-13'/>
+    <qualified-type-def type-id='type-id-2' const='yes' id='type-id-42'/>
+    <pointer-type-def type-id='type-id-42' size-in-bits='64' id='type-id-43'/>
+    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-45'/>
+    <typedef-decl name='rawdev_configure_t' type-id='type-id-45' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='162' column='1' id='type-id-14'/>
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-47'/>
+    <typedef-decl name='rawdev_start_t' type-id='type-id-47' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='174' column='1' id='type-id-15'/>
+    <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-49'/>
+    <typedef-decl name='rawdev_stop_t' type-id='type-id-49' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='182' column='1' id='type-id-16'/>
+    <typedef-decl name='rawdev_close_t' type-id='type-id-47' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='194' column='1' id='type-id-17'/>
+    <typedef-decl name='rawdev_reset_t' type-id='type-id-47' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='205' column='1' id='type-id-18'/>
+    <pointer-type-def type-id='type-id-50' size-in-bits='64' id='type-id-51'/>
+    <typedef-decl name='rawdev_queue_conf_get_t' type-id='type-id-51' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='218' column='1' id='type-id-19'/>
+    <pointer-type-def type-id='type-id-52' size-in-bits='64' id='type-id-53'/>
+    <typedef-decl name='rawdev_queue_setup_t' type-id='type-id-53' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='235' column='1' id='type-id-20'/>
+    <pointer-type-def type-id='type-id-54' size-in-bits='64' id='type-id-55'/>
+    <typedef-decl name='rawdev_queue_release_t' type-id='type-id-55' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='248' column='1' id='type-id-21'/>
+    <pointer-type-def type-id='type-id-56' size-in-bits='64' id='type-id-57'/>
+    <typedef-decl name='rawdev_queue_count_t' type-id='type-id-57' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='267' column='1' id='type-id-22'/>
+    <class-decl name='rte_rawdev_buf' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='302' column='1' id='type-id-58'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-39' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='304' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-58' size-in-bits='64' id='type-id-59'/>
+    <pointer-type-def type-id='type-id-59' size-in-bits='64' id='type-id-60'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-61'/>
+    <pointer-type-def type-id='type-id-62' size-in-bits='64' id='type-id-63'/>
+    <typedef-decl name='rawdev_enqueue_bufs_t' type-id='type-id-63' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='291' column='1' id='type-id-23'/>
+    <typedef-decl name='rawdev_dequeue_bufs_t' type-id='type-id-63' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='316' column='1' id='type-id-24'/>
+    <class-decl name='_IO_FILE' size-in-bits='1728' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='49' column='1' id='type-id-64'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='_flags' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='_IO_read_ptr' type-id='type-id-65' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='_IO_read_end' type-id='type-id-65' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='_IO_read_base' type-id='type-id-65' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='_IO_write_base' type-id='type-id-65' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='_IO_write_ptr' type-id='type-id-65' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='_IO_write_end' type-id='type-id-65' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='_IO_buf_base' type-id='type-id-65' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='60' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='_IO_buf_end' type-id='type-id-65' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='_IO_save_base' type-id='type-id-65' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='_IO_backup_base' type-id='type-id-65' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='_IO_save_end' type-id='type-id-65' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='_markers' type-id='type-id-66' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='_chain' type-id='type-id-67' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='_fileno' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='928'>
+        <var-decl name='_flags2' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='73' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='_old_offset' type-id='type-id-68' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='_cur_column' type-id='type-id-10' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1040'>
+        <var-decl name='_vtable_offset' type-id='type-id-69' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1048'>
+        <var-decl name='_shortbuf' type-id='type-id-70' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='_lock' type-id='type-id-71' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='_offset' type-id='type-id-72' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='89' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='_codecvt' type-id='type-id-73' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='_wide_data' type-id='type-id-74' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='92' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='_freeres_list' type-id='type-id-67' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='93' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='_freeres_buf' type-id='type-id-39' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='__pad5' type-id='type-id-75' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='95' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='_mode' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1568'>
+        <var-decl name='_unused2' type-id='type-id-76' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='98' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-77'/>
+    <pointer-type-def type-id='type-id-77' size-in-bits='64' id='type-id-65'/>
+    <class-decl name='_IO_marker' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-78'/>
+    <pointer-type-def type-id='type-id-78' size-in-bits='64' id='type-id-66'/>
+    <pointer-type-def type-id='type-id-64' size-in-bits='64' id='type-id-67'/>
+    <type-decl name='long int' size-in-bits='64' id='type-id-79'/>
+    <typedef-decl name='__off_t' type-id='type-id-79' filepath='/usr/include/bits/types.h' line='152' column='1' id='type-id-68'/>
+    <type-decl name='signed char' size-in-bits='8' id='type-id-69'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-80'/>
+
+    <array-type-def dimensions='1' type-id='type-id-77' size-in-bits='8' id='type-id-70'>
+      <subrange length='1' type-id='type-id-80' id='type-id-81'/>
+
+    </array-type-def>
+    <typedef-decl name='_IO_lock_t' type-id='type-id-37' filepath='/usr/include/bits/types/struct_FILE.h' line='43' column='1' id='type-id-82'/>
+    <pointer-type-def type-id='type-id-82' size-in-bits='64' id='type-id-71'/>
+    <typedef-decl name='__off64_t' type-id='type-id-79' filepath='/usr/include/bits/types.h' line='153' column='1' id='type-id-72'/>
+    <class-decl name='_IO_codecvt' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-83'/>
+    <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-73'/>
+    <class-decl name='_IO_wide_data' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-84'/>
+    <pointer-type-def type-id='type-id-84' size-in-bits='64' id='type-id-74'/>
+    <typedef-decl name='size_t' type-id='type-id-80' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-75'/>
+
+    <array-type-def dimensions='1' type-id='type-id-77' size-in-bits='160' id='type-id-76'>
+      <subrange length='20' type-id='type-id-80' id='type-id-85'/>
+
+    </array-type-def>
+    <typedef-decl name='FILE' type-id='type-id-64' filepath='/usr/include/bits/types/FILE.h' line='7' column='1' id='type-id-86'/>
+    <pointer-type-def type-id='type-id-86' size-in-bits='64' id='type-id-87'/>
+    <pointer-type-def type-id='type-id-88' size-in-bits='64' id='type-id-89'/>
+    <typedef-decl name='rawdev_dump_t' type-id='type-id-89' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='333' column='1' id='type-id-25'/>
+    <qualified-type-def type-id='type-id-77' const='yes' id='type-id-90'/>
+    <pointer-type-def type-id='type-id-90' size-in-bits='64' id='type-id-6'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-80' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-91'/>
+    <typedef-decl name='uint64_t' type-id='type-id-91' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-92'/>
+    <pointer-type-def type-id='type-id-92' size-in-bits='64' id='type-id-93'/>
+    <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-95'/>
+    <typedef-decl name='rawdev_get_attr_t' type-id='type-id-95' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='350' column='1' id='type-id-26'/>
+    <qualified-type-def type-id='type-id-92' const='yes' id='type-id-96'/>
+    <pointer-type-def type-id='type-id-97' size-in-bits='64' id='type-id-98'/>
+    <typedef-decl name='rawdev_set_attr_t' type-id='type-id-98' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='368' column='1' id='type-id-27'/>
+    <qualified-type-def type-id='type-id-61' const='yes' id='type-id-99'/>
+    <pointer-type-def type-id='type-id-99' size-in-bits='64' id='type-id-100'/>
+    <pointer-type-def type-id='type-id-101' size-in-bits='64' id='type-id-102'/>
+    <typedef-decl name='rawdev_xstats_get_t' type-id='type-id-102' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='388' column='1' id='type-id-28'/>
+    <class-decl name='rte_rawdev_xstats_name' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='433' column='1' id='type-id-103'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-9' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='434' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-77' size-in-bits='512' id='type-id-9'>
+      <subrange length='64' type-id='type-id-80' id='type-id-104'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-103' size-in-bits='64' id='type-id-105'/>
+    <pointer-type-def type-id='type-id-106' size-in-bits='64' id='type-id-107'/>
+    <typedef-decl name='rawdev_xstats_get_names_t' type-id='type-id-107' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='413' column='1' id='type-id-29'/>
+    <pointer-type-def type-id='type-id-61' size-in-bits='64' id='type-id-108'/>
+    <pointer-type-def type-id='type-id-109' size-in-bits='64' id='type-id-110'/>
+    <typedef-decl name='rawdev_xstats_get_by_name_t' type-id='type-id-110' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='432' column='1' id='type-id-30'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-61' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-111'/>
+    <typedef-decl name='uint32_t' type-id='type-id-111' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-112'/>
+    <qualified-type-def type-id='type-id-112' const='yes' id='type-id-113'/>
+    <pointer-type-def type-id='type-id-113' size-in-bits='64' id='type-id-114'/>
+    <pointer-type-def type-id='type-id-115' size-in-bits='64' id='type-id-116'/>
+    <typedef-decl name='rawdev_xstats_reset_t' type-id='type-id-116' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='394' column='1' id='type-id-31'/>
+    <pointer-type-def type-id='type-id-117' size-in-bits='64' id='type-id-118'/>
+    <typedef-decl name='rawdev_firmware_status_get_t' type-id='type-id-118' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='448' column='1' id='type-id-32'/>
+    <typedef-decl name='rawdev_firmware_version_get_t' type-id='type-id-118' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='462' column='1' id='type-id-33'/>
+    <typedef-decl name='rawdev_firmware_load_t' type-id='type-id-118' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='479' column='1' id='type-id-34'/>
+    <typedef-decl name='rawdev_firmware_unload_t' type-id='type-id-47' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='494' column='1' id='type-id-35'/>
+    <pointer-type-def type-id='type-id-119' size-in-bits='64' id='type-id-120'/>
+    <typedef-decl name='rawdev_selftest_t' type-id='type-id-120' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='502' column='1' id='type-id-36'/>
+    <qualified-type-def type-id='type-id-12' const='yes' id='type-id-121'/>
+    <pointer-type-def type-id='type-id-121' size-in-bits='64' id='type-id-4'/>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-122'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-123' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-6' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-124' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-125' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-126' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-123'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-5' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-127' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-122' size-in-bits='64' id='type-id-5'/>
+    <pointer-type-def type-id='type-id-5' size-in-bits='64' id='type-id-127'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-128'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-129' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-6' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-6' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-129'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-130' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-131' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-128' size-in-bits='64' id='type-id-130'/>
+    <pointer-type-def type-id='type-id-130' size-in-bits='64' id='type-id-131'/>
+    <qualified-type-def type-id='type-id-128' const='yes' id='type-id-132'/>
+    <pointer-type-def type-id='type-id-132' size-in-bits='64' id='type-id-124'/>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-133'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-134' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-6' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-135' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-136' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-137' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-138' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-139' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-140' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-141' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-142' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-143' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-144' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-145' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-146' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-147' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-134'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-148' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-149' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-133' size-in-bits='64' id='type-id-148'/>
+    <pointer-type-def type-id='type-id-148' size-in-bits='64' id='type-id-149'/>
+    <pointer-type-def type-id='type-id-150' size-in-bits='64' id='type-id-151'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-151' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-135'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-151' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-136'/>
+    <qualified-type-def type-id='type-id-122' const='yes' id='type-id-152'/>
+    <pointer-type-def type-id='type-id-152' size-in-bits='64' id='type-id-153'/>
+    <pointer-type-def type-id='type-id-154' size-in-bits='64' id='type-id-155'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-155' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-156'/>
+    <pointer-type-def type-id='type-id-157' size-in-bits='64' id='type-id-158'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-158' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-137'/>
+    <pointer-type-def type-id='type-id-159' size-in-bits='64' id='type-id-160'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-160' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-138'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-160' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-139'/>
+    <pointer-type-def type-id='type-id-161' size-in-bits='64' id='type-id-162'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-162' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-140'/>
+    <pointer-type-def type-id='type-id-163' size-in-bits='64' id='type-id-164'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-164' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-141'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-164' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-142'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-143'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-165' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-166'/>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-165'>
+      <underlying-type type-id='type-id-166'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-167'>
+      <underlying-type type-id='type-id-166'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-168' size-in-bits='64' id='type-id-169'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-169' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-144'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-170'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-6' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-6' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-6' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-148' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-171' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-5' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-39' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-172'/>
+    <pointer-type-def type-id='type-id-172' size-in-bits='64' id='type-id-171'/>
+    <qualified-type-def type-id='type-id-170' const='yes' id='type-id-173'/>
+    <pointer-type-def type-id='type-id-173' size-in-bits='64' id='type-id-174'/>
+    <pointer-type-def type-id='type-id-175' size-in-bits='64' id='type-id-176'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-176' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-145'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-160' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-146'/>
+    <pointer-type-def type-id='type-id-177' size-in-bits='64' id='type-id-178'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-178' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-147'/>
+    <qualified-type-def type-id='type-id-133' const='yes' id='type-id-179'/>
+    <pointer-type-def type-id='type-id-179' size-in-bits='64' id='type-id-125'/>
+    <class-decl name='rte_devargs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-180'/>
+    <pointer-type-def type-id='type-id-180' size-in-bits='64' id='type-id-126'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-181'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-181' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-182'/>
+    <typedef-decl name='uint8_t' type-id='type-id-182' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-7'/>
+    <var-decl name='rte_rawdevs' type-id='type-id-38' mangled-name='rte_rawdevs' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='288' column='1' elf-symbol-id='rte_rawdevs@@DPDK_20.0'/>
+    <function-decl name='rte_rawdev_pmd_release' mangled-name='rte_rawdev_pmd_release' filepath='../lib/librte_rawdev/rte_rawdev.c' line='522' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rawdev_pmd_release@@DPDK_20.0'>
+      <parameter type-id='type-id-38' name='rawdev' filepath='../lib/librte_rawdev/rte_rawdev.c' line='522' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_rawdev_pmd_allocate' mangled-name='rte_rawdev_pmd_allocate' filepath='../lib/librte_rawdev/rte_rawdev.c' line='480' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rawdev_pmd_allocate@@DPDK_20.0'>
+      <parameter type-id='type-id-6' name='name' filepath='../lib/librte_rawdev/rte_rawdev.c' line='480' column='1'/>
+      <parameter type-id='type-id-75' name='dev_priv_size' filepath='../lib/librte_rawdev/rte_rawdev.c' line='480' column='1'/>
+      <parameter type-id='type-id-1' name='socket_id' filepath='../lib/librte_rawdev/rte_rawdev.c' line='480' column='1'/>
+      <return type-id='type-id-38'/>
+    </function-decl>
+    <function-decl name='rte_rawdev_reset' mangled-name='rte_rawdev_reset' filepath='../lib/librte_rawdev/rte_rawdev.c' line='453' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rawdev_reset@@DPDK_20.0'>
+      <parameter type-id='type-id-3' name='dev_id' filepath='../lib/librte_rawdev/rte_rawdev.c' line='453' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_rawdev_close' mangled-name='rte_rawdev_close' filepath='../lib/librte_rawdev/rte_rawdev.c' line='434' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rawdev_close@@DPDK_20.0'>
+      <parameter type-id='type-id-3' name='dev_id' filepath='../lib/librte_rawdev/rte_rawdev.c' line='453' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_rawdev_stop' mangled-name='rte_rawdev_stop' filepath='../lib/librte_rawdev/rte_rawdev.c' line='412' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rawdev_stop@@DPDK_20.0'>
+      <parameter type-id='type-id-3' name='dev_id' filepath='../lib/librte_rawdev/rte_rawdev.c' line='412' column='1'/>
+      <return type-id='type-id-37'/>
+    </function-decl>
+    <function-decl name='rte_rawdev_start' mangled-name='rte_rawdev_start' filepath='../lib/librte_rawdev/rte_rawdev.c' line='385' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rawdev_start@@DPDK_20.0'>
+      <parameter type-id='type-id-3' name='dev_id' filepath='../lib/librte_rawdev/rte_rawdev.c' line='385' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_rawdev_selftest' mangled-name='rte_rawdev_selftest' filepath='../lib/librte_rawdev/rte_rawdev.c' line='375' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rawdev_selftest@@DPDK_20.0'>
+      <parameter type-id='type-id-3' name='dev_id' filepath='../lib/librte_rawdev/rte_rawdev.c' line='453' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_rawdev_firmware_unload' mangled-name='rte_rawdev_firmware_unload' filepath='../lib/librte_rawdev/rte_rawdev.c' line='365' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rawdev_firmware_unload@@DPDK_20.0'>
+      <parameter type-id='type-id-3' name='dev_id' filepath='../lib/librte_rawdev/rte_rawdev.c' line='453' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_rawdev_firmware_load' mangled-name='rte_rawdev_firmware_load' filepath='../lib/librte_rawdev/rte_rawdev.c' line='352' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rawdev_firmware_load@@DPDK_20.0'>
+      <parameter type-id='type-id-3' name='dev_id' filepath='../lib/librte_rawdev/rte_rawdev.c' line='352' column='1'/>
+      <parameter type-id='type-id-8' name='firmware_image' filepath='../lib/librte_rawdev/rte_rawdev.c' line='352' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_rawdev_firmware_version_get' mangled-name='rte_rawdev_firmware_version_get' filepath='../lib/librte_rawdev/rte_rawdev.c' line='342' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rawdev_firmware_version_get@@DPDK_20.0'>
+      <parameter type-id='type-id-3' name='dev_id' filepath='../lib/librte_rawdev/rte_rawdev.c' line='352' column='1'/>
+      <parameter type-id='type-id-8' name='firmware_image' filepath='../lib/librte_rawdev/rte_rawdev.c' line='352' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_rawdev_firmware_status_get' mangled-name='rte_rawdev_firmware_status_get' filepath='../lib/librte_rawdev/rte_rawdev.c' line='332' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rawdev_firmware_status_get@@DPDK_20.0'>
+      <parameter type-id='type-id-3' name='dev_id' filepath='../lib/librte_rawdev/rte_rawdev.c' line='352' column='1'/>
+      <parameter type-id='type-id-8' name='firmware_image' filepath='../lib/librte_rawdev/rte_rawdev.c' line='352' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_rawdev_xstats_reset' mangled-name='rte_rawdev_xstats_reset' filepath='../lib/librte_rawdev/rte_rawdev.c' line='321' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rawdev_xstats_reset@@DPDK_20.0'>
+      <parameter type-id='type-id-3' name='dev_id' filepath='../lib/librte_rawdev/rte_rawdev.c' line='321' column='1'/>
+      <parameter type-id='type-id-114' name='ids' filepath='../lib/librte_rawdev/rte_rawdev.c' line='322' column='1'/>
+      <parameter type-id='type-id-112' name='nb_ids' filepath='../lib/librte_rawdev/rte_rawdev.c' line='322' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_rawdev_xstats_by_name_get' mangled-name='rte_rawdev_xstats_by_name_get' filepath='../lib/librte_rawdev/rte_rawdev.c' line='302' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rawdev_xstats_by_name_get@@DPDK_20.0'>
+      <parameter type-id='type-id-3' name='dev_id' filepath='../lib/librte_rawdev/rte_rawdev.c' line='302' column='1'/>
+      <parameter type-id='type-id-6' name='name' filepath='../lib/librte_rawdev/rte_rawdev.c' line='303' column='1'/>
+      <parameter type-id='type-id-108' name='id' filepath='../lib/librte_rawdev/rte_rawdev.c' line='304' column='1'/>
+      <return type-id='type-id-92'/>
+    </function-decl>
+    <function-decl name='rte_rawdev_xstats_get' mangled-name='rte_rawdev_xstats_get' filepath='../lib/librte_rawdev/rte_rawdev.c' line='289' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rawdev_xstats_get@@DPDK_20.0'>
+      <parameter type-id='type-id-3' name='dev_id' filepath='../lib/librte_rawdev/rte_rawdev.c' line='289' column='1'/>
+      <parameter type-id='type-id-100' name='ids' filepath='../lib/librte_rawdev/rte_rawdev.c' line='290' column='1'/>
+      <parameter type-id='type-id-93' name='values' filepath='../lib/librte_rawdev/rte_rawdev.c' line='291' column='1'/>
+      <parameter type-id='type-id-61' name='n' filepath='../lib/librte_rawdev/rte_rawdev.c' line='292' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_rawdev_xstats_names_get' mangled-name='rte_rawdev_xstats_names_get' filepath='../lib/librte_rawdev/rte_rawdev.c' line='266' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rawdev_xstats_names_get@@DPDK_20.0'>
+      <parameter type-id='type-id-3' name='dev_id' filepath='../lib/librte_rawdev/rte_rawdev.c' line='266' column='1'/>
+      <parameter type-id='type-id-105' name='xstats_names' filepath='../lib/librte_rawdev/rte_rawdev.c' line='267' column='1'/>
+      <parameter type-id='type-id-61' name='size' filepath='../lib/librte_rawdev/rte_rawdev.c' line='268' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_rawdev_dequeue_buffers' mangled-name='rte_rawdev_dequeue_buffers' filepath='../lib/librte_rawdev/rte_rawdev.c' line='230' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rawdev_dequeue_buffers@@DPDK_20.0'>
+      <parameter type-id='type-id-3' name='dev_id' filepath='../lib/librte_rawdev/rte_rawdev.c' line='230' column='1'/>
+      <parameter type-id='type-id-60' name='buffers' filepath='../lib/librte_rawdev/rte_rawdev.c' line='231' column='1'/>
+      <parameter type-id='type-id-61' name='count' filepath='../lib/librte_rawdev/rte_rawdev.c' line='232' column='1'/>
+      <parameter type-id='type-id-8' name='context' filepath='../lib/librte_rawdev/rte_rawdev.c' line='233' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_rawdev_enqueue_buffers' mangled-name='rte_rawdev_enqueue_buffers' filepath='../lib/librte_rawdev/rte_rawdev.c' line='215' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rawdev_enqueue_buffers@@DPDK_20.0'>
+      <parameter type-id='type-id-3' name='dev_id' filepath='../lib/librte_rawdev/rte_rawdev.c' line='230' column='1'/>
+      <parameter type-id='type-id-60' name='buffers' filepath='../lib/librte_rawdev/rte_rawdev.c' line='231' column='1'/>
+      <parameter type-id='type-id-61' name='count' filepath='../lib/librte_rawdev/rte_rawdev.c' line='232' column='1'/>
+      <parameter type-id='type-id-8' name='context' filepath='../lib/librte_rawdev/rte_rawdev.c' line='233' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_rawdev_set_attr' mangled-name='rte_rawdev_set_attr' filepath='../lib/librte_rawdev/rte_rawdev.c' line='201' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rawdev_set_attr@@DPDK_20.0'>
+      <parameter type-id='type-id-3' name='dev_id' filepath='../lib/librte_rawdev/rte_rawdev.c' line='201' column='1'/>
+      <parameter type-id='type-id-6' name='attr_name' filepath='../lib/librte_rawdev/rte_rawdev.c' line='202' column='1'/>
+      <parameter type-id='type-id-96' name='attr_value' filepath='../lib/librte_rawdev/rte_rawdev.c' line='203' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_rawdev_get_attr' mangled-name='rte_rawdev_get_attr' filepath='../lib/librte_rawdev/rte_rawdev.c' line='187' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rawdev_get_attr@@DPDK_20.0'>
+      <parameter type-id='type-id-3' name='dev_id' filepath='../lib/librte_rawdev/rte_rawdev.c' line='187' column='1'/>
+      <parameter type-id='type-id-6' name='attr_name' filepath='../lib/librte_rawdev/rte_rawdev.c' line='188' column='1'/>
+      <parameter type-id='type-id-93' name='attr_value' filepath='../lib/librte_rawdev/rte_rawdev.c' line='189' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_rawdev_queue_count' mangled-name='rte_rawdev_queue_count' filepath='../lib/librte_rawdev/rte_rawdev.c' line='175' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rawdev_queue_count@@DPDK_20.0'>
+      <parameter type-id='type-id-3' name='dev_id' filepath='../lib/librte_rawdev/rte_rawdev.c' line='175' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <function-decl name='rte_rawdev_queue_release' mangled-name='rte_rawdev_queue_release' filepath='../lib/librte_rawdev/rte_rawdev.c' line='163' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rawdev_queue_release@@DPDK_20.0'>
+      <parameter type-id='type-id-3' name='dev_id' filepath='../lib/librte_rawdev/rte_rawdev.c' line='163' column='1'/>
+      <parameter type-id='type-id-3' name='queue_id' filepath='../lib/librte_rawdev/rte_rawdev.c' line='163' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_rawdev_queue_setup' mangled-name='rte_rawdev_queue_setup' filepath='../lib/librte_rawdev/rte_rawdev.c' line='149' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rawdev_queue_setup@@DPDK_20.0'>
+      <parameter type-id='type-id-3' name='dev_id' filepath='../lib/librte_rawdev/rte_rawdev.c' line='149' column='1'/>
+      <parameter type-id='type-id-3' name='queue_id' filepath='../lib/librte_rawdev/rte_rawdev.c' line='150' column='1'/>
+      <parameter type-id='type-id-8' name='queue_conf' filepath='../lib/librte_rawdev/rte_rawdev.c' line='151' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_rawdev_queue_conf_get' mangled-name='rte_rawdev_queue_conf_get' filepath='../lib/librte_rawdev/rte_rawdev.c' line='134' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rawdev_queue_conf_get@@DPDK_20.0'>
+      <parameter type-id='type-id-3' name='dev_id' filepath='../lib/librte_rawdev/rte_rawdev.c' line='149' column='1'/>
+      <parameter type-id='type-id-3' name='queue_id' filepath='../lib/librte_rawdev/rte_rawdev.c' line='150' column='1'/>
+      <parameter type-id='type-id-8' name='queue_conf' filepath='../lib/librte_rawdev/rte_rawdev.c' line='151' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_rawdev_info' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='291' column='1' id='type-id-183'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='driver_name' type-id='type-id-6' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='293' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='device' type-id='type-id-5' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='295' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='297' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_private' type-id='type-id-8' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='299' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-183' size-in-bits='64' id='type-id-184'/>
+    <function-decl name='rte_rawdev_configure' mangled-name='rte_rawdev_configure' filepath='../lib/librte_rawdev/rte_rawdev.c' line='105' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rawdev_configure@@DPDK_20.0'>
+      <parameter type-id='type-id-3' name='dev_id' filepath='../lib/librte_rawdev/rte_rawdev.c' line='105' column='1'/>
+      <parameter type-id='type-id-184' name='dev_conf' filepath='../lib/librte_rawdev/rte_rawdev.c' line='105' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_rawdev_info_get' mangled-name='rte_rawdev_info_get' filepath='../lib/librte_rawdev/rte_rawdev.c' line='83' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rawdev_info_get@@DPDK_20.0'>
+      <parameter type-id='type-id-3' name='dev_id' filepath='../lib/librte_rawdev/rte_rawdev.c' line='83' column='1'/>
+      <parameter type-id='type-id-184' name='dev_info' filepath='../lib/librte_rawdev/rte_rawdev.c' line='83' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_rawdev_socket_id' mangled-name='rte_rawdev_socket_id' filepath='../lib/librte_rawdev/rte_rawdev.c' line='72' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rawdev_socket_id@@DPDK_20.0'>
+      <parameter type-id='type-id-3' name='dev_id' filepath='../lib/librte_rawdev/rte_rawdev.c' line='453' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_rawdev_get_dev_id' mangled-name='rte_rawdev_get_dev_id' filepath='../lib/librte_rawdev/rte_rawdev.c' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rawdev_get_dev_id@@DPDK_20.0'>
+      <parameter type-id='type-id-6' name='name' filepath='../lib/librte_rawdev/rte_rawdev.c' line='55' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <function-decl name='rte_rawdev_count' mangled-name='rte_rawdev_count' filepath='../lib/librte_rawdev/rte_rawdev.c' line='49' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rawdev_count@@DPDK_20.0'>
+      <return type-id='type-id-7'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-168'>
+      <return type-id='type-id-167'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-150'>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-161'>
+      <parameter type-id='type-id-6'/>
+      <parameter type-id='type-id-39'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-154'>
+      <parameter type-id='type-id-153'/>
+      <parameter type-id='type-id-39'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-101'>
+      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-100'/>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-61'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-106'>
+      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-105'/>
+      <parameter type-id='type-id-61'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-44'>
+      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-8'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-159'>
+      <parameter type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-163'>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-39'/>
+      <parameter type-id='type-id-92'/>
+      <parameter type-id='type-id-75'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-46'>
+      <parameter type-id='type-id-38'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-88'>
+      <parameter type-id='type-id-38'/>
+      <parameter type-id='type-id-87'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-97'>
+      <parameter type-id='type-id-38'/>
+      <parameter type-id='type-id-6'/>
+      <parameter type-id='type-id-96'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-94'>
+      <parameter type-id='type-id-38'/>
+      <parameter type-id='type-id-6'/>
+      <parameter type-id='type-id-93'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-115'>
+      <parameter type-id='type-id-38'/>
+      <parameter type-id='type-id-114'/>
+      <parameter type-id='type-id-112'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-62'>
+      <parameter type-id='type-id-38'/>
+      <parameter type-id='type-id-60'/>
+      <parameter type-id='type-id-61'/>
+      <parameter type-id='type-id-8'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-117'>
+      <parameter type-id='type-id-38'/>
+      <parameter type-id='type-id-8'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-54'>
+      <parameter type-id='type-id-38'/>
+      <parameter type-id='type-id-3'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-52'>
+      <parameter type-id='type-id-38'/>
+      <parameter type-id='type-id-3'/>
+      <parameter type-id='type-id-8'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-119'>
+      <parameter type-id='type-id-3'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-177'>
+      <parameter type-id='type-id-39'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-157'>
+      <parameter type-id='type-id-153'/>
+      <parameter type-id='type-id-156'/>
+      <parameter type-id='type-id-39'/>
+      <return type-id='type-id-5'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-56'>
+      <parameter type-id='type-id-38'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-109'>
+      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-6'/>
+      <parameter type-id='type-id-108'/>
+      <return type-id='type-id-92'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-48'>
+      <parameter type-id='type-id-38'/>
+      <return type-id='type-id-37'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-40'>
+      <parameter type-id='type-id-38'/>
+      <parameter type-id='type-id-8'/>
+      <return type-id='type-id-37'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-50'>
+      <parameter type-id='type-id-38'/>
+      <parameter type-id='type-id-3'/>
+      <parameter type-id='type-id-8'/>
+      <return type-id='type-id-37'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-175'>
+      <parameter type-id='type-id-39'/>
+      <parameter type-id='type-id-6'/>
+      <parameter type-id='type-id-174'/>
+      <return type-id='type-id-39'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_rcu.dump b/lib/.abi/librte_rcu.dump
new file mode 100644
index 000000000..9177917eb
--- /dev/null
+++ b/lib/.abi/librte_rcu.dump
@@ -0,0 +1,217 @@
+<abi-corpus path='gcc//lib/librte_rcu.so.0.200' architecture='elf-amd-x86_64' soname='librte_rcu.so.0.200'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_rcu_qsbr_dump' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rcu_qsbr_get_memsize' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rcu_qsbr_init' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rcu_qsbr_synchronize' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rcu_qsbr_thread_register' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rcu_qsbr_thread_unregister' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <elf-variable-symbols>
+    <elf-symbol name='rte_rcu_log_type' size='4' version='EXPERIMENTAL' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_rcu/rte_rcu_qsbr.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='rte_rcu_log_type' type-id='type-id-1' mangled-name='rte_rcu_log_type' visibility='default' filepath='../lib/librte_rcu/rte_rcu_qsbr.h' line='38' column='1' elf-symbol-id='rte_rcu_log_type@@EXPERIMENTAL'/>
+    <class-decl name='_IO_FILE' size-in-bits='1728' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='49' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='_flags' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='_IO_read_ptr' type-id='type-id-3' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='_IO_read_end' type-id='type-id-3' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='_IO_read_base' type-id='type-id-3' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='_IO_write_base' type-id='type-id-3' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='_IO_write_ptr' type-id='type-id-3' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='_IO_write_end' type-id='type-id-3' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='_IO_buf_base' type-id='type-id-3' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='60' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='_IO_buf_end' type-id='type-id-3' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='_IO_save_base' type-id='type-id-3' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='_IO_backup_base' type-id='type-id-3' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='_IO_save_end' type-id='type-id-3' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='_markers' type-id='type-id-4' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='_chain' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='_fileno' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='928'>
+        <var-decl name='_flags2' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='73' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='_old_offset' type-id='type-id-6' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='_cur_column' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1040'>
+        <var-decl name='_vtable_offset' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1048'>
+        <var-decl name='_shortbuf' type-id='type-id-9' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='_lock' type-id='type-id-10' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='_offset' type-id='type-id-11' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='89' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='_codecvt' type-id='type-id-12' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='_wide_data' type-id='type-id-13' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='92' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='_freeres_list' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='93' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='_freeres_buf' type-id='type-id-14' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='__pad5' type-id='type-id-15' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='95' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='_mode' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1568'>
+        <var-decl name='_unused2' type-id='type-id-16' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='98' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-17'/>
+    <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-3'/>
+    <class-decl name='_IO_marker' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-18'/>
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-4'/>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-5'/>
+    <type-decl name='long int' size-in-bits='64' id='type-id-19'/>
+    <typedef-decl name='__off_t' type-id='type-id-19' filepath='/usr/include/bits/types.h' line='152' column='1' id='type-id-6'/>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-7'/>
+    <type-decl name='signed char' size-in-bits='8' id='type-id-8'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-20'/>
+
+    <array-type-def dimensions='1' type-id='type-id-17' size-in-bits='8' id='type-id-9'>
+      <subrange length='1' type-id='type-id-20' id='type-id-21'/>
+
+    </array-type-def>
+    <typedef-decl name='_IO_lock_t' type-id='type-id-22' filepath='/usr/include/bits/types/struct_FILE.h' line='43' column='1' id='type-id-23'/>
+    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-10'/>
+    <typedef-decl name='__off64_t' type-id='type-id-19' filepath='/usr/include/bits/types.h' line='153' column='1' id='type-id-11'/>
+    <class-decl name='_IO_codecvt' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-24'/>
+    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-12'/>
+    <class-decl name='_IO_wide_data' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-25'/>
+    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-13'/>
+    <type-decl name='void' id='type-id-22'/>
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-14'/>
+    <typedef-decl name='size_t' type-id='type-id-20' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-15'/>
+
+    <array-type-def dimensions='1' type-id='type-id-17' size-in-bits='160' id='type-id-16'>
+      <subrange length='20' type-id='type-id-20' id='type-id-26'/>
+
+    </array-type-def>
+    <typedef-decl name='FILE' type-id='type-id-2' filepath='/usr/include/bits/types/FILE.h' line='7' column='1' id='type-id-27'/>
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-28'/>
+    <class-decl name='rte_rcu_qsbr' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_rcu/rte_rcu_qsbr.h' line='94' column='1' id='type-id-29'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='token' type-id='type-id-30' visibility='default' filepath='../lib/librte_rcu/rte_rcu_qsbr.h' line='95' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='acked_token' type-id='type-id-30' visibility='default' filepath='../lib/librte_rcu/rte_rcu_qsbr.h' line='97' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='num_elems' type-id='type-id-31' visibility='default' filepath='../lib/librte_rcu/rte_rcu_qsbr.h' line='102' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='num_threads' type-id='type-id-31' visibility='default' filepath='../lib/librte_rcu/rte_rcu_qsbr.h' line='104' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='max_threads' type-id='type-id-31' visibility='default' filepath='../lib/librte_rcu/rte_rcu_qsbr.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='qsbr_cnt' type-id='type-id-32' visibility='default' filepath='../lib/librte_rcu/rte_rcu_qsbr.h' line='109' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='__uint64_t' type-id='type-id-20' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-33'/>
+    <typedef-decl name='uint64_t' type-id='type-id-33' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-30'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-34'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-34' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-35'/>
+    <typedef-decl name='uint32_t' type-id='type-id-35' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-31'/>
+    <class-decl name='rte_rcu_qsbr_cnt' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_rcu/rte_rcu_qsbr.h' line='73' column='1' id='type-id-36'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-30' visibility='default' filepath='../lib/librte_rcu/rte_rcu_qsbr.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='lock_cnt' type-id='type-id-31' visibility='default' filepath='../lib/librte_rcu/rte_rcu_qsbr.h' line='80' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-36' size-in-bits='infinite' id='type-id-32'>
+      <subrange length='infinite' type-id='type-id-20' id='type-id-37'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-38'/>
+    <function-decl name='rte_rcu_qsbr_dump' mangled-name='rte_rcu_qsbr_dump' filepath='../lib/librte_rcu/rte_rcu_qsbr.c' line='210' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rcu_qsbr_dump@@EXPERIMENTAL'>
+      <parameter type-id='type-id-28' name='f' filepath='../lib/librte_rcu/rte_rcu_qsbr.c' line='210' column='1'/>
+      <parameter type-id='type-id-38' name='v' filepath='../lib/librte_rcu/rte_rcu_qsbr.c' line='210' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_rcu_qsbr_synchronize' mangled-name='rte_rcu_qsbr_synchronize' filepath='../lib/librte_rcu/rte_rcu_qsbr.c' line='190' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rcu_qsbr_synchronize@@EXPERIMENTAL'>
+      <parameter type-id='type-id-38' name='v' filepath='../lib/librte_rcu/rte_rcu_qsbr.c' line='190' column='1'/>
+      <parameter type-id='type-id-34' name='thread_id' filepath='../lib/librte_rcu/rte_rcu_qsbr.c' line='190' column='1'/>
+      <return type-id='type-id-22'/>
+    </function-decl>
+    <function-decl name='rte_rcu_qsbr_thread_unregister' mangled-name='rte_rcu_qsbr_thread_unregister' filepath='../lib/librte_rcu/rte_rcu_qsbr.c' line='136' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rcu_qsbr_thread_unregister@@EXPERIMENTAL'>
+      <parameter type-id='type-id-38' name='v' filepath='../lib/librte_rcu/rte_rcu_qsbr.c' line='136' column='1'/>
+      <parameter type-id='type-id-34' name='thread_id' filepath='../lib/librte_rcu/rte_rcu_qsbr.c' line='136' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_rcu_qsbr_thread_register' mangled-name='rte_rcu_qsbr_thread_register' filepath='../lib/librte_rcu/rte_rcu_qsbr.c' line='84' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rcu_qsbr_thread_register@@EXPERIMENTAL'>
+      <parameter type-id='type-id-38' name='v' filepath='../lib/librte_rcu/rte_rcu_qsbr.c' line='136' column='1'/>
+      <parameter type-id='type-id-34' name='thread_id' filepath='../lib/librte_rcu/rte_rcu_qsbr.c' line='136' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_rcu_qsbr_init' mangled-name='rte_rcu_qsbr_init' filepath='../lib/librte_rcu/rte_rcu_qsbr.c' line='52' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rcu_qsbr_init@@EXPERIMENTAL'>
+      <parameter type-id='type-id-38' name='v' filepath='../lib/librte_rcu/rte_rcu_qsbr.c' line='52' column='1'/>
+      <parameter type-id='type-id-31' name='max_threads' filepath='../lib/librte_rcu/rte_rcu_qsbr.c' line='52' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_rcu_qsbr_get_memsize' mangled-name='rte_rcu_qsbr_get_memsize' filepath='../lib/librte_rcu/rte_rcu_qsbr.c' line='26' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rcu_qsbr_get_memsize@@EXPERIMENTAL'>
+      <parameter type-id='type-id-31' name='max_threads' filepath='../lib/librte_rcu/rte_rcu_qsbr.c' line='26' column='1'/>
+      <return type-id='type-id-15'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_reorder.dump b/lib/.abi/librte_reorder.dump
new file mode 100644
index 000000000..b476c339d
--- /dev/null
+++ b/lib/.abi/librte_reorder.dump
@@ -0,0 +1,455 @@
+<abi-corpus path='gcc//lib/librte_reorder.so.20.0' architecture='elf-amd-x86_64' soname='librte_reorder.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_reorder_create' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_reorder_drain' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_reorder_find_existing' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_reorder_free' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_reorder_init' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_reorder_insert' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_reorder_reset' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_reorder/rte_reorder.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-1'/>
+    <class-decl name='rte_reorder_buffer' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../lib/librte_reorder/rte_reorder.c' line='42' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-3' visibility='default' filepath='../lib/librte_reorder/rte_reorder.c' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='min_seqn' type-id='type-id-4' visibility='default' filepath='../lib/librte_reorder/rte_reorder.c' line='44' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='memsize' type-id='type-id-1' visibility='default' filepath='../lib/librte_reorder/rte_reorder.c' line='45' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='ready_buf' type-id='type-id-5' visibility='default' filepath='../lib/librte_reorder/rte_reorder.c' line='46' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='order_buf' type-id='type-id-5' visibility='default' filepath='../lib/librte_reorder/rte_reorder.c' line='47' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='is_initialized' type-id='type-id-6' visibility='default' filepath='../lib/librte_reorder/rte_reorder.c' line='48' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-7'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-8'/>
+
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='256' id='type-id-3'>
+      <subrange length='32' type-id='type-id-8' id='type-id-9'/>
+
+    </array-type-def>
+    <typedef-decl name='__uint32_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-10'/>
+    <typedef-decl name='uint32_t' type-id='type-id-10' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-4'/>
+    <class-decl name='cir_buffer' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_reorder/rte_reorder.c' line='33' column='1' id='type-id-5'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-1' visibility='default' filepath='../lib/librte_reorder/rte_reorder.c' line='34' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='mask' type-id='type-id-1' visibility='default' filepath='../lib/librte_reorder/rte_reorder.c' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='head' type-id='type-id-1' visibility='default' filepath='../lib/librte_reorder/rte_reorder.c' line='36' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='tail' type-id='type-id-1' visibility='default' filepath='../lib/librte_reorder/rte_reorder.c' line='37' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='entries' type-id='type-id-11' visibility='default' filepath='../lib/librte_reorder/rte_reorder.c' line='38' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mbuf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='480' column='1' id='type-id-12'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheline0' type-id='type-id-13' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-14' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-15' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rearm_data' type-id='type-id-16' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='497' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_off' type-id='type-id-17' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_segs' type-id='type-id-17' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='port' type-id='type-id-17' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ol_flags' type-id='type-id-18' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_descriptor_fields1' type-id='type-id-13' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='pkt_len' type-id='type-id-4' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data_len' type-id='type-id-17' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='vlan_tci' type-id='type-id-17' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vlan_tci_outer' type-id='type-id-17' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='buf_len' type-id='type-id-17' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='timestamp' type-id='type-id-18' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cacheline1' type-id='type-id-13' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='pool' type-id='type-id-19' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='next' type-id='type-id-20' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv_size' type-id='type-id-17' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='timesync' type-id='type-id-17' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='seqn' type-id='type-id-4' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='shinfo' type-id='type-id-21' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dynfield1' type-id='type-id-22' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='void' id='type-id-23'/>
+    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-14'/>
+
+    <array-type-def dimensions='1' type-id='type-id-14' size-in-bits='infinite' id='type-id-24'>
+      <subrange length='infinite' type-id='type-id-8' id='type-id-25'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER' type-id='type-id-24' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='414' column='1' id='type-id-13'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='491' column='1' id='type-id-15'>
+      <data-member access='private'>
+        <var-decl name='buf_iova' type-id='type-id-26' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='buf_physaddr' type-id='type-id-26' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='__uint64_t' type-id='type-id-8' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-27'/>
+    <typedef-decl name='uint64_t' type-id='type-id-27' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-18'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-18' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-26'/>
+
+    <array-type-def dimensions='1' type-id='type-id-18' size-in-bits='infinite' id='type-id-28'>
+      <subrange length='infinite' type-id='type-id-8' id='type-id-25'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER64' type-id='type-id-28' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='420' column='1' id='type-id-16'/>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-29'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-29' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-30'/>
+    <typedef-decl name='uint16_t' type-id='type-id-30' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-17'/>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-31'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-3' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-32' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-14' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-33' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-1' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-6' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-4' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-4' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-4' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-4' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-4' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-1' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-34' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-35' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-4' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-36' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-4' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-37' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-32'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-14' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-18' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-38'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-3' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-39' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-40' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-18' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-34' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-39'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-41' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-26' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-18' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-41'/>
+    <typedef-decl name='size_t' type-id='type-id-8' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-40'/>
+    <type-decl name='int' size-in-bits='32' id='type-id-6'/>
+    <typedef-decl name='__int32_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-42'/>
+    <typedef-decl name='int32_t' type-id='type-id-42' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-34'/>
+    <qualified-type-def type-id='type-id-38' const='yes' id='type-id-43'/>
+    <pointer-type-def type-id='type-id-43' size-in-bits='64' id='type-id-33'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-44'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-4' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-4' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-4' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-45' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-14' size-in-bits='98304' id='type-id-45'>
+      <subrange length='1536' type-id='type-id-8' id='type-id-46'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-35'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-36'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-47' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-48' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-49'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-50' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-19' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-51' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-50'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-47' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-47'/>
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-19'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-51'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-26' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-41' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-48'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-37'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-52' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-53' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-54'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-55' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-19' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-14' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-56' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-40' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-57' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-14' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-55'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-52' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-54' size-in-bits='64' id='type-id-52'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-56'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-26' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-41' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-58' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-59'/>
+    <pointer-type-def type-id='type-id-59' size-in-bits='64' id='type-id-57'/>
+    <pointer-type-def type-id='type-id-52' size-in-bits='64' id='type-id-53'/>
+    <pointer-type-def type-id='type-id-12' size-in-bits='64' id='type-id-20'/>
+    <class-decl name='rte_mbuf_ext_shared_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='689' column='1' id='type-id-60'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_cb' type-id='type-id-61' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcb_opaque' type-id='type-id-14' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt_atomic' type-id='type-id-62' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-64'/>
+    <typedef-decl name='rte_mbuf_extbuf_free_callback_t' type-id='type-id-64' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='684' column='1' id='type-id-61'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-62' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-65'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-66' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-67'/>
+    <typedef-decl name='__int16_t' type-id='type-id-67' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-68'/>
+    <typedef-decl name='int16_t' type-id='type-id-68' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-69'/>
+    <qualified-type-def type-id='type-id-69' volatile='yes' id='type-id-66'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-65' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-62'/>
+    <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-21'/>
+
+    <array-type-def dimensions='1' type-id='type-id-18' size-in-bits='128' id='type-id-22'>
+      <subrange length='2' type-id='type-id-8' id='type-id-70'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-11'/>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-71'/>
+    <function-decl name='rte_reorder_drain' mangled-name='rte_reorder_drain' filepath='../lib/librte_reorder/rte_reorder.c' line='367' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_reorder_drain@@DPDK_20.0'>
+      <parameter type-id='type-id-71' name='b' filepath='../lib/librte_reorder/rte_reorder.c' line='367' column='1'/>
+      <parameter type-id='type-id-11' name='mbufs' filepath='../lib/librte_reorder/rte_reorder.c' line='367' column='1'/>
+      <parameter type-id='type-id-1' name='max_mbufs' filepath='../lib/librte_reorder/rte_reorder.c' line='368' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_reorder_insert' mangled-name='rte_reorder_insert' filepath='../lib/librte_reorder/rte_reorder.c' line='301' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_reorder_insert@@DPDK_20.0'>
+      <parameter type-id='type-id-71' name='b' filepath='../lib/librte_reorder/rte_reorder.c' line='301' column='1'/>
+      <parameter type-id='type-id-20' name='mbuf' filepath='../lib/librte_reorder/rte_reorder.c' line='301' column='1'/>
+      <return type-id='type-id-6'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-7' const='yes' id='type-id-72'/>
+    <pointer-type-def type-id='type-id-72' size-in-bits='64' id='type-id-73'/>
+    <function-decl name='rte_reorder_find_existing' mangled-name='rte_reorder_find_existing' filepath='../lib/librte_reorder/rte_reorder.c' line='220' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_reorder_find_existing@@DPDK_20.0'>
+      <parameter type-id='type-id-73' name='name' filepath='../lib/librte_reorder/rte_reorder.c' line='220' column='1'/>
+      <return type-id='type-id-71'/>
+    </function-decl>
+    <function-decl name='rte_reorder_free' mangled-name='rte_reorder_free' filepath='../lib/librte_reorder/rte_reorder.c' line='186' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_reorder_free@@DPDK_20.0'>
+      <parameter type-id='type-id-71' name='b' filepath='../lib/librte_reorder/rte_reorder.c' line='186' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_reorder_reset' mangled-name='rte_reorder_reset' filepath='../lib/librte_reorder/rte_reorder.c' line='161' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_reorder_reset@@DPDK_20.0'>
+      <parameter type-id='type-id-71' name='b' filepath='../lib/librte_reorder/rte_reorder.c' line='161' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_reorder_create' mangled-name='rte_reorder_create' filepath='../lib/librte_reorder/rte_reorder.c' line='99' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_reorder_create@@DPDK_20.0'>
+      <parameter type-id='type-id-73' name='name' filepath='../lib/librte_reorder/rte_reorder.c' line='99' column='1'/>
+      <parameter type-id='type-id-1' name='socket_id' filepath='../lib/librte_reorder/rte_reorder.c' line='99' column='1'/>
+      <parameter type-id='type-id-1' name='size' filepath='../lib/librte_reorder/rte_reorder.c' line='99' column='1'/>
+      <return type-id='type-id-71'/>
+    </function-decl>
+    <function-decl name='rte_reorder_init' mangled-name='rte_reorder_init' filepath='../lib/librte_reorder/rte_reorder.c' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_reorder_init@@DPDK_20.0'>
+      <parameter type-id='type-id-71' name='b' filepath='../lib/librte_reorder/rte_reorder.c' line='55' column='1'/>
+      <parameter type-id='type-id-1' name='bufsize' filepath='../lib/librte_reorder/rte_reorder.c' line='55' column='1'/>
+      <parameter type-id='type-id-73' name='name' filepath='../lib/librte_reorder/rte_reorder.c' line='56' column='1'/>
+      <parameter type-id='type-id-1' name='size' filepath='../lib/librte_reorder/rte_reorder.c' line='56' column='1'/>
+      <return type-id='type-id-71'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-58'>
+      <parameter type-id='type-id-52'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-23'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-63'>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-23'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_rib.dump b/lib/.abi/librte_rib.dump
new file mode 100644
index 000000000..8b28c92fa
--- /dev/null
+++ b/lib/.abi/librte_rib.dump
@@ -0,0 +1,556 @@
+<abi-corpus path='gcc//lib/librte_rib.so.0.200' architecture='elf-amd-x86_64' soname='librte_rib.so.0.200'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_rib6_create' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rib6_find_existing' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rib6_free' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rib6_get_depth' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rib6_get_ext' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rib6_get_ip' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rib6_get_nh' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rib6_get_nxt' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rib6_insert' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rib6_lookup' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rib6_lookup_exact' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rib6_lookup_parent' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rib6_remove' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rib6_set_nh' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rib_create' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rib_find_existing' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rib_free' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rib_get_depth' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rib_get_ext' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rib_get_ip' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rib_get_nh' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rib_get_nxt' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rib_insert' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rib_lookup' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rib_lookup_exact' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rib_lookup_parent' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rib_remove' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_rib_set_nh' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_rib/rte_rib.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='void' id='type-id-1'/>
+    <class-decl name='rte_rib' size-in-bits='768' is-struct='yes' visibility='default' filepath='../lib/librte_rib/rte_rib.c' line='43' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-3' visibility='default' filepath='../lib/librte_rib/rte_rib.c' line='44' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='tree' type-id='type-id-4' visibility='default' filepath='../lib/librte_rib/rte_rib.c' line='45' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='node_pool' type-id='type-id-5' visibility='default' filepath='../lib/librte_rib/rte_rib.c' line='46' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='cur_nodes' type-id='type-id-6' visibility='default' filepath='../lib/librte_rib/rte_rib.c' line='47' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='cur_routes' type-id='type-id-6' visibility='default' filepath='../lib/librte_rib/rte_rib.c' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='max_nodes' type-id='type-id-6' visibility='default' filepath='../lib/librte_rib/rte_rib.c' line='49' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-7'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-8'/>
+
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='512' id='type-id-3'>
+      <subrange length='64' type-id='type-id-8' id='type-id-9'/>
+
+    </array-type-def>
+    <class-decl name='rte_rib_node' size-in-bits='320' is-struct='yes' visibility='default' filepath='../lib/librte_rib/rte_rib.c' line='32' column='1' id='type-id-10'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='left' type-id='type-id-4' visibility='default' filepath='../lib/librte_rib/rte_rib.c' line='33' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='right' type-id='type-id-4' visibility='default' filepath='../lib/librte_rib/rte_rib.c' line='34' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='parent' type-id='type-id-4' visibility='default' filepath='../lib/librte_rib/rte_rib.c' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ip' type-id='type-id-6' visibility='default' filepath='../lib/librte_rib/rte_rib.c' line='36' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='depth' type-id='type-id-11' visibility='default' filepath='../lib/librte_rib/rte_rib.c' line='37' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='232'>
+        <var-decl name='flag' type-id='type-id-11' visibility='default' filepath='../lib/librte_rib/rte_rib.c' line='38' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='nh' type-id='type-id-12' visibility='default' filepath='../lib/librte_rib/rte_rib.c' line='39' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='ext' type-id='type-id-13' visibility='default' filepath='../lib/librte_rib/rte_rib.c' line='40' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-4'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-14'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-14' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-15'/>
+    <typedef-decl name='uint32_t' type-id='type-id-15' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-6'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-16'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-16' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-17'/>
+    <typedef-decl name='uint8_t' type-id='type-id-17' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-11'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-8' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-18'/>
+    <typedef-decl name='uint64_t' type-id='type-id-18' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-12'/>
+
+    <array-type-def dimensions='1' type-id='type-id-12' size-in-bits='infinite' id='type-id-13'>
+      <subrange length='infinite' type-id='type-id-8' id='type-id-19'/>
+
+    </array-type-def>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-20'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-21' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-22' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-23' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-24' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-14' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-25' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-6' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-6' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-6' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-6' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-6' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-14' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-26' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-27' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-6' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-6' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-29' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='256' id='type-id-21'>
+      <subrange length='32' type-id='type-id-8' id='type-id-30'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-22'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-23' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-12' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-23'/>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-31'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-21' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-32' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-33' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-12' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-26' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-6' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-32'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-34' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-35' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-12' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-34'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-12' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-35'/>
+    <typedef-decl name='size_t' type-id='type-id-8' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-33'/>
+    <type-decl name='int' size-in-bits='32' id='type-id-25'/>
+    <typedef-decl name='__int32_t' type-id='type-id-25' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-36'/>
+    <typedef-decl name='int32_t' type-id='type-id-36' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-26'/>
+    <qualified-type-def type-id='type-id-31' const='yes' id='type-id-37'/>
+    <pointer-type-def type-id='type-id-37' size-in-bits='64' id='type-id-24'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-38'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-6' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-6' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-6' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-23' size-in-bits='98304' id='type-id-39'>
+      <subrange length='1536' type-id='type-id-8' id='type-id-40'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-38' size-in-bits='64' id='type-id-27'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-28'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-41' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-42' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-43'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-44' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-5' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-45' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-44'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-41' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-43' size-in-bits='64' id='type-id-41'/>
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-5'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-45'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-35' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-34' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-42'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-29'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-46' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-47' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-48'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-5' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-23' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-50' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-33' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-51' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-23' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-49'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-46' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-46'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-50'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-35' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-34' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-52' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-53'/>
+    <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-51'/>
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-47'/>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-54'/>
+    <function-decl name='rte_rib_free' mangled-name='rte_rib_free' filepath='../lib/librte_rib/rte_rib.c' line='502' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rib_free@@EXPERIMENTAL'>
+      <parameter type-id='type-id-54' name='rib' filepath='../lib/librte_rib/rte_rib.c' line='502' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-7' const='yes' id='type-id-55'/>
+    <pointer-type-def type-id='type-id-55' size-in-bits='64' id='type-id-56'/>
+    <function-decl name='rte_rib_find_existing' mangled-name='rte_rib_find_existing' filepath='../lib/librte_rib/rte_rib.c' line='477' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rib_find_existing@@EXPERIMENTAL'>
+      <parameter type-id='type-id-56' name='name' filepath='../lib/librte_rib/rte_rib.c' line='477' column='1'/>
+      <return type-id='type-id-54'/>
+    </function-decl>
+    <class-decl name='rte_rib_conf' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_rib/rte_rib.h' line='30' column='1' id='type-id-57'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ext_sz' type-id='type-id-33' visibility='default' filepath='../lib/librte_rib/rte_rib.h' line='36' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='max_nodes' type-id='type-id-25' visibility='default' filepath='../lib/librte_rib/rte_rib.h' line='38' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-57' size-in-bits='64' id='type-id-58'/>
+    <function-decl name='rte_rib_create' mangled-name='rte_rib_create' filepath='../lib/librte_rib/rte_rib.c' line='395' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rib_create@@EXPERIMENTAL'>
+      <parameter type-id='type-id-56' name='name' filepath='../lib/librte_rib/rte_rib.c' line='395' column='1'/>
+      <parameter type-id='type-id-25' name='socket_id' filepath='../lib/librte_rib/rte_rib.c' line='395' column='1'/>
+      <parameter type-id='type-id-58' name='conf' filepath='../lib/librte_rib/rte_rib.c' line='395' column='1'/>
+      <return type-id='type-id-54'/>
+    </function-decl>
+    <function-decl name='rte_rib_set_nh' mangled-name='rte_rib_set_nh' filepath='../lib/librte_rib/rte_rib.c' line='384' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rib_set_nh@@EXPERIMENTAL'>
+      <parameter type-id='type-id-4' name='node' filepath='../lib/librte_rib/rte_rib.c' line='384' column='1'/>
+      <parameter type-id='type-id-12' name='nh' filepath='../lib/librte_rib/rte_rib.c' line='384' column='1'/>
+      <return type-id='type-id-25'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-12' size-in-bits='64' id='type-id-59'/>
+    <function-decl name='rte_rib_get_nh' mangled-name='rte_rib_get_nh' filepath='../lib/librte_rib/rte_rib.c' line='373' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rib_get_nh@@EXPERIMENTAL'>
+      <parameter type-id='type-id-4' name='node' filepath='../lib/librte_rib/rte_rib.c' line='373' column='1'/>
+      <parameter type-id='type-id-59' name='nh' filepath='../lib/librte_rib/rte_rib.c' line='373' column='1'/>
+      <return type-id='type-id-25'/>
+    </function-decl>
+    <function-decl name='rte_rib_get_ext' mangled-name='rte_rib_get_ext' filepath='../lib/librte_rib/rte_rib.c' line='367' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rib_get_ext@@EXPERIMENTAL'>
+      <parameter type-id='type-id-4' name='node' filepath='../lib/librte_rib/rte_rib.c' line='367' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-60'/>
+    <function-decl name='rte_rib_get_depth' mangled-name='rte_rib_get_depth' filepath='../lib/librte_rib/rte_rib.c' line='356' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rib_get_depth@@EXPERIMENTAL'>
+      <parameter type-id='type-id-4' name='node' filepath='../lib/librte_rib/rte_rib.c' line='356' column='1'/>
+      <parameter type-id='type-id-60' name='depth' filepath='../lib/librte_rib/rte_rib.c' line='356' column='1'/>
+      <return type-id='type-id-25'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-6' size-in-bits='64' id='type-id-61'/>
+    <function-decl name='rte_rib_get_ip' mangled-name='rte_rib_get_ip' filepath='../lib/librte_rib/rte_rib.c' line='345' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rib_get_ip@@EXPERIMENTAL'>
+      <parameter type-id='type-id-4' name='node' filepath='../lib/librte_rib/rte_rib.c' line='345' column='1'/>
+      <parameter type-id='type-id-61' name='ip' filepath='../lib/librte_rib/rte_rib.c' line='345' column='1'/>
+      <return type-id='type-id-25'/>
+    </function-decl>
+    <function-decl name='rte_rib_insert' mangled-name='rte_rib_insert' filepath='../lib/librte_rib/rte_rib.c' line='239' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rib_insert@@EXPERIMENTAL'>
+      <parameter type-id='type-id-54' name='rib' filepath='../lib/librte_rib/rte_rib.c' line='239' column='1'/>
+      <parameter type-id='type-id-6' name='ip' filepath='../lib/librte_rib/rte_rib.c' line='239' column='1'/>
+      <parameter type-id='type-id-11' name='depth' filepath='../lib/librte_rib/rte_rib.c' line='239' column='1'/>
+      <return type-id='type-id-4'/>
+    </function-decl>
+    <function-decl name='rte_rib_remove' mangled-name='rte_rib_remove' filepath='../lib/librte_rib/rte_rib.c' line='207' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rib_remove@@EXPERIMENTAL'>
+      <parameter type-id='type-id-54' name='rib' filepath='../lib/librte_rib/rte_rib.c' line='207' column='1'/>
+      <parameter type-id='type-id-6' name='ip' filepath='../lib/librte_rib/rte_rib.c' line='207' column='1'/>
+      <parameter type-id='type-id-11' name='depth' filepath='../lib/librte_rib/rte_rib.c' line='207' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_rib_get_nxt' mangled-name='rte_rib_get_nxt' filepath='../lib/librte_rib/rte_rib.c' line='167' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rib_get_nxt@@EXPERIMENTAL'>
+      <parameter type-id='type-id-54' name='rib' filepath='../lib/librte_rib/rte_rib.c' line='167' column='1'/>
+      <parameter type-id='type-id-6' name='ip' filepath='../lib/librte_rib/rte_rib.c' line='167' column='1'/>
+      <parameter type-id='type-id-11' name='depth' filepath='../lib/librte_rib/rte_rib.c' line='168' column='1'/>
+      <parameter type-id='type-id-4' name='last' filepath='../lib/librte_rib/rte_rib.c' line='168' column='1'/>
+      <parameter type-id='type-id-25' name='flag' filepath='../lib/librte_rib/rte_rib.c' line='168' column='1'/>
+      <return type-id='type-id-4'/>
+    </function-decl>
+    <function-decl name='rte_rib_lookup_exact' mangled-name='rte_rib_lookup_exact' filepath='../lib/librte_rib/rte_rib.c' line='150' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rib_lookup_exact@@EXPERIMENTAL'>
+      <parameter type-id='type-id-54' name='rib' filepath='../lib/librte_rib/rte_rib.c' line='150' column='1'/>
+      <parameter type-id='type-id-6' name='ip' filepath='../lib/librte_rib/rte_rib.c' line='150' column='1'/>
+      <parameter type-id='type-id-11' name='depth' filepath='../lib/librte_rib/rte_rib.c' line='150' column='1'/>
+      <return type-id='type-id-4'/>
+    </function-decl>
+    <function-decl name='rte_rib_lookup_parent' mangled-name='rte_rib_lookup_parent' filepath='../lib/librte_rib/rte_rib.c' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rib_lookup_parent@@EXPERIMENTAL'>
+      <parameter type-id='type-id-4' name='ent' filepath='../lib/librte_rib/rte_rib.c' line='119' column='1'/>
+      <return type-id='type-id-4'/>
+    </function-decl>
+    <function-decl name='rte_rib_lookup' mangled-name='rte_rib_lookup' filepath='../lib/librte_rib/rte_rib.c' line='100' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rib_lookup@@EXPERIMENTAL'>
+      <parameter type-id='type-id-54' name='rib' filepath='../lib/librte_rib/rte_rib.c' line='100' column='1'/>
+      <parameter type-id='type-id-6' name='ip' filepath='../lib/librte_rib/rte_rib.c' line='100' column='1'/>
+      <return type-id='type-id-4'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-52'>
+      <parameter type-id='type-id-46'/>
+      <parameter type-id='type-id-23'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_rib/rte_rib6.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_rib6' size-in-bits='768' is-struct='yes' visibility='default' filepath='../lib/librte_rib/rte_rib6.c' line='42' column='1' id='type-id-62'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-3' visibility='default' filepath='../lib/librte_rib/rte_rib6.c' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='tree' type-id='type-id-63' visibility='default' filepath='../lib/librte_rib/rte_rib6.c' line='44' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='node_pool' type-id='type-id-5' visibility='default' filepath='../lib/librte_rib/rte_rib6.c' line='45' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='cur_nodes' type-id='type-id-6' visibility='default' filepath='../lib/librte_rib/rte_rib6.c' line='46' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='cur_routes' type-id='type-id-6' visibility='default' filepath='../lib/librte_rib/rte_rib6.c' line='47' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='max_nodes' type-id='type-id-25' visibility='default' filepath='../lib/librte_rib/rte_rib6.c' line='48' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_rib6_node' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_rib/rte_rib6.c' line='31' column='1' id='type-id-64'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='left' type-id='type-id-63' visibility='default' filepath='../lib/librte_rib/rte_rib6.c' line='32' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='right' type-id='type-id-63' visibility='default' filepath='../lib/librte_rib/rte_rib6.c' line='33' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='parent' type-id='type-id-63' visibility='default' filepath='../lib/librte_rib/rte_rib6.c' line='34' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='nh' type-id='type-id-12' visibility='default' filepath='../lib/librte_rib/rte_rib6.c' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='ip' type-id='type-id-65' visibility='default' filepath='../lib/librte_rib/rte_rib6.c' line='36' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='depth' type-id='type-id-11' visibility='default' filepath='../lib/librte_rib/rte_rib6.c' line='37' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='392'>
+        <var-decl name='flag' type-id='type-id-11' visibility='default' filepath='../lib/librte_rib/rte_rib6.c' line='38' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='ext' type-id='type-id-13' visibility='default' filepath='../lib/librte_rib/rte_rib6.c' line='39' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-64' size-in-bits='64' id='type-id-63'/>
+
+    <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='128' id='type-id-65'>
+      <subrange length='16' type-id='type-id-8' id='type-id-66'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-62' size-in-bits='64' id='type-id-67'/>
+    <function-decl name='rte_rib6_free' mangled-name='rte_rib6_free' filepath='../lib/librte_rib/rte_rib6.c' line='565' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rib6_free@@EXPERIMENTAL'>
+      <parameter type-id='type-id-67' name='rib' filepath='../lib/librte_rib/rte_rib6.c' line='565' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_rib6_find_existing' mangled-name='rte_rib6_find_existing' filepath='../lib/librte_rib/rte_rib6.c' line='535' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rib6_find_existing@@EXPERIMENTAL'>
+      <parameter type-id='type-id-56' name='name' filepath='../lib/librte_rib/rte_rib6.c' line='535' column='1'/>
+      <return type-id='type-id-67'/>
+    </function-decl>
+    <class-decl name='rte_rib6_conf' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_rib/rte_rib6.h' line='33' column='1' id='type-id-68'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ext_sz' type-id='type-id-33' visibility='default' filepath='../lib/librte_rib/rte_rib6.h' line='39' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='max_nodes' type-id='type-id-25' visibility='default' filepath='../lib/librte_rib/rte_rib6.h' line='41' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-68' size-in-bits='64' id='type-id-69'/>
+    <function-decl name='rte_rib6_create' mangled-name='rte_rib6_create' filepath='../lib/librte_rib/rte_rib6.c' line='452' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rib6_create@@EXPERIMENTAL'>
+      <parameter type-id='type-id-56' name='name' filepath='../lib/librte_rib/rte_rib6.c' line='452' column='1'/>
+      <parameter type-id='type-id-25' name='socket_id' filepath='../lib/librte_rib/rte_rib6.c' line='452' column='1'/>
+      <parameter type-id='type-id-69' name='conf' filepath='../lib/librte_rib/rte_rib6.c' line='452' column='1'/>
+      <return type-id='type-id-67'/>
+    </function-decl>
+    <function-decl name='rte_rib6_set_nh' mangled-name='rte_rib6_set_nh' filepath='../lib/librte_rib/rte_rib6.c' line='441' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rib6_set_nh@@EXPERIMENTAL'>
+      <parameter type-id='type-id-63' name='node' filepath='../lib/librte_rib/rte_rib6.c' line='441' column='1'/>
+      <parameter type-id='type-id-12' name='nh' filepath='../lib/librte_rib/rte_rib6.c' line='441' column='1'/>
+      <return type-id='type-id-25'/>
+    </function-decl>
+    <function-decl name='rte_rib6_get_nh' mangled-name='rte_rib6_get_nh' filepath='../lib/librte_rib/rte_rib6.c' line='430' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rib6_get_nh@@EXPERIMENTAL'>
+      <parameter type-id='type-id-63' name='node' filepath='../lib/librte_rib/rte_rib6.c' line='430' column='1'/>
+      <parameter type-id='type-id-59' name='nh' filepath='../lib/librte_rib/rte_rib6.c' line='430' column='1'/>
+      <return type-id='type-id-25'/>
+    </function-decl>
+    <function-decl name='rte_rib6_get_ext' mangled-name='rte_rib6_get_ext' filepath='../lib/librte_rib/rte_rib6.c' line='424' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rib6_get_ext@@EXPERIMENTAL'>
+      <parameter type-id='type-id-63' name='node' filepath='../lib/librte_rib/rte_rib6.c' line='424' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_rib6_get_depth' mangled-name='rte_rib6_get_depth' filepath='../lib/librte_rib/rte_rib6.c' line='413' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rib6_get_depth@@EXPERIMENTAL'>
+      <parameter type-id='type-id-63' name='node' filepath='../lib/librte_rib/rte_rib6.c' line='413' column='1'/>
+      <parameter type-id='type-id-60' name='depth' filepath='../lib/librte_rib/rte_rib6.c' line='413' column='1'/>
+      <return type-id='type-id-25'/>
+    </function-decl>
+    <function-decl name='rte_rib6_get_ip' mangled-name='rte_rib6_get_ip' filepath='../lib/librte_rib/rte_rib6.c' line='402' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rib6_get_ip@@EXPERIMENTAL'>
+      <parameter type-id='type-id-63' name='node' filepath='../lib/librte_rib/rte_rib6.c' line='413' column='1'/>
+      <parameter type-id='type-id-60' name='depth' filepath='../lib/librte_rib/rte_rib6.c' line='413' column='1'/>
+      <return type-id='type-id-25'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-11' const='yes' id='type-id-70'/>
+    <pointer-type-def type-id='type-id-70' size-in-bits='64' id='type-id-71'/>
+    <function-decl name='rte_rib6_insert' mangled-name='rte_rib6_insert' filepath='../lib/librte_rib/rte_rib6.c' line='273' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rib6_insert@@EXPERIMENTAL'>
+      <parameter type-id='type-id-67' name='rib' filepath='../lib/librte_rib/rte_rib6.c' line='273' column='1'/>
+      <parameter type-id='type-id-71' name='ip' filepath='../lib/librte_rib/rte_rib6.c' line='274' column='1'/>
+      <parameter type-id='type-id-11' name='depth' filepath='../lib/librte_rib/rte_rib6.c' line='274' column='1'/>
+      <return type-id='type-id-63'/>
+    </function-decl>
+    <function-decl name='rte_rib6_remove' mangled-name='rte_rib6_remove' filepath='../lib/librte_rib/rte_rib6.c' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rib6_remove@@EXPERIMENTAL'>
+      <parameter type-id='type-id-67' name='rib' filepath='../lib/librte_rib/rte_rib6.c' line='240' column='1'/>
+      <parameter type-id='type-id-71' name='ip' filepath='../lib/librte_rib/rte_rib6.c' line='241' column='1'/>
+      <parameter type-id='type-id-11' name='depth' filepath='../lib/librte_rib/rte_rib6.c' line='241' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_rib6_get_nxt' mangled-name='rte_rib6_get_nxt' filepath='../lib/librte_rib/rte_rib6.c' line='194' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rib6_get_nxt@@EXPERIMENTAL'>
+      <parameter type-id='type-id-67' name='rib' filepath='../lib/librte_rib/rte_rib6.c' line='194' column='1'/>
+      <parameter type-id='type-id-71' name='ip' filepath='../lib/librte_rib/rte_rib6.c' line='195' column='1'/>
+      <parameter type-id='type-id-11' name='depth' filepath='../lib/librte_rib/rte_rib6.c' line='196' column='1'/>
+      <parameter type-id='type-id-63' name='last' filepath='../lib/librte_rib/rte_rib6.c' line='196' column='1'/>
+      <parameter type-id='type-id-25' name='flag' filepath='../lib/librte_rib/rte_rib6.c' line='196' column='1'/>
+      <return type-id='type-id-63'/>
+    </function-decl>
+    <function-decl name='rte_rib6_lookup_exact' mangled-name='rte_rib6_lookup_exact' filepath='../lib/librte_rib/rte_rib6.c' line='156' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rib6_lookup_exact@@EXPERIMENTAL'>
+      <parameter type-id='type-id-67' name='rib' filepath='../lib/librte_rib/rte_rib6.c' line='156' column='1'/>
+      <parameter type-id='type-id-71' name='ip' filepath='../lib/librte_rib/rte_rib6.c' line='157' column='1'/>
+      <parameter type-id='type-id-11' name='depth' filepath='../lib/librte_rib/rte_rib6.c' line='157' column='1'/>
+      <return type-id='type-id-63'/>
+    </function-decl>
+    <function-decl name='rte_rib6_lookup_parent' mangled-name='rte_rib6_lookup_parent' filepath='../lib/librte_rib/rte_rib6.c' line='141' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rib6_lookup_parent@@EXPERIMENTAL'>
+      <parameter type-id='type-id-63' name='ent' filepath='../lib/librte_rib/rte_rib6.c' line='141' column='1'/>
+      <return type-id='type-id-63'/>
+    </function-decl>
+    <function-decl name='rte_rib6_lookup' mangled-name='rte_rib6_lookup' filepath='../lib/librte_rib/rte_rib6.c' line='120' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_rib6_lookup@@EXPERIMENTAL'>
+      <parameter type-id='type-id-67' name='rib' filepath='../lib/librte_rib/rte_rib6.c' line='120' column='1'/>
+      <parameter type-id='type-id-71' name='ip' filepath='../lib/librte_rib/rte_rib6.c' line='121' column='1'/>
+      <return type-id='type-id-63'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_ring.dump b/lib/.abi/librte_ring.dump
new file mode 100644
index 000000000..4c38bf707
--- /dev/null
+++ b/lib/.abi/librte_ring.dump
@@ -0,0 +1,284 @@
+<abi-corpus path='gcc//lib/librte_ring.so.20.0' architecture='elf-amd-x86_64' soname='librte_ring.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_ring_create' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_ring_dump' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_ring_free' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_ring_get_memsize' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_ring_init' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_ring_list_dump' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_ring_lookup' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_ring_reset' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_ring/rte_ring.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_ring' size-in-bits='3072' is-struct='yes' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='81' column='1' id='type-id-1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-2' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='87' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='flags' type-id='type-id-3' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='memzone' type-id='type-id-4' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='89' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='size' type-id='type-id-5' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='mask' type-id='type-id-5' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='92' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='capacity' type-id='type-id-5' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='93' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='pad0' type-id='type-id-6' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='95' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='prod' type-id='type-id-7' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='98' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='pad1' type-id='type-id-6' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='99' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='cons' type-id='type-id-7' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='102' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='pad2' type-id='type-id-6' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='103' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-6'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-8'/>
+
+    <array-type-def dimensions='1' type-id='type-id-6' size-in-bits='256' id='type-id-2'>
+      <subrange length='32' type-id='type-id-8' id='type-id-9'/>
+
+    </array-type-def>
+    <type-decl name='int' size-in-bits='32' id='type-id-3'/>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-10'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-2' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-11' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-12' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-13' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-14' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-11'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-15' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='__uint64_t' type-id='type-id-8' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-17'/>
+    <typedef-decl name='uint64_t' type-id='type-id-17' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-13'/>
+    <typedef-decl name='phys_addr_t' type-id='type-id-13' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-15'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-13' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-16'/>
+    <typedef-decl name='size_t' type-id='type-id-8' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-12'/>
+    <typedef-decl name='__int32_t' type-id='type-id-3' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-18'/>
+    <typedef-decl name='int32_t' type-id='type-id-18' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-14'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-19'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-19' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-20'/>
+    <typedef-decl name='uint32_t' type-id='type-id-20' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-5'/>
+    <qualified-type-def type-id='type-id-10' const='yes' id='type-id-21'/>
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-4'/>
+    <class-decl name='rte_ring_headtail' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='65' column='1' id='type-id-7'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='head' type-id='type-id-22' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tail' type-id='type-id-22' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='single' type-id='type-id-5' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='68' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-5' volatile='yes' id='type-id-22'/>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-23'/>
+    <qualified-type-def type-id='type-id-6' const='yes' id='type-id-24'/>
+    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-25'/>
+    <function-decl name='rte_ring_lookup' mangled-name='rte_ring_lookup' filepath='../lib/librte_ring/rte_ring.c' line='267' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_ring_lookup@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='name' filepath='../lib/librte_ring/rte_ring.c' line='267' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <type-decl name='void' id='type-id-26'/>
+    <class-decl name='_IO_FILE' size-in-bits='1728' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='49' column='1' id='type-id-27'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='_flags' type-id='type-id-3' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='_IO_read_ptr' type-id='type-id-28' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='_IO_read_end' type-id='type-id-28' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='_IO_read_base' type-id='type-id-28' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='_IO_write_base' type-id='type-id-28' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='_IO_write_ptr' type-id='type-id-28' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='_IO_write_end' type-id='type-id-28' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='_IO_buf_base' type-id='type-id-28' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='60' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='_IO_buf_end' type-id='type-id-28' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='_IO_save_base' type-id='type-id-28' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='_IO_backup_base' type-id='type-id-28' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='_IO_save_end' type-id='type-id-28' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='_markers' type-id='type-id-29' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='_chain' type-id='type-id-30' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='_fileno' type-id='type-id-3' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='928'>
+        <var-decl name='_flags2' type-id='type-id-3' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='73' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='_old_offset' type-id='type-id-31' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='_cur_column' type-id='type-id-32' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1040'>
+        <var-decl name='_vtable_offset' type-id='type-id-33' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1048'>
+        <var-decl name='_shortbuf' type-id='type-id-34' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='_lock' type-id='type-id-35' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='_offset' type-id='type-id-36' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='89' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='_codecvt' type-id='type-id-37' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='_wide_data' type-id='type-id-38' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='92' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='_freeres_list' type-id='type-id-30' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='93' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='_freeres_buf' type-id='type-id-39' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='__pad5' type-id='type-id-12' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='95' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='_mode' type-id='type-id-3' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1568'>
+        <var-decl name='_unused2' type-id='type-id-40' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='98' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-6' size-in-bits='64' id='type-id-28'/>
+    <class-decl name='_IO_marker' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-41'/>
+    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-29'/>
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-30'/>
+    <type-decl name='long int' size-in-bits='64' id='type-id-42'/>
+    <typedef-decl name='__off_t' type-id='type-id-42' filepath='/usr/include/bits/types.h' line='152' column='1' id='type-id-31'/>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-32'/>
+    <type-decl name='signed char' size-in-bits='8' id='type-id-33'/>
+
+    <array-type-def dimensions='1' type-id='type-id-6' size-in-bits='8' id='type-id-34'>
+      <subrange length='1' type-id='type-id-8' id='type-id-43'/>
+
+    </array-type-def>
+    <typedef-decl name='_IO_lock_t' type-id='type-id-26' filepath='/usr/include/bits/types/struct_FILE.h' line='43' column='1' id='type-id-44'/>
+    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-35'/>
+    <typedef-decl name='__off64_t' type-id='type-id-42' filepath='/usr/include/bits/types.h' line='153' column='1' id='type-id-36'/>
+    <class-decl name='_IO_codecvt' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-45'/>
+    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-37'/>
+    <class-decl name='_IO_wide_data' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-46'/>
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-38'/>
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-39'/>
+
+    <array-type-def dimensions='1' type-id='type-id-6' size-in-bits='160' id='type-id-40'>
+      <subrange length='20' type-id='type-id-8' id='type-id-47'/>
+
+    </array-type-def>
+    <typedef-decl name='FILE' type-id='type-id-27' filepath='/usr/include/bits/types/FILE.h' line='7' column='1' id='type-id-48'/>
+    <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-49'/>
+    <function-decl name='rte_ring_list_dump' mangled-name='rte_ring_list_dump' filepath='../lib/librte_ring/rte_ring.c' line='249' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_ring_list_dump@@DPDK_20.0'>
+      <parameter type-id='type-id-49' name='f' filepath='../lib/librte_ring/rte_ring.c' line='249' column='1'/>
+      <return type-id='type-id-26'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-1' const='yes' id='type-id-50'/>
+    <pointer-type-def type-id='type-id-50' size-in-bits='64' id='type-id-51'/>
+    <function-decl name='rte_ring_dump' mangled-name='rte_ring_dump' filepath='../lib/librte_ring/rte_ring.c' line='233' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_ring_dump@@DPDK_20.0'>
+      <parameter type-id='type-id-49' name='f' filepath='../lib/librte_ring/rte_ring.c' line='233' column='1'/>
+      <parameter type-id='type-id-51' name='r' filepath='../lib/librte_ring/rte_ring.c' line='233' column='1'/>
+      <return type-id='type-id-26'/>
+    </function-decl>
+    <function-decl name='rte_ring_free' mangled-name='rte_ring_free' filepath='../lib/librte_ring/rte_ring.c' line='187' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_ring_free@@DPDK_20.0'>
+      <parameter type-id='type-id-23' name='r' filepath='../lib/librte_ring/rte_ring.c' line='187' column='1'/>
+      <return type-id='type-id-26'/>
+    </function-decl>
+    <function-decl name='rte_ring_create' mangled-name='rte_ring_create' filepath='../lib/librte_ring/rte_ring.c' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_ring_create@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='name' filepath='../lib/librte_ring/rte_ring.c' line='119' column='1'/>
+      <parameter type-id='type-id-19' name='count' filepath='../lib/librte_ring/rte_ring.c' line='119' column='1'/>
+      <parameter type-id='type-id-3' name='socket_id' filepath='../lib/librte_ring/rte_ring.c' line='119' column='1'/>
+      <parameter type-id='type-id-19' name='flags' filepath='../lib/librte_ring/rte_ring.c' line='120' column='1'/>
+      <return type-id='type-id-23'/>
+    </function-decl>
+    <function-decl name='rte_ring_init' mangled-name='rte_ring_init' filepath='../lib/librte_ring/rte_ring.c' line='74' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_ring_init@@DPDK_20.0'>
+      <parameter type-id='type-id-23' name='r' filepath='../lib/librte_ring/rte_ring.c' line='74' column='1'/>
+      <parameter type-id='type-id-25' name='name' filepath='../lib/librte_ring/rte_ring.c' line='74' column='1'/>
+      <parameter type-id='type-id-19' name='count' filepath='../lib/librte_ring/rte_ring.c' line='74' column='1'/>
+      <parameter type-id='type-id-19' name='flags' filepath='../lib/librte_ring/rte_ring.c' line='75' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <typedef-decl name='__ssize_t' type-id='type-id-42' filepath='/usr/include/bits/types.h' line='193' column='1' id='type-id-52'/>
+    <typedef-decl name='ssize_t' type-id='type-id-52' filepath='/usr/include/stdio.h' line='77' column='1' id='type-id-53'/>
+    <function-decl name='rte_ring_get_memsize' mangled-name='rte_ring_get_memsize' filepath='../lib/librte_ring/rte_ring.c' line='49' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_ring_get_memsize@@DPDK_20.0'>
+      <parameter type-id='type-id-19' name='count' filepath='../lib/librte_ring/rte_ring.c' line='49' column='1'/>
+      <return type-id='type-id-53'/>
+    </function-decl>
+    <function-decl name='rte_ring_reset' mangled-name='rte_ring_reset' filepath='../lib/librte_ring/rte_ring.c' line='67' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_ring_reset@@EXPERIMENTAL'>
+      <parameter type-id='type-id-23' name='r' filepath='../lib/librte_ring/rte_ring.c' line='67' column='1'/>
+      <return type-id='type-id-26'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_sched.dump b/lib/.abi/librte_sched.dump
new file mode 100644
index 000000000..81dbcb91e
--- /dev/null
+++ b/lib/.abi/librte_sched.dump
@@ -0,0 +1,1108 @@
+<abi-corpus path='gcc//lib/librte_sched.so.20.0' architecture='elf-amd-x86_64' soname='librte_sched.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_approx' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_red_config_init' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_red_rt_data_init' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_sched_pipe_config' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_sched_port_config' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_sched_port_dequeue' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_sched_port_enqueue' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_sched_port_free' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_sched_port_get_memory_footprint' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_sched_port_pkt_read_color' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_sched_port_pkt_read_tree_path' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_sched_port_pkt_write' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_sched_queue_read_stats' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_sched_subport_config' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_sched_subport_pipe_profile_add' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_sched_subport_read_stats' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <elf-variable-symbols>
+    <elf-symbol name='rte_red_log2_1_minus_Wq' size='24' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_red_pow2_frac_inv' size='32' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_red_rand_seed' size='4' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_red_rand_val' size='4' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_sched/rte_sched.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <class-decl name='rte_sched_port' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='207' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n_subports_per_port' type-id='type-id-3' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='209' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='n_pipes_per_subport' type-id='type-id-3' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='210' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='n_pipes_per_subport_log2' type-id='type-id-3' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='211' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='pipe_queue' type-id='type-id-4' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='212' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='304'>
+        <var-decl name='pipe_tc' type-id='type-id-5' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='213' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='tc_queue' type-id='type-id-5' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='214' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='rate' type-id='type-id-6' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='215' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='mtu' type-id='type-id-3' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='216' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='frame_overhead' type-id='type-id-3' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='217' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='socket' type-id='type-id-1' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='218' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='time_cpu_cycles' type-id='type-id-6' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='221' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='time_cpu_bytes' type-id='type-id-6' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='time' type-id='type-id-6' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='223' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='inv_cycles_per_byte' type-id='type-id-7' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='224' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='pkts_out' type-id='type-id-8' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='227' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='n_pkts_out' type-id='type-id-3' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1120'>
+        <var-decl name='subport_id' type-id='type-id-3' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='subports' type-id='type-id-9' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='232' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-10'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-10' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-11'/>
+    <typedef-decl name='uint32_t' type-id='type-id-11' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-3'/>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-12'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-12' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-13'/>
+    <typedef-decl name='uint16_t' type-id='type-id-13' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-14'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-15'/>
+
+    <array-type-def dimensions='1' type-id='type-id-14' size-in-bits='208' id='type-id-4'>
+      <subrange length='13' type-id='type-id-15' id='type-id-16'/>
+
+    </array-type-def>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-17'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-17' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-18'/>
+    <typedef-decl name='uint8_t' type-id='type-id-18' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-19'/>
+
+    <array-type-def dimensions='1' type-id='type-id-19' size-in-bits='128' id='type-id-5'>
+      <subrange length='16' type-id='type-id-15' id='type-id-20'/>
+
+    </array-type-def>
+    <typedef-decl name='__uint64_t' type-id='type-id-15' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-21'/>
+    <typedef-decl name='uint64_t' type-id='type-id-21' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-6'/>
+    <class-decl name='rte_reciprocal' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_reciprocal.h' line='30' column='1' id='type-id-7'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='m' type-id='type-id-3' visibility='default' filepath='../lib/librte_eal/common/include/rte_reciprocal.h' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='sh1' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_reciprocal.h' line='32' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='sh2' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_reciprocal.h' line='32' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mbuf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='480' column='1' id='type-id-22'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheline0' type-id='type-id-23' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-24' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-25' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rearm_data' type-id='type-id-26' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='497' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_off' type-id='type-id-14' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_segs' type-id='type-id-14' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='port' type-id='type-id-14' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ol_flags' type-id='type-id-6' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_descriptor_fields1' type-id='type-id-23' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='pkt_len' type-id='type-id-3' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data_len' type-id='type-id-14' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='vlan_tci' type-id='type-id-14' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vlan_tci_outer' type-id='type-id-14' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='buf_len' type-id='type-id-14' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='timestamp' type-id='type-id-6' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cacheline1' type-id='type-id-23' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='pool' type-id='type-id-27' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='next' type-id='type-id-28' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv_size' type-id='type-id-14' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='timesync' type-id='type-id-14' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='seqn' type-id='type-id-3' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='shinfo' type-id='type-id-29' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dynfield1' type-id='type-id-30' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='void' id='type-id-31'/>
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-24'/>
+
+    <array-type-def dimensions='1' type-id='type-id-24' size-in-bits='infinite' id='type-id-32'>
+      <subrange length='infinite' type-id='type-id-15' id='type-id-33'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER' type-id='type-id-32' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='414' column='1' id='type-id-23'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='491' column='1' id='type-id-25'>
+      <data-member access='private'>
+        <var-decl name='buf_iova' type-id='type-id-34' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='buf_physaddr' type-id='type-id-34' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_iova_t' type-id='type-id-6' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-34'/>
+
+    <array-type-def dimensions='1' type-id='type-id-6' size-in-bits='infinite' id='type-id-35'>
+      <subrange length='infinite' type-id='type-id-15' id='type-id-33'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER64' type-id='type-id-35' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='420' column='1' id='type-id-26'/>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-36'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-37' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-38' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-24' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-10' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-3' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-3' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-3' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-3' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-3' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-10' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-40' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-41' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-3' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-42' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-3' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-43' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-44'/>
+
+    <array-type-def dimensions='1' type-id='type-id-44' size-in-bits='256' id='type-id-37'>
+      <subrange length='32' type-id='type-id-15' id='type-id-45'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-38'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-24' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-6' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-46'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-37' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-47' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-48' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-6' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-40' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-3' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-47'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-49' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-34' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-6' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-49'/>
+    <typedef-decl name='size_t' type-id='type-id-15' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-48'/>
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-50'/>
+    <typedef-decl name='int32_t' type-id='type-id-50' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-40'/>
+    <qualified-type-def type-id='type-id-46' const='yes' id='type-id-51'/>
+    <pointer-type-def type-id='type-id-51' size-in-bits='64' id='type-id-39'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-52'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-3' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-3' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-3' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-53' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-24' size-in-bits='98304' id='type-id-53'>
+      <subrange length='1536' type-id='type-id-15' id='type-id-54'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-52' size-in-bits='64' id='type-id-41'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-42'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-55' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-56' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-57'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-58' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-27' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-59' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-58'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-55' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-57' size-in-bits='64' id='type-id-55'/>
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-27'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-59'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-34' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-55' size-in-bits='64' id='type-id-56'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-43'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-60' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-61' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-62'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-63' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-27' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-24' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-64' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-48' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-65' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-24' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-63'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-60' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-62' size-in-bits='64' id='type-id-60'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-64'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-34' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-66' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-67'/>
+    <pointer-type-def type-id='type-id-67' size-in-bits='64' id='type-id-65'/>
+    <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-61'/>
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-28'/>
+    <class-decl name='rte_mbuf_ext_shared_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='689' column='1' id='type-id-68'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_cb' type-id='type-id-69' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcb_opaque' type-id='type-id-24' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt_atomic' type-id='type-id-70' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-72'/>
+    <typedef-decl name='rte_mbuf_extbuf_free_callback_t' type-id='type-id-72' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='684' column='1' id='type-id-69'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-70' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-73'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-74' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-75'/>
+    <typedef-decl name='__int16_t' type-id='type-id-75' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-76'/>
+    <typedef-decl name='int16_t' type-id='type-id-76' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-77'/>
+    <qualified-type-def type-id='type-id-77' volatile='yes' id='type-id-74'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-73' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-70'/>
+    <pointer-type-def type-id='type-id-68' size-in-bits='64' id='type-id-29'/>
+
+    <array-type-def dimensions='1' type-id='type-id-6' size-in-bits='128' id='type-id-30'>
+      <subrange length='2' type-id='type-id-15' id='type-id-78'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-8'/>
+    <class-decl name='rte_sched_subport' size-in-bits='26112' is-struct='yes' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='141' column='1' id='type-id-79'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tb_time' type-id='type-id-6' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='143' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tb_period' type-id='type-id-6' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='144' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tb_credits_per_period' type-id='type-id-6' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='145' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='tb_size' type-id='type-id-6' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='146' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='tb_credits' type-id='type-id-6' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='147' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='tc_time' type-id='type-id-6' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='150' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='tc_credits_per_period' type-id='type-id-80' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='151' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='tc_credits' type-id='type-id-80' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='tc_period' type-id='type-id-6' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='153' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='tc_ov_wm' type-id='type-id-6' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='156' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='tc_ov_wm_min' type-id='type-id-6' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='157' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='tc_ov_wm_max' type-id='type-id-6' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='158' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='tc_ov_period_id' type-id='type-id-19' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='159' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2312'>
+        <var-decl name='tc_ov' type-id='type-id-19' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='160' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2336'>
+        <var-decl name='tc_ov_n' type-id='type-id-3' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='161' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='tc_ov_rate' type-id='type-id-81' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='162' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='stats' type-id='type-id-82' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='165' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5888'>
+        <var-decl name='n_pipes_per_subport_enabled' type-id='type-id-3' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='168' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5920'>
+        <var-decl name='n_pipe_profiles' type-id='type-id-3' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='169' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5952'>
+        <var-decl name='n_max_pipe_profiles' type-id='type-id-3' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='170' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6016'>
+        <var-decl name='pipe_tc_be_rate_max' type-id='type-id-6' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='173' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6080'>
+        <var-decl name='qsize' type-id='type-id-4' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='176' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6304'>
+        <var-decl name='pipe_loop' type-id='type-id-3' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='183' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6336'>
+        <var-decl name='pipe_exhaustion' type-id='type-id-3' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='184' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6400'>
+        <var-decl name='bmp' type-id='type-id-83' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6528'>
+        <var-decl name='grinder_base_bmp_pos' type-id='type-id-84' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6784'>
+        <var-decl name='grinder' type-id='type-id-85' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24704'>
+        <var-decl name='busy_grinders' type-id='type-id-3' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='192' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24736'>
+        <var-decl name='qsize_add' type-id='type-id-86' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25248'>
+        <var-decl name='qsize_sum' type-id='type-id-3' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='196' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25280'>
+        <var-decl name='pipe' type-id='type-id-87' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='198' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25344'>
+        <var-decl name='queue' type-id='type-id-88' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='199' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25408'>
+        <var-decl name='queue_extra' type-id='type-id-89' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='200' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25472'>
+        <var-decl name='pipe_profiles' type-id='type-id-90' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='201' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25536'>
+        <var-decl name='bmp_array' type-id='type-id-91' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='202' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25600'>
+        <var-decl name='queue_array' type-id='type-id-8' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='203' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='26112'>
+        <var-decl name='memory' type-id='type-id-92' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='204' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-6' size-in-bits='832' id='type-id-80'>
+      <subrange length='13' type-id='type-id-15' id='type-id-16'/>
+
+    </array-type-def>
+    <type-decl name='double' size-in-bits='64' id='type-id-81'/>
+    <class-decl name='rte_sched_subport_stats' size-in-bits='3328' is-struct='yes' visibility='default' filepath='../lib/librte_sched/rte_sched.h' line='196' column='1' id='type-id-82'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n_pkts_tc' type-id='type-id-80' visibility='default' filepath='../lib/librte_sched/rte_sched.h' line='198' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='n_pkts_tc_dropped' type-id='type-id-80' visibility='default' filepath='../lib/librte_sched/rte_sched.h' line='201' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='n_bytes_tc' type-id='type-id-80' visibility='default' filepath='../lib/librte_sched/rte_sched.h' line='204' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2496'>
+        <var-decl name='n_bytes_tc_dropped' type-id='type-id-80' visibility='default' filepath='../lib/librte_sched/rte_sched.h' line='207' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_bitmap' size-in-bits='320' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bitmap.h' line='61' column='1' id='type-id-93'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='array1' type-id='type-id-94' visibility='default' filepath='../lib/librte_eal/common/include/rte_bitmap.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='array2' type-id='type-id-94' visibility='default' filepath='../lib/librte_eal/common/include/rte_bitmap.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='array1_size' type-id='type-id-3' visibility='default' filepath='../lib/librte_eal/common/include/rte_bitmap.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='array2_size' type-id='type-id-3' visibility='default' filepath='../lib/librte_eal/common/include/rte_bitmap.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='index1' type-id='type-id-3' visibility='default' filepath='../lib/librte_eal/common/include/rte_bitmap.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='offset1' type-id='type-id-3' visibility='default' filepath='../lib/librte_eal/common/include/rte_bitmap.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='index2' type-id='type-id-3' visibility='default' filepath='../lib/librte_eal/common/include/rte_bitmap.h' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='go2' type-id='type-id-3' visibility='default' filepath='../lib/librte_eal/common/include/rte_bitmap.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='memory' type-id='type-id-92' visibility='default' filepath='../lib/librte_eal/common/include/rte_bitmap.h' line='75' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-6' size-in-bits='64' id='type-id-94'/>
+
+    <array-type-def dimensions='1' type-id='type-id-19' size-in-bits='infinite' id='type-id-92'>
+      <subrange length='infinite' type-id='type-id-15' id='type-id-33'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-93' size-in-bits='64' id='type-id-83'/>
+
+    <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='256' id='type-id-84'>
+      <subrange length='8' type-id='type-id-15' id='type-id-95'/>
+
+    </array-type-def>
+    <class-decl name='rte_sched_grinder' size-in-bits='2240' is-struct='yes' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='104' column='1' id='type-id-96'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pcache_qmask' type-id='type-id-97' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pcache_qindex' type-id='type-id-98' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='pcache_w' type-id='type-id-3' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='pcache_r' type-id='type-id-3' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='state' type-id='type-id-99' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='112' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='productive' type-id='type-id-3' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='113' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pindex' type-id='type-id-3' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='114' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='subport' type-id='type-id-100' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='115' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='pipe' type-id='type-id-87' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='116' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='pipe_params' type-id='type-id-90' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='117' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tccache_qmask' type-id='type-id-101' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='120' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='tccache_qindex' type-id='type-id-102' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='121' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1120'>
+        <var-decl name='tccache_w' type-id='type-id-3' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='122' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='tccache_r' type-id='type-id-3' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='123' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1184'>
+        <var-decl name='tc_index' type-id='type-id-3' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='126' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='queue' type-id='type-id-103' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='127' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='qbase' type-id='type-id-104' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='128' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='qindex' type-id='type-id-98' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='129' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='qsize' type-id='type-id-14' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='130' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1888'>
+        <var-decl name='qmask' type-id='type-id-3' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='131' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='qpos' type-id='type-id-3' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='132' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='pkt' type-id='type-id-28' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='133' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='wrr_tokens' type-id='type-id-97' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='136' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='wrr_mask' type-id='type-id-97' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='wrr_cost' type-id='type-id-105' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='138' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-14' size-in-bits='64' id='type-id-97'>
+      <subrange length='4' type-id='type-id-15' id='type-id-106'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='128' id='type-id-98'>
+      <subrange length='4' type-id='type-id-15' id='type-id-106'/>
+
+    </array-type-def>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-107'/>
+    <enum-decl name='grinder_state' filepath='../lib/librte_sched/rte_sched.c' line='97' column='1' id='type-id-99'>
+      <underlying-type type-id='type-id-107'/>
+      <enumerator name='e_GRINDER_PREFETCH_PIPE' value='0'/>
+      <enumerator name='e_GRINDER_PREFETCH_TC_QUEUE_ARRAYS' value='1'/>
+      <enumerator name='e_GRINDER_PREFETCH_MBUF' value='2'/>
+      <enumerator name='e_GRINDER_READ_MBUF' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-79' size-in-bits='64' id='type-id-100'/>
+    <class-decl name='rte_sched_pipe' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='65' column='1' id='type-id-108'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tb_time' type-id='type-id-6' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tb_credits' type-id='type-id-6' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='profile' type-id='type-id-3' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='tc_time' type-id='type-id-6' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='tc_credits' type-id='type-id-80' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='wrr_tokens' type-id='type-id-105' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='tc_ov_credits' type-id='type-id-6' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='tc_ov_period_id' type-id='type-id-19' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='82' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-19' size-in-bits='32' id='type-id-105'>
+      <subrange length='4' type-id='type-id-15' id='type-id-106'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-108' size-in-bits='64' id='type-id-87'/>
+    <class-decl name='rte_sched_pipe_profile' size-in-bits='1152' is-struct='yes' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='50' column='1' id='type-id-109'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tb_period' type-id='type-id-6' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tb_credits_per_period' type-id='type-id-6' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tb_size' type-id='type-id-6' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='tc_period' type-id='type-id-6' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='tc_credits_per_period' type-id='type-id-80' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='tc_ov_weight' type-id='type-id-19' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1096'>
+        <var-decl name='wrr_cost' type-id='type-id-105' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='62' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-109' size-in-bits='64' id='type-id-90'/>
+
+    <array-type-def dimensions='1' type-id='type-id-19' size-in-bits='104' id='type-id-101'>
+      <subrange length='13' type-id='type-id-15' id='type-id-16'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='416' id='type-id-102'>
+      <subrange length='13' type-id='type-id-15' id='type-id-16'/>
+
+    </array-type-def>
+    <class-decl name='rte_sched_queue' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='85' column='1' id='type-id-110'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='qw' type-id='type-id-14' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='qr' type-id='type-id-14' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='87' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-110' size-in-bits='64' id='type-id-88'/>
+
+    <array-type-def dimensions='1' type-id='type-id-88' size-in-bits='256' id='type-id-103'>
+      <subrange length='4' type-id='type-id-15' id='type-id-106'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='256' id='type-id-104'>
+      <subrange length='4' type-id='type-id-15' id='type-id-106'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-96' size-in-bits='17920' id='type-id-85'>
+      <subrange length='8' type-id='type-id-15' id='type-id-95'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='512' id='type-id-86'>
+      <subrange length='16' type-id='type-id-15' id='type-id-20'/>
+
+    </array-type-def>
+    <class-decl name='rte_sched_queue_extra' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='90' column='1' id='type-id-111'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stats' type-id='type-id-112' visibility='default' filepath='../lib/librte_sched/rte_sched.c' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_sched_queue_stats' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_sched/rte_sched.h' line='216' column='1' id='type-id-112'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n_pkts' type-id='type-id-6' visibility='default' filepath='../lib/librte_sched/rte_sched.h' line='218' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='n_pkts_dropped' type-id='type-id-6' visibility='default' filepath='../lib/librte_sched/rte_sched.h' line='221' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='n_bytes' type-id='type-id-6' visibility='default' filepath='../lib/librte_sched/rte_sched.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='n_bytes_dropped' type-id='type-id-6' visibility='default' filepath='../lib/librte_sched/rte_sched.h' line='232' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-111' size-in-bits='64' id='type-id-89'/>
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-91'/>
+
+    <array-type-def dimensions='1' type-id='type-id-100' size-in-bits='infinite' id='type-id-9'>
+      <subrange length='infinite' type-id='type-id-15' id='type-id-33'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-113'/>
+    <function-decl name='rte_sched_port_dequeue' mangled-name='rte_sched_port_dequeue' filepath='../lib/librte_sched/rte_sched.c' line='2711' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_sched_port_dequeue@@DPDK_20.0'>
+      <parameter type-id='type-id-113' name='port' filepath='../lib/librte_sched/rte_sched.c' line='2711' column='1'/>
+      <parameter type-id='type-id-8' name='pkts' filepath='../lib/librte_sched/rte_sched.c' line='2711' column='1'/>
+      <parameter type-id='type-id-3' name='n_pkts' filepath='../lib/librte_sched/rte_sched.c' line='2711' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_sched_port_enqueue' mangled-name='rte_sched_port_enqueue' filepath='../lib/librte_sched/rte_sched.c' line='1767' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_sched_port_enqueue@@DPDK_20.0'>
+      <parameter type-id='type-id-113' name='port' filepath='../lib/librte_sched/rte_sched.c' line='1767' column='1'/>
+      <parameter type-id='type-id-8' name='pkts' filepath='../lib/librte_sched/rte_sched.c' line='1767' column='1'/>
+      <parameter type-id='type-id-3' name='n_pkts' filepath='../lib/librte_sched/rte_sched.c' line='1768' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-112' size-in-bits='64' id='type-id-114'/>
+    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-115'/>
+    <function-decl name='rte_sched_queue_read_stats' mangled-name='rte_sched_queue_read_stats' filepath='../lib/librte_sched/rte_sched.c' line='1433' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_sched_queue_read_stats@@DPDK_20.0'>
+      <parameter type-id='type-id-113' name='port' filepath='../lib/librte_sched/rte_sched.c' line='1433' column='1'/>
+      <parameter type-id='type-id-3' name='queue_id' filepath='../lib/librte_sched/rte_sched.c' line='1434' column='1'/>
+      <parameter type-id='type-id-114' name='stats' filepath='../lib/librte_sched/rte_sched.c' line='1435' column='1'/>
+      <parameter type-id='type-id-115' name='qlen' filepath='../lib/librte_sched/rte_sched.c' line='1436' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-82' size-in-bits='64' id='type-id-116'/>
+    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-117'/>
+    <function-decl name='rte_sched_subport_read_stats' mangled-name='rte_sched_subport_read_stats' filepath='../lib/librte_sched/rte_sched.c' line='1388' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_sched_subport_read_stats@@DPDK_20.0'>
+      <parameter type-id='type-id-113' name='port' filepath='../lib/librte_sched/rte_sched.c' line='1388' column='1'/>
+      <parameter type-id='type-id-3' name='subport_id' filepath='../lib/librte_sched/rte_sched.c' line='1389' column='1'/>
+      <parameter type-id='type-id-116' name='stats' filepath='../lib/librte_sched/rte_sched.c' line='1390' column='1'/>
+      <parameter type-id='type-id-117' name='tc_ov' filepath='../lib/librte_sched/rte_sched.c' line='1391' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <enum-decl name='rte_color' filepath='../lib/librte_meter/rte_meter.h' line='36' column='1' id='type-id-118'>
+      <underlying-type type-id='type-id-107'/>
+      <enumerator name='RTE_COLOR_GREEN' value='0'/>
+      <enumerator name='RTE_COLOR_YELLOW' value='1'/>
+      <enumerator name='RTE_COLOR_RED' value='2'/>
+      <enumerator name='RTE_COLORS' value='3'/>
+    </enum-decl>
+    <qualified-type-def type-id='type-id-22' const='yes' id='type-id-119'/>
+    <pointer-type-def type-id='type-id-119' size-in-bits='64' id='type-id-120'/>
+    <function-decl name='rte_sched_port_pkt_read_color' mangled-name='rte_sched_port_pkt_read_color' filepath='../lib/librte_sched/rte_sched.c' line='1382' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_sched_port_pkt_read_color@@DPDK_20.0'>
+      <parameter type-id='type-id-120' name='pkt' filepath='../lib/librte_sched/rte_sched.c' line='1382' column='1'/>
+      <return type-id='type-id-118'/>
+    </function-decl>
+    <function-decl name='rte_sched_port_pkt_read_tree_path' mangled-name='rte_sched_port_pkt_read_tree_path' filepath='../lib/librte_sched/rte_sched.c' line='1367' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_sched_port_pkt_read_tree_path@@DPDK_20.0'>
+      <parameter type-id='type-id-113' name='port' filepath='../lib/librte_sched/rte_sched.c' line='1367' column='1'/>
+      <parameter type-id='type-id-120' name='pkt' filepath='../lib/librte_sched/rte_sched.c' line='1368' column='1'/>
+      <parameter type-id='type-id-117' name='subport' filepath='../lib/librte_sched/rte_sched.c' line='1369' column='1'/>
+      <parameter type-id='type-id-117' name='pipe' filepath='../lib/librte_sched/rte_sched.c' line='1369' column='1'/>
+      <parameter type-id='type-id-117' name='traffic_class' filepath='../lib/librte_sched/rte_sched.c' line='1370' column='1'/>
+      <parameter type-id='type-id-117' name='queue' filepath='../lib/librte_sched/rte_sched.c' line='1370' column='1'/>
+      <return type-id='type-id-31'/>
+    </function-decl>
+    <function-decl name='rte_sched_port_pkt_write' mangled-name='rte_sched_port_pkt_write' filepath='../lib/librte_sched/rte_sched.c' line='1354' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_sched_port_pkt_write@@DPDK_20.0'>
+      <parameter type-id='type-id-113' name='port' filepath='../lib/librte_sched/rte_sched.c' line='1354' column='1'/>
+      <parameter type-id='type-id-28' name='pkt' filepath='../lib/librte_sched/rte_sched.c' line='1355' column='1'/>
+      <parameter type-id='type-id-3' name='subport' filepath='../lib/librte_sched/rte_sched.c' line='1356' column='1'/>
+      <parameter type-id='type-id-3' name='pipe' filepath='../lib/librte_sched/rte_sched.c' line='1356' column='1'/>
+      <parameter type-id='type-id-3' name='traffic_class' filepath='../lib/librte_sched/rte_sched.c' line='1357' column='1'/>
+      <parameter type-id='type-id-3' name='queue' filepath='../lib/librte_sched/rte_sched.c' line='1358' column='1'/>
+      <parameter type-id='type-id-118' name='color' filepath='../lib/librte_sched/rte_sched.c' line='1358' column='1'/>
+      <return type-id='type-id-31'/>
+    </function-decl>
+    <function-decl name='rte_sched_pipe_config' mangled-name='rte_sched_pipe_config' filepath='../lib/librte_sched/rte_sched.c' line='1155' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_sched_pipe_config@@DPDK_20.0'>
+      <parameter type-id='type-id-113' name='port' filepath='../lib/librte_sched/rte_sched.c' line='1155' column='1'/>
+      <parameter type-id='type-id-3' name='subport_id' filepath='../lib/librte_sched/rte_sched.c' line='1156' column='1'/>
+      <parameter type-id='type-id-3' name='pipe_id' filepath='../lib/librte_sched/rte_sched.c' line='1157' column='1'/>
+      <parameter type-id='type-id-40' name='pipe_profile' filepath='../lib/librte_sched/rte_sched.c' line='1158' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_sched_subport_params' size-in-bits='1408' is-struct='yes' visibility='default' filepath='../lib/librte_sched/rte_sched.h' line='151' column='1' id='type-id-121'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tb_rate' type-id='type-id-6' visibility='default' filepath='../lib/librte_sched/rte_sched.h' line='153' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tb_size' type-id='type-id-6' visibility='default' filepath='../lib/librte_sched/rte_sched.h' line='156' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tc_rate' type-id='type-id-80' visibility='default' filepath='../lib/librte_sched/rte_sched.h' line='159' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='tc_period' type-id='type-id-6' visibility='default' filepath='../lib/librte_sched/rte_sched.h' line='162' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='n_pipes_per_subport_enabled' type-id='type-id-3' visibility='default' filepath='../lib/librte_sched/rte_sched.h' line='170' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1056'>
+        <var-decl name='qsize' type-id='type-id-4' visibility='default' filepath='../lib/librte_sched/rte_sched.h' line='176' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='pipe_profiles' type-id='type-id-122' visibility='default' filepath='../lib/librte_sched/rte_sched.h' line='181' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='n_pipe_profiles' type-id='type-id-3' visibility='default' filepath='../lib/librte_sched/rte_sched.h' line='184' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1376'>
+        <var-decl name='n_max_pipe_profiles' type-id='type-id-3' visibility='default' filepath='../lib/librte_sched/rte_sched.h' line='187' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_sched_pipe_params' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_sched/rte_sched.h' line='122' column='1' id='type-id-123'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tb_rate' type-id='type-id-6' visibility='default' filepath='../lib/librte_sched/rte_sched.h' line='124' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tb_size' type-id='type-id-6' visibility='default' filepath='../lib/librte_sched/rte_sched.h' line='127' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tc_rate' type-id='type-id-80' visibility='default' filepath='../lib/librte_sched/rte_sched.h' line='130' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='tc_period' type-id='type-id-6' visibility='default' filepath='../lib/librte_sched/rte_sched.h' line='133' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='tc_ov_weight' type-id='type-id-19' visibility='default' filepath='../lib/librte_sched/rte_sched.h' line='136' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1032'>
+        <var-decl name='wrr_weights' type-id='type-id-105' visibility='default' filepath='../lib/librte_sched/rte_sched.h' line='139' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-123' size-in-bits='64' id='type-id-122'/>
+    <pointer-type-def type-id='type-id-121' size-in-bits='64' id='type-id-124'/>
+    <function-decl name='rte_sched_subport_config' mangled-name='rte_sched_subport_config' filepath='../lib/librte_sched/rte_sched.c' line='966' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_sched_subport_config@@DPDK_20.0'>
+      <parameter type-id='type-id-113' name='port' filepath='../lib/librte_sched/rte_sched.c' line='966' column='1'/>
+      <parameter type-id='type-id-3' name='subport_id' filepath='../lib/librte_sched/rte_sched.c' line='967' column='1'/>
+      <parameter type-id='type-id-124' name='params' filepath='../lib/librte_sched/rte_sched.c' line='968' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_sched_port_free' mangled-name='rte_sched_port_free' filepath='../lib/librte_sched/rte_sched.c' line='895' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_sched_port_free@@DPDK_20.0'>
+      <parameter type-id='type-id-113' name='port' filepath='../lib/librte_sched/rte_sched.c' line='895' column='1'/>
+      <return type-id='type-id-31'/>
+    </function-decl>
+    <class-decl name='rte_sched_port_params' size-in-bits='320' is-struct='yes' visibility='default' filepath='../lib/librte_sched/rte_sched.h' line='236' column='1' id='type-id-125'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-126' visibility='default' filepath='../lib/librte_sched/rte_sched.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='socket' type-id='type-id-1' visibility='default' filepath='../lib/librte_sched/rte_sched.h' line='241' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rate' type-id='type-id-6' visibility='default' filepath='../lib/librte_sched/rte_sched.h' line='244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='mtu' type-id='type-id-3' visibility='default' filepath='../lib/librte_sched/rte_sched.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='frame_overhead' type-id='type-id-3' visibility='default' filepath='../lib/librte_sched/rte_sched.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='n_subports_per_port' type-id='type-id-3' visibility='default' filepath='../lib/librte_sched/rte_sched.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='n_pipes_per_subport' type-id='type-id-3' visibility='default' filepath='../lib/librte_sched/rte_sched.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-44' const='yes' id='type-id-127'/>
+    <pointer-type-def type-id='type-id-127' size-in-bits='64' id='type-id-126'/>
+    <pointer-type-def type-id='type-id-125' size-in-bits='64' id='type-id-128'/>
+    <function-decl name='rte_sched_port_config' mangled-name='rte_sched_port_config' filepath='../lib/librte_sched/rte_sched.c' line='792' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_sched_port_config@@DPDK_20.0'>
+      <parameter type-id='type-id-128' name='params' filepath='../lib/librte_sched/rte_sched.c' line='792' column='1'/>
+      <return type-id='type-id-113'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-124' size-in-bits='64' id='type-id-129'/>
+    <function-decl name='rte_sched_port_get_memory_footprint' mangled-name='rte_sched_port_get_memory_footprint' filepath='../lib/librte_sched/rte_sched.c' line='749' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_sched_port_get_memory_footprint@@DPDK_20.0'>
+      <parameter type-id='type-id-128' name='port_params' filepath='../lib/librte_sched/rte_sched.c' line='749' column='1'/>
+      <parameter type-id='type-id-129' name='subport_params' filepath='../lib/librte_sched/rte_sched.c' line='750' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <function-decl name='rte_sched_subport_pipe_profile_add' mangled-name='rte_sched_subport_pipe_profile_add' filepath='../lib/librte_sched/rte_sched.c' line='1274' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_sched_subport_pipe_profile_add@@EXPERIMENTAL'>
+      <parameter type-id='type-id-113' name='port' filepath='../lib/librte_sched/rte_sched.c' line='1274' column='1'/>
+      <parameter type-id='type-id-3' name='subport_id' filepath='../lib/librte_sched/rte_sched.c' line='1275' column='1'/>
+      <parameter type-id='type-id-122' name='params' filepath='../lib/librte_sched/rte_sched.c' line='1276' column='1'/>
+      <parameter type-id='type-id-117' name='pipe_profile_id' filepath='../lib/librte_sched/rte_sched.c' line='1277' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-66'>
+      <parameter type-id='type-id-60'/>
+      <parameter type-id='type-id-24'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-71'>
+      <parameter type-id='type-id-24'/>
+      <parameter type-id='type-id-24'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_sched/rte_red.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='rte_red_rand_val' type-id='type-id-3' mangled-name='rte_red_rand_val' visibility='default' filepath='../lib/librte_sched/rte_red.h' line='41' column='1' elf-symbol-id='rte_red_rand_val@@DPDK_20.0'/>
+    <var-decl name='rte_red_rand_seed' type-id='type-id-3' mangled-name='rte_red_rand_seed' visibility='default' filepath='../lib/librte_sched/rte_red.h' line='42' column='1' elf-symbol-id='rte_red_rand_seed@@DPDK_20.0'/>
+
+    <array-type-def dimensions='1' type-id='type-id-14' size-in-bits='192' id='type-id-130'>
+      <subrange length='12' type-id='type-id-15' id='type-id-131'/>
+
+    </array-type-def>
+    <var-decl name='rte_red_log2_1_minus_Wq' type-id='type-id-130' mangled-name='rte_red_log2_1_minus_Wq' visibility='default' filepath='../lib/librte_sched/rte_red.h' line='43' column='1' elf-symbol-id='rte_red_log2_1_minus_Wq@@DPDK_20.0'/>
+
+    <array-type-def dimensions='1' type-id='type-id-14' size-in-bits='256' id='type-id-132'>
+      <subrange length='16' type-id='type-id-15' id='type-id-20'/>
+
+    </array-type-def>
+    <var-decl name='rte_red_pow2_frac_inv' type-id='type-id-132' mangled-name='rte_red_pow2_frac_inv' visibility='default' filepath='../lib/librte_sched/rte_red.h' line='44' column='1' elf-symbol-id='rte_red_pow2_frac_inv@@DPDK_20.0'/>
+    <class-decl name='rte_red_config' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_sched/rte_red.h' line='60' column='1' id='type-id-133'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='min_th' type-id='type-id-3' visibility='default' filepath='../lib/librte_sched/rte_red.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_th' type-id='type-id-3' visibility='default' filepath='../lib/librte_sched/rte_red.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pa_const' type-id='type-id-3' visibility='default' filepath='../lib/librte_sched/rte_red.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='maxp_inv' type-id='type-id-19' visibility='default' filepath='../lib/librte_sched/rte_red.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='104'>
+        <var-decl name='wq_log2' type-id='type-id-19' visibility='default' filepath='../lib/librte_sched/rte_red.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-133' size-in-bits='64' id='type-id-134'/>
+    <qualified-type-def type-id='type-id-14' const='yes' id='type-id-135'/>
+    <function-decl name='rte_red_config_init' mangled-name='rte_red_config_init' filepath='../lib/librte_sched/rte_red.c' line='84' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_red_config_init@@DPDK_20.0'>
+      <parameter type-id='type-id-134' name='red_cfg' filepath='../lib/librte_sched/rte_red.c' line='84' column='1'/>
+      <parameter type-id='type-id-135' name='wq_log2' filepath='../lib/librte_sched/rte_red.c' line='85' column='1'/>
+      <parameter type-id='type-id-135' name='min_th' filepath='../lib/librte_sched/rte_red.c' line='86' column='1'/>
+      <parameter type-id='type-id-135' name='max_th' filepath='../lib/librte_sched/rte_red.c' line='87' column='1'/>
+      <parameter type-id='type-id-135' name='maxp_inv' filepath='../lib/librte_sched/rte_red.c' line='88' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_red' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_sched/rte_red.h' line='71' column='1' id='type-id-136'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='avg' type-id='type-id-3' visibility='default' filepath='../lib/librte_sched/rte_red.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='count' type-id='type-id-3' visibility='default' filepath='../lib/librte_sched/rte_red.h' line='73' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='q_time' type-id='type-id-6' visibility='default' filepath='../lib/librte_sched/rte_red.h' line='74' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-136' size-in-bits='64' id='type-id-137'/>
+    <function-decl name='rte_red_rt_data_init' mangled-name='rte_red_rt_data_init' filepath='../lib/librte_sched/rte_red.c' line='72' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_red_rt_data_init@@DPDK_20.0'>
+      <parameter type-id='type-id-137' name='red' filepath='../lib/librte_sched/rte_red.c' line='72' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_sched/rte_approx.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='rte_approx' mangled-name='rte_approx' filepath='../lib/librte_sched/rte_approx.c' line='142' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_approx@@DPDK_20.0'>
+      <parameter type-id='type-id-81' name='alpha' filepath='../lib/librte_sched/rte_approx.c' line='142' column='1'/>
+      <parameter type-id='type-id-81' name='d' filepath='../lib/librte_sched/rte_approx.c' line='142' column='1'/>
+      <parameter type-id='type-id-117' name='p' filepath='../lib/librte_sched/rte_approx.c' line='142' column='1'/>
+      <parameter type-id='type-id-117' name='q' filepath='../lib/librte_sched/rte_approx.c' line='142' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_security.dump b/lib/.abi/librte_security.dump
new file mode 100644
index 000000000..5e9f75048
--- /dev/null
+++ b/lib/.abi/librte_security.dump
@@ -0,0 +1,1125 @@
+<abi-corpus path='gcc//lib/librte_security.so.20.0' architecture='elf-amd-x86_64' soname='librte_security.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_security_capabilities_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_security_capability_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_security_get_userdata' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_security_session_create' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_security_session_destroy' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_security_session_get_size' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_security_session_stats_get' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_security_session_update' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_security_set_pkt_metadata' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_security/rte_security.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_security_capability' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_security/rte_security.h' line='554' column='1' id='type-id-1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='action' type-id='type-id-2' visibility='default' filepath='../lib/librte_security/rte_security.h' line='555' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='protocol' type-id='type-id-3' visibility='default' filepath='../lib/librte_security/rte_security.h' line='557' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='crypto_capabilities' type-id='type-id-5' visibility='default' filepath='../lib/librte_security/rte_security.h' line='590' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='ol_flags' type-id='type-id-6' visibility='default' filepath='../lib/librte_security/rte_security.h' line='593' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-7'/>
+    <enum-decl name='rte_security_session_action_type' filepath='../lib/librte_security/rte_security.h' line='299' column='1' id='type-id-2'>
+      <underlying-type type-id='type-id-7'/>
+      <enumerator name='RTE_SECURITY_ACTION_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_SECURITY_ACTION_TYPE_INLINE_CRYPTO' value='1'/>
+      <enumerator name='RTE_SECURITY_ACTION_TYPE_INLINE_PROTOCOL' value='2'/>
+      <enumerator name='RTE_SECURITY_ACTION_TYPE_LOOKASIDE_PROTOCOL' value='3'/>
+    </enum-decl>
+    <enum-decl name='rte_security_session_protocol' filepath='../lib/librte_security/rte_security.h' line='317' column='1' id='type-id-3'>
+      <underlying-type type-id='type-id-7'/>
+      <enumerator name='RTE_SECURITY_PROTOCOL_IPSEC' value='1'/>
+      <enumerator name='RTE_SECURITY_PROTOCOL_MACSEC' value='2'/>
+      <enumerator name='RTE_SECURITY_PROTOCOL_PDCP' value='3'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='160' is-anonymous='yes' visibility='default' filepath='../lib/librte_security/rte_security.h' line='560' column='1' id='type-id-4'>
+      <data-member access='private'>
+        <var-decl name='ipsec' type-id='type-id-8' visibility='default' filepath='../lib/librte_security/rte_security.h' line='574' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='macsec' type-id='type-id-9' visibility='default' filepath='../lib/librte_security/rte_security.h' line='579' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pdcp' type-id='type-id-10' visibility='default' filepath='../lib/librte_security/rte_security.h' line='586' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='160' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_security/rte_security.h' line='561' column='1' id='type-id-8'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='proto' type-id='type-id-11' visibility='default' filepath='../lib/librte_security/rte_security.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='mode' type-id='type-id-12' visibility='default' filepath='../lib/librte_security/rte_security.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='direction' type-id='type-id-13' visibility='default' filepath='../lib/librte_security/rte_security.h' line='566' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='options' type-id='type-id-14' visibility='default' filepath='../lib/librte_security/rte_security.h' line='568' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='replay_win_sz_max' type-id='type-id-6' visibility='default' filepath='../lib/librte_security/rte_security.h' line='570' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_security_ipsec_sa_protocol' filepath='../lib/librte_security/rte_security.h' line='42' column='1' id='type-id-11'>
+      <underlying-type type-id='type-id-7'/>
+      <enumerator name='RTE_SECURITY_IPSEC_SA_PROTO_AH' value='1'/>
+      <enumerator name='RTE_SECURITY_IPSEC_SA_PROTO_ESP' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_security_ipsec_sa_mode' filepath='../lib/librte_security/rte_security.h' line='34' column='1' id='type-id-12'>
+      <underlying-type type-id='type-id-7'/>
+      <enumerator name='RTE_SECURITY_IPSEC_SA_MODE_TRANSPORT' value='1'/>
+      <enumerator name='RTE_SECURITY_IPSEC_SA_MODE_TUNNEL' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_security_ipsec_sa_direction' filepath='../lib/librte_security/rte_security.h' line='186' column='1' id='type-id-13'>
+      <underlying-type type-id='type-id-7'/>
+      <enumerator name='RTE_SECURITY_IPSEC_SA_DIR_EGRESS' value='0'/>
+      <enumerator name='RTE_SECURITY_IPSEC_SA_DIR_INGRESS' value='1'/>
+    </enum-decl>
+    <class-decl name='rte_security_ipsec_sa_options' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_security/rte_security.h' line='117' column='1' id='type-id-14'>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='esn' type-id='type-id-6' visibility='default' filepath='../lib/librte_security/rte_security.h' line='123' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='udp_encap' type-id='type-id-6' visibility='default' filepath='../lib/librte_security/rte_security.h' line='131' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='copy_dscp' type-id='type-id-6' visibility='default' filepath='../lib/librte_security/rte_security.h' line='140' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='28'>
+        <var-decl name='copy_flabel' type-id='type-id-6' visibility='default' filepath='../lib/librte_security/rte_security.h' line='148' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='27'>
+        <var-decl name='copy_df' type-id='type-id-6' visibility='default' filepath='../lib/librte_security/rte_security.h' line='156' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='26'>
+        <var-decl name='dec_ttl' type-id='type-id-6' visibility='default' filepath='../lib/librte_security/rte_security.h' line='165' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25'>
+        <var-decl name='ecn' type-id='type-id-6' visibility='default' filepath='../lib/librte_security/rte_security.h' line='174' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='stats' type-id='type-id-6' visibility='default' filepath='../lib/librte_security/rte_security.h' line='182' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-15'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-15' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-16'/>
+    <typedef-decl name='uint32_t' type-id='type-id-16' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-6'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_security/rte_security.h' line='576' column='1' id='type-id-9'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dummy' type-id='type-id-17' visibility='default' filepath='../lib/librte_security/rte_security.h' line='578' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='int' size-in-bits='32' id='type-id-17'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_security/rte_security.h' line='581' column='1' id='type-id-10'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='domain' type-id='type-id-18' visibility='default' filepath='../lib/librte_security/rte_security.h' line='582' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='capa_flags' type-id='type-id-6' visibility='default' filepath='../lib/librte_security/rte_security.h' line='584' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_security_pdcp_domain' filepath='../lib/librte_security/rte_security.h' line='232' column='1' id='type-id-18'>
+      <underlying-type type-id='type-id-7'/>
+      <enumerator name='RTE_SECURITY_PDCP_MODE_CONTROL' value='0'/>
+      <enumerator name='RTE_SECURITY_PDCP_MODE_DATA' value='1'/>
+    </enum-decl>
+    <class-decl name='rte_cryptodev_capabilities' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-19'/>
+    <qualified-type-def type-id='type-id-19' const='yes' id='type-id-20'/>
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-5'/>
+    <qualified-type-def type-id='type-id-1' const='yes' id='type-id-21'/>
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-22'/>
+    <class-decl name='rte_security_ctx' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_security/rte_security.h' line='66' column='1' id='type-id-23'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='device' type-id='type-id-24' visibility='default' filepath='../lib/librte_security/rte_security.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ops' type-id='type-id-25' visibility='default' filepath='../lib/librte_security/rte_security.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='sess_cnt' type-id='type-id-26' visibility='default' filepath='../lib/librte_security/rte_security.h' line='71' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='void' id='type-id-27'/>
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-24'/>
+    <class-decl name='rte_security_ops' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_security/rte_security_driver.h' line='136' column='1' id='type-id-28'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='session_create' type-id='type-id-29' visibility='default' filepath='../lib/librte_security/rte_security_driver.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='session_update' type-id='type-id-30' visibility='default' filepath='../lib/librte_security/rte_security_driver.h' line='139' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='session_get_size' type-id='type-id-31' visibility='default' filepath='../lib/librte_security/rte_security_driver.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='session_stats_get' type-id='type-id-32' visibility='default' filepath='../lib/librte_security/rte_security_driver.h' line='143' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='session_destroy' type-id='type-id-33' visibility='default' filepath='../lib/librte_security/rte_security_driver.h' line='145' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='set_pkt_metadata' type-id='type-id-34' visibility='default' filepath='../lib/librte_security/rte_security_driver.h' line='147' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='get_userdata' type-id='type-id-35' visibility='default' filepath='../lib/librte_security/rte_security_driver.h' line='149' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='capabilities_get' type-id='type-id-36' visibility='default' filepath='../lib/librte_security/rte_security_driver.h' line='151' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_security_session_conf' size-in-bits='896' is-struct='yes' visibility='default' filepath='../lib/librte_security/rte_security.h' line='329' column='1' id='type-id-37'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='action_type' type-id='type-id-2' visibility='default' filepath='../lib/librte_security/rte_security.h' line='330' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='protocol' type-id='type-id-3' visibility='default' filepath='../lib/librte_security/rte_security.h' line='332' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-38' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='crypto_xform' type-id='type-id-39' visibility='default' filepath='../lib/librte_security/rte_security.h' line='341' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='userdata' type-id='type-id-24' visibility='default' filepath='../lib/librte_security/rte_security.h' line='343' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='704' is-anonymous='yes' visibility='default' filepath='../lib/librte_security/rte_security.h' line='335' column='1' id='type-id-38'>
+      <data-member access='private'>
+        <var-decl name='ipsec' type-id='type-id-40' visibility='default' filepath='../lib/librte_security/rte_security.h' line='336' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='macsec' type-id='type-id-41' visibility='default' filepath='../lib/librte_security/rte_security.h' line='337' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pdcp' type-id='type-id-42' visibility='default' filepath='../lib/librte_security/rte_security.h' line='338' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_security_ipsec_xform' size-in-bits='704' is-struct='yes' visibility='default' filepath='../lib/librte_security/rte_security.h' line='198' column='1' id='type-id-40'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='spi' type-id='type-id-6' visibility='default' filepath='../lib/librte_security/rte_security.h' line='199' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='salt' type-id='type-id-6' visibility='default' filepath='../lib/librte_security/rte_security.h' line='201' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='options' type-id='type-id-14' visibility='default' filepath='../lib/librte_security/rte_security.h' line='203' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='direction' type-id='type-id-13' visibility='default' filepath='../lib/librte_security/rte_security.h' line='205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='proto' type-id='type-id-11' visibility='default' filepath='../lib/librte_security/rte_security.h' line='207' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='mode' type-id='type-id-12' visibility='default' filepath='../lib/librte_security/rte_security.h' line='209' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='tunnel' type-id='type-id-43' visibility='default' filepath='../lib/librte_security/rte_security.h' line='211' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='esn_soft_limit' type-id='type-id-44' visibility='default' filepath='../lib/librte_security/rte_security.h' line='213' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='replay_win_sz' type-id='type-id-6' visibility='default' filepath='../lib/librte_security/rte_security.h' line='215' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_security_ipsec_tunnel_param' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_security/rte_security.h' line='80' column='1' id='type-id-43'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-45' visibility='default' filepath='../lib/librte_security/rte_security.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='' type-id='type-id-46' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_security_ipsec_tunnel_type' filepath='../lib/librte_security/rte_security.h' line='50' column='1' id='type-id-45'>
+      <underlying-type type-id='type-id-7'/>
+      <enumerator name='RTE_SECURITY_IPSEC_TUNNEL_IPV4' value='1'/>
+      <enumerator name='RTE_SECURITY_IPSEC_TUNNEL_IPV6' value='2'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='352' is-anonymous='yes' visibility='default' filepath='../lib/librte_security/rte_security.h' line='84' column='1' id='type-id-46'>
+      <data-member access='private'>
+        <var-decl name='ipv4' type-id='type-id-47' visibility='default' filepath='../lib/librte_security/rte_security.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='ipv6' type-id='type-id-48' visibility='default' filepath='../lib/librte_security/rte_security.h' line='109' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='96' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_security/rte_security.h' line='85' column='1' id='type-id-47'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-49' visibility='default' filepath='../lib/librte_security/rte_security.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dst_ip' type-id='type-id-49' visibility='default' filepath='../lib/librte_security/rte_security.h' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dscp' type-id='type-id-50' visibility='default' filepath='../lib/librte_security/rte_security.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='df' type-id='type-id-50' visibility='default' filepath='../lib/librte_security/rte_security.h' line='92' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='ttl' type-id='type-id-50' visibility='default' filepath='../lib/librte_security/rte_security.h' line='94' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='in_addr' size-in-bits='32' is-struct='yes' visibility='default' filepath='/usr/include/netinet/in.h' line='31' column='1' id='type-id-49'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='s_addr' type-id='type-id-51' visibility='default' filepath='/usr/include/netinet/in.h' line='33' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='in_addr_t' type-id='type-id-6' filepath='/usr/include/netinet/in.h' line='30' column='1' id='type-id-51'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-52'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-52' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-53'/>
+    <typedef-decl name='uint8_t' type-id='type-id-53' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-50'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='352' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_security/rte_security.h' line='98' column='1' id='type-id-48'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_addr' type-id='type-id-54' visibility='default' filepath='../lib/librte_security/rte_security.h' line='99' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dst_addr' type-id='type-id-54' visibility='default' filepath='../lib/librte_security/rte_security.h' line='101' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dscp' type-id='type-id-50' visibility='default' filepath='../lib/librte_security/rte_security.h' line='103' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='flabel' type-id='type-id-6' visibility='default' filepath='../lib/librte_security/rte_security.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='hlimit' type-id='type-id-50' visibility='default' filepath='../lib/librte_security/rte_security.h' line='107' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='in6_addr' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/netinet/in.h' line='212' column='1' id='type-id-54'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__in6_u' type-id='type-id-55' visibility='default' filepath='/usr/include/netinet/in.h' line='219' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='/usr/include/netinet/in.h' line='214' column='1' id='type-id-55'>
+      <data-member access='private'>
+        <var-decl name='__u6_addr8' type-id='type-id-56' visibility='default' filepath='/usr/include/netinet/in.h' line='216' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='__u6_addr16' type-id='type-id-57' visibility='default' filepath='/usr/include/netinet/in.h' line='217' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='__u6_addr32' type-id='type-id-58' visibility='default' filepath='/usr/include/netinet/in.h' line='218' column='1'/>
+      </data-member>
+    </union-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-59'/>
+
+    <array-type-def dimensions='1' type-id='type-id-50' size-in-bits='128' id='type-id-56'>
+      <subrange length='16' type-id='type-id-59' id='type-id-60'/>
+
+    </array-type-def>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-61'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-61' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-62'/>
+    <typedef-decl name='uint16_t' type-id='type-id-62' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-26'/>
+
+    <array-type-def dimensions='1' type-id='type-id-26' size-in-bits='128' id='type-id-57'>
+      <subrange length='8' type-id='type-id-59' id='type-id-63'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-6' size-in-bits='128' id='type-id-58'>
+      <subrange length='4' type-id='type-id-59' id='type-id-64'/>
+
+    </array-type-def>
+    <typedef-decl name='__uint64_t' type-id='type-id-59' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-65'/>
+    <typedef-decl name='uint64_t' type-id='type-id-65' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-44'/>
+    <class-decl name='rte_security_macsec_xform' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_security/rte_security.h' line='224' column='1' id='type-id-41'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dummy' type-id='type-id-17' visibility='default' filepath='../lib/librte_security/rte_security.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_security_pdcp_xform' size-in-bits='224' is-struct='yes' visibility='default' filepath='../lib/librte_security/rte_security.h' line='262' column='1' id='type-id-42'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='bearer' type-id='type-id-66' visibility='default' filepath='../lib/librte_security/rte_security.h' line='263' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='en_ordering' type-id='type-id-50' visibility='default' filepath='../lib/librte_security/rte_security.h' line='267' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='remove_duplicates' type-id='type-id-50' visibility='default' filepath='../lib/librte_security/rte_security.h' line='272' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='domain' type-id='type-id-18' visibility='default' filepath='../lib/librte_security/rte_security.h' line='274' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pkt_dir' type-id='type-id-67' visibility='default' filepath='../lib/librte_security/rte_security.h' line='276' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='sn_size' type-id='type-id-68' visibility='default' filepath='../lib/librte_security/rte_security.h' line='278' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='hfn' type-id='type-id-6' visibility='default' filepath='../lib/librte_security/rte_security.h' line='282' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='hfn_threshold' type-id='type-id-6' visibility='default' filepath='../lib/librte_security/rte_security.h' line='284' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='hfn_ovrd' type-id='type-id-6' visibility='default' filepath='../lib/librte_security/rte_security.h' line='293' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='signed char' size-in-bits='8' id='type-id-69'/>
+    <typedef-decl name='__int8_t' type-id='type-id-69' filepath='/usr/include/bits/types.h' line='37' column='1' id='type-id-70'/>
+    <typedef-decl name='int8_t' type-id='type-id-70' filepath='/usr/include/bits/stdint-intn.h' line='24' column='1' id='type-id-66'/>
+    <enum-decl name='rte_security_pdcp_direction' filepath='../lib/librte_security/rte_security.h' line='238' column='1' id='type-id-67'>
+      <underlying-type type-id='type-id-7'/>
+      <enumerator name='RTE_SECURITY_PDCP_UPLINK' value='0'/>
+      <enumerator name='RTE_SECURITY_PDCP_DOWNLINK' value='1'/>
+    </enum-decl>
+    <enum-decl name='rte_security_pdcp_sn_size' filepath='../lib/librte_security/rte_security.h' line='244' column='1' id='type-id-68'>
+      <underlying-type type-id='type-id-7'/>
+      <enumerator name='RTE_SECURITY_PDCP_SN_SIZE_5' value='5'/>
+      <enumerator name='RTE_SECURITY_PDCP_SN_SIZE_7' value='7'/>
+      <enumerator name='RTE_SECURITY_PDCP_SN_SIZE_12' value='12'/>
+      <enumerator name='RTE_SECURITY_PDCP_SN_SIZE_15' value='15'/>
+      <enumerator name='RTE_SECURITY_PDCP_SN_SIZE_18' value='18'/>
+    </enum-decl>
+    <class-decl name='rte_crypto_sym_xform' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='440' column='1' id='type-id-71'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-39' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='441' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-72' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='443' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-73' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-39'/>
+    <enum-decl name='rte_crypto_sym_xform_type' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='424' column='1' id='type-id-72'>
+      <underlying-type type-id='type-id-7'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_NOT_SPECIFIED' value='0'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_AUTH' value='1'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_CIPHER' value='2'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_AEAD' value='3'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='446' column='1' id='type-id-73'>
+      <data-member access='private'>
+        <var-decl name='auth' type-id='type-id-74' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='447' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='cipher' type-id='type-id-75' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='aead' type-id='type-id-76' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='451' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_crypto_auth_xform' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='278' column='1' id='type-id-74'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-77' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-78' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='281' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-79' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='287' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv' type-id='type-id-80' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='330' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='digest_length' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='332' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_auth_operation' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='262' column='1' id='type-id-77'>
+      <underlying-type type-id='type-id-7'/>
+      <enumerator name='RTE_CRYPTO_AUTH_OP_VERIFY' value='0'/>
+      <enumerator name='RTE_CRYPTO_AUTH_OP_GENERATE' value='1'/>
+    </enum-decl>
+    <enum-decl name='rte_crypto_auth_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='189' column='1' id='type-id-78'>
+      <underlying-type type-id='type-id-7'/>
+      <enumerator name='RTE_CRYPTO_AUTH_NULL' value='1'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_CBC_MAC' value='2'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_CMAC' value='3'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_GMAC' value='4'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_XCBC_MAC' value='5'/>
+      <enumerator name='RTE_CRYPTO_AUTH_KASUMI_F9' value='6'/>
+      <enumerator name='RTE_CRYPTO_AUTH_MD5' value='7'/>
+      <enumerator name='RTE_CRYPTO_AUTH_MD5_HMAC' value='8'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA1' value='9'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA1_HMAC' value='10'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA224' value='11'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA224_HMAC' value='12'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA256' value='13'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA256_HMAC' value='14'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA384' value='15'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA384_HMAC' value='16'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA512' value='17'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA512_HMAC' value='18'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SNOW3G_UIA2' value='19'/>
+      <enumerator name='RTE_CRYPTO_AUTH_ZUC_EIA3' value='20'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_224' value='21'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_224_HMAC' value='22'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_256' value='23'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_256_HMAC' value='24'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_384' value='25'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_384_HMAC' value='26'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_512' value='27'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_512_HMAC' value='28'/>
+      <enumerator name='RTE_CRYPTO_AUTH_LIST_END' value='29'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='284' column='1' id='type-id-79'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-81' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='285' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='length' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='286' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-50' const='yes' id='type-id-82'/>
+    <pointer-type-def type-id='type-id-82' size-in-bits='64' id='type-id-81'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='295' column='1' id='type-id-80'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='offset' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='296' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='length' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='312' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_cipher_xform' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='107' column='1' id='type-id-75'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-83' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-84' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='113' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-79' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='119' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv' type-id='type-id-80' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='185' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_cipher_operation' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='90' column='1' id='type-id-83'>
+      <underlying-type type-id='type-id-7'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_OP_ENCRYPT' value='0'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_OP_DECRYPT' value='1'/>
+    </enum-decl>
+    <enum-decl name='rte_crypto_cipher_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='30' column='1' id='type-id-84'>
+      <underlying-type type-id='type-id-7'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_NULL' value='1'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_CBC' value='2'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_CTR' value='3'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_ECB' value='4'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_CBC' value='5'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_CTR' value='6'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_ECB' value='7'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_F8' value='8'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_XTS' value='9'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_ARC4' value='10'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_KASUMI_F8' value='11'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_SNOW3G_UEA2' value='12'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_ZUC_EEA3' value='13'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_DES_CBC' value='14'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_DOCSISBPI' value='15'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_DES_DOCSISBPI' value='16'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_LIST_END' value='17'/>
+    </enum-decl>
+    <class-decl name='rte_crypto_aead_xform' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='370' column='1' id='type-id-76'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-85' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='371' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-86' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='373' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-79' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='379' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv' type-id='type-id-80' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='411' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='digest_length' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='413' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='240'>
+        <var-decl name='aad_length' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='415' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_aead_operation' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='359' column='1' id='type-id-85'>
+      <underlying-type type-id='type-id-7'/>
+      <enumerator name='RTE_CRYPTO_AEAD_OP_ENCRYPT' value='0'/>
+      <enumerator name='RTE_CRYPTO_AEAD_OP_DECRYPT' value='1'/>
+    </enum-decl>
+    <enum-decl name='rte_crypto_aead_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='346' column='1' id='type-id-86'>
+      <underlying-type type-id='type-id-7'/>
+      <enumerator name='RTE_CRYPTO_AEAD_AES_CCM' value='1'/>
+      <enumerator name='RTE_CRYPTO_AEAD_AES_GCM' value='2'/>
+      <enumerator name='RTE_CRYPTO_AEAD_LIST_END' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-37' size-in-bits='64' id='type-id-87'/>
+    <class-decl name='rte_security_session' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_security/rte_security.h' line='347' column='1' id='type-id-88'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='sess_private_data' type-id='type-id-24' visibility='default' filepath='../lib/librte_security/rte_security.h' line='348' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='opaque_data' type-id='type-id-44' visibility='default' filepath='../lib/librte_security/rte_security.h' line='350' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-88' size-in-bits='64' id='type-id-89'/>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-90'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-91' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-92' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-24' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-93' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-15' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-17' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-6' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-6' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-6' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-6' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-6' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-15' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-94' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-95' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-6' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-96' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-6' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-97' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-98'/>
+
+    <array-type-def dimensions='1' type-id='type-id-98' size-in-bits='256' id='type-id-91'>
+      <subrange length='32' type-id='type-id-59' id='type-id-99'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-92'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-24' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-44' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-100'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-91' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-101' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-102' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-44' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-94' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-6' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-101'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-103' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-104' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-44' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-103'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-44' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-104'/>
+    <typedef-decl name='size_t' type-id='type-id-59' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-102'/>
+    <typedef-decl name='__int32_t' type-id='type-id-17' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-105'/>
+    <typedef-decl name='int32_t' type-id='type-id-105' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-94'/>
+    <qualified-type-def type-id='type-id-100' const='yes' id='type-id-106'/>
+    <pointer-type-def type-id='type-id-106' size-in-bits='64' id='type-id-93'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-107'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-6' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-6' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-6' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-108' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-24' size-in-bits='98304' id='type-id-108'>
+      <subrange length='1536' type-id='type-id-59' id='type-id-109'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-107' size-in-bits='64' id='type-id-95'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-96'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-110' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-111' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-112'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-113' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-114' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-115' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-113'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-110' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-112' size-in-bits='64' id='type-id-110'/>
+    <pointer-type-def type-id='type-id-90' size-in-bits='64' id='type-id-114'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-115'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-104' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-103' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-110' size-in-bits='64' id='type-id-111'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-97'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-116' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-117' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-118'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-119' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-114' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-24' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-120' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-102' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-121' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-24' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-119'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-116' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-118' size-in-bits='64' id='type-id-116'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-120'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-104' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-103' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-122' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-123'/>
+    <pointer-type-def type-id='type-id-123' size-in-bits='64' id='type-id-121'/>
+    <pointer-type-def type-id='type-id-116' size-in-bits='64' id='type-id-117'/>
+    <pointer-type-def type-id='type-id-124' size-in-bits='64' id='type-id-125'/>
+    <typedef-decl name='security_session_create_t' type-id='type-id-125' filepath='../lib/librte_security/rte_security_driver.h' line='36' column='1' id='type-id-29'/>
+    <pointer-type-def type-id='type-id-126' size-in-bits='64' id='type-id-127'/>
+    <typedef-decl name='security_session_update_t' type-id='type-id-127' filepath='../lib/librte_security/rte_security_driver.h' line='62' column='1' id='type-id-30'/>
+    <pointer-type-def type-id='type-id-128' size-in-bits='64' id='type-id-129'/>
+    <typedef-decl name='security_session_get_size' type-id='type-id-129' filepath='../lib/librte_security/rte_security_driver.h' line='75' column='1' id='type-id-31'/>
+    <class-decl name='rte_security_stats' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_security/rte_security.h' line='520' column='1' id='type-id-130'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='protocol' type-id='type-id-3' visibility='default' filepath='../lib/librte_security/rte_security.h' line='521' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-131' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='512' is-anonymous='yes' visibility='default' filepath='../lib/librte_security/rte_security.h' line='525' column='1' id='type-id-131'>
+      <data-member access='private'>
+        <var-decl name='macsec' type-id='type-id-132' visibility='default' filepath='../lib/librte_security/rte_security.h' line='526' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='ipsec' type-id='type-id-133' visibility='default' filepath='../lib/librte_security/rte_security.h' line='527' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pdcp' type-id='type-id-134' visibility='default' filepath='../lib/librte_security/rte_security.h' line='528' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_security_macsec_stats' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_security/rte_security.h' line='501' column='1' id='type-id-132'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='reserved' type-id='type-id-44' visibility='default' filepath='../lib/librte_security/rte_security.h' line='502' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_security_ipsec_stats' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_security/rte_security.h' line='505' column='1' id='type-id-133'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ipackets' type-id='type-id-44' visibility='default' filepath='../lib/librte_security/rte_security.h' line='506' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='opackets' type-id='type-id-44' visibility='default' filepath='../lib/librte_security/rte_security.h' line='507' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ibytes' type-id='type-id-44' visibility='default' filepath='../lib/librte_security/rte_security.h' line='508' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='obytes' type-id='type-id-44' visibility='default' filepath='../lib/librte_security/rte_security.h' line='509' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='ierrors' type-id='type-id-44' visibility='default' filepath='../lib/librte_security/rte_security.h' line='510' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='oerrors' type-id='type-id-44' visibility='default' filepath='../lib/librte_security/rte_security.h' line='511' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='reserved1' type-id='type-id-44' visibility='default' filepath='../lib/librte_security/rte_security.h' line='512' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='reserved2' type-id='type-id-44' visibility='default' filepath='../lib/librte_security/rte_security.h' line='513' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_security_pdcp_stats' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_security/rte_security.h' line='516' column='1' id='type-id-134'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='reserved' type-id='type-id-44' visibility='default' filepath='../lib/librte_security/rte_security.h' line='517' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-130' size-in-bits='64' id='type-id-135'/>
+    <pointer-type-def type-id='type-id-136' size-in-bits='64' id='type-id-137'/>
+    <typedef-decl name='security_session_stats_get_t' type-id='type-id-137' filepath='../lib/librte_security/rte_security_driver.h' line='88' column='1' id='type-id-32'/>
+    <pointer-type-def type-id='type-id-138' size-in-bits='64' id='type-id-139'/>
+    <typedef-decl name='security_session_destroy_t' type-id='type-id-139' filepath='../lib/librte_security/rte_security_driver.h' line='47' column='1' id='type-id-33'/>
+    <class-decl name='rte_mbuf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='480' column='1' id='type-id-140'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheline0' type-id='type-id-141' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-24' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-142' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rearm_data' type-id='type-id-143' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='497' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_off' type-id='type-id-26' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_segs' type-id='type-id-26' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='port' type-id='type-id-26' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ol_flags' type-id='type-id-44' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_descriptor_fields1' type-id='type-id-141' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='pkt_len' type-id='type-id-6' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data_len' type-id='type-id-26' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='vlan_tci' type-id='type-id-26' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vlan_tci_outer' type-id='type-id-26' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='buf_len' type-id='type-id-26' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='timestamp' type-id='type-id-44' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cacheline1' type-id='type-id-141' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='pool' type-id='type-id-114' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='next' type-id='type-id-144' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv_size' type-id='type-id-26' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='timesync' type-id='type-id-26' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='seqn' type-id='type-id-6' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='shinfo' type-id='type-id-145' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dynfield1' type-id='type-id-146' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-24' size-in-bits='infinite' id='type-id-147'>
+      <subrange length='infinite' type-id='type-id-59' id='type-id-148'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER' type-id='type-id-147' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='414' column='1' id='type-id-141'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='491' column='1' id='type-id-142'>
+      <data-member access='private'>
+        <var-decl name='buf_iova' type-id='type-id-104' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='buf_physaddr' type-id='type-id-104' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-44' size-in-bits='infinite' id='type-id-149'>
+      <subrange length='infinite' type-id='type-id-59' id='type-id-148'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER64' type-id='type-id-149' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='420' column='1' id='type-id-143'/>
+    <pointer-type-def type-id='type-id-140' size-in-bits='64' id='type-id-144'/>
+    <class-decl name='rte_mbuf_ext_shared_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='689' column='1' id='type-id-150'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_cb' type-id='type-id-151' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcb_opaque' type-id='type-id-24' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt_atomic' type-id='type-id-152' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-153' size-in-bits='64' id='type-id-154'/>
+    <typedef-decl name='rte_mbuf_extbuf_free_callback_t' type-id='type-id-154' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='684' column='1' id='type-id-151'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-152' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-155'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-156' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-157'/>
+    <typedef-decl name='__int16_t' type-id='type-id-157' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-158'/>
+    <typedef-decl name='int16_t' type-id='type-id-158' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-159'/>
+    <qualified-type-def type-id='type-id-159' volatile='yes' id='type-id-156'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-155' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-152'/>
+    <pointer-type-def type-id='type-id-150' size-in-bits='64' id='type-id-145'/>
+
+    <array-type-def dimensions='1' type-id='type-id-44' size-in-bits='128' id='type-id-146'>
+      <subrange length='2' type-id='type-id-59' id='type-id-160'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-161' size-in-bits='64' id='type-id-162'/>
+    <typedef-decl name='security_set_pkt_metadata_t' type-id='type-id-162' filepath='../lib/librte_security/rte_security_driver.h' line='103' column='1' id='type-id-34'/>
+    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-163'/>
+    <pointer-type-def type-id='type-id-164' size-in-bits='64' id='type-id-165'/>
+    <typedef-decl name='security_get_userdata_t' type-id='type-id-165' filepath='../lib/librte_security/rte_security_driver.h' line='120' column='1' id='type-id-35'/>
+    <pointer-type-def type-id='type-id-166' size-in-bits='64' id='type-id-167'/>
+    <typedef-decl name='security_capabilities_get_t' type-id='type-id-167' filepath='../lib/librte_security/rte_security_driver.h' line='132' column='1' id='type-id-36'/>
+    <qualified-type-def type-id='type-id-28' const='yes' id='type-id-168'/>
+    <pointer-type-def type-id='type-id-168' size-in-bits='64' id='type-id-25'/>
+    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-169'/>
+    <class-decl name='rte_security_capability_idx' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_security/rte_security.h' line='631' column='1' id='type-id-170'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='action' type-id='type-id-2' visibility='default' filepath='../lib/librte_security/rte_security.h' line='632' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='protocol' type-id='type-id-3' visibility='default' filepath='../lib/librte_security/rte_security.h' line='633' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-171' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='96' is-anonymous='yes' visibility='default' filepath='../lib/librte_security/rte_security.h' line='636' column='1' id='type-id-171'>
+      <data-member access='private'>
+        <var-decl name='ipsec' type-id='type-id-172' visibility='default' filepath='../lib/librte_security/rte_security.h' line='641' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pdcp' type-id='type-id-10' visibility='default' filepath='../lib/librte_security/rte_security.h' line='645' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='96' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_security/rte_security.h' line='637' column='1' id='type-id-172'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='proto' type-id='type-id-11' visibility='default' filepath='../lib/librte_security/rte_security.h' line='638' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='mode' type-id='type-id-12' visibility='default' filepath='../lib/librte_security/rte_security.h' line='639' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='direction' type-id='type-id-13' visibility='default' filepath='../lib/librte_security/rte_security.h' line='640' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-170' size-in-bits='64' id='type-id-173'/>
+    <function-decl name='rte_security_capability_get' mangled-name='rte_security_capability_get' filepath='../lib/librte_security/rte_security.c' line='109' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_security_capability_get@@DPDK_20.0'>
+      <parameter type-id='type-id-169' name='instance' filepath='../lib/librte_security/rte_security.c' line='109' column='1'/>
+      <parameter type-id='type-id-173' name='idx' filepath='../lib/librte_security/rte_security.c' line='110' column='1'/>
+      <return type-id='type-id-22'/>
+    </function-decl>
+    <function-decl name='rte_security_capabilities_get' mangled-name='rte_security_capabilities_get' filepath='../lib/librte_security/rte_security.c' line='102' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_security_capabilities_get@@DPDK_20.0'>
+      <parameter type-id='type-id-169' name='instance' filepath='../lib/librte_security/rte_security.c' line='102' column='1'/>
+      <return type-id='type-id-22'/>
+    </function-decl>
+    <function-decl name='rte_security_set_pkt_metadata' mangled-name='rte_security_set_pkt_metadata' filepath='../lib/librte_security/rte_security.c' line='80' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_security_set_pkt_metadata@@DPDK_20.0'>
+      <parameter type-id='type-id-169' name='instance' filepath='../lib/librte_security/rte_security.c' line='80' column='1'/>
+      <parameter type-id='type-id-89' name='sess' filepath='../lib/librte_security/rte_security.c' line='81' column='1'/>
+      <parameter type-id='type-id-144' name='m' filepath='../lib/librte_security/rte_security.c' line='82' column='1'/>
+      <parameter type-id='type-id-24' name='params' filepath='../lib/librte_security/rte_security.c' line='82' column='1'/>
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <function-decl name='rte_security_session_destroy' mangled-name='rte_security_session_destroy' filepath='../lib/librte_security/rte_security.c' line='62' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_security_session_destroy@@DPDK_20.0'>
+      <parameter type-id='type-id-169' name='instance' filepath='../lib/librte_security/rte_security.c' line='62' column='1'/>
+      <parameter type-id='type-id-89' name='sess' filepath='../lib/librte_security/rte_security.c' line='63' column='1'/>
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <function-decl name='rte_security_session_get_size' mangled-name='rte_security_session_get_size' filepath='../lib/librte_security/rte_security.c' line='46' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_security_session_get_size@@DPDK_20.0'>
+      <parameter type-id='type-id-169' name='instance' filepath='../lib/librte_security/rte_security.c' line='46' column='1'/>
+      <return type-id='type-id-15'/>
+    </function-decl>
+    <function-decl name='rte_security_session_create' mangled-name='rte_security_session_create' filepath='../lib/librte_security/rte_security.c' line='13' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_security_session_create@@DPDK_20.0'>
+      <parameter type-id='type-id-169' name='instance' filepath='../lib/librte_security/rte_security.c' line='13' column='1'/>
+      <parameter type-id='type-id-87' name='conf' filepath='../lib/librte_security/rte_security.c' line='14' column='1'/>
+      <parameter type-id='type-id-114' name='mp' filepath='../lib/librte_security/rte_security.c' line='15' column='1'/>
+      <return type-id='type-id-89'/>
+    </function-decl>
+    <function-decl name='rte_security_session_stats_get' mangled-name='rte_security_session_stats_get' filepath='../lib/librte_security/rte_security.c' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_security_session_stats_get@@EXPERIMENTAL'>
+      <parameter type-id='type-id-169' name='instance' filepath='../lib/librte_security/rte_security.c' line='53' column='1'/>
+      <parameter type-id='type-id-89' name='sess' filepath='../lib/librte_security/rte_security.c' line='54' column='1'/>
+      <parameter type-id='type-id-135' name='stats' filepath='../lib/librte_security/rte_security.c' line='55' column='1'/>
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <function-decl name='rte_security_get_userdata' mangled-name='rte_security_get_userdata' filepath='../lib/librte_security/rte_security.c' line='90' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_security_get_userdata@@EXPERIMENTAL'>
+      <parameter type-id='type-id-169' name='instance' filepath='../lib/librte_security/rte_security.c' line='90' column='1'/>
+      <parameter type-id='type-id-44' name='md' filepath='../lib/librte_security/rte_security.c' line='90' column='1'/>
+      <return type-id='type-id-24'/>
+    </function-decl>
+    <function-decl name='rte_security_session_update' mangled-name='rte_security_session_update' filepath='../lib/librte_security/rte_security.c' line='37' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_security_session_update@@EXPERIMENTAL'>
+      <parameter type-id='type-id-169' name='instance' filepath='../lib/librte_security/rte_security.c' line='37' column='1'/>
+      <parameter type-id='type-id-89' name='sess' filepath='../lib/librte_security/rte_security.c' line='38' column='1'/>
+      <parameter type-id='type-id-87' name='conf' filepath='../lib/librte_security/rte_security.c' line='39' column='1'/>
+      <return type-id='type-id-17'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-166'>
+      <parameter type-id='type-id-24'/>
+      <return type-id='type-id-22'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-138'>
+      <parameter type-id='type-id-24'/>
+      <parameter type-id='type-id-89'/>
+      <return type-id='type-id-17'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-161'>
+      <parameter type-id='type-id-24'/>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-144'/>
+      <parameter type-id='type-id-24'/>
+      <return type-id='type-id-17'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-126'>
+      <parameter type-id='type-id-24'/>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-87'/>
+      <return type-id='type-id-17'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-136'>
+      <parameter type-id='type-id-24'/>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-135'/>
+      <return type-id='type-id-17'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-124'>
+      <parameter type-id='type-id-24'/>
+      <parameter type-id='type-id-87'/>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-114'/>
+      <return type-id='type-id-17'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-164'>
+      <parameter type-id='type-id-24'/>
+      <parameter type-id='type-id-44'/>
+      <parameter type-id='type-id-163'/>
+      <return type-id='type-id-17'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-128'>
+      <parameter type-id='type-id-24'/>
+      <return type-id='type-id-15'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-122'>
+      <parameter type-id='type-id-116'/>
+      <parameter type-id='type-id-24'/>
+      <return type-id='type-id-27'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-153'>
+      <parameter type-id='type-id-24'/>
+      <parameter type-id='type-id-24'/>
+      <return type-id='type-id-27'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_stack.dump b/lib/.abi/librte_stack.dump
new file mode 100644
index 000000000..e12a8ed9e
--- /dev/null
+++ b/lib/.abi/librte_stack.dump
@@ -0,0 +1,183 @@
+<abi-corpus path='gcc//lib/librte_stack.so.0.200' architecture='elf-amd-x86_64' soname='librte_stack.so.0.200'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_stack_create' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_stack_free' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_stack_lookup' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_stack/rte_stack.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='stack_logtype' type-id='type-id-1' visibility='default' filepath='../lib/librte_stack/stack_pvt.h' line='14' column='1'/>
+    <class-decl name='rte_stack' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_stack/rte_stack.h' line='77' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-3' visibility='default' filepath='../lib/librte_stack/rte_stack.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='memzone' type-id='type-id-4' visibility='default' filepath='../lib/librte_stack/rte_stack.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='capacity' type-id='type-id-5' visibility='default' filepath='../lib/librte_stack/rte_stack.h' line='82' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='../lib/librte_stack/rte_stack.h' line='83' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='' type-id='type-id-6' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-7'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-8'/>
+
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='224' id='type-id-3'>
+      <subrange length='28' type-id='type-id-8' id='type-id-9'/>
+
+    </array-type-def>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-10'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-11' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-12' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-13' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-14' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-15' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='256' id='type-id-11'>
+      <subrange length='32' type-id='type-id-8' id='type-id-16'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-12'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-17' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-18' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='__uint64_t' type-id='type-id-8' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-19'/>
+    <typedef-decl name='uint64_t' type-id='type-id-19' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-14'/>
+    <typedef-decl name='phys_addr_t' type-id='type-id-14' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-17'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-14' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-18'/>
+    <typedef-decl name='size_t' type-id='type-id-8' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-13'/>
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-20'/>
+    <typedef-decl name='int32_t' type-id='type-id-20' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-15'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-21'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-21' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-22'/>
+    <typedef-decl name='uint32_t' type-id='type-id-22' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-5'/>
+    <qualified-type-def type-id='type-id-10' const='yes' id='type-id-23'/>
+    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-4'/>
+    <union-decl name='__anonymous_union__' size-in-bits='1024' is-anonymous='yes' visibility='default' filepath='../lib/librte_stack/rte_stack.h' line='85' column='1' id='type-id-6'>
+      <data-member access='private'>
+        <var-decl name='stack_lf' type-id='type-id-24' visibility='default' filepath='../lib/librte_stack/rte_stack.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='stack_std' type-id='type-id-25' visibility='default' filepath='../lib/librte_stack/rte_stack.h' line='87' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_stack_lf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_stack/rte_stack.h' line='56' column='1' id='type-id-24'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='used' type-id='type-id-26' visibility='default' filepath='../lib/librte_stack/rte_stack.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='free' type-id='type-id-26' visibility='default' filepath='../lib/librte_stack/rte_stack.h' line='60' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='elems' type-id='type-id-27' visibility='default' filepath='../lib/librte_stack/rte_stack.h' line='62' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_stack_lf_list' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_stack/rte_stack.h' line='46' column='1' id='type-id-26'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='head' type-id='type-id-28' visibility='default' filepath='../lib/librte_stack/rte_stack.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='len' type-id='type-id-14' visibility='default' filepath='../lib/librte_stack/rte_stack.h' line='50' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_stack_lf_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_stack/rte_stack.h' line='41' column='1' id='type-id-28'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='top' type-id='type-id-29' visibility='default' filepath='../lib/librte_stack/rte_stack.h' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='cnt' type-id='type-id-14' visibility='default' filepath='../lib/librte_stack/rte_stack.h' line='43' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_stack_lf_elem' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_stack/rte_stack.h' line='36' column='1' id='type-id-30'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-31' visibility='default' filepath='../lib/librte_stack/rte_stack.h' line='37' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='next' type-id='type-id-29' visibility='default' filepath='../lib/librte_stack/rte_stack.h' line='38' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='void' id='type-id-32'/>
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-31'/>
+    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-29'/>
+
+    <array-type-def dimensions='1' type-id='type-id-30' size-in-bits='infinite' id='type-id-27'>
+      <subrange length='infinite' type-id='type-id-8' id='type-id-33'/>
+
+    </array-type-def>
+    <class-decl name='rte_stack_std' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_stack/rte_stack.h' line='68' column='1' id='type-id-25'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='lock' type-id='type-id-34' visibility='default' filepath='../lib/librte_stack/rte_stack.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='len' type-id='type-id-5' visibility='default' filepath='../lib/librte_stack/rte_stack.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='objs' type-id='type-id-35' visibility='default' filepath='../lib/librte_stack/rte_stack.h' line='71' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-34' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_spinlock.h' line='30' column='1' id='type-id-36'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='locked' type-id='type-id-37' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_spinlock.h' line='31' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-1' volatile='yes' id='type-id-37'/>
+    <typedef-decl name='rte_spinlock_t' type-id='type-id-36' filepath='../lib/librte_eal/common/include/generic/rte_spinlock.h' line='32' column='1' id='type-id-34'/>
+
+    <array-type-def dimensions='1' type-id='type-id-31' size-in-bits='infinite' id='type-id-35'>
+      <subrange length='infinite' type-id='type-id-8' id='type-id-33'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-38'/>
+    <qualified-type-def type-id='type-id-7' const='yes' id='type-id-39'/>
+    <pointer-type-def type-id='type-id-39' size-in-bits='64' id='type-id-40'/>
+    <function-decl name='rte_stack_lookup' mangled-name='rte_stack_lookup' filepath='../lib/librte_stack/rte_stack.c' line='161' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_stack_lookup@@EXPERIMENTAL'>
+      <parameter type-id='type-id-40' name='name' filepath='../lib/librte_stack/rte_stack.c' line='161' column='1'/>
+      <return type-id='type-id-38'/>
+    </function-decl>
+    <function-decl name='rte_stack_free' mangled-name='rte_stack_free' filepath='../lib/librte_stack/rte_stack.c' line='129' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_stack_free@@EXPERIMENTAL'>
+      <parameter type-id='type-id-38' name='s' filepath='../lib/librte_stack/rte_stack.c' line='129' column='1'/>
+      <return type-id='type-id-32'/>
+    </function-decl>
+    <function-decl name='rte_stack_create' mangled-name='rte_stack_create' filepath='../lib/librte_stack/rte_stack.c' line='51' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_stack_create@@EXPERIMENTAL'>
+      <parameter type-id='type-id-40' name='name' filepath='../lib/librte_stack/rte_stack.c' line='51' column='1'/>
+      <parameter type-id='type-id-21' name='count' filepath='../lib/librte_stack/rte_stack.c' line='51' column='1'/>
+      <parameter type-id='type-id-1' name='socket_id' filepath='../lib/librte_stack/rte_stack.c' line='51' column='1'/>
+      <parameter type-id='type-id-5' name='flags' filepath='../lib/librte_stack/rte_stack.c' line='52' column='1'/>
+      <return type-id='type-id-38'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_table.dump b/lib/.abi/librte_table.dump
new file mode 100644
index 000000000..256376cf1
--- /dev/null
+++ b/lib/.abi/librte_table.dump
@@ -0,0 +1,544 @@
+<abi-corpus path='gcc//lib/librte_table.so.20.0' architecture='elf-amd-x86_64' soname='librte_table.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_port.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_sched.so.20.0'/>
+    <dependency name='librte_ip_frag.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='librte_eventdev.so.20.0'/>
+    <dependency name='librte_timer.so.20.0'/>
+    <dependency name='librte_kni.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_lpm.so.20.0'/>
+    <dependency name='librte_acl.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpcap.so.1'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+  </elf-needed>
+  <elf-variable-symbols>
+    <elf-symbol name='rte_table_acl_ops' size='64' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_table_array_ops' size='64' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_table_hash_cuckoo_ops' size='64' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_table_hash_ext_ops' size='64' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_table_hash_key16_ext_ops' size='64' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_table_hash_key16_lru_ops' size='64' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_table_hash_key32_ext_ops' size='64' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_table_hash_key32_lru_ops' size='64' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_table_hash_key8_ext_ops' size='64' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_table_hash_key8_lru_ops' size='64' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_table_hash_lru_ops' size='64' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_table_lpm_ipv6_ops' size='64' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_table_lpm_ops' size='64' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_table_stub_ops' size='64' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_table/rte_table_acl.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_table_ops' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_table/rte_table.h' line='257' column='1' id='type-id-1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='f_create' type-id='type-id-2' visibility='default' filepath='../lib/librte_table/rte_table.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='f_free' type-id='type-id-3' visibility='default' filepath='../lib/librte_table/rte_table.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='f_add' type-id='type-id-4' visibility='default' filepath='../lib/librte_table/rte_table.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='f_delete' type-id='type-id-5' visibility='default' filepath='../lib/librte_table/rte_table.h' line='261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='f_add_bulk' type-id='type-id-6' visibility='default' filepath='../lib/librte_table/rte_table.h' line='262' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='f_delete_bulk' type-id='type-id-7' visibility='default' filepath='../lib/librte_table/rte_table.h' line='263' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='f_lookup' type-id='type-id-8' visibility='default' filepath='../lib/librte_table/rte_table.h' line='264' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='f_stats' type-id='type-id-9' visibility='default' filepath='../lib/librte_table/rte_table.h' line='265' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='void' id='type-id-10'/>
+    <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-11'/>
+    <type-decl name='int' size-in-bits='32' id='type-id-12'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-13'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-13' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-14'/>
+    <typedef-decl name='uint32_t' type-id='type-id-14' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-15'/>
+    <pointer-type-def type-id='type-id-16' size-in-bits='64' id='type-id-17'/>
+    <typedef-decl name='rte_table_op_create' type-id='type-id-17' filepath='../lib/librte_table/rte_table.h' line='52' column='1' id='type-id-2'/>
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-19'/>
+    <typedef-decl name='rte_table_op_free' type-id='type-id-19' filepath='../lib/librte_table/rte_table.h' line='63' column='1' id='type-id-3'/>
+    <pointer-type-def type-id='type-id-12' size-in-bits='64' id='type-id-20'/>
+    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-21'/>
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-23'/>
+    <typedef-decl name='rte_table_op_entry_add' type-id='type-id-23' filepath='../lib/librte_table/rte_table.h' line='92' column='1' id='type-id-4'/>
+    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-25'/>
+    <typedef-decl name='rte_table_op_entry_delete' type-id='type-id-25' filepath='../lib/librte_table/rte_table.h' line='121' column='1' id='type-id-5'/>
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-27'/>
+    <typedef-decl name='rte_table_op_entry_add_bulk' type-id='type-id-27' filepath='../lib/librte_table/rte_table.h' line='156' column='1' id='type-id-6'/>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-29'/>
+    <typedef-decl name='rte_table_op_entry_delete_bulk' type-id='type-id-29' filepath='../lib/librte_table/rte_table.h' line='191' column='1' id='type-id-7'/>
+    <class-decl name='rte_mbuf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='480' column='1' id='type-id-30'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheline0' type-id='type-id-31' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-11' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-32' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rearm_data' type-id='type-id-33' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='497' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_off' type-id='type-id-34' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_segs' type-id='type-id-34' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='port' type-id='type-id-34' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ol_flags' type-id='type-id-35' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_descriptor_fields1' type-id='type-id-31' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='pkt_len' type-id='type-id-15' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data_len' type-id='type-id-34' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='vlan_tci' type-id='type-id-34' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vlan_tci_outer' type-id='type-id-34' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='buf_len' type-id='type-id-34' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='timestamp' type-id='type-id-35' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cacheline1' type-id='type-id-31' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='pool' type-id='type-id-36' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='next' type-id='type-id-37' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv_size' type-id='type-id-34' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='timesync' type-id='type-id-34' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='seqn' type-id='type-id-15' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='shinfo' type-id='type-id-38' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dynfield1' type-id='type-id-39' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-40'/>
+
+    <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='infinite' id='type-id-41'>
+      <subrange length='infinite' type-id='type-id-40' id='type-id-42'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER' type-id='type-id-41' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='414' column='1' id='type-id-31'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='491' column='1' id='type-id-32'>
+      <data-member access='private'>
+        <var-decl name='buf_iova' type-id='type-id-43' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='buf_physaddr' type-id='type-id-43' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='__uint64_t' type-id='type-id-40' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-44'/>
+    <typedef-decl name='uint64_t' type-id='type-id-44' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-35'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-35' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-43'/>
+
+    <array-type-def dimensions='1' type-id='type-id-35' size-in-bits='infinite' id='type-id-45'>
+      <subrange length='infinite' type-id='type-id-40' id='type-id-42'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER64' type-id='type-id-45' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='420' column='1' id='type-id-33'/>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-46'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-46' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-47'/>
+    <typedef-decl name='uint16_t' type-id='type-id-47' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-34'/>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-48'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-50' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-11' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-51' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-13' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-12' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-15' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-15' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-15' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-15' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-15' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-13' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-52' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-53' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-15' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-54' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-15' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-55' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-56'/>
+
+    <array-type-def dimensions='1' type-id='type-id-56' size-in-bits='256' id='type-id-49'>
+      <subrange length='32' type-id='type-id-40' id='type-id-57'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-50'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-11' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-35' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-58'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-49' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-59' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-60' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-35' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-52' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-15' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-59'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-61' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-43' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-35' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-61'/>
+    <typedef-decl name='size_t' type-id='type-id-40' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-60'/>
+    <typedef-decl name='__int32_t' type-id='type-id-12' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-62'/>
+    <typedef-decl name='int32_t' type-id='type-id-62' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-52'/>
+    <qualified-type-def type-id='type-id-58' const='yes' id='type-id-63'/>
+    <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-51'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-64'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-15' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-15' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-15' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-65' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='98304' id='type-id-65'>
+      <subrange length='1536' type-id='type-id-40' id='type-id-66'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-64' size-in-bits='64' id='type-id-53'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-54'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-67' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-68' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-69'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-70' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-36' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-71' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-70'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-67' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-69' size-in-bits='64' id='type-id-67'/>
+    <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-36'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-71'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-43' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-61' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-67' size-in-bits='64' id='type-id-68'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-55'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-72' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-73' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-74'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-75' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-36' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-11' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-76' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-60' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-77' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-11' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-75'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-72' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-74' size-in-bits='64' id='type-id-72'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-76'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-43' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-61' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-78' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-79'/>
+    <pointer-type-def type-id='type-id-79' size-in-bits='64' id='type-id-77'/>
+    <pointer-type-def type-id='type-id-72' size-in-bits='64' id='type-id-73'/>
+    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-37'/>
+    <class-decl name='rte_mbuf_ext_shared_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='689' column='1' id='type-id-80'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_cb' type-id='type-id-81' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcb_opaque' type-id='type-id-11' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt_atomic' type-id='type-id-82' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-84'/>
+    <typedef-decl name='rte_mbuf_extbuf_free_callback_t' type-id='type-id-84' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='684' column='1' id='type-id-81'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-82' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-85'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-86' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-87'/>
+    <typedef-decl name='__int16_t' type-id='type-id-87' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-88'/>
+    <typedef-decl name='int16_t' type-id='type-id-88' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-89'/>
+    <qualified-type-def type-id='type-id-89' volatile='yes' id='type-id-86'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-85' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-82'/>
+    <pointer-type-def type-id='type-id-80' size-in-bits='64' id='type-id-38'/>
+
+    <array-type-def dimensions='1' type-id='type-id-35' size-in-bits='128' id='type-id-39'>
+      <subrange length='2' type-id='type-id-40' id='type-id-90'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-37' size-in-bits='64' id='type-id-91'/>
+    <pointer-type-def type-id='type-id-35' size-in-bits='64' id='type-id-92'/>
+    <pointer-type-def type-id='type-id-93' size-in-bits='64' id='type-id-94'/>
+    <typedef-decl name='rte_table_op_lookup' type-id='type-id-94' filepath='../lib/librte_table/rte_table.h' line='231' column='1' id='type-id-8'/>
+    <class-decl name='rte_table_stats' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_table/rte_table.h' line='34' column='1' id='type-id-95'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n_pkts_in' type-id='type-id-35' visibility='default' filepath='../lib/librte_table/rte_table.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='n_pkts_lookup_miss' type-id='type-id-35' visibility='default' filepath='../lib/librte_table/rte_table.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-95' size-in-bits='64' id='type-id-96'/>
+    <pointer-type-def type-id='type-id-97' size-in-bits='64' id='type-id-98'/>
+    <typedef-decl name='rte_table_op_stats_read' type-id='type-id-98' filepath='../lib/librte_table/rte_table.h' line='251' column='1' id='type-id-9'/>
+    <var-decl name='rte_table_acl_ops' type-id='type-id-1' mangled-name='rte_table_acl_ops' visibility='default' filepath='../lib/librte_table/rte_table_acl.h' line='60' column='1' elf-symbol-id='rte_table_acl_ops@@DPDK_20.0'/>
+    <function-type size-in-bits='64' id='type-id-18'>
+      <parameter type-id='type-id-11'/>
+      <return type-id='type-id-12'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-93'>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-91'/>
+      <parameter type-id='type-id-35'/>
+      <parameter type-id='type-id-92'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-12'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-97'>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-96'/>
+      <parameter type-id='type-id-12'/>
+      <return type-id='type-id-12'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-28'>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-15'/>
+      <parameter type-id='type-id-20'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-12'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-26'>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-15'/>
+      <parameter type-id='type-id-20'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-12'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-24'>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-20'/>
+      <parameter type-id='type-id-11'/>
+      <return type-id='type-id-12'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-22'>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-20'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-12'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-78'>
+      <parameter type-id='type-id-72'/>
+      <parameter type-id='type-id-11'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-83'>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-11'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-16'>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-15'/>
+      <return type-id='type-id-11'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_table/rte_table_lpm.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='rte_table_lpm_ops' type-id='type-id-1' mangled-name='rte_table_lpm_ops' visibility='default' filepath='../lib/librte_table/rte_table_lpm.h' line='89' column='1' elf-symbol-id='rte_table_lpm_ops@@DPDK_20.0'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_table/rte_table_lpm_ipv6.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='rte_table_lpm_ipv6_ops' type-id='type-id-1' mangled-name='rte_table_lpm_ipv6_ops' visibility='default' filepath='../lib/librte_table/rte_table_lpm_ipv6.h' line='87' column='1' elf-symbol-id='rte_table_lpm_ipv6_ops@@DPDK_20.0'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_table/rte_table_hash_cuckoo.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='rte_table_hash_cuckoo_ops' type-id='type-id-1' mangled-name='rte_table_hash_cuckoo_ops' visibility='default' filepath='../lib/librte_table/rte_table_hash_cuckoo.h' line='51' column='1' elf-symbol-id='rte_table_hash_cuckoo_ops@@DPDK_20.0'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_table/rte_table_hash_key8.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='rte_table_hash_key8_lru_ops' type-id='type-id-1' mangled-name='rte_table_hash_key8_lru_ops' visibility='default' filepath='../lib/librte_table/rte_table_hash.h' line='98' column='1' elf-symbol-id='rte_table_hash_key8_lru_ops@@DPDK_20.0'/>
+    <var-decl name='rte_table_hash_key8_ext_ops' type-id='type-id-1' mangled-name='rte_table_hash_key8_ext_ops' visibility='default' filepath='../lib/librte_table/rte_table_hash.h' line='91' column='1' elf-symbol-id='rte_table_hash_key8_ext_ops@@DPDK_20.0'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_table/rte_table_hash_key16.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='rte_table_hash_key16_lru_ops' type-id='type-id-1' mangled-name='rte_table_hash_key16_lru_ops' visibility='default' filepath='../lib/librte_table/rte_table_hash.h' line='99' column='1' elf-symbol-id='rte_table_hash_key16_lru_ops@@DPDK_20.0'/>
+    <var-decl name='rte_table_hash_key16_ext_ops' type-id='type-id-1' mangled-name='rte_table_hash_key16_ext_ops' visibility='default' filepath='../lib/librte_table/rte_table_hash.h' line='92' column='1' elf-symbol-id='rte_table_hash_key16_ext_ops@@DPDK_20.0'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_table/rte_table_hash_key32.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='rte_table_hash_key32_lru_ops' type-id='type-id-1' mangled-name='rte_table_hash_key32_lru_ops' visibility='default' filepath='../lib/librte_table/rte_table_hash.h' line='100' column='1' elf-symbol-id='rte_table_hash_key32_lru_ops@@DPDK_20.0'/>
+    <var-decl name='rte_table_hash_key32_ext_ops' type-id='type-id-1' mangled-name='rte_table_hash_key32_ext_ops' visibility='default' filepath='../lib/librte_table/rte_table_hash.h' line='93' column='1' elf-symbol-id='rte_table_hash_key32_ext_ops@@DPDK_20.0'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_table/rte_table_hash_ext.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='rte_table_hash_ext_ops' type-id='type-id-1' mangled-name='rte_table_hash_ext_ops' visibility='default' filepath='../lib/librte_table/rte_table_hash.h' line='90' column='1' elf-symbol-id='rte_table_hash_ext_ops@@DPDK_20.0'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_table/rte_table_hash_lru.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='rte_table_hash_lru_ops' type-id='type-id-1' mangled-name='rte_table_hash_lru_ops' visibility='default' filepath='../lib/librte_table/rte_table_hash.h' line='96' column='1' elf-symbol-id='rte_table_hash_lru_ops@@DPDK_20.0'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_table/rte_table_array.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='rte_table_array_ops' type-id='type-id-1' mangled-name='rte_table_array_ops' visibility='default' filepath='../lib/librte_table/rte_table_array.h' line='41' column='1' elf-symbol-id='rte_table_array_ops@@DPDK_20.0'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_table/rte_table_stub.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='rte_table_stub_ops' type-id='type-id-1' mangled-name='rte_table_stub_ops' visibility='default' filepath='../lib/librte_table/rte_table_stub.h' line='27' column='1' elf-symbol-id='rte_table_stub_ops@@DPDK_20.0'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_telemetry.dump b/lib/.abi/librte_telemetry.dump
new file mode 100644
index 000000000..945b67cb5
--- /dev/null
+++ b/lib/.abi/librte_telemetry.dump
@@ -0,0 +1,122 @@
+<abi-corpus path='gcc//lib/librte_telemetry.so.0.200' architecture='elf-amd-x86_64' soname='librte_telemetry.so.0.200'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_metrics.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='libjansson.so.4'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_telemetry_cleanup' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_telemetry_init' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_telemetry_parse' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_telemetry_selftest' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_telemetry/rte_telemetry.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='telemetry_log_level' type-id='type-id-1' visibility='default' filepath='../lib/librte_telemetry/rte_telemetry_internal.h' line='12' column='1'/>
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-2'/>
+    <typedef-decl name='int32_t' type-id='type-id-2' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-3'/>
+    <function-decl name='rte_telemetry_selftest' mangled-name='rte_telemetry_selftest' filepath='../lib/librte_telemetry/rte_telemetry.c' line='1287' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_telemetry_selftest@@EXPERIMENTAL'>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <function-decl name='rte_telemetry_cleanup' mangled-name='rte_telemetry_cleanup' filepath='../lib/librte_telemetry/rte_telemetry.c' line='1041' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_telemetry_cleanup@@EXPERIMENTAL'>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <function-decl name='rte_telemetry_init' mangled-name='rte_telemetry_init' filepath='../lib/librte_telemetry/rte_telemetry.c' line='973' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_telemetry_init@@EXPERIMENTAL'>
+      <return type-id='type-id-3'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_telemetry/rte_telemetry_parser.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='telemetry_impl' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_telemetry/rte_telemetry_internal.h' line='35' column='1' id='type-id-4'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='accept_fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_telemetry/rte_telemetry_internal.h' line='36' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='server_fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_telemetry/rte_telemetry_internal.h' line='37' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='thread_id' type-id='type-id-5' visibility='default' filepath='../lib/librte_telemetry/rte_telemetry_internal.h' line='38' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='thread_status' type-id='type-id-1' visibility='default' filepath='../lib/librte_telemetry/rte_telemetry_internal.h' line='39' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='socket_id' type-id='type-id-6' visibility='default' filepath='../lib/librte_telemetry/rte_telemetry_internal.h' line='40' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reg_index' type-id='type-id-7' visibility='default' filepath='../lib/librte_telemetry/rte_telemetry_internal.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='metrics_register_done' type-id='type-id-1' visibility='default' filepath='../lib/librte_telemetry/rte_telemetry_internal.h' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='client_list_head' type-id='type-id-8' visibility='default' filepath='../lib/librte_telemetry/rte_telemetry_internal.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='request_client' type-id='type-id-9' visibility='default' filepath='../lib/librte_telemetry/rte_telemetry_internal.h' line='44' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='register_fail_count' type-id='type-id-1' visibility='default' filepath='../lib/librte_telemetry/rte_telemetry_internal.h' line='45' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-10'/>
+    <typedef-decl name='pthread_t' type-id='type-id-10' filepath='/usr/include/bits/pthreadtypes.h' line='27' column='1' id='type-id-5'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-11'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-11' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-12'/>
+    <typedef-decl name='uint32_t' type-id='type-id-12' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-6'/>
+
+    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='1024' id='type-id-7'>
+      <subrange length='32' type-id='type-id-10' id='type-id-13'/>
+
+    </array-type-def>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_telemetry/rte_telemetry_internal.h' line='43' column='1' id='type-id-8'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-9' visibility='default' filepath='../lib/librte_telemetry/rte_telemetry_internal.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-14' visibility='default' filepath='../lib/librte_telemetry/rte_telemetry_internal.h' line='43' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='telemetry_client' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_telemetry/rte_telemetry_internal.h' line='29' column='1' id='type-id-15'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='file_path' type-id='type-id-16' visibility='default' filepath='../lib/librte_telemetry/rte_telemetry_internal.h' line='30' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_telemetry/rte_telemetry_internal.h' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='client_list' type-id='type-id-17' visibility='default' filepath='../lib/librte_telemetry/rte_telemetry_internal.h' line='32' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-18'/>
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-16'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_telemetry/rte_telemetry_internal.h' line='32' column='1' id='type-id-17'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-9' visibility='default' filepath='../lib/librte_telemetry/rte_telemetry_internal.h' line='32' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-14' visibility='default' filepath='../lib/librte_telemetry/rte_telemetry_internal.h' line='32' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-15' size-in-bits='64' id='type-id-9'/>
+    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-14'/>
+    <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-19'/>
+    <function-decl name='rte_telemetry_parse' mangled-name='rte_telemetry_parse' filepath='../lib/librte_telemetry/rte_telemetry_parser.c' line='610' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_telemetry_parse@@EXPERIMENTAL'>
+      <parameter type-id='type-id-19' name='telemetry' filepath='../lib/librte_telemetry/rte_telemetry_parser.c' line='610' column='1'/>
+      <parameter type-id='type-id-16' name='socket_rx_data' filepath='../lib/librte_telemetry/rte_telemetry_parser.c' line='610' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_timer.dump b/lib/.abi/librte_timer.dump
new file mode 100644
index 000000000..42fe10634
--- /dev/null
+++ b/lib/.abi/librte_timer.dump
@@ -0,0 +1,321 @@
+<abi-corpus path='gcc//lib/librte_timer.so.20.0' architecture='elf-amd-x86_64' soname='librte_timer.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_timer_alt_dump_stats' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_timer_alt_manage' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_timer_alt_reset' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_timer_alt_stop' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_timer_data_alloc' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_timer_data_dealloc' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_timer_dump_stats' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_timer_init' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_timer_manage' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_timer_pending' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_timer_reset' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_timer_reset_sync' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_timer_stop' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_timer_stop_all' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_timer_stop_sync' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_timer_subsystem_finalize' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_timer_subsystem_init' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_timer/rte_timer.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <class-decl name='_IO_FILE' size-in-bits='1728' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='49' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='_flags' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='_IO_read_ptr' type-id='type-id-3' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='_IO_read_end' type-id='type-id-3' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='_IO_read_base' type-id='type-id-3' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='_IO_write_base' type-id='type-id-3' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='_IO_write_ptr' type-id='type-id-3' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='_IO_write_end' type-id='type-id-3' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='_IO_buf_base' type-id='type-id-3' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='60' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='_IO_buf_end' type-id='type-id-3' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='_IO_save_base' type-id='type-id-3' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='_IO_backup_base' type-id='type-id-3' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='_IO_save_end' type-id='type-id-3' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='_markers' type-id='type-id-4' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='_chain' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='_fileno' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='928'>
+        <var-decl name='_flags2' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='73' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='_old_offset' type-id='type-id-6' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='_cur_column' type-id='type-id-7' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1040'>
+        <var-decl name='_vtable_offset' type-id='type-id-8' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1048'>
+        <var-decl name='_shortbuf' type-id='type-id-9' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='_lock' type-id='type-id-10' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='_offset' type-id='type-id-11' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='89' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='_codecvt' type-id='type-id-12' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='_wide_data' type-id='type-id-13' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='92' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='_freeres_list' type-id='type-id-5' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='93' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='_freeres_buf' type-id='type-id-14' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='__pad5' type-id='type-id-15' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='95' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='_mode' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1568'>
+        <var-decl name='_unused2' type-id='type-id-16' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='98' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-17'/>
+    <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-3'/>
+    <class-decl name='_IO_marker' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-18'/>
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-4'/>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-5'/>
+    <type-decl name='long int' size-in-bits='64' id='type-id-19'/>
+    <typedef-decl name='__off_t' type-id='type-id-19' filepath='/usr/include/bits/types.h' line='152' column='1' id='type-id-6'/>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-7'/>
+    <type-decl name='signed char' size-in-bits='8' id='type-id-8'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-20'/>
+
+    <array-type-def dimensions='1' type-id='type-id-17' size-in-bits='8' id='type-id-9'>
+      <subrange length='1' type-id='type-id-20' id='type-id-21'/>
+
+    </array-type-def>
+    <typedef-decl name='_IO_lock_t' type-id='type-id-22' filepath='/usr/include/bits/types/struct_FILE.h' line='43' column='1' id='type-id-23'/>
+    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-10'/>
+    <typedef-decl name='__off64_t' type-id='type-id-19' filepath='/usr/include/bits/types.h' line='153' column='1' id='type-id-11'/>
+    <class-decl name='_IO_codecvt' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-24'/>
+    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-12'/>
+    <class-decl name='_IO_wide_data' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-25'/>
+    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-13'/>
+    <type-decl name='void' id='type-id-22'/>
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-14'/>
+    <typedef-decl name='size_t' type-id='type-id-20' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-15'/>
+
+    <array-type-def dimensions='1' type-id='type-id-17' size-in-bits='160' id='type-id-16'>
+      <subrange length='20' type-id='type-id-20' id='type-id-26'/>
+
+    </array-type-def>
+    <typedef-decl name='FILE' type-id='type-id-2' filepath='/usr/include/bits/types/FILE.h' line='7' column='1' id='type-id-27'/>
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-28'/>
+    <function-decl name='rte_timer_dump_stats' mangled-name='rte_timer_dump_stats' filepath='../lib/librte_timer/rte_timer.c' line='1008' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_timer_dump_stats@@DPDK_20.0'>
+      <parameter type-id='type-id-28' name='f' filepath='../lib/librte_timer/rte_timer.c' line='1008' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_timer_manage' mangled-name='rte_timer_manage' filepath='../lib/librte_timer/rte_timer.c' line='760' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_timer_manage@@DPDK_20.0'>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_timer' size-in-bits='960' is-struct='yes' visibility='default' filepath='../lib/librte_timer/rte_timer.h' line='100' column='1' id='type-id-29'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='expire' type-id='type-id-30' visibility='default' filepath='../lib/librte_timer/rte_timer.h' line='102' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='sl_next' type-id='type-id-31' visibility='default' filepath='../lib/librte_timer/rte_timer.h' line='103' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='status' type-id='type-id-32' visibility='default' filepath='../lib/librte_timer/rte_timer.h' line='104' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='period' type-id='type-id-30' visibility='default' filepath='../lib/librte_timer/rte_timer.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='f' type-id='type-id-33' visibility='default' filepath='../lib/librte_timer/rte_timer.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='arg' type-id='type-id-14' visibility='default' filepath='../lib/librte_timer/rte_timer.h' line='107' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='__uint64_t' type-id='type-id-20' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-34'/>
+    <typedef-decl name='uint64_t' type-id='type-id-34' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-30'/>
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-35'/>
+
+    <array-type-def dimensions='1' type-id='type-id-35' size-in-bits='640' id='type-id-31'>
+      <subrange length='10' type-id='type-id-20' id='type-id-36'/>
+
+    </array-type-def>
+    <union-decl name='rte_timer_status' size-in-bits='32' visibility='default' filepath='../lib/librte_timer/rte_timer.h' line='67' column='1' id='type-id-37'>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-38' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='u32' type-id='type-id-39' visibility='default' filepath='../lib/librte_timer/rte_timer.h' line='73' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_timer/rte_timer.h' line='69' column='1' id='type-id-38'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='state' type-id='type-id-40' visibility='default' filepath='../lib/librte_timer/rte_timer.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='owner' type-id='type-id-41' visibility='default' filepath='../lib/librte_timer/rte_timer.h' line='71' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='__uint16_t' type-id='type-id-7' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-42'/>
+    <typedef-decl name='uint16_t' type-id='type-id-42' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-40'/>
+    <type-decl name='short int' size-in-bits='16' id='type-id-43'/>
+    <typedef-decl name='__int16_t' type-id='type-id-43' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-44'/>
+    <typedef-decl name='int16_t' type-id='type-id-44' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-41'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-45'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-45' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-46'/>
+    <typedef-decl name='uint32_t' type-id='type-id-46' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-39'/>
+    <qualified-type-def type-id='type-id-37' volatile='yes' id='type-id-32'/>
+    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-48'/>
+    <typedef-decl name='rte_timer_cb_t' type-id='type-id-48' filepath='../lib/librte_timer/rte_timer.h' line='93' column='1' id='type-id-33'/>
+    <function-decl name='rte_timer_pending' mangled-name='rte_timer_pending' filepath='../lib/librte_timer/rte_timer.c' line='635' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_timer_pending@@DPDK_20.0'>
+      <parameter type-id='type-id-35' name='tim' filepath='../lib/librte_timer/rte_timer.c' line='635' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_timer_stop_sync' mangled-name='rte_timer_stop_sync' filepath='../lib/librte_timer/rte_timer.c' line='627' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_timer_stop_sync@@DPDK_20.0'>
+      <parameter type-id='type-id-35' name='tim' filepath='../lib/librte_timer/rte_timer.c' line='627' column='1'/>
+      <return type-id='type-id-22'/>
+    </function-decl>
+    <function-decl name='rte_timer_stop' mangled-name='rte_timer_stop' filepath='../lib/librte_timer/rte_timer.c' line='610' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_timer_stop@@DPDK_20.0'>
+      <parameter type-id='type-id-35' name='tim' filepath='../lib/librte_timer/rte_timer.c' line='635' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-49'/>
+    <enum-decl name='rte_timer_type' filepath='../lib/librte_timer/rte_timer.h' line='58' column='1' id='type-id-50'>
+      <underlying-type type-id='type-id-49'/>
+      <enumerator name='SINGLE' value='0'/>
+      <enumerator name='PERIODICAL' value='1'/>
+    </enum-decl>
+    <function-decl name='rte_timer_reset_sync' mangled-name='rte_timer_reset_sync' filepath='../lib/librte_timer/rte_timer.c' line='563' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_timer_reset_sync@@DPDK_20.0'>
+      <parameter type-id='type-id-35' name='tim' filepath='../lib/librte_timer/rte_timer.c' line='563' column='1'/>
+      <parameter type-id='type-id-30' name='ticks' filepath='../lib/librte_timer/rte_timer.c' line='563' column='1'/>
+      <parameter type-id='type-id-50' name='type' filepath='../lib/librte_timer/rte_timer.c' line='564' column='1'/>
+      <parameter type-id='type-id-45' name='tim_lcore' filepath='../lib/librte_timer/rte_timer.c' line='564' column='1'/>
+      <parameter type-id='type-id-33' name='fct' filepath='../lib/librte_timer/rte_timer.c' line='565' column='1'/>
+      <parameter type-id='type-id-14' name='arg' filepath='../lib/librte_timer/rte_timer.c' line='565' column='1'/>
+      <return type-id='type-id-22'/>
+    </function-decl>
+    <function-decl name='rte_timer_reset' mangled-name='rte_timer_reset' filepath='../lib/librte_timer/rte_timer.c' line='533' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_timer_reset@@DPDK_20.0'>
+      <parameter type-id='type-id-35' name='tim' filepath='../lib/librte_timer/rte_timer.c' line='533' column='1'/>
+      <parameter type-id='type-id-30' name='ticks' filepath='../lib/librte_timer/rte_timer.c' line='533' column='1'/>
+      <parameter type-id='type-id-50' name='type' filepath='../lib/librte_timer/rte_timer.c' line='534' column='1'/>
+      <parameter type-id='type-id-45' name='tim_lcore' filepath='../lib/librte_timer/rte_timer.c' line='534' column='1'/>
+      <parameter type-id='type-id-33' name='fct' filepath='../lib/librte_timer/rte_timer.c' line='535' column='1'/>
+      <parameter type-id='type-id-14' name='arg' filepath='../lib/librte_timer/rte_timer.c' line='535' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_timer_init' mangled-name='rte_timer_init' filepath='../lib/librte_timer/rte_timer.c' line='212' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_timer_init@@DPDK_20.0'>
+      <parameter type-id='type-id-35' name='tim' filepath='../lib/librte_timer/rte_timer.c' line='212' column='1'/>
+      <return type-id='type-id-22'/>
+    </function-decl>
+    <function-decl name='rte_timer_subsystem_init' mangled-name='rte_timer_subsystem_init' filepath='../lib/librte_timer/rte_timer.c' line='138' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_timer_subsystem_init@@DPDK_20.0'>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_timer_alt_dump_stats' mangled-name='rte_timer_alt_dump_stats' filepath='../lib/librte_timer/rte_timer.c' line='1014' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_timer_alt_dump_stats@@EXPERIMENTAL'>
+      <parameter type-id='type-id-39' name='timer_data_id' filepath='../lib/librte_timer/rte_timer.c' line='1014' column='1'/>
+      <parameter type-id='type-id-28' name='f' filepath='../lib/librte_timer/rte_timer.c' line='1014' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-51'/>
+    <typedef-decl name='rte_timer_stop_all_cb_t' type-id='type-id-48' filepath='../lib/librte_timer/rte_timer.h' line='471' column='1' id='type-id-52'/>
+    <function-decl name='rte_timer_stop_all' mangled-name='rte_timer_stop_all' filepath='../lib/librte_timer/rte_timer.c' line='945' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_timer_stop_all@@EXPERIMENTAL'>
+      <parameter type-id='type-id-39' name='timer_data_id' filepath='../lib/librte_timer/rte_timer.c' line='945' column='1'/>
+      <parameter type-id='type-id-51' name='walk_lcores' filepath='../lib/librte_timer/rte_timer.c' line='945' column='1'/>
+      <parameter type-id='type-id-1' name='nb_walk_lcores' filepath='../lib/librte_timer/rte_timer.c' line='946' column='1'/>
+      <parameter type-id='type-id-52' name='f' filepath='../lib/librte_timer/rte_timer.c' line='947' column='1'/>
+      <parameter type-id='type-id-14' name='f_arg' filepath='../lib/librte_timer/rte_timer.c' line='947' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-54'/>
+    <typedef-decl name='rte_timer_alt_manage_cb_t' type-id='type-id-54' filepath='../lib/librte_timer/rte_timer.h' line='433' column='1' id='type-id-55'/>
+    <function-decl name='rte_timer_alt_manage' mangled-name='rte_timer_alt_manage' filepath='../lib/librte_timer/rte_timer.c' line='772' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_timer_alt_manage@@EXPERIMENTAL'>
+      <parameter type-id='type-id-39' name='timer_data_id' filepath='../lib/librte_timer/rte_timer.c' line='772' column='1'/>
+      <parameter type-id='type-id-51' name='poll_lcores' filepath='../lib/librte_timer/rte_timer.c' line='773' column='1'/>
+      <parameter type-id='type-id-1' name='nb_poll_lcores' filepath='../lib/librte_timer/rte_timer.c' line='774' column='1'/>
+      <parameter type-id='type-id-55' name='f' filepath='../lib/librte_timer/rte_timer.c' line='775' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_timer_alt_stop' mangled-name='rte_timer_alt_stop' filepath='../lib/librte_timer/rte_timer.c' line='616' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_timer_alt_stop@@EXPERIMENTAL'>
+      <parameter type-id='type-id-39' name='timer_data_id' filepath='../lib/librte_timer/rte_timer.c' line='616' column='1'/>
+      <parameter type-id='type-id-35' name='tim' filepath='../lib/librte_timer/rte_timer.c' line='616' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_timer_alt_reset' mangled-name='rte_timer_alt_reset' filepath='../lib/librte_timer/rte_timer.c' line='542' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_timer_alt_reset@@EXPERIMENTAL'>
+      <parameter type-id='type-id-39' name='timer_data_id' filepath='../lib/librte_timer/rte_timer.c' line='542' column='1'/>
+      <parameter type-id='type-id-35' name='tim' filepath='../lib/librte_timer/rte_timer.c' line='542' column='1'/>
+      <parameter type-id='type-id-30' name='ticks' filepath='../lib/librte_timer/rte_timer.c' line='543' column='1'/>
+      <parameter type-id='type-id-50' name='type' filepath='../lib/librte_timer/rte_timer.c' line='543' column='1'/>
+      <parameter type-id='type-id-45' name='tim_lcore' filepath='../lib/librte_timer/rte_timer.c' line='544' column='1'/>
+      <parameter type-id='type-id-33' name='fct' filepath='../lib/librte_timer/rte_timer.c' line='544' column='1'/>
+      <parameter type-id='type-id-14' name='arg' filepath='../lib/librte_timer/rte_timer.c' line='544' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_timer_subsystem_finalize' mangled-name='rte_timer_subsystem_finalize' filepath='../lib/librte_timer/rte_timer.c' line='195' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_timer_subsystem_finalize@@EXPERIMENTAL'>
+      <return type-id='type-id-22'/>
+    </function-decl>
+    <function-decl name='rte_timer_data_dealloc' mangled-name='rte_timer_data_dealloc' filepath='../lib/librte_timer/rte_timer.c' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_timer_data_dealloc@@EXPERIMENTAL'>
+      <parameter type-id='type-id-39' name='id' filepath='../lib/librte_timer/rte_timer.c' line='121' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-39' size-in-bits='64' id='type-id-56'/>
+    <function-decl name='rte_timer_data_alloc' mangled-name='rte_timer_data_alloc' filepath='../lib/librte_timer/rte_timer.c' line='97' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_timer_data_alloc@@EXPERIMENTAL'>
+      <parameter type-id='type-id-56' name='id_ptr' filepath='../lib/librte_timer/rte_timer.c' line='97' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-53'>
+      <parameter type-id='type-id-35'/>
+      <return type-id='type-id-22'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-47'>
+      <parameter type-id='type-id-35'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-22'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/lib/.abi/librte_vhost.dump b/lib/.abi/librte_vhost.dump
new file mode 100644
index 000000000..46753b793
--- /dev/null
+++ b/lib/.abi/librte_vhost.dump
@@ -0,0 +1,1629 @@
+<abi-corpus path='gcc//lib/librte_vhost.so.20.0' architecture='elf-amd-x86_64' soname='librte_vhost.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_vdpa_find_device_id' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vdpa_get_device' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vdpa_get_device_num' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vdpa_register_device' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vdpa_relay_vring_used' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vdpa_unregister_device' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_avail_entries' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_clr_inflight_desc_packed' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_clr_inflight_desc_split' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_crypto_create' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_crypto_fetch_requests' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_crypto_finalize_requests' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_crypto_free' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_crypto_set_zero_copy' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_dequeue_burst' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_driver_attach_vdpa_device' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_driver_callback_register' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_driver_detach_vdpa_device' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_driver_disable_features' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_driver_enable_features' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_driver_get_features' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_driver_get_protocol_features' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_driver_get_queue_num' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_driver_get_vdpa_device_id' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_driver_register' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_driver_set_features' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_driver_set_protocol_features' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_driver_start' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_driver_unregister' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_enable_guest_notification' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_enqueue_burst' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_extern_callback_register' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_get_ifname' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_get_log_base' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_get_mem_table' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_get_mtu' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_get_negotiated_features' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_get_numa_node' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_get_queue_num' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_get_vdpa_device_id' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_get_vhost_ring_inflight' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_get_vhost_vring' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_get_vring_base' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_get_vring_base_from_inflight' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_get_vring_num' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_host_notifier_ctrl' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_log_used_vring' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_log_write' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_rx_queue_count' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_set_inflight_desc_packed' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_set_inflight_desc_split' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_set_last_inflight_io_packed' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_set_last_inflight_io_split' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_set_vring_base' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vhost_vring_call' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_vhost/socket.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <type-decl name='char' size-in-bits='8' id='type-id-2'/>
+    <qualified-type-def type-id='type-id-2' const='yes' id='type-id-3'/>
+    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-4'/>
+    <function-decl name='rte_vhost_driver_start' mangled-name='rte_vhost_driver_start' filepath='../lib/librte_vhost/socket.c' line='1132' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_driver_start@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='path' filepath='../lib/librte_vhost/socket.c' line='1132' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='vhost_device_ops' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='237' column='1' id='type-id-5'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='new_device' type-id='type-id-6' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='destroy_device' type-id='type-id-7' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='239' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vring_state_changed' type-id='type-id-8' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='241' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='features_changed' type-id='type-id-9' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='new_connection' type-id='type-id-6' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='destroy_connection' type-id='type-id-7' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='guest_notified' type-id='type-id-7' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='reserved' type-id='type-id-10' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-6'/>
+    <type-decl name='void' id='type-id-12'/>
+    <pointer-type-def type-id='type-id-13' size-in-bits='64' id='type-id-7'/>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-14'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-14' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-15'/>
+    <typedef-decl name='uint16_t' type-id='type-id-15' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-16'/>
+    <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-8'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-18'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-18' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-19'/>
+    <typedef-decl name='uint64_t' type-id='type-id-19' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-20'/>
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-9'/>
+    <pointer-type-def type-id='type-id-12' size-in-bits='64' id='type-id-22'/>
+
+    <array-type-def dimensions='1' type-id='type-id-22' size-in-bits='64' id='type-id-10'>
+      <subrange length='1' type-id='type-id-18' id='type-id-23'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-5' const='yes' id='type-id-24'/>
+    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-25'/>
+    <qualified-type-def type-id='type-id-25' const='yes' id='type-id-26'/>
+    <function-decl name='rte_vhost_driver_callback_register' mangled-name='rte_vhost_driver_callback_register' filepath='../lib/librte_vhost/socket.c' line='1105' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_driver_callback_register@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='path' filepath='../lib/librte_vhost/socket.c' line='1105' column='1'/>
+      <parameter type-id='type-id-26' name='ops' filepath='../lib/librte_vhost/socket.c' line='1106' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_vhost_driver_unregister' mangled-name='rte_vhost_driver_unregister' filepath='../lib/librte_vhost/socket.c' line='1031' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_driver_unregister@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='path' filepath='../lib/librte_vhost/socket.c' line='1031' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_vhost_driver_register' mangled-name='rte_vhost_driver_register' filepath='../lib/librte_vhost/socket.c' line='846' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_driver_register@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='path' filepath='../lib/librte_vhost/socket.c' line='846' column='1'/>
+      <parameter type-id='type-id-20' name='flags' filepath='../lib/librte_vhost/socket.c' line='846' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-27'/>
+    <function-decl name='rte_vhost_driver_get_features' mangled-name='rte_vhost_driver_get_features' filepath='../lib/librte_vhost/socket.c' line='690' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_driver_get_features@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='path' filepath='../lib/librte_vhost/socket.c' line='690' column='1'/>
+      <parameter type-id='type-id-27' name='features' filepath='../lib/librte_vhost/socket.c' line='690' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_vhost_driver_set_features' mangled-name='rte_vhost_driver_set_features' filepath='../lib/librte_vhost/socket.c' line='669' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_driver_set_features@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='path' filepath='../lib/librte_vhost/socket.c' line='669' column='1'/>
+      <parameter type-id='type-id-20' name='features' filepath='../lib/librte_vhost/socket.c' line='669' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_vhost_driver_enable_features' mangled-name='rte_vhost_driver_enable_features' filepath='../lib/librte_vhost/socket.c' line='646' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_driver_enable_features@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='path' filepath='../lib/librte_vhost/socket.c' line='669' column='1'/>
+      <parameter type-id='type-id-20' name='features' filepath='../lib/librte_vhost/socket.c' line='669' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_vhost_driver_disable_features' mangled-name='rte_vhost_driver_disable_features' filepath='../lib/librte_vhost/socket.c' line='626' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_driver_disable_features@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='path' filepath='../lib/librte_vhost/socket.c' line='669' column='1'/>
+      <parameter type-id='type-id-20' name='features' filepath='../lib/librte_vhost/socket.c' line='669' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-28'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-28' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-29'/>
+    <typedef-decl name='uint32_t' type-id='type-id-29' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-30'/>
+    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-31'/>
+    <function-decl name='rte_vhost_driver_get_queue_num' mangled-name='rte_vhost_driver_get_queue_num' filepath='../lib/librte_vhost/socket.c' line='787' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_driver_get_queue_num@@EXPERIMENTAL'>
+      <parameter type-id='type-id-4' name='path' filepath='../lib/librte_vhost/socket.c' line='787' column='1'/>
+      <parameter type-id='type-id-31' name='queue_num' filepath='../lib/librte_vhost/socket.c' line='787' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_vhost_driver_get_protocol_features' mangled-name='rte_vhost_driver_get_protocol_features' filepath='../lib/librte_vhost/socket.c' line='744' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_driver_get_protocol_features@@EXPERIMENTAL'>
+      <parameter type-id='type-id-4' name='path' filepath='../lib/librte_vhost/socket.c' line='690' column='1'/>
+      <parameter type-id='type-id-27' name='features' filepath='../lib/librte_vhost/socket.c' line='690' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_vhost_driver_set_protocol_features' mangled-name='rte_vhost_driver_set_protocol_features' filepath='../lib/librte_vhost/socket.c' line='730' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_driver_set_protocol_features@@EXPERIMENTAL'>
+      <parameter type-id='type-id-4' name='path' filepath='../lib/librte_vhost/socket.c' line='669' column='1'/>
+      <parameter type-id='type-id-20' name='features' filepath='../lib/librte_vhost/socket.c' line='669' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_vhost_driver_get_vdpa_device_id' mangled-name='rte_vhost_driver_get_vdpa_device_id' filepath='../lib/librte_vhost/socket.c' line='611' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_driver_get_vdpa_device_id@@EXPERIMENTAL'>
+      <parameter type-id='type-id-4' name='path' filepath='../lib/librte_vhost/socket.c' line='611' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_vhost_driver_detach_vdpa_device' mangled-name='rte_vhost_driver_detach_vdpa_device' filepath='../lib/librte_vhost/socket.c' line='597' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_driver_detach_vdpa_device@@EXPERIMENTAL'>
+      <parameter type-id='type-id-4' name='path' filepath='../lib/librte_vhost/socket.c' line='597' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_vhost_driver_attach_vdpa_device' mangled-name='rte_vhost_driver_attach_vdpa_device' filepath='../lib/librte_vhost/socket.c' line='580' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_driver_attach_vdpa_device@@EXPERIMENTAL'>
+      <parameter type-id='type-id-4' name='path' filepath='../lib/librte_vhost/socket.c' line='580' column='1'/>
+      <parameter type-id='type-id-1' name='did' filepath='../lib/librte_vhost/socket.c' line='580' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-11'>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-17'>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-21'>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-20'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-13'>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-12'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_vhost/vdpa.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='rte_vdpa_relay_vring_used' mangled-name='rte_vdpa_relay_vring_used' filepath='../lib/librte_vhost/vdpa.c' line='130' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vdpa_relay_vring_used@@EXPERIMENTAL'>
+      <parameter type-id='type-id-1' name='vid' filepath='../lib/librte_vhost/vdpa.c' line='130' column='1'/>
+      <parameter type-id='type-id-16' name='qid' filepath='../lib/librte_vhost/vdpa.c' line='130' column='1'/>
+      <parameter type-id='type-id-22' name='vring_m' filepath='../lib/librte_vhost/vdpa.c' line='130' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_vdpa_get_device_num' mangled-name='rte_vdpa_get_device_num' filepath='../lib/librte_vhost/vdpa.c' line='124' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vdpa_get_device_num@@EXPERIMENTAL'>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_vdpa_device' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_vhost/rte_vdpa.h' line='83' column='1' id='type-id-32'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr' type-id='type-id-33' visibility='default' filepath='../lib/librte_vhost/rte_vdpa.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='ops' type-id='type-id-34' visibility='default' filepath='../lib/librte_vhost/rte_vdpa.h' line='87' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_vdpa_dev_addr' size-in-bits='544' is-struct='yes' visibility='default' filepath='../lib/librte_vhost/rte_vdpa.h' line='29' column='1' id='type-id-33'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-35' visibility='default' filepath='../lib/librte_vhost/rte_vdpa.h' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='' type-id='type-id-36' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-37'/>
+    <enum-decl name='vdpa_addr_type' filepath='../lib/librte_vhost/rte_vdpa.h' line='21' column='1' id='type-id-35'>
+      <underlying-type type-id='type-id-37'/>
+      <enumerator name='PCI_ADDR' value='0'/>
+      <enumerator name='VDPA_ADDR_MAX' value='1'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='512' is-anonymous='yes' visibility='default' filepath='../lib/librte_vhost/rte_vdpa.h' line='34' column='1' id='type-id-36'>
+      <data-member access='private'>
+        <var-decl name='__dummy' type-id='type-id-38' visibility='default' filepath='../lib/librte_vhost/rte_vdpa.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pci_addr' type-id='type-id-39' visibility='default' filepath='../lib/librte_vhost/rte_vdpa.h' line='36' column='1'/>
+      </data-member>
+    </union-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-40'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-40' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-41'/>
+    <typedef-decl name='uint8_t' type-id='type-id-41' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-42'/>
+
+    <array-type-def dimensions='1' type-id='type-id-42' size-in-bits='512' id='type-id-38'>
+      <subrange length='64' type-id='type-id-18' id='type-id-43'/>
+
+    </array-type-def>
+    <class-decl name='rte_pci_addr' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='61' column='1' id='type-id-39'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='domain' type-id='type-id-30' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='bus' type-id='type-id-42' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='devid' type-id='type-id-42' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='function' type-id='type-id-42' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_vdpa_dev_ops' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_vhost/rte_vdpa.h' line='43' column='1' id='type-id-44'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='get_queue_num' type-id='type-id-45' visibility='default' filepath='../lib/librte_vhost/rte_vdpa.h' line='45' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='get_features' type-id='type-id-46' visibility='default' filepath='../lib/librte_vhost/rte_vdpa.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='get_protocol_features' type-id='type-id-46' visibility='default' filepath='../lib/librte_vhost/rte_vdpa.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_conf' type-id='type-id-6' visibility='default' filepath='../lib/librte_vhost/rte_vdpa.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dev_close' type-id='type-id-6' visibility='default' filepath='../lib/librte_vhost/rte_vdpa.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='set_vring_state' type-id='type-id-47' visibility='default' filepath='../lib/librte_vhost/rte_vdpa.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='set_features' type-id='type-id-6' visibility='default' filepath='../lib/librte_vhost/rte_vdpa.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='migration_done' type-id='type-id-6' visibility='default' filepath='../lib/librte_vhost/rte_vdpa.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='get_vfio_group_fd' type-id='type-id-6' visibility='default' filepath='../lib/librte_vhost/rte_vdpa.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='get_vfio_device_fd' type-id='type-id-6' visibility='default' filepath='../lib/librte_vhost/rte_vdpa.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='get_notify_area' type-id='type-id-48' visibility='default' filepath='../lib/librte_vhost/rte_vdpa.h' line='73' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='reserved' type-id='type-id-49' visibility='default' filepath='../lib/librte_vhost/rte_vdpa.h' line='77' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-50' size-in-bits='64' id='type-id-45'/>
+    <pointer-type-def type-id='type-id-51' size-in-bits='64' id='type-id-46'/>
+    <pointer-type-def type-id='type-id-52' size-in-bits='64' id='type-id-47'/>
+    <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-48'/>
+
+    <array-type-def dimensions='1' type-id='type-id-22' size-in-bits='320' id='type-id-49'>
+      <subrange length='5' type-id='type-id-18' id='type-id-54'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-34'/>
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-55'/>
+    <function-decl name='rte_vdpa_get_device' mangled-name='rte_vdpa_get_device' filepath='../lib/librte_vhost/vdpa.c' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vdpa_get_device@@EXPERIMENTAL'>
+      <parameter type-id='type-id-1' name='did' filepath='../lib/librte_vhost/vdpa.c' line='115' column='1'/>
+      <return type-id='type-id-55'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-33' size-in-bits='64' id='type-id-56'/>
+    <function-decl name='rte_vdpa_find_device_id' mangled-name='rte_vdpa_find_device_id' filepath='../lib/librte_vhost/vdpa.c' line='97' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vdpa_find_device_id@@EXPERIMENTAL'>
+      <parameter type-id='type-id-56' name='addr' filepath='../lib/librte_vhost/vdpa.c' line='97' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_vdpa_unregister_device' mangled-name='rte_vdpa_unregister_device' filepath='../lib/librte_vhost/vdpa.c' line='84' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vdpa_unregister_device@@EXPERIMENTAL'>
+      <parameter type-id='type-id-1' name='did' filepath='../lib/librte_vhost/vdpa.c' line='84' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_vdpa_register_device' mangled-name='rte_vdpa_register_device' filepath='../lib/librte_vhost/vdpa.c' line='45' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vdpa_register_device@@EXPERIMENTAL'>
+      <parameter type-id='type-id-56' name='addr' filepath='../lib/librte_vhost/vdpa.c' line='45' column='1'/>
+      <parameter type-id='type-id-34' name='ops' filepath='../lib/librte_vhost/vdpa.c' line='46' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-52'>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-53'>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-27'/>
+      <parameter type-id='type-id-27'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-50'>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-31'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-51'>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-27'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_vhost/vhost.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='virtio_net' size-in-bits='50688' is-struct='yes' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='344' column='1' id='type-id-57'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mem' type-id='type-id-58' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='346' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='features' type-id='type-id-20' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='347' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='protocol_features' type-id='type-id-20' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='348' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='vid' type-id='type-id-1' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='349' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='flags' type-id='type-id-30' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='350' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='vhost_hlen' type-id='type-id-16' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='351' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='272'>
+        <var-decl name='broadcast_rarp' type-id='type-id-59' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='353' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='nr_vring' type-id='type-id-30' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='354' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dequeue_zero_copy' type-id='type-id-1' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='355' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='extbuf' type-id='type-id-1' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='356' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='linearbuf' type-id='type-id-1' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='357' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='virtqueue' type-id='type-id-60' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='358' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16832'>
+        <var-decl name='inflight_info' type-id='type-id-61' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='359' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16896'>
+        <var-decl name='ifname' type-id='type-id-62' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='361' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='49664'>
+        <var-decl name='log_size' type-id='type-id-20' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='362' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='49728'>
+        <var-decl name='log_base' type-id='type-id-20' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='363' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='49792'>
+        <var-decl name='log_addr' type-id='type-id-20' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='364' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='49856'>
+        <var-decl name='mac' type-id='type-id-63' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='365' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='49904'>
+        <var-decl name='mtu' type-id='type-id-16' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='366' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='49920'>
+        <var-decl name='notify_ops' type-id='type-id-25' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='368' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='49984'>
+        <var-decl name='nr_guest_pages' type-id='type-id-30' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='370' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50016'>
+        <var-decl name='max_guest_pages' type-id='type-id-30' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='371' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50048'>
+        <var-decl name='guest_pages' type-id='type-id-64' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='372' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50112'>
+        <var-decl name='slave_req_fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='374' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50144'>
+        <var-decl name='slave_req_lock' type-id='type-id-65' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='375' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50176'>
+        <var-decl name='postcopy_ufd' type-id='type-id-1' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='377' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50208'>
+        <var-decl name='postcopy_listening' type-id='type-id-1' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='378' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50240'>
+        <var-decl name='vdpa_dev_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='384' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50304'>
+        <var-decl name='extern_data' type-id='type-id-22' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='387' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50368'>
+        <var-decl name='extern_ops' type-id='type-id-66' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='389' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_vhost_memory' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='105' column='1' id='type-id-67'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nregions' type-id='type-id-30' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='regions' type-id='type-id-68' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='107' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_vhost_mem_region' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='92' column='1' id='type-id-69'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='guest_phys_addr' type-id='type-id-20' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='93' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='guest_user_addr' type-id='type-id-20' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='host_user_addr' type-id='type-id-20' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='95' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='size' type-id='type-id-20' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='mmap_addr' type-id='type-id-22' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='97' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='mmap_size' type-id='type-id-20' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='98' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='99' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-69' size-in-bits='infinite' id='type-id-68'>
+      <subrange length='infinite' type-id='type-id-18' id='type-id-70'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-67' size-in-bits='64' id='type-id-58'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-59' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-71'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-72' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-73'/>
+    <typedef-decl name='__int16_t' type-id='type-id-73' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-74'/>
+    <typedef-decl name='int16_t' type-id='type-id-74' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-75'/>
+    <qualified-type-def type-id='type-id-75' volatile='yes' id='type-id-72'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-71' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-59'/>
+    <class-decl name='vhost_virtqueue' size-in-bits='6656' is-struct='yes' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='127' column='1' id='type-id-76'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-77' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='size' type-id='type-id-30' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='140' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='last_avail_idx' type-id='type-id-16' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='142' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='240'>
+        <var-decl name='last_used_idx' type-id='type-id-16' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='143' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='signalled_used' type-id='type-id-16' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='145' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='272'>
+        <var-decl name='signalled_used_valid' type-id='type-id-78' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='146' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='backend' type-id='type-id-1' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='151' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='enabled' type-id='type-id-1' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='access_ok' type-id='type-id-1' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='153' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='access_lock' type-id='type-id-65' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='callfd' type-id='type-id-1' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='157' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='kickfd' type-id='type-id-1' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='159' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='log_guest_addr' type-id='type-id-20' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='162' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='resubmit_inflight' type-id='type-id-79' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='169' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='global_counter' type-id='type-id-20' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='170' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='nr_zmbuf' type-id='type-id-16' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='172' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='zmbuf_size' type-id='type-id-16' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='173' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='last_zmbuf_idx' type-id='type-id-16' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='174' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='zmbufs' type-id='type-id-80' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='175' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='zmbuf_list' type-id='type-id-81' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='176' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='shadow_used_idx' type-id='type-id-16' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='182' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1104'>
+        <var-decl name='shadow_aligned_idx' type-id='type-id-16' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='184' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1120'>
+        <var-decl name='shadow_last_used_idx' type-id='type-id-16' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='ring_addrs' type-id='type-id-82' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='batch_copy_elems' type-id='type-id-83' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='189' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='batch_copy_nb_elems' type-id='type-id-16' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='190' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1552'>
+        <var-decl name='used_wrap_counter' type-id='type-id-78' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1560'>
+        <var-decl name='avail_wrap_counter' type-id='type-id-78' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='192' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='log_cache' type-id='type-id-84' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5696'>
+        <var-decl name='log_cache_nb_elem' type-id='type-id-16' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5728'>
+        <var-decl name='iotlb_lock' type-id='type-id-85' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='197' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5760'>
+        <var-decl name='iotlb_pending_lock' type-id='type-id-85' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='198' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5824'>
+        <var-decl name='iotlb_pool' type-id='type-id-86' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='199' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5888'>
+        <var-decl name='iotlb_list' type-id='type-id-87' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='200' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6016'>
+        <var-decl name='iotlb_cache_nr' type-id='type-id-1' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='201' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6080'>
+        <var-decl name='iotlb_pending_list' type-id='type-id-87' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='202' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='128' column='1' id='type-id-77'>
+      <data-member access='private'>
+        <var-decl name='desc' type-id='type-id-88' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='129' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='desc_packed' type-id='type-id-89' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='130' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='vring_desc' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/local/include/linux/virtio_ring.h' line='88' column='1' id='type-id-90'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr' type-id='type-id-91' visibility='default' filepath='/usr/local/include/linux/virtio_ring.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-92' visibility='default' filepath='/usr/local/include/linux/virtio_ring.h' line='92' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='flags' type-id='type-id-93' visibility='default' filepath='/usr/local/include/linux/virtio_ring.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='112'>
+        <var-decl name='next' type-id='type-id-93' visibility='default' filepath='/usr/local/include/linux/virtio_ring.h' line='96' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-94'/>
+    <typedef-decl name='__u64' type-id='type-id-94' filepath='/usr/local/include/asm-generic/int-ll64.h' line='31' column='1' id='type-id-95'/>
+    <typedef-decl name='__virtio64' type-id='type-id-95' filepath='/usr/local/include/linux/virtio_types.h' line='44' column='1' id='type-id-91'/>
+    <typedef-decl name='__u32' type-id='type-id-28' filepath='/usr/local/include/asm-generic/int-ll64.h' line='27' column='1' id='type-id-96'/>
+    <typedef-decl name='__virtio32' type-id='type-id-96' filepath='/usr/local/include/linux/virtio_types.h' line='43' column='1' id='type-id-92'/>
+    <typedef-decl name='__u16' type-id='type-id-14' filepath='/usr/local/include/asm-generic/int-ll64.h' line='24' column='1' id='type-id-97'/>
+    <typedef-decl name='__virtio16' type-id='type-id-97' filepath='/usr/local/include/linux/virtio_types.h' line='42' column='1' id='type-id-93'/>
+    <pointer-type-def type-id='type-id-90' size-in-bits='64' id='type-id-88'/>
+    <class-decl name='vring_packed_desc' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/local/include/linux/virtio_ring.h' line='203' column='1' id='type-id-98'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr' type-id='type-id-99' visibility='default' filepath='/usr/local/include/linux/virtio_ring.h' line='205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-100' visibility='default' filepath='/usr/local/include/linux/virtio_ring.h' line='207' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='id' type-id='type-id-101' visibility='default' filepath='/usr/local/include/linux/virtio_ring.h' line='209' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='112'>
+        <var-decl name='flags' type-id='type-id-101' visibility='default' filepath='/usr/local/include/linux/virtio_ring.h' line='211' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='__le64' type-id='type-id-95' filepath='/usr/local/include/linux/types.h' line='28' column='1' id='type-id-99'/>
+    <typedef-decl name='__le32' type-id='type-id-96' filepath='/usr/local/include/linux/types.h' line='26' column='1' id='type-id-100'/>
+    <typedef-decl name='__le16' type-id='type-id-97' filepath='/usr/local/include/linux/types.h' line='24' column='1' id='type-id-101'/>
+    <pointer-type-def type-id='type-id-98' size-in-bits='64' id='type-id-89'/>
+    <type-decl name='bool' size-in-bits='8' id='type-id-78'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-65' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_spinlock.h' line='30' column='1' id='type-id-102'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='locked' type-id='type-id-103' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_spinlock.h' line='31' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-1' volatile='yes' id='type-id-103'/>
+    <typedef-decl name='rte_spinlock_t' type-id='type-id-102' filepath='../lib/librte_eal/common/include/generic/rte_spinlock.h' line='32' column='1' id='type-id-65'/>
+    <class-decl name='rte_vhost_resubmit_info' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='158' column='1' id='type-id-104'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='resubmit_list' type-id='type-id-105' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='159' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='resubmit_num' type-id='type-id-16' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='160' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_vhost_resubmit_desc' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='153' column='1' id='type-id-106'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='index' type-id='type-id-16' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='counter' type-id='type-id-20' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='155' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-106' size-in-bits='64' id='type-id-105'/>
+    <pointer-type-def type-id='type-id-104' size-in-bits='64' id='type-id-79'/>
+    <class-decl name='zcopy_mbuf' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='89' column='1' id='type-id-107'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mbuf' type-id='type-id-108' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='desc_idx' type-id='type-id-30' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='desc_count' type-id='type-id-16' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='92' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='112'>
+        <var-decl name='in_use' type-id='type-id-16' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='93' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='next' type-id='type-id-109' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='95' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mbuf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='480' column='1' id='type-id-110'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheline0' type-id='type-id-111' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-22' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-112' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rearm_data' type-id='type-id-113' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='497' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_off' type-id='type-id-16' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_segs' type-id='type-id-16' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='port' type-id='type-id-16' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ol_flags' type-id='type-id-20' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_descriptor_fields1' type-id='type-id-111' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='pkt_len' type-id='type-id-30' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data_len' type-id='type-id-16' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='vlan_tci' type-id='type-id-16' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vlan_tci_outer' type-id='type-id-16' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='buf_len' type-id='type-id-16' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='timestamp' type-id='type-id-20' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cacheline1' type-id='type-id-111' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='pool' type-id='type-id-86' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='next' type-id='type-id-108' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv_size' type-id='type-id-16' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='timesync' type-id='type-id-16' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='seqn' type-id='type-id-30' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='shinfo' type-id='type-id-114' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dynfield1' type-id='type-id-115' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-22' size-in-bits='infinite' id='type-id-116'>
+      <subrange length='infinite' type-id='type-id-18' id='type-id-70'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER' type-id='type-id-116' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='414' column='1' id='type-id-111'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='491' column='1' id='type-id-112'>
+      <data-member access='private'>
+        <var-decl name='buf_iova' type-id='type-id-117' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='buf_physaddr' type-id='type-id-117' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_iova_t' type-id='type-id-20' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-117'/>
+
+    <array-type-def dimensions='1' type-id='type-id-20' size-in-bits='infinite' id='type-id-118'>
+      <subrange length='infinite' type-id='type-id-18' id='type-id-70'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER64' type-id='type-id-118' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='420' column='1' id='type-id-113'/>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-119'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-120' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-121' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-22' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-122' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-30' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-30' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-30' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-30' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-30' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-123' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-124' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-30' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-125' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-30' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-126' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='256' id='type-id-120'>
+      <subrange length='32' type-id='type-id-18' id='type-id-127'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-121'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-22' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-20' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-128'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-120' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-129' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-130' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-20' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-123' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-30' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-129'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-131' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-117' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-20' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-131'/>
+    <typedef-decl name='size_t' type-id='type-id-18' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-130'/>
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-132'/>
+    <typedef-decl name='int32_t' type-id='type-id-132' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-123'/>
+    <qualified-type-def type-id='type-id-128' const='yes' id='type-id-133'/>
+    <pointer-type-def type-id='type-id-133' size-in-bits='64' id='type-id-122'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-134'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-30' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-30' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-30' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-135' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-22' size-in-bits='98304' id='type-id-135'>
+      <subrange length='1536' type-id='type-id-18' id='type-id-136'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-134' size-in-bits='64' id='type-id-124'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-125'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-137' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-138' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-139'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-140' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-86' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-141' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-140'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-137' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-139' size-in-bits='64' id='type-id-137'/>
+    <pointer-type-def type-id='type-id-119' size-in-bits='64' id='type-id-86'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-141'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-117' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-131' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-137' size-in-bits='64' id='type-id-138'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-126'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-142' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-143' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-144'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-145' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-86' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-22' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-146' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-130' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-147' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-22' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-145'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-142' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-144' size-in-bits='64' id='type-id-142'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-146'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-117' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-131' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-148' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-149'/>
+    <pointer-type-def type-id='type-id-149' size-in-bits='64' id='type-id-147'/>
+    <pointer-type-def type-id='type-id-142' size-in-bits='64' id='type-id-143'/>
+    <pointer-type-def type-id='type-id-110' size-in-bits='64' id='type-id-108'/>
+    <class-decl name='rte_mbuf_ext_shared_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='689' column='1' id='type-id-150'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_cb' type-id='type-id-151' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcb_opaque' type-id='type-id-22' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt_atomic' type-id='type-id-59' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-152' size-in-bits='64' id='type-id-153'/>
+    <typedef-decl name='rte_mbuf_extbuf_free_callback_t' type-id='type-id-153' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='684' column='1' id='type-id-151'/>
+    <pointer-type-def type-id='type-id-150' size-in-bits='64' id='type-id-114'/>
+
+    <array-type-def dimensions='1' type-id='type-id-20' size-in-bits='128' id='type-id-115'>
+      <subrange length='2' type-id='type-id-18' id='type-id-154'/>
+
+    </array-type-def>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='95' column='1' id='type-id-109'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-80' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='95' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-155' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='95' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-107' size-in-bits='64' id='type-id-80'/>
+    <pointer-type-def type-id='type-id-80' size-in-bits='64' id='type-id-155'/>
+    <class-decl name='zcopy_mbuf_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='97' column='1' id='type-id-81'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-80' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='97' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-155' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='97' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='vhost_vring_addr' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/local/include/linux/vhost_types.h' line='30' column='1' id='type-id-82'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='index' type-id='type-id-28' visibility='default' filepath='/usr/local/include/linux/vhost_types.h' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flags' type-id='type-id-28' visibility='default' filepath='/usr/local/include/linux/vhost_types.h' line='33' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='desc_user_addr' type-id='type-id-95' visibility='default' filepath='/usr/local/include/linux/vhost_types.h' line='39' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='used_user_addr' type-id='type-id-95' visibility='default' filepath='/usr/local/include/linux/vhost_types.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='avail_user_addr' type-id='type-id-95' visibility='default' filepath='/usr/local/include/linux/vhost_types.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='log_guest_addr' type-id='type-id-95' visibility='default' filepath='/usr/local/include/linux/vhost_types.h' line='47' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='batch_copy_elem' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='102' column='1' id='type-id-156'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dst' type-id='type-id-22' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='103' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='src' type-id='type-id-22' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='104' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='len' type-id='type-id-30' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='log_addr' type-id='type-id-20' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='106' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-156' size-in-bits='64' id='type-id-83'/>
+    <class-decl name='log_cache_entry' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='112' column='1' id='type-id-157'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='offset' type-id='type-id-30' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='113' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='val' type-id='type-id-18' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='114' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-157' size-in-bits='4096' id='type-id-84'>
+      <subrange length='32' type-id='type-id-18' id='type-id-127'/>
+
+    </array-type-def>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-85' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_rwlock.h' line='33' column='1' id='type-id-158'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-159' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_rwlock.h' line='34' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-123' volatile='yes' id='type-id-159'/>
+    <typedef-decl name='rte_rwlock_t' type-id='type-id-158' filepath='../lib/librte_eal/common/include/generic/rte_rwlock.h' line='35' column='1' id='type-id-85'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='200' column='1' id='type-id-87'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-160' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='200' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-161' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='200' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='vhost_iotlb_entry' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-162'/>
+    <pointer-type-def type-id='type-id-162' size-in-bits='64' id='type-id-160'/>
+    <pointer-type-def type-id='type-id-160' size-in-bits='64' id='type-id-161'/>
+    <pointer-type-def type-id='type-id-76' size-in-bits='64' id='type-id-163'/>
+
+    <array-type-def dimensions='1' type-id='type-id-163' size-in-bits='16384' id='type-id-60'>
+      <subrange length='256' type-id='type-id-18' id='type-id-164'/>
+
+    </array-type-def>
+    <class-decl name='inflight_mem_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='334' column='1' id='type-id-165'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='335' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='addr' type-id='type-id-22' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='336' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='size' type-id='type-id-20' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='337' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-165' size-in-bits='64' id='type-id-61'/>
+
+    <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='32768' id='type-id-62'>
+      <subrange length='4096' type-id='type-id-18' id='type-id-166'/>
+
+    </array-type-def>
+    <class-decl name='rte_ether_addr' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='60' column='1' id='type-id-63'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr_bytes' type-id='type-id-167' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='61' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-42' size-in-bits='48' id='type-id-167'>
+      <subrange length='6' type-id='type-id-18' id='type-id-168'/>
+
+    </array-type-def>
+    <class-decl name='guest_page' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='328' column='1' id='type-id-169'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='guest_phys_addr' type-id='type-id-20' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='329' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='host_phys_addr' type-id='type-id-20' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='330' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='size' type-id='type-id-20' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='331' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-169' size-in-bits='64' id='type-id-64'/>
+    <class-decl name='rte_vhost_user_extern_ops' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='227' column='1' id='type-id-66'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pre_msg_handle' type-id='type-id-170' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='post_msg_handle' type-id='type-id-170' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='231' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_vhost_msg_result' filepath='../lib/librte_vhost/rte_vhost.h' line='197' column='1' id='type-id-171'>
+      <underlying-type type-id='type-id-37'/>
+      <enumerator name='RTE_VHOST_MSG_RESULT_ERR' value='-1'/>
+      <enumerator name='RTE_VHOST_MSG_RESULT_OK' value='0'/>
+      <enumerator name='RTE_VHOST_MSG_RESULT_REPLY' value='1'/>
+      <enumerator name='RTE_VHOST_MSG_RESULT_NOT_HANDLED' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-172' size-in-bits='64' id='type-id-173'/>
+    <typedef-decl name='rte_vhost_msg_handle' type-id='type-id-173' filepath='../lib/librte_vhost/rte_vhost.h' line='222' column='1' id='type-id-170'/>
+    <pointer-type-def type-id='type-id-57' size-in-bits='64' id='type-id-174'/>
+
+    <array-type-def dimensions='1' type-id='type-id-174' size-in-bits='65536' id='type-id-175'>
+      <subrange length='1024' type-id='type-id-18' id='type-id-176'/>
+
+    </array-type-def>
+    <var-decl name='vhost_devices' type-id='type-id-175' visibility='default' filepath='../lib/librte_vhost/vhost.h' line='533' column='1'/>
+    <function-decl name='rte_vhost_rx_queue_count' mangled-name='rte_vhost_rx_queue_count' filepath='../lib/librte_vhost/vhost.c' line='1314' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_rx_queue_count@@DPDK_20.0'>
+      <parameter type-id='type-id-1' name='vid' filepath='../lib/librte_vhost/vhost.c' line='1314' column='1'/>
+      <parameter type-id='type-id-16' name='qid' filepath='../lib/librte_vhost/vhost.c' line='1314' column='1'/>
+      <return type-id='type-id-30'/>
+    </function-decl>
+    <function-decl name='rte_vhost_log_used_vring' mangled-name='rte_vhost_log_used_vring' filepath='../lib/librte_vhost/vhost.c' line='1294' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_log_used_vring@@DPDK_20.0'>
+      <parameter type-id='type-id-1' name='vid' filepath='../lib/librte_vhost/vhost.c' line='1294' column='1'/>
+      <parameter type-id='type-id-16' name='vring_idx' filepath='../lib/librte_vhost/vhost.c' line='1294' column='1'/>
+      <parameter type-id='type-id-20' name='offset' filepath='../lib/librte_vhost/vhost.c' line='1295' column='1'/>
+      <parameter type-id='type-id-20' name='len' filepath='../lib/librte_vhost/vhost.c' line='1295' column='1'/>
+      <return type-id='type-id-12'/>
+    </function-decl>
+    <function-decl name='rte_vhost_log_write' mangled-name='rte_vhost_log_write' filepath='../lib/librte_vhost/vhost.c' line='1283' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_log_write@@DPDK_20.0'>
+      <parameter type-id='type-id-1' name='vid' filepath='../lib/librte_vhost/vhost.c' line='1283' column='1'/>
+      <parameter type-id='type-id-20' name='addr' filepath='../lib/librte_vhost/vhost.c' line='1283' column='1'/>
+      <parameter type-id='type-id-20' name='len' filepath='../lib/librte_vhost/vhost.c' line='1283' column='1'/>
+      <return type-id='type-id-12'/>
+    </function-decl>
+    <function-decl name='rte_vhost_enable_guest_notification' mangled-name='rte_vhost_enable_guest_notification' filepath='../lib/librte_vhost/vhost.c' line='1259' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_enable_guest_notification@@DPDK_20.0'>
+      <parameter type-id='type-id-1' name='vid' filepath='../lib/librte_vhost/vhost.c' line='1259' column='1'/>
+      <parameter type-id='type-id-16' name='queue_id' filepath='../lib/librte_vhost/vhost.c' line='1259' column='1'/>
+      <parameter type-id='type-id-1' name='enable' filepath='../lib/librte_vhost/vhost.c' line='1259' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_vhost_avail_entries' mangled-name='rte_vhost_avail_entries' filepath='../lib/librte_vhost/vhost.c' line='1188' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_avail_entries@@DPDK_20.0'>
+      <parameter type-id='type-id-1' name='vid' filepath='../lib/librte_vhost/vhost.c' line='1188' column='1'/>
+      <parameter type-id='type-id-16' name='queue_id' filepath='../lib/librte_vhost/vhost.c' line='1188' column='1'/>
+      <return type-id='type-id-16'/>
+    </function-decl>
+    <function-decl name='rte_vhost_vring_call' mangled-name='rte_vhost_vring_call' filepath='../lib/librte_vhost/vhost.c' line='1163' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_vring_call@@DPDK_20.0'>
+      <parameter type-id='type-id-1' name='vid' filepath='../lib/librte_vhost/vhost.c' line='1163' column='1'/>
+      <parameter type-id='type-id-16' name='vring_idx' filepath='../lib/librte_vhost/vhost.c' line='1163' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_vhost_vring' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='172' column='1' id='type-id-177'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-77' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='log_guest_addr' type-id='type-id-20' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='185' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='callfd' type-id='type-id-1' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='kickfd' type-id='type-id-1' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='190' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='size' type-id='type-id-16' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='191' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-177' size-in-bits='64' id='type-id-178'/>
+    <function-decl name='rte_vhost_get_vhost_vring' mangled-name='rte_vhost_get_vhost_vring' filepath='../lib/librte_vhost/vhost.c' line='819' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_get_vhost_vring@@DPDK_20.0'>
+      <parameter type-id='type-id-1' name='vid' filepath='../lib/librte_vhost/vhost.c' line='819' column='1'/>
+      <parameter type-id='type-id-16' name='vring_idx' filepath='../lib/librte_vhost/vhost.c' line='819' column='1'/>
+      <parameter type-id='type-id-178' name='vring' filepath='../lib/librte_vhost/vhost.c' line='820' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-58' size-in-bits='64' id='type-id-179'/>
+    <function-decl name='rte_vhost_get_mem_table' mangled-name='rte_vhost_get_mem_table' filepath='../lib/librte_vhost/vhost.c' line='796' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_get_mem_table@@DPDK_20.0'>
+      <parameter type-id='type-id-1' name='vid' filepath='../lib/librte_vhost/vhost.c' line='796' column='1'/>
+      <parameter type-id='type-id-179' name='mem' filepath='../lib/librte_vhost/vhost.c' line='796' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_vhost_get_negotiated_features' mangled-name='rte_vhost_get_negotiated_features' filepath='../lib/librte_vhost/vhost.c' line='783' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_get_negotiated_features@@DPDK_20.0'>
+      <parameter type-id='type-id-1' name='vid' filepath='../lib/librte_vhost/vhost.c' line='783' column='1'/>
+      <parameter type-id='type-id-27' name='features' filepath='../lib/librte_vhost/vhost.c' line='783' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-180'/>
+    <function-decl name='rte_vhost_get_ifname' mangled-name='rte_vhost_get_ifname' filepath='../lib/librte_vhost/vhost.c' line='767' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_get_ifname@@DPDK_20.0'>
+      <parameter type-id='type-id-1' name='vid' filepath='../lib/librte_vhost/vhost.c' line='767' column='1'/>
+      <parameter type-id='type-id-180' name='buf' filepath='../lib/librte_vhost/vhost.c' line='767' column='1'/>
+      <parameter type-id='type-id-130' name='len' filepath='../lib/librte_vhost/vhost.c' line='767' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_vhost_get_vring_num' mangled-name='rte_vhost_get_vring_num' filepath='../lib/librte_vhost/vhost.c' line='756' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_get_vring_num@@DPDK_20.0'>
+      <parameter type-id='type-id-1' name='vid' filepath='../lib/librte_vhost/vhost.c' line='756' column='1'/>
+      <return type-id='type-id-16'/>
+    </function-decl>
+    <function-decl name='rte_vhost_get_queue_num' mangled-name='rte_vhost_get_queue_num' filepath='../lib/librte_vhost/vhost.c' line='745' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_get_queue_num@@DPDK_20.0'>
+      <parameter type-id='type-id-1' name='vid' filepath='../lib/librte_vhost/vhost.c' line='745' column='1'/>
+      <return type-id='type-id-30'/>
+    </function-decl>
+    <function-decl name='rte_vhost_get_numa_node' mangled-name='rte_vhost_get_numa_node' filepath='../lib/librte_vhost/vhost.c' line='718' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_get_numa_node@@DPDK_20.0'>
+      <parameter type-id='type-id-1' name='vid' filepath='../lib/librte_vhost/vhost.c' line='718' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-16' size-in-bits='64' id='type-id-181'/>
+    <function-decl name='rte_vhost_get_mtu' mangled-name='rte_vhost_get_mtu' filepath='../lib/librte_vhost/vhost.c' line='699' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_get_mtu@@DPDK_20.0'>
+      <parameter type-id='type-id-1' name='vid' filepath='../lib/librte_vhost/vhost.c' line='699' column='1'/>
+      <parameter type-id='type-id-181' name='mtu' filepath='../lib/librte_vhost/vhost.c' line='699' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_vhost_get_vdpa_device_id' mangled-name='rte_vhost_get_vdpa_device_id' filepath='../lib/librte_vhost/vhost.c' line='1346' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_get_vdpa_device_id@@EXPERIMENTAL'>
+      <parameter type-id='type-id-1' name='vid' filepath='../lib/librte_vhost/vhost.c' line='1346' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-66' const='yes' id='type-id-182'/>
+    <pointer-type-def type-id='type-id-182' size-in-bits='64' id='type-id-183'/>
+    <qualified-type-def type-id='type-id-183' const='yes' id='type-id-184'/>
+    <function-decl name='rte_vhost_extern_callback_register' mangled-name='rte_vhost_extern_callback_register' filepath='../lib/librte_vhost/vhost.c' line='1448' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_extern_callback_register@@EXPERIMENTAL'>
+      <parameter type-id='type-id-1' name='vid' filepath='../lib/librte_vhost/vhost.c' line='1448' column='1'/>
+      <parameter type-id='type-id-184' name='ops' filepath='../lib/librte_vhost/vhost.c' line='1449' column='1'/>
+      <parameter type-id='type-id-22' name='ctx' filepath='../lib/librte_vhost/vhost.c' line='1449' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_vhost_set_vring_base' mangled-name='rte_vhost_set_vring_base' filepath='../lib/librte_vhost/vhost.c' line='1396' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_set_vring_base@@EXPERIMENTAL'>
+      <parameter type-id='type-id-1' name='vid' filepath='../lib/librte_vhost/vhost.c' line='1396' column='1'/>
+      <parameter type-id='type-id-16' name='queue_id' filepath='../lib/librte_vhost/vhost.c' line='1396' column='1'/>
+      <parameter type-id='type-id-16' name='last_avail_idx' filepath='../lib/librte_vhost/vhost.c' line='1397' column='1'/>
+      <parameter type-id='type-id-16' name='last_used_idx' filepath='../lib/librte_vhost/vhost.c' line='1397' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_vhost_get_vring_base_from_inflight' mangled-name='rte_vhost_get_vring_base_from_inflight' filepath='../lib/librte_vhost/vhost.c' line='1423' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_get_vring_base_from_inflight@@EXPERIMENTAL'>
+      <parameter type-id='type-id-1' name='vid' filepath='../lib/librte_vhost/vhost.c' line='1423' column='1'/>
+      <parameter type-id='type-id-16' name='queue_id' filepath='../lib/librte_vhost/vhost.c' line='1424' column='1'/>
+      <parameter type-id='type-id-181' name='last_avail_idx' filepath='../lib/librte_vhost/vhost.c' line='1425' column='1'/>
+      <parameter type-id='type-id-181' name='last_used_idx' filepath='../lib/librte_vhost/vhost.c' line='1426' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_vhost_get_vring_base' mangled-name='rte_vhost_get_vring_base' filepath='../lib/librte_vhost/vhost.c' line='1370' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_get_vring_base@@EXPERIMENTAL'>
+      <parameter type-id='type-id-1' name='vid' filepath='../lib/librte_vhost/vhost.c' line='1423' column='1'/>
+      <parameter type-id='type-id-16' name='queue_id' filepath='../lib/librte_vhost/vhost.c' line='1424' column='1'/>
+      <parameter type-id='type-id-181' name='last_avail_idx' filepath='../lib/librte_vhost/vhost.c' line='1425' column='1'/>
+      <parameter type-id='type-id-181' name='last_used_idx' filepath='../lib/librte_vhost/vhost.c' line='1426' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_vhost_get_log_base' mangled-name='rte_vhost_get_log_base' filepath='../lib/librte_vhost/vhost.c' line='1356' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_get_log_base@@EXPERIMENTAL'>
+      <parameter type-id='type-id-1' name='vid' filepath='../lib/librte_vhost/vhost.c' line='1356' column='1'/>
+      <parameter type-id='type-id-27' name='log_base' filepath='../lib/librte_vhost/vhost.c' line='1356' column='1'/>
+      <parameter type-id='type-id-27' name='log_size' filepath='../lib/librte_vhost/vhost.c' line='1357' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_vhost_clr_inflight_desc_packed' mangled-name='rte_vhost_clr_inflight_desc_packed' filepath='../lib/librte_vhost/vhost.c' line='1035' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_clr_inflight_desc_packed@@EXPERIMENTAL'>
+      <parameter type-id='type-id-1' name='vid' filepath='../lib/librte_vhost/vhost.c' line='1035' column='1'/>
+      <parameter type-id='type-id-16' name='vring_idx' filepath='../lib/librte_vhost/vhost.c' line='1035' column='1'/>
+      <parameter type-id='type-id-16' name='head' filepath='../lib/librte_vhost/vhost.c' line='1036' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_vhost_clr_inflight_desc_split' mangled-name='rte_vhost_clr_inflight_desc_split' filepath='../lib/librte_vhost/vhost.c' line='994' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_clr_inflight_desc_split@@EXPERIMENTAL'>
+      <parameter type-id='type-id-1' name='vid' filepath='../lib/librte_vhost/vhost.c' line='994' column='1'/>
+      <parameter type-id='type-id-16' name='vring_idx' filepath='../lib/librte_vhost/vhost.c' line='994' column='1'/>
+      <parameter type-id='type-id-16' name='last_used_idx' filepath='../lib/librte_vhost/vhost.c' line='995' column='1'/>
+      <parameter type-id='type-id-16' name='idx' filepath='../lib/librte_vhost/vhost.c' line='995' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_vhost_set_last_inflight_io_packed' mangled-name='rte_vhost_set_last_inflight_io_packed' filepath='../lib/librte_vhost/vhost.c' line='1113' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_set_last_inflight_io_packed@@EXPERIMENTAL'>
+      <parameter type-id='type-id-1' name='vid' filepath='../lib/librte_vhost/vhost.c' line='1113' column='1'/>
+      <parameter type-id='type-id-16' name='vring_idx' filepath='../lib/librte_vhost/vhost.c' line='1113' column='1'/>
+      <parameter type-id='type-id-16' name='head' filepath='../lib/librte_vhost/vhost.c' line='1114' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_vhost_set_last_inflight_io_split' mangled-name='rte_vhost_set_last_inflight_io_split' filepath='../lib/librte_vhost/vhost.c' line='1081' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_set_last_inflight_io_split@@EXPERIMENTAL'>
+      <parameter type-id='type-id-1' name='vid' filepath='../lib/librte_vhost/vhost.c' line='1081' column='1'/>
+      <parameter type-id='type-id-16' name='vring_idx' filepath='../lib/librte_vhost/vhost.c' line='1081' column='1'/>
+      <parameter type-id='type-id-16' name='idx' filepath='../lib/librte_vhost/vhost.c' line='1082' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_vhost_set_inflight_desc_packed' mangled-name='rte_vhost_set_inflight_desc_packed' filepath='../lib/librte_vhost/vhost.c' line='926' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_set_inflight_desc_packed@@EXPERIMENTAL'>
+      <parameter type-id='type-id-1' name='vid' filepath='../lib/librte_vhost/vhost.c' line='926' column='1'/>
+      <parameter type-id='type-id-16' name='vring_idx' filepath='../lib/librte_vhost/vhost.c' line='926' column='1'/>
+      <parameter type-id='type-id-16' name='head' filepath='../lib/librte_vhost/vhost.c' line='927' column='1'/>
+      <parameter type-id='type-id-16' name='last' filepath='../lib/librte_vhost/vhost.c' line='927' column='1'/>
+      <parameter type-id='type-id-181' name='inflight_entry' filepath='../lib/librte_vhost/vhost.c' line='928' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_vhost_set_inflight_desc_split' mangled-name='rte_vhost_set_inflight_desc_split' filepath='../lib/librte_vhost/vhost.c' line='890' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_set_inflight_desc_split@@EXPERIMENTAL'>
+      <parameter type-id='type-id-1' name='vid' filepath='../lib/librte_vhost/vhost.c' line='1081' column='1'/>
+      <parameter type-id='type-id-16' name='vring_idx' filepath='../lib/librte_vhost/vhost.c' line='1081' column='1'/>
+      <parameter type-id='type-id-16' name='idx' filepath='../lib/librte_vhost/vhost.c' line='1082' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_vhost_ring_inflight' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='163' column='1' id='type-id-185'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-186' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='resubmit_inflight' type-id='type-id-79' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='169' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='164' column='1' id='type-id-186'>
+      <data-member access='private'>
+        <var-decl name='inflight_split' type-id='type-id-187' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='165' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='inflight_packed' type-id='type-id-188' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='166' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_vhost_inflight_info_split' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='117' column='1' id='type-id-189'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='features' type-id='type-id-20' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='118' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='version' type-id='type-id-16' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='119' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='desc_num' type-id='type-id-16' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='120' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='last_inflight_io' type-id='type-id-16' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='121' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='112'>
+        <var-decl name='used_idx' type-id='type-id-16' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='122' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='desc' type-id='type-id-190' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='123' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_vhost_inflight_desc_split' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='110' column='1' id='type-id-191'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='inflight' type-id='type-id-42' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='111' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='padding' type-id='type-id-192' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='112' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='next' type-id='type-id-16' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='113' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='counter' type-id='type-id-20' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='114' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-42' size-in-bits='40' id='type-id-192'>
+      <subrange length='5' type-id='type-id-18' id='type-id-54'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-191' size-in-bits='infinite' id='type-id-190'>
+      <subrange length='infinite' type-id='type-id-18' id='type-id-70'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-189' size-in-bits='64' id='type-id-187'/>
+    <class-decl name='rte_vhost_inflight_info_packed' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='139' column='1' id='type-id-193'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='features' type-id='type-id-20' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='140' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='version' type-id='type-id-16' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='desc_num' type-id='type-id-16' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='142' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='free_head' type-id='type-id-16' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='143' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='112'>
+        <var-decl name='old_free_head' type-id='type-id-16' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='144' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='used_idx' type-id='type-id-16' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='145' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='old_used_idx' type-id='type-id-16' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='146' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='used_wrap_counter' type-id='type-id-42' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='147' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='168'>
+        <var-decl name='old_used_wrap_counter' type-id='type-id-42' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='148' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='padding' type-id='type-id-194' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='149' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='desc' type-id='type-id-195' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='150' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-42' size-in-bits='56' id='type-id-194'>
+      <subrange length='7' type-id='type-id-18' id='type-id-196'/>
+
+    </array-type-def>
+    <class-decl name='rte_vhost_inflight_desc_packed' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='126' column='1' id='type-id-197'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='inflight' type-id='type-id-42' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='127' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='padding' type-id='type-id-42' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='128' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='next' type-id='type-id-16' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='129' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='last' type-id='type-id-16' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='130' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='num' type-id='type-id-16' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='131' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='counter' type-id='type-id-20' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='132' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='id' type-id='type-id-16' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='133' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='134' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='len' type-id='type-id-30' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='135' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='addr' type-id='type-id-20' visibility='default' filepath='../lib/librte_vhost/rte_vhost.h' line='136' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-197' size-in-bits='infinite' id='type-id-195'>
+      <subrange length='infinite' type-id='type-id-18' id='type-id-70'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-193' size-in-bits='64' id='type-id-188'/>
+    <pointer-type-def type-id='type-id-185' size-in-bits='64' id='type-id-198'/>
+    <function-decl name='rte_vhost_get_vhost_ring_inflight' mangled-name='rte_vhost_get_vhost_ring_inflight' filepath='../lib/librte_vhost/vhost.c' line='855' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_get_vhost_ring_inflight@@EXPERIMENTAL'>
+      <parameter type-id='type-id-1' name='vid' filepath='../lib/librte_vhost/vhost.c' line='855' column='1'/>
+      <parameter type-id='type-id-16' name='vring_idx' filepath='../lib/librte_vhost/vhost.c' line='855' column='1'/>
+      <parameter type-id='type-id-198' name='vring' filepath='../lib/librte_vhost/vhost.c' line='856' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-172'>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-22'/>
+      <return type-id='type-id-171'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-148'>
+      <parameter type-id='type-id-142'/>
+      <parameter type-id='type-id-22'/>
+      <return type-id='type-id-12'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-152'>
+      <parameter type-id='type-id-22'/>
+      <parameter type-id='type-id-22'/>
+      <return type-id='type-id-12'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_vhost/vhost_user.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='rte_vhost_host_notifier_ctrl' mangled-name='rte_vhost_host_notifier_ctrl' filepath='../lib/librte_vhost/vhost_user.c' line='2877' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_host_notifier_ctrl@@EXPERIMENTAL'>
+      <parameter type-id='type-id-1' name='vid' filepath='../lib/librte_vhost/vhost_user.c' line='2877' column='1'/>
+      <parameter type-id='type-id-78' name='enable' filepath='../lib/librte_vhost/vhost_user.c' line='2877' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_vhost/virtio_net.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <pointer-type-def type-id='type-id-108' size-in-bits='64' id='type-id-199'/>
+    <function-decl name='rte_vhost_dequeue_burst' mangled-name='rte_vhost_dequeue_burst' filepath='../lib/librte_vhost/virtio_net.c' line='2175' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_dequeue_burst@@DPDK_20.0'>
+      <parameter type-id='type-id-1' name='vid' filepath='../lib/librte_vhost/virtio_net.c' line='2175' column='1'/>
+      <parameter type-id='type-id-16' name='queue_id' filepath='../lib/librte_vhost/virtio_net.c' line='2175' column='1'/>
+      <parameter type-id='type-id-86' name='mbuf_pool' filepath='../lib/librte_vhost/virtio_net.c' line='2176' column='1'/>
+      <parameter type-id='type-id-199' name='pkts' filepath='../lib/librte_vhost/virtio_net.c' line='2176' column='1'/>
+      <parameter type-id='type-id-16' name='count' filepath='../lib/librte_vhost/virtio_net.c' line='2176' column='1'/>
+      <return type-id='type-id-16'/>
+    </function-decl>
+    <function-decl name='rte_vhost_enqueue_burst' mangled-name='rte_vhost_enqueue_burst' filepath='../lib/librte_vhost/virtio_net.c' line='1236' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_enqueue_burst@@DPDK_20.0'>
+      <parameter type-id='type-id-1' name='vid' filepath='../lib/librte_vhost/virtio_net.c' line='1236' column='1'/>
+      <parameter type-id='type-id-16' name='queue_id' filepath='../lib/librte_vhost/virtio_net.c' line='1236' column='1'/>
+      <parameter type-id='type-id-199' name='pkts' filepath='../lib/librte_vhost/virtio_net.c' line='1237' column='1'/>
+      <parameter type-id='type-id-16' name='count' filepath='../lib/librte_vhost/virtio_net.c' line='1237' column='1'/>
+      <return type-id='type-id-16'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../lib/librte_vhost/vhost_crypto.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_crypto_op' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='78' column='1' id='type-id-200'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-201' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mempool' type-id='type-id-86' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='110' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='phys_addr' type-id='type-id-117' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='113' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='80' column='1' id='type-id-201'>
+      <data-member access='private'>
+        <var-decl name='raw' type-id='type-id-20' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-202' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='83' column='1' id='type-id-202'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-42' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='status' type-id='type-id-42' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='sess_type' type-id='type-id-42' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='reserved' type-id='type-id-203' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='private_data_offset' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='100' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-42' size-in-bits='24' id='type-id-203'>
+      <subrange length='3' type-id='type-id-18' id='type-id-204'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-200' size-in-bits='64' id='type-id-205'/>
+    <pointer-type-def type-id='type-id-205' size-in-bits='64' id='type-id-206'/>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-207'/>
+    <function-decl name='rte_vhost_crypto_finalize_requests' mangled-name='rte_vhost_crypto_finalize_requests' filepath='../lib/librte_vhost/vhost_crypto.c' line='1638' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_crypto_finalize_requests@@EXPERIMENTAL'>
+      <parameter type-id='type-id-206' name='ops' filepath='../lib/librte_vhost/vhost_crypto.c' line='1638' column='1'/>
+      <parameter type-id='type-id-16' name='nb_ops' filepath='../lib/librte_vhost/vhost_crypto.c' line='1639' column='1'/>
+      <parameter type-id='type-id-207' name='callfds' filepath='../lib/librte_vhost/vhost_crypto.c' line='1639' column='1'/>
+      <parameter type-id='type-id-181' name='nb_callfds' filepath='../lib/librte_vhost/vhost_crypto.c' line='1639' column='1'/>
+      <return type-id='type-id-16'/>
+    </function-decl>
+    <function-decl name='rte_vhost_crypto_fetch_requests' mangled-name='rte_vhost_crypto_fetch_requests' filepath='../lib/librte_vhost/vhost_crypto.c' line='1528' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_crypto_fetch_requests@@EXPERIMENTAL'>
+      <parameter type-id='type-id-1' name='vid' filepath='../lib/librte_vhost/vhost_crypto.c' line='1528' column='1'/>
+      <parameter type-id='type-id-30' name='qid' filepath='../lib/librte_vhost/vhost_crypto.c' line='1528' column='1'/>
+      <parameter type-id='type-id-206' name='ops' filepath='../lib/librte_vhost/vhost_crypto.c' line='1529' column='1'/>
+      <parameter type-id='type-id-16' name='nb_ops' filepath='../lib/librte_vhost/vhost_crypto.c' line='1529' column='1'/>
+      <return type-id='type-id-16'/>
+    </function-decl>
+    <enum-decl name='rte_vhost_crypto_zero_copy' filepath='../lib/librte_vhost/rte_vhost_crypto.h' line='14' column='1' id='type-id-208'>
+      <underlying-type type-id='type-id-37'/>
+      <enumerator name='RTE_VHOST_CRYPTO_ZERO_COPY_DISABLE' value='0'/>
+      <enumerator name='RTE_VHOST_CRYPTO_ZERO_COPY_ENABLE' value='1'/>
+      <enumerator name='RTE_VHOST_CRYPTO_MAX_ZERO_COPY_OPTIONS' value='2'/>
+    </enum-decl>
+    <function-decl name='rte_vhost_crypto_set_zero_copy' mangled-name='rte_vhost_crypto_set_zero_copy' filepath='../lib/librte_vhost/vhost_crypto.c' line='1473' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_crypto_set_zero_copy@@EXPERIMENTAL'>
+      <parameter type-id='type-id-1' name='vid' filepath='../lib/librte_vhost/vhost_crypto.c' line='1473' column='1'/>
+      <parameter type-id='type-id-208' name='option' filepath='../lib/librte_vhost/vhost_crypto.c' line='1473' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_vhost_crypto_free' mangled-name='rte_vhost_crypto_free' filepath='../lib/librte_vhost/vhost_crypto.c' line='1444' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_crypto_free@@EXPERIMENTAL'>
+      <parameter type-id='type-id-1' name='vid' filepath='../lib/librte_vhost/vhost_crypto.c' line='1444' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_vhost_crypto_create' mangled-name='rte_vhost_crypto_create' filepath='../lib/librte_vhost/vhost_crypto.c' line='1351' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vhost_crypto_create@@EXPERIMENTAL'>
+      <parameter type-id='type-id-1' name='vid' filepath='../lib/librte_vhost/vhost_crypto.c' line='1351' column='1'/>
+      <parameter type-id='type-id-42' name='cryptodev_id' filepath='../lib/librte_vhost/vhost_crypto.c' line='1351' column='1'/>
+      <parameter type-id='type-id-86' name='sess_pool' filepath='../lib/librte_vhost/vhost_crypto.c' line='1352' column='1'/>
+      <parameter type-id='type-id-86' name='sess_priv_pool' filepath='../lib/librte_vhost/vhost_crypto.c' line='1353' column='1'/>
+      <parameter type-id='type-id-1' name='socket_id' filepath='../lib/librte_vhost/vhost_crypto.c' line='1354' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
-- 
2.17.1


^ permalink raw reply	[relevance 7%]

* [dpdk-dev] [PATCH v6 02/11] drivers/bus: add dump files for v20.0 ABI
  2019-12-13 16:40  8%       ` [dpdk-dev] [PATCH v6 00/11] Add ABI compatibility checks to the meson build Kevin Laatz
  2019-12-13 16:41  7%         ` [dpdk-dev] [PATCH v6 01/11] lib: add dump files for v20.0 ABI Kevin Laatz
@ 2019-12-13 16:41  5%         ` Kevin Laatz
  2019-12-13 16:41 13%         ` [dpdk-dev] [PATCH v6 03/11] drivers/mempool: " Kevin Laatz
                           ` (9 subsequent siblings)
  11 siblings, 0 replies; 200+ results
From: Kevin Laatz @ 2019-12-13 16:41 UTC (permalink / raw)
  To: dev
  Cc: thomas, david.marchand, bruce.richardson, ray.kinsella, tdu, zr,
	cernay, Kevin Laatz

This patch adds the drivers/bus .dump files generated for the v20.0
ABI. These files will be used to compare the ABI during the meson build
when the compat_checks meson is enabled. If there is a mismatch between the
.dump files (the baseline, ie. current stable ABI version) and the code
being compiled, then abidiff will report an error and the build will fail.

The .dump files are stored in the drivers/.abi directory.  The directory is
hidden to reduce clutter and also to discourage changing these files since
they should not be modified.

Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
---
 drivers/.abi/librte_bus_dpaa.dump  | 5303 ++++++++++++++++++++++++++++
 drivers/.abi/librte_bus_fslmc.dump | 5084 ++++++++++++++++++++++++++
 drivers/.abi/librte_bus_ifpga.dump |  972 +++++
 drivers/.abi/librte_bus_pci.dump   |  834 +++++
 drivers/.abi/librte_bus_vdev.dump  |  408 +++
 drivers/.abi/librte_bus_vmbus.dump |  918 +++++
 6 files changed, 13519 insertions(+)
 create mode 100644 drivers/.abi/librte_bus_dpaa.dump
 create mode 100644 drivers/.abi/librte_bus_fslmc.dump
 create mode 100644 drivers/.abi/librte_bus_ifpga.dump
 create mode 100644 drivers/.abi/librte_bus_pci.dump
 create mode 100644 drivers/.abi/librte_bus_vdev.dump
 create mode 100644 drivers/.abi/librte_bus_vmbus.dump

diff --git a/drivers/.abi/librte_bus_dpaa.dump b/drivers/.abi/librte_bus_dpaa.dump
new file mode 100644
index 000000000..083995e43
--- /dev/null
+++ b/drivers/.abi/librte_bus_dpaa.dump
@@ -0,0 +1,5303 @@
+<abi-corpus path='gcc//drivers/librte_bus_dpaa.so.20.0' architecture='elf-amd-x86_64' soname='librte_bus_dpaa.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_common_dpaax.so.20.0'/>
+    <dependency name='librte_eventdev.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='librte_timer.so.20.0'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='bman_acquire' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='bman_free_pool' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='bman_get_params' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='bman_new_pool' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='bman_query_free_buffers' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='bman_release' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='bman_thread_irq' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='fman_if_add_mac_addr' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='fman_if_clear_mac_addr' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='fman_if_disable_rx' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='fman_if_discard_rx_errors' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='fman_if_enable_rx' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='fman_if_get_fc_quanta' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='fman_if_get_fc_threshold' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='fman_if_get_fdoff' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='fman_if_get_sg_enable' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='fman_if_loopback_disable' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='fman_if_loopback_enable' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='fman_if_promiscuous_disable' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='fman_if_promiscuous_enable' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='fman_if_reset_mcast_filter_table' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='fman_if_set_bp' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='fman_if_set_fc_quanta' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='fman_if_set_fc_threshold' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='fman_if_set_fdoff' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='fman_if_set_ic_params' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='fman_if_set_maxfrm' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='fman_if_set_mcast_filter_table' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='fman_if_set_sg' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='fman_if_stats_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='fman_if_stats_get_all' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='fman_if_stats_reset' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='fsl_qman_fq_portal_create' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='netcfg_acquire' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='netcfg_release' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qman_alloc_cgrid_range' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qman_alloc_pool_range' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qman_clear_irq' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qman_create_cgr' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qman_create_fq' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qman_dca_index' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qman_delete_cgr' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qman_dequeue' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qman_dqrr_consume' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qman_enqueue' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qman_enqueue_multi' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qman_enqueue_multi_fq' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qman_fq_fqid' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qman_fq_portal_irqsource_add' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qman_fq_portal_irqsource_remove' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qman_fq_portal_thread_irq' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qman_fq_state' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qman_init_fq' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qman_irqsource_add' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qman_irqsource_remove' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qman_modify_cgr' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qman_oos_fq' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qman_poll_dqrr' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qman_portal_dequeue' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qman_portal_poll_rx' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qman_query_fq_frm_cnt' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qman_query_fq_np' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qman_release_cgrid_range' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qman_reserve_fqid_range' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qman_retire_fq' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qman_set_fq_lookup_table' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qman_set_vdq' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qman_static_dequeue_add' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qman_thread_fd' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qman_thread_irq' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qman_volatile_dequeue' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_dpaa_driver_register' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_dpaa_driver_unregister' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_dpaa_portal_fq_close' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_dpaa_portal_fq_init' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_dpaa_portal_init' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <elf-variable-symbols>
+    <elf-symbol name='dpaa_logtype_eventdev' size='4' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpaa_logtype_mempool' size='4' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpaa_logtype_pmd' size='4' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpaa_netcfg' size='8' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpaa_svr_family' size='4' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='fman_ccsr_map_fd' size='4' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='fman_dealloc_bufs_mask_hi' size='4' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='fman_dealloc_bufs_mask_lo' size='4' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='fman_ip_rev' size='2' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='per_lcore_dpaa_io' size='1' version='DPDK_20.0' is-default-version='yes' type='tls-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='per_lcore_held_bufs' size='144' version='DPDK_20.0' is-default-version='yes' type='tls-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qm_channel_caam' size='2' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qm_channel_pool1' size='2' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='../drivers/bus/dpaa/base/fman/fman.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-1'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-2'/>
+    <typedef-decl name='uint16_t' type-id='type-id-2' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-3'/>
+    <typedef-decl name='u16' type-id='type-id-3' filepath='../drivers/common/dpaax/compat.h' line='105' column='1' id='type-id-4'/>
+    <var-decl name='fman_ip_rev' type-id='type-id-4' mangled-name='fman_ip_rev' visibility='default' filepath='../drivers/bus/dpaa/include/fman.h' line='405' column='1' elf-symbol-id='fman_ip_rev@@DPDK_20.0'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-5'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-5' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-6'/>
+    <typedef-decl name='uint32_t' type-id='type-id-6' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-7'/>
+    <typedef-decl name='u32' type-id='type-id-7' filepath='../drivers/common/dpaax/compat.h' line='106' column='1' id='type-id-8'/>
+    <var-decl name='fman_dealloc_bufs_mask_hi' type-id='type-id-8' mangled-name='fman_dealloc_bufs_mask_hi' visibility='default' filepath='../drivers/bus/dpaa/include/fman.h' line='406' column='1' elf-symbol-id='fman_dealloc_bufs_mask_hi@@DPDK_20.0'/>
+    <var-decl name='fman_dealloc_bufs_mask_lo' type-id='type-id-8' mangled-name='fman_dealloc_bufs_mask_lo' visibility='default' filepath='../drivers/bus/dpaa/include/fman.h' line='407' column='1' elf-symbol-id='fman_dealloc_bufs_mask_lo@@DPDK_20.0'/>
+    <type-decl name='int' size-in-bits='32' id='type-id-9'/>
+    <var-decl name='fman_ccsr_map_fd' type-id='type-id-9' mangled-name='fman_ccsr_map_fd' visibility='default' filepath='../drivers/bus/dpaa/include/fman.h' line='376' column='1' elf-symbol-id='fman_ccsr_map_fd@@DPDK_20.0'/>
+    <class-decl name='list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/common/dpaax/dpaa_list.h' line='14' column='1' id='type-id-10'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='prev' type-id='type-id-11' visibility='default' filepath='../drivers/common/dpaax/dpaa_list.h' line='15' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='next' type-id='type-id-11' visibility='default' filepath='../drivers/common/dpaax/dpaa_list.h' line='16' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-11'/>
+    <qualified-type-def type-id='type-id-10' const='yes' id='type-id-12'/>
+    <pointer-type-def type-id='type-id-12' size-in-bits='64' id='type-id-13'/>
+    <var-decl name='fman_if_list' type-id='type-id-13' visibility='default' filepath='../drivers/bus/dpaa/include/fman.h' line='374' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/bus/dpaa/base/fman/fman_hw.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='fman_crc64_t' size-in-bits='16448' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_fman_crc64.h' line='41' column='1' id='type-id-14'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='initial' type-id='type-id-15' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_fman_crc64.h' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='table' type-id='type-id-16' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_fman_crc64.h' line='43' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-17'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-17' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-18'/>
+    <typedef-decl name='uint64_t' type-id='type-id-18' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-15'/>
+
+    <array-type-def dimensions='1' type-id='type-id-15' size-in-bits='16384' id='type-id-16'>
+      <subrange length='256' type-id='type-id-17' id='type-id-19'/>
+
+    </array-type-def>
+    <var-decl name='fman_crc64_ecma_182' type-id='type-id-14' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_fman_crc64.h' line='45' column='1'/>
+    <type-decl name='void' id='type-id-20'/>
+    <class-decl name='fman_if' size-in-bits='576' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fman.h' line='306' column='1' id='type-id-21'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fman_idx' type-id='type-id-22' visibility='default' filepath='../drivers/bus/dpaa/include/fman.h' line='308' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='mac_type' type-id='type-id-23' visibility='default' filepath='../drivers/bus/dpaa/include/fman.h' line='310' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='is_memac' type-id='type-id-22' visibility='default' filepath='../drivers/bus/dpaa/include/fman.h' line='312' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='is_rgmii' type-id='type-id-22' visibility='default' filepath='../drivers/bus/dpaa/include/fman.h' line='314' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='mac_idx' type-id='type-id-22' visibility='default' filepath='../drivers/bus/dpaa/include/fman.h' line='316' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='mac_addr' type-id='type-id-24' visibility='default' filepath='../drivers/bus/dpaa/include/fman.h' line='318' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='tx_channel_id' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fman.h' line='320' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='fqid_rx_def' type-id='type-id-7' visibility='default' filepath='../drivers/bus/dpaa/include/fman.h' line='325' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='fqid_rx_err' type-id='type-id-7' visibility='default' filepath='../drivers/bus/dpaa/include/fman.h' line='326' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='fqid_tx_err' type-id='type-id-7' visibility='default' filepath='../drivers/bus/dpaa/include/fman.h' line='327' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='fqid_tx_confirm' type-id='type-id-7' visibility='default' filepath='../drivers/bus/dpaa/include/fman.h' line='328' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='bpool_list' type-id='type-id-10' visibility='default' filepath='../drivers/bus/dpaa/include/fman.h' line='330' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='node' type-id='type-id-10' visibility='default' filepath='../drivers/bus/dpaa/include/fman.h' line='332' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-25'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-25' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-26'/>
+    <typedef-decl name='uint8_t' type-id='type-id-26' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-22'/>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-27'/>
+    <enum-decl name='fman_mac_type' filepath='../drivers/bus/dpaa/include/fman.h' line='71' column='1' id='type-id-23'>
+      <underlying-type type-id='type-id-27'/>
+      <enumerator name='fman_offline' value='0'/>
+      <enumerator name='fman_mac_1g' value='1'/>
+      <enumerator name='fman_mac_10g' value='2'/>
+    </enum-decl>
+    <class-decl name='rte_ether_addr' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='60' column='1' id='type-id-24'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr_bytes' type-id='type-id-28' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='61' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-22' size-in-bits='48' id='type-id-28'>
+      <subrange length='6' type-id='type-id-17' id='type-id-29'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-30'/>
+    <function-decl name='fman_if_discard_rx_errors' mangled-name='fman_if_discard_rx_errors' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='597' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fman_if_discard_rx_errors@@DPDK_20.0'>
+      <parameter type-id='type-id-30' name='fm_if' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='597' column='1'/>
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <function-decl name='fman_if_set_sg' mangled-name='fman_if_set_sg' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='564' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fman_if_set_sg@@DPDK_20.0'>
+      <parameter type-id='type-id-30' name='fm_if' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='564' column='1'/>
+      <parameter type-id='type-id-9' name='enable' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='564' column='1'/>
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <function-decl name='fman_if_get_sg_enable' mangled-name='fman_if_get_sg_enable' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='550' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fman_if_get_sg_enable@@DPDK_20.0'>
+      <parameter type-id='type-id-30' name='fm_if' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='550' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <function-decl name='fman_if_set_maxfrm' mangled-name='fman_if_set_maxfrm' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='517' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fman_if_set_maxfrm@@DPDK_20.0'>
+      <parameter type-id='type-id-30' name='fm_if' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='517' column='1'/>
+      <parameter type-id='type-id-3' name='max_frm' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='517' column='1'/>
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <function-decl name='fman_if_set_fdoff' mangled-name='fman_if_set_fdoff' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='500' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fman_if_set_fdoff@@DPDK_20.0'>
+      <parameter type-id='type-id-30' name='fm_if' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='500' column='1'/>
+      <parameter type-id='type-id-7' name='fd_offset' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='500' column='1'/>
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <class-decl name='fman_if_ic_params' size-in-bits='48' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fman.h' line='348' column='1' id='type-id-31'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='iceof' type-id='type-id-3' visibility='default' filepath='../drivers/bus/dpaa/include/fman.h' line='350' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='iciof' type-id='type-id-3' visibility='default' filepath='../drivers/bus/dpaa/include/fman.h' line='352' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='icsz' type-id='type-id-3' visibility='default' filepath='../drivers/bus/dpaa/include/fman.h' line='354' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-31' const='yes' id='type-id-32'/>
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-33'/>
+    <function-decl name='fman_if_set_ic_params' mangled-name='fman_if_set_ic_params' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='477' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fman_if_set_ic_params@@DPDK_20.0'>
+      <parameter type-id='type-id-30' name='fm_if' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='477' column='1'/>
+      <parameter type-id='type-id-33' name='icp' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='478' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <function-decl name='fman_if_get_fdoff' mangled-name='fman_if_get_fdoff' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='426' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fman_if_get_fdoff@@DPDK_20.0'>
+      <parameter type-id='type-id-30' name='fm_if' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='426' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <function-decl name='fman_if_set_fc_quanta' mangled-name='fman_if_set_fc_quanta' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='414' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fman_if_set_fc_quanta@@DPDK_20.0'>
+      <parameter type-id='type-id-30' name='fm_if' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='414' column='1'/>
+      <parameter type-id='type-id-4' name='pause_quanta' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='414' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <function-decl name='fman_if_get_fc_quanta' mangled-name='fman_if_get_fc_quanta' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='404' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fman_if_get_fc_quanta@@DPDK_20.0'>
+      <parameter type-id='type-id-30' name='fm_if' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='404' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <function-decl name='fman_if_set_fc_threshold' mangled-name='fman_if_set_fc_threshold' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='389' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fman_if_set_fc_threshold@@DPDK_20.0'>
+      <parameter type-id='type-id-30' name='fm_if' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='389' column='1'/>
+      <parameter type-id='type-id-8' name='high_water' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='389' column='1'/>
+      <parameter type-id='type-id-8' name='low_water' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='390' column='1'/>
+      <parameter type-id='type-id-8' name='bpid' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='390' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <function-decl name='fman_if_get_fc_threshold' mangled-name='fman_if_get_fc_threshold' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='377' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fman_if_get_fc_threshold@@DPDK_20.0'>
+      <parameter type-id='type-id-30' name='fm_if' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='550' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <typedef-decl name='size_t' type-id='type-id-17' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-34'/>
+    <function-decl name='fman_if_set_bp' mangled-name='fman_if_set_bp' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='356' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fman_if_set_bp@@DPDK_20.0'>
+      <parameter type-id='type-id-30' name='fm_if' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='356' column='1'/>
+      <parameter type-id='type-id-5' name='num' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='356' column='1'/>
+      <parameter type-id='type-id-9' name='bpid' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='357' column='1'/>
+      <parameter type-id='type-id-34' name='bufsize' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='357' column='1'/>
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <function-decl name='fman_if_loopback_disable' mangled-name='fman_if_loopback_disable' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='338' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fman_if_loopback_disable@@DPDK_20.0'>
+      <parameter type-id='type-id-30' name='p' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='338' column='1'/>
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <function-decl name='fman_if_loopback_enable' mangled-name='fman_if_loopback_enable' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='319' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fman_if_loopback_enable@@DPDK_20.0'>
+      <parameter type-id='type-id-30' name='p' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='338' column='1'/>
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <function-decl name='fman_if_disable_rx' mangled-name='fman_if_disable_rx' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='308' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fman_if_disable_rx@@DPDK_20.0'>
+      <parameter type-id='type-id-30' name='p' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='308' column='1'/>
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <function-decl name='fman_if_enable_rx' mangled-name='fman_if_enable_rx' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='297' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fman_if_enable_rx@@DPDK_20.0'>
+      <parameter type-id='type-id-30' name='p' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='308' column='1'/>
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <function-decl name='fman_if_promiscuous_disable' mangled-name='fman_if_promiscuous_disable' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fman_if_promiscuous_disable@@DPDK_20.0'>
+      <parameter type-id='type-id-30' name='fm_if' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='597' column='1'/>
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <function-decl name='fman_if_promiscuous_enable' mangled-name='fman_if_promiscuous_enable' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='271' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fman_if_promiscuous_enable@@DPDK_20.0'>
+      <parameter type-id='type-id-30' name='fm_if' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='597' column='1'/>
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <function-decl name='fman_if_stats_reset' mangled-name='fman_if_stats_reset' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='254' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fman_if_stats_reset@@DPDK_20.0'>
+      <parameter type-id='type-id-30' name='fm_if' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='597' column='1'/>
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-15' size-in-bits='64' id='type-id-35'/>
+    <function-decl name='fman_if_stats_get_all' mangled-name='fman_if_stats_get_all' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='239' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fman_if_stats_get_all@@DPDK_20.0'>
+      <parameter type-id='type-id-30' name='p' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='239' column='1'/>
+      <parameter type-id='type-id-35' name='value' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='239' column='1'/>
+      <parameter type-id='type-id-9' name='n' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='239' column='1'/>
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <class-decl name='rte_eth_stats' size-in-bits='5632' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='243' column='1' id='type-id-36'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ipackets' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='opackets' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ibytes' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='246' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='obytes' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='imissed' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='ierrors' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='oerrors' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='rx_nombuf' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='q_ipackets' type-id='type-id-37' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='q_opackets' type-id='type-id-37' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='q_ibytes' type-id='type-id-37' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='q_obytes' type-id='type-id-37' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4608'>
+        <var-decl name='q_errors' type-id='type-id-37' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='263' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-15' size-in-bits='1024' id='type-id-37'>
+      <subrange length='16' type-id='type-id-17' id='type-id-38'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-39'/>
+    <function-decl name='fman_if_stats_get' mangled-name='fman_if_stats_get' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='216' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fman_if_stats_get@@DPDK_20.0'>
+      <parameter type-id='type-id-30' name='p' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='216' column='1'/>
+      <parameter type-id='type-id-39' name='stats' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='216' column='1'/>
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-40'/>
+    <function-decl name='fman_if_add_mac_addr' mangled-name='fman_if_add_mac_addr' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='149' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fman_if_add_mac_addr@@DPDK_20.0'>
+      <parameter type-id='type-id-30' name='p' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='149' column='1'/>
+      <parameter type-id='type-id-40' name='eth' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='149' column='1'/>
+      <parameter type-id='type-id-22' name='addr_num' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='149' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <function-decl name='fman_if_clear_mac_addr' mangled-name='fman_if_clear_mac_addr' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='128' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fman_if_clear_mac_addr@@DPDK_20.0'>
+      <parameter type-id='type-id-30' name='p' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='128' column='1'/>
+      <parameter type-id='type-id-22' name='addr_num' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='128' column='1'/>
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <function-decl name='fman_if_reset_mcast_filter_table' mangled-name='fman_if_reset_mcast_filter_table' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='48' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fman_if_reset_mcast_filter_table@@DPDK_20.0'>
+      <parameter type-id='type-id-30' name='fm_if' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='597' column='1'/>
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <function-decl name='fman_if_set_mcast_filter_table' mangled-name='fman_if_set_mcast_filter_table' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='36' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fman_if_set_mcast_filter_table@@DPDK_20.0'>
+      <parameter type-id='type-id-30' name='fm_if' filepath='../drivers/bus/dpaa/base/fman/fman_hw.c' line='597' column='1'/>
+      <return type-id='type-id-20'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/bus/dpaa/base/fman/netcfg_layer.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='netcfg_info' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/netcfg.h' line='24' column='1' id='type-id-41'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='num_ethports' type-id='type-id-22' visibility='default' filepath='../drivers/bus/dpaa/include/netcfg.h' line='25' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='port_cfg' type-id='type-id-42' visibility='default' filepath='../drivers/bus/dpaa/include/netcfg.h' line='27' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='fm_eth_port_cfg' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/netcfg.h' line='15' column='1' id='type-id-43'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='list' type-id='type-id-11' visibility='default' filepath='../drivers/bus/dpaa/include/netcfg.h' line='17' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rx_def' type-id='type-id-7' visibility='default' filepath='../drivers/bus/dpaa/include/netcfg.h' line='19' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='fman_if' type-id='type-id-30' visibility='default' filepath='../drivers/bus/dpaa/include/netcfg.h' line='21' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-43' size-in-bits='infinite' id='type-id-42'>
+      <subrange length='infinite' type-id='type-id-17' id='type-id-44'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-45'/>
+    <function-decl name='netcfg_release' mangled-name='netcfg_release' filepath='../drivers/bus/dpaa/base/fman/netcfg_layer.c' line='152' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netcfg_release@@DPDK_20.0'>
+      <parameter type-id='type-id-45' name='cfg_ptr' filepath='../drivers/bus/dpaa/base/fman/netcfg_layer.c' line='152' column='1'/>
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <function-decl name='netcfg_acquire' mangled-name='netcfg_acquire' filepath='../drivers/bus/dpaa/base/fman/netcfg_layer.c' line='75' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netcfg_acquire@@DPDK_20.0'>
+      <return type-id='type-id-45'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/bus/dpaa/base/qbman/bman.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='bman_pool' size-in-bits='320' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/bman.c' line='42' column='1' id='type-id-46'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='params' type-id='type-id-47' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/bman.c' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='portal' type-id='type-id-48' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/bman.c' line='45' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='next' type-id='type-id-49' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/bman.c' line='46' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='bman_pool_params' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='170' column='1' id='type-id-47'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='bpid' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='174' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flags' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='176' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='thresholds' type-id='type-id-50' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='182' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='128' id='type-id-50'>
+      <subrange length='4' type-id='type-id-17' id='type-id-51'/>
+
+    </array-type-def>
+    <class-decl name='bman_portal' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/bman.c' line='16' column='1' id='type-id-52'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='p' type-id='type-id-53' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/bman.c' line='17' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='pools' type-id='type-id-54' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/bman.c' line='19' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='thresh_set' type-id='type-id-9' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/bman.c' line='20' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='irq_sources' type-id='type-id-17' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/bman.c' line='21' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='slowpoll' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/bman.c' line='22' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='config' type-id='type-id-55' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/bman.c' line='24' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='irqname' type-id='type-id-56' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/bman.c' line='25' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='bm_portal' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/bman.h' line='131' column='1' id='type-id-53'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr' type-id='type-id-57' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/bman.h' line='132' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rcr' type-id='type-id-58' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/bman.h' line='133' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='mc' type-id='type-id-59' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/bman.h' line='134' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='config' type-id='type-id-60' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/bman.h' line='135' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='bm_addr' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/bman.h' line='126' column='1' id='type-id-57'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ce' type-id='type-id-61' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/bman.h' line='127' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ci' type-id='type-id-61' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/bman.h' line='128' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-61'/>
+    <class-decl name='bm_rcr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/bman.h' line='100' column='1' id='type-id-58'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ring' type-id='type-id-62' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/bman.h' line='101' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='cursor' type-id='type-id-62' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/bman.h' line='101' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ci' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/bman.h' line='102' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='available' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/bman.h' line='102' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='ithresh' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/bman.h' line='102' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='152'>
+        <var-decl name='vbit' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/bman.h' line='102' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='bm_rcr_entry' size-in-bits='512' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='87' column='1' id='type-id-64'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-65' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='512' is-anonymous='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='88' column='1' id='type-id-65'>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-66' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='bufs' type-id='type-id-67' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='94' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='512' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='89' column='1' id='type-id-66'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__dont_write_directly__verb' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='bpid' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='__reserved1' type-id='type-id-68' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='u8' type-id='type-id-22' filepath='../drivers/common/dpaax/compat.h' line='104' column='1' id='type-id-63'/>
+
+    <array-type-def dimensions='1' type-id='type-id-63' size-in-bits='496' id='type-id-68'>
+      <subrange length='62' type-id='type-id-17' id='type-id-69'/>
+
+    </array-type-def>
+    <class-decl name='bm_buffer' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='42' column='1' id='type-id-70'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-71' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='43' column='1' id='type-id-71'>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-72' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='opaque' type-id='type-id-73' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='66' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='44' column='1' id='type-id-72'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='lo' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='hi' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='bpid' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='__reserved' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='54' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='u64' type-id='type-id-15' filepath='../drivers/common/dpaax/compat.h' line='107' column='1' id='type-id-73'/>
+
+    <array-type-def dimensions='1' type-id='type-id-70' size-in-bits='512' id='type-id-67'>
+      <subrange length='8' type-id='type-id-17' id='type-id-74'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-64' size-in-bits='64' id='type-id-62'/>
+    <class-decl name='bm_mc' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/bman.h' line='110' column='1' id='type-id-59'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cr' type-id='type-id-75' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/bman.h' line='111' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rr' type-id='type-id-76' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/bman.h' line='112' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rridx' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/bman.h' line='113' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='vbit' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/bman.h' line='113' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='bm_mc_command' size-in-bits='512' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='112' column='1' id='type-id-77'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__dont_write_directly__verb' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='113' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='' type-id='type-id-78' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='504' is-anonymous='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='114' column='1' id='type-id-78'>
+      <data-member access='private'>
+        <var-decl name='acquire' type-id='type-id-79' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='115' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='query' type-id='type-id-80' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='116' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='bm_mcc_acquire' size-in-bits='504' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='105' column='1' id='type-id-79'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='bpid' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='__reserved1' type-id='type-id-68' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='107' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='bm_mcc_query' size-in-bits='504' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='109' column='1' id='type-id-80'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__reserved2' type-id='type-id-81' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-63' size-in-bits='504' id='type-id-81'>
+      <subrange length='63' type-id='type-id-17' id='type-id-82'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-77' size-in-bits='64' id='type-id-75'/>
+    <class-decl name='bm_mc_result' size-in-bits='512' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='137' column='1' id='type-id-83'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-84' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='512' is-anonymous='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='138' column='1' id='type-id-84'>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-85' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='acquire' type-id='type-id-86' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='150' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='query' type-id='type-id-87' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='151' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='512' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='139' column='1' id='type-id-85'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='verb' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='140' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='__reserved1' type-id='type-id-81' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='141' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='512' is-anonymous='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='143' column='1' id='type-id-86'>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-88' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='bufs' type-id='type-id-67' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='149' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='512' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='144' column='1' id='type-id-88'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__reserved1' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='145' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='bpid' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='146' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='__reserved2' type-id='type-id-68' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='147' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='bm_pool_state' size-in-bits='512' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='127' column='1' id='type-id-87'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__reserved1' type-id='type-id-89' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='128' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='as' type-id='type-id-90' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='134' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='ds' type-id='type-id-90' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='134' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-63' size-in-bits='256' id='type-id-89'>
+      <subrange length='32' type-id='type-id-17' id='type-id-91'/>
+
+    </array-type-def>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='130' column='1' id='type-id-90'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__reserved1' type-id='type-id-92' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='131' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='state' type-id='type-id-93' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='133' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-63' size-in-bits='64' id='type-id-92'>
+      <subrange length='8' type-id='type-id-17' id='type-id-74'/>
+
+    </array-type-def>
+    <class-decl name='bman_depletion' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='17' column='1' id='type-id-93'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='state' type-id='type-id-94' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_bman.h' line='18' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='64' id='type-id-94'>
+      <subrange length='2' type-id='type-id-17' id='type-id-95'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-76'/>
+    <class-decl name='bm_portal_config' size-in-bits='448' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/bman_priv.h' line='50' column='1' id='type-id-60'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr_virt' type-id='type-id-96' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/bman_priv.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='list' type-id='type-id-10' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/bman_priv.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cpu' type-id='type-id-9' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/bman_priv.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='irq' type-id='type-id-9' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/bman_priv.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='index' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/bman_priv.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='is_shared' type-id='type-id-9' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/bman_priv.h' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mask' type-id='type-id-93' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/bman_priv.h' line='73' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-61' size-in-bits='128' id='type-id-96'>
+      <subrange length='2' type-id='type-id-17' id='type-id-95'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-93' size-in-bits='64' id='type-id-54'/>
+    <qualified-type-def type-id='type-id-60' const='yes' id='type-id-97'/>
+    <pointer-type-def type-id='type-id-97' size-in-bits='64' id='type-id-55'/>
+    <type-decl name='char' size-in-bits='8' id='type-id-98'/>
+
+    <array-type-def dimensions='1' type-id='type-id-98' size-in-bits='128' id='type-id-56'>
+      <subrange length='16' type-id='type-id-17' id='type-id-38'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-52' size-in-bits='64' id='type-id-48'/>
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-49'/>
+    <function-decl name='bman_query_free_buffers' mangled-name='bman_query_free_buffers' filepath='../drivers/bus/dpaa/base/qbman/bman.c' line='343' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bman_query_free_buffers@@DPDK_20.0'>
+      <parameter type-id='type-id-49' name='pool' filepath='../drivers/bus/dpaa/base/qbman/bman.c' line='343' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-70' size-in-bits='64' id='type-id-99'/>
+    <function-decl name='bman_acquire' mangled-name='bman_acquire' filepath='../drivers/bus/dpaa/base/qbman/bman.c' line='292' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bman_acquire@@DPDK_20.0'>
+      <parameter type-id='type-id-49' name='pool' filepath='../drivers/bus/dpaa/base/qbman/bman.c' line='292' column='1'/>
+      <parameter type-id='type-id-99' name='bufs' filepath='../drivers/bus/dpaa/base/qbman/bman.c' line='292' column='1'/>
+      <parameter type-id='type-id-63' name='num' filepath='../drivers/bus/dpaa/base/qbman/bman.c' line='292' column='1'/>
+      <parameter type-id='type-id-8' name='flags' filepath='../drivers/bus/dpaa/base/qbman/bman.c' line='293' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-70' const='yes' id='type-id-100'/>
+    <pointer-type-def type-id='type-id-100' size-in-bits='64' id='type-id-101'/>
+    <function-decl name='bman_release' mangled-name='bman_release' filepath='../drivers/bus/dpaa/base/qbman/bman.c' line='250' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bman_release@@DPDK_20.0'>
+      <parameter type-id='type-id-49' name='pool' filepath='../drivers/bus/dpaa/base/qbman/bman.c' line='250' column='1'/>
+      <parameter type-id='type-id-101' name='bufs' filepath='../drivers/bus/dpaa/base/qbman/bman.c' line='250' column='1'/>
+      <parameter type-id='type-id-63' name='num' filepath='../drivers/bus/dpaa/base/qbman/bman.c' line='250' column='1'/>
+      <parameter type-id='type-id-8' name='flags' filepath='../drivers/bus/dpaa/base/qbman/bman.c' line='251' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-47' const='yes' id='type-id-102'/>
+    <pointer-type-def type-id='type-id-102' size-in-bits='64' id='type-id-103'/>
+    <qualified-type-def type-id='type-id-46' const='yes' id='type-id-104'/>
+    <pointer-type-def type-id='type-id-104' size-in-bits='64' id='type-id-105'/>
+    <function-decl name='bman_get_params' mangled-name='bman_get_params' filepath='../drivers/bus/dpaa/base/qbman/bman.c' line='236' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bman_get_params@@DPDK_20.0'>
+      <parameter type-id='type-id-105' name='pool' filepath='../drivers/bus/dpaa/base/qbman/bman.c' line='236' column='1'/>
+      <return type-id='type-id-103'/>
+    </function-decl>
+    <function-decl name='bman_free_pool' mangled-name='bman_free_pool' filepath='../drivers/bus/dpaa/base/qbman/bman.c' line='227' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bman_free_pool@@DPDK_20.0'>
+      <parameter type-id='type-id-49' name='pool' filepath='../drivers/bus/dpaa/base/qbman/bman.c' line='227' column='1'/>
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <function-decl name='bman_new_pool' mangled-name='bman_new_pool' filepath='../drivers/bus/dpaa/base/qbman/bman.c' line='183' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bman_new_pool@@DPDK_20.0'>
+      <parameter type-id='type-id-103' name='params' filepath='../drivers/bus/dpaa/base/qbman/bman.c' line='183' column='1'/>
+      <return type-id='type-id-49'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/bus/dpaa/base/qbman/bman_driver.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='bman_pool_max' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/bman_priv.h' line='40' column='1'/>
+    <function-decl name='bman_thread_irq' mangled-name='bman_thread_irq' filepath='../drivers/bus/dpaa/base/qbman/bman_driver.c' line='130' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bman_thread_irq@@DPDK_20.0'>
+      <return type-id='type-id-20'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/bus/dpaa/base/qbman/dpaa_alloc.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='qman_release_cgrid_range' mangled-name='qman_release_cgrid_range' filepath='../drivers/bus/dpaa/base/qbman/dpaa_alloc.c' line='63' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qman_release_cgrid_range@@DPDK_20.0'>
+      <parameter type-id='type-id-8' name='cgrid' filepath='../drivers/bus/dpaa/base/qbman/dpaa_alloc.c' line='63' column='1'/>
+      <parameter type-id='type-id-8' name='count' filepath='../drivers/bus/dpaa/base/qbman/dpaa_alloc.c' line='63' column='1'/>
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-106'/>
+    <function-decl name='qman_alloc_cgrid_range' mangled-name='qman_alloc_cgrid_range' filepath='../drivers/bus/dpaa/base/qbman/dpaa_alloc.c' line='58' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qman_alloc_cgrid_range@@DPDK_20.0'>
+      <parameter type-id='type-id-106' name='result' filepath='../drivers/bus/dpaa/base/qbman/dpaa_alloc.c' line='58' column='1'/>
+      <parameter type-id='type-id-8' name='count' filepath='../drivers/bus/dpaa/base/qbman/dpaa_alloc.c' line='58' column='1'/>
+      <parameter type-id='type-id-8' name='align' filepath='../drivers/bus/dpaa/base/qbman/dpaa_alloc.c' line='58' column='1'/>
+      <parameter type-id='type-id-9' name='partial' filepath='../drivers/bus/dpaa/base/qbman/dpaa_alloc.c' line='58' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <function-decl name='qman_alloc_pool_range' mangled-name='qman_alloc_pool_range' filepath='../drivers/bus/dpaa/base/qbman/dpaa_alloc.c' line='43' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qman_alloc_pool_range@@DPDK_20.0'>
+      <parameter type-id='type-id-106' name='result' filepath='../drivers/bus/dpaa/base/qbman/dpaa_alloc.c' line='58' column='1'/>
+      <parameter type-id='type-id-8' name='count' filepath='../drivers/bus/dpaa/base/qbman/dpaa_alloc.c' line='58' column='1'/>
+      <parameter type-id='type-id-8' name='align' filepath='../drivers/bus/dpaa/base/qbman/dpaa_alloc.c' line='58' column='1'/>
+      <parameter type-id='type-id-9' name='partial' filepath='../drivers/bus/dpaa/base/qbman/dpaa_alloc.c' line='58' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <function-decl name='qman_reserve_fqid_range' mangled-name='qman_reserve_fqid_range' filepath='../drivers/bus/dpaa/base/qbman/dpaa_alloc.c' line='38' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qman_reserve_fqid_range@@DPDK_20.0'>
+      <parameter type-id='type-id-8' name='fqid' filepath='../drivers/bus/dpaa/base/qbman/dpaa_alloc.c' line='38' column='1'/>
+      <parameter type-id='type-id-5' name='count' filepath='../drivers/bus/dpaa/base/qbman/dpaa_alloc.c' line='38' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/bus/dpaa/base/qbman/qman.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='qman_cgr' size-in-bits='320' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1253' column='1' id='type-id-107'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cgrid' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='cb' type-id='type-id-108' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='chan' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='node' type-id='type-id-10' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1259' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='qman_portal' size-in-bits='16384' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='63' column='1' id='type-id-109'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='p' type-id='type-id-110' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='bits' type-id='type-id-17' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='irq_sources' type-id='type-id-17' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='use_eqcr_ci_stashing' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='69' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1184'>
+        <var-decl name='slowpoll' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='vdqcr_owned' type-id='type-id-111' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='sdqcr' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='73' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1312'>
+        <var-decl name='dqrr_disable_ref' type-id='type-id-9' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='cb_dc_ern' type-id='type-id-112' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='config' type-id='type-id-113' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='retire_table' type-id='type-id-114' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='irqname' type-id='type-id-56' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='82' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='cgrs' type-id='type-id-115' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='cgr_cbs' type-id='type-id-10' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='cgr_lock' type-id='type-id-116' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8192'>
+        <var-decl name='shadow_dqrr' type-id='type-id-117' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='96' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='qm_portal' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.h' line='198' column='1' id='type-id-110'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr' type-id='type-id-118' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.h' line='199' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='eqcr' type-id='type-id-119' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.h' line='200' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dqrr' type-id='type-id-120' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.h' line='201' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='mr' type-id='type-id-121' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.h' line='202' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='mc' type-id='type-id-122' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.h' line='203' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='qm_addr' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.h' line='193' column='1' id='type-id-118'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ce' type-id='type-id-61' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ci' type-id='type-id-61' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.h' line='195' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='qm_eqcr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.h' line='147' column='1' id='type-id-119'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ring' type-id='type-id-123' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.h' line='148' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='cursor' type-id='type-id-123' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.h' line='148' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ci' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.h' line='149' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='available' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.h' line='149' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='ithresh' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.h' line='149' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='152'>
+        <var-decl name='vbit' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.h' line='149' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='qm_eqcr_entry' size-in-bits='512' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='288' column='1' id='type-id-124'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__dont_write_directly__verb' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='289' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='dca' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='290' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='seqnum' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='291' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='orp' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='292' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fqid' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='293' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='tag' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='294' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='fd' type-id='type-id-125' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='295' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='__reserved3' type-id='type-id-89' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='296' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='qm_fd' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='120' column='1' id='type-id-125'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-126' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='121' column='1' id='type-id-126'>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-127' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='opaque_addr' type-id='type-id-73' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='146' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='122' column='1' id='type-id-127'>
+      <data-member access='public' layout-offset-in-bits='2'>
+        <var-decl name='liodn_offset' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='132' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dd' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='133' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='bpid' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='134' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4'>
+        <var-decl name='__reserved' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='135' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='eliodn_offset' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='136' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='addr_hi' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='addr_lo' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='138' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-124' size-in-bits='64' id='type-id-123'/>
+    <class-decl name='qm_dqrr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.h' line='156' column='1' id='type-id-120'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ring' type-id='type-id-128' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.h' line='157' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='cursor' type-id='type-id-128' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.h' line='157' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pi' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.h' line='158' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='ci' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.h' line='158' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='fill' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.h' line='158' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='152'>
+        <var-decl name='ithresh' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.h' line='158' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='vbit' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.h' line='158' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='qm_dqrr_entry' size-in-bits='512' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='301' column='1' id='type-id-129'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='verb' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='302' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='stat' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='303' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='seqnum' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='304' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tok' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='305' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='__reserved2' type-id='type-id-130' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='306' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fqid' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='307' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='contextB' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='308' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='fd' type-id='type-id-125' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='309' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='__reserved4' type-id='type-id-89' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='310' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-63' size-in-bits='24' id='type-id-130'>
+      <subrange length='3' type-id='type-id-17' id='type-id-131'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-129' size-in-bits='64' id='type-id-128'/>
+    <class-decl name='qm_mr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.h' line='166' column='1' id='type-id-121'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ring' type-id='type-id-132' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.h' line='167' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='cursor' type-id='type-id-132' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.h' line='167' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pi' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.h' line='168' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='ci' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.h' line='168' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='fill' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.h' line='168' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='152'>
+        <var-decl name='ithresh' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.h' line='168' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='vbit' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.h' line='168' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='qm_mr_entry' size-in-bits='512' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='326' column='1' id='type-id-133'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-134' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='__reserved2' type-id='type-id-89' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='365' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='327' column='1' id='type-id-134'>
+      <data-member access='private'>
+        <var-decl name='ern' type-id='type-id-135' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='337' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dcern' type-id='type-id-136' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='355' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='fq' type-id='type-id-137' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='363' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='328' column='1' id='type-id-135'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='verb' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='329' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='dca' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='330' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='seqnum' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='331' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='rc' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='332' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='orp' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='333' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fqid' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='334' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='tag' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='335' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='fd' type-id='type-id-125' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='336' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='338' column='1' id='type-id-136'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='verb' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='339' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='21'>
+        <var-decl name='portal' type-id='type-id-138' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='345' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2'>
+        <var-decl name='__reserved1' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='346' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='colour' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='347' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='__reserved2' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='349' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='rc' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='350' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='__reserved3' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='351' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fqid' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='352' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='tag' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='353' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='fd' type-id='type-id-125' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='354' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='qm_dc_portal' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='40' column='1' id='type-id-138'>
+      <underlying-type type-id='type-id-27'/>
+      <enumerator name='qm_dc_portal_fman0' value='0'/>
+      <enumerator name='qm_dc_portal_fman1' value='1'/>
+      <enumerator name='qm_dc_portal_caam' value='2'/>
+      <enumerator name='qm_dc_portal_pme' value='3'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='356' column='1' id='type-id-137'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='verb' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='357' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='fqs' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='358' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='__reserved1' type-id='type-id-139' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='359' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fqid' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='360' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='contextB' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='361' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='__reserved2' type-id='type-id-140' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='362' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-63' size-in-bits='48' id='type-id-139'>
+      <subrange length='6' type-id='type-id-17' id='type-id-29'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-63' size-in-bits='128' id='type-id-140'>
+      <subrange length='16' type-id='type-id-17' id='type-id-38'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-133' const='yes' id='type-id-141'/>
+    <pointer-type-def type-id='type-id-141' size-in-bits='64' id='type-id-132'/>
+    <class-decl name='qm_mc' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.h' line='175' column='1' id='type-id-122'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cr' type-id='type-id-142' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.h' line='176' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rr' type-id='type-id-143' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.h' line='177' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rridx' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.h' line='178' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='vbit' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman.h' line='178' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='qm_mc_command' size-in-bits='512' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='798' column='1' id='type-id-144'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__dont_write_directly__verb' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='799' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='' type-id='type-id-145' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='504' is-anonymous='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='800' column='1' id='type-id-145'>
+      <data-member access='private'>
+        <var-decl name='initfq' type-id='type-id-146' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='801' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='queryfq' type-id='type-id-147' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='queryfq_np' type-id='type-id-148' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='803' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='alterfq' type-id='type-id-149' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='initcgr' type-id='type-id-150' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='805' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='cgrtestwrite' type-id='type-id-151' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='806' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='querycgr' type-id='type-id-152' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='807' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='querycongestion' type-id='type-id-153' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='808' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='querywq' type-id='type-id-154' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='809' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='qm_mcc_initfq' size-in-bits='504' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='729' column='1' id='type-id-146'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__reserved1' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='730' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='we_mask' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='731' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='fqid' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='732' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='count' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='733' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='fqd' type-id='type-id-155' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='734' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='264'>
+        <var-decl name='__reserved3' type-id='type-id-156' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='735' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='qm_fqd' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='441' column='1' id='type-id-155'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-157' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='cgid' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='458' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='fq_ctrl' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='459' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='15'>
+        <var-decl name='__reserved2' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='476' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='ics_cred' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='477' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='context_b' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='490' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='112'>
+        <var-decl name='context_a' type-id='type-id-158' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='oac_query' type-id='type-id-159' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='521' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='8' is-anonymous='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='442' column='1' id='type-id-157'>
+      <data-member access='private'>
+        <var-decl name='orpc' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='443' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-160' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='8' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='444' column='1' id='type-id-160'>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='olws' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='451' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='oa' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='452' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2'>
+        <var-decl name='orprws' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='453' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__reserved1' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='454' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='491' column='1' id='type-id-158'>
+      <data-member access='private'>
+        <var-decl name='opaque' type-id='type-id-73' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='493' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-161' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='494' column='1' id='type-id-161'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='lo' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='499' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='hi' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='500' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='qm_fqd_oac' size-in-bits='16' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='429' column='1' id='type-id-159'>
+      <data-member access='public' layout-offset-in-bits='2'>
+        <var-decl name='__reserved1' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='435' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='oac' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='436' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='oal' type-id='type-id-162' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='439' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='signed char' size-in-bits='8' id='type-id-162'/>
+
+    <array-type-def dimensions='1' type-id='type-id-63' size-in-bits='240' id='type-id-156'>
+      <subrange length='30' type-id='type-id-17' id='type-id-163'/>
+
+    </array-type-def>
+    <class-decl name='qm_mcc_queryfq' size-in-bits='504' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='737' column='1' id='type-id-147'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__reserved1' type-id='type-id-130' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='738' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='fqid' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='739' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='__reserved2' type-id='type-id-164' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='740' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-63' size-in-bits='448' id='type-id-164'>
+      <subrange length='56' type-id='type-id-17' id='type-id-165'/>
+
+    </array-type-def>
+    <class-decl name='qm_mcc_queryfq_np' size-in-bits='504' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='742' column='1' id='type-id-148'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__reserved1' type-id='type-id-130' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='743' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='fqid' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='744' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='__reserved2' type-id='type-id-164' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='745' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='qm_mcc_alterfq' size-in-bits='504' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='747' column='1' id='type-id-149'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__reserved1' type-id='type-id-130' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='748' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='fqid' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='749' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='__reserved2' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='750' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='count' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='751' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='__reserved3' type-id='type-id-166' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='752' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='152'>
+        <var-decl name='context_b' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='184'>
+        <var-decl name='__reserved4' type-id='type-id-167' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='754' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-63' size-in-bits='80' id='type-id-166'>
+      <subrange length='10' type-id='type-id-17' id='type-id-168'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-63' size-in-bits='320' id='type-id-167'>
+      <subrange length='40' type-id='type-id-17' id='type-id-169'/>
+
+    </array-type-def>
+    <class-decl name='qm_mcc_initcgr' size-in-bits='504' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='756' column='1' id='type-id-150'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__reserved1' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='757' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='we_mask' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='758' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='cgr' type-id='type-id-170' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='759' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='__reserved2' type-id='type-id-171' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='760' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='240'>
+        <var-decl name='cgid' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='761' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='248'>
+        <var-decl name='__reserved4' type-id='type-id-89' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='762' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__qm_mc_cgr' size-in-bits='200' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='662' column='1' id='type-id-170'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='wr_parm_g' type-id='type-id-172' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='663' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='wr_parm_y' type-id='type-id-172' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='664' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='wr_parm_r' type-id='type-id-172' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='wr_en_g' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='666' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='104'>
+        <var-decl name='wr_en_y' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='667' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='112'>
+        <var-decl name='wr_en_r' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='120'>
+        <var-decl name='cscn_en' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='669' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-173' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='cstd_en' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='682' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='168'>
+        <var-decl name='cs' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='683' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='mode' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='689' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='qm_cgr_wr_parm' size-in-bits='32' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='614' column='1' id='type-id-172'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-174' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='615' column='1' id='type-id-174'>
+      <data-member access='private'>
+        <var-decl name='word' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='616' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-175' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='617' column='1' id='type-id-175'>
+      <data-member access='public' layout-offset-in-bits='26'>
+        <var-decl name='Pn' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='625' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='20'>
+        <var-decl name='Sn' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='626' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='13'>
+        <var-decl name='SA' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='627' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='Mn' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='628' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='MA' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='629' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='670' column='1' id='type-id-173'>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-176' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='cscn_targ' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='680' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='671' column='1' id='type-id-176'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cscn_targ_dcp_low' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='cscn_targ_upd_ctrl' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='677' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-63' size-in-bits='16' id='type-id-171'>
+      <subrange length='2' type-id='type-id-17' id='type-id-95'/>
+
+    </array-type-def>
+    <class-decl name='qm_mcc_cgrtestwrite' size-in-bits='504' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='764' column='1' id='type-id-151'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__reserved1' type-id='type-id-171' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='765' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='i_bcnt_hi' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='766' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='i_bcnt_lo' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='767' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='__reserved2' type-id='type-id-177' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='768' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='240'>
+        <var-decl name='cgid' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='769' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='248'>
+        <var-decl name='__reserved3' type-id='type-id-89' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='770' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-63' size-in-bits='184' id='type-id-177'>
+      <subrange length='23' type-id='type-id-17' id='type-id-178'/>
+
+    </array-type-def>
+    <class-decl name='qm_mcc_querycgr' size-in-bits='504' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='772' column='1' id='type-id-152'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__reserved1' type-id='type-id-156' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='773' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='240'>
+        <var-decl name='cgid' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='774' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='248'>
+        <var-decl name='__reserved2' type-id='type-id-89' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='775' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='qm_mcc_querycongestion' size-in-bits='504' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='777' column='1' id='type-id-153'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__reserved' type-id='type-id-81' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='778' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='qm_mcc_querywq' size-in-bits='504' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='780' column='1' id='type-id-154'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__reserved' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='781' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='' type-id='type-id-179' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='__reserved2' type-id='type-id-180' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='795' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='783' column='1' id='type-id-179'>
+      <data-member access='private'>
+        <var-decl name='channel_wq' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='784' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='channel' type-id='type-id-181' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='793' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='785' column='1' id='type-id-181'>
+      <data-member access='public' layout-offset-in-bits='13'>
+        <var-decl name='__reserved1' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='790' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='791' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-63' size-in-bits='480' id='type-id-180'>
+      <subrange length='60' type-id='type-id-17' id='type-id-182'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-144' size-in-bits='64' id='type-id-142'/>
+    <class-decl name='qm_mc_result' size-in-bits='512' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1014' column='1' id='type-id-183'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='verb' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1015' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='result' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1016' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='' type-id='type-id-184' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='496' is-anonymous='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1017' column='1' id='type-id-184'>
+      <data-member access='private'>
+        <var-decl name='initfq' type-id='type-id-185' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1018' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='queryfq' type-id='type-id-186' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1019' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='queryfq_np' type-id='type-id-187' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1020' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='alterfq' type-id='type-id-188' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1021' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='initcgr' type-id='type-id-189' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1022' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='cgrtestwrite' type-id='type-id-190' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1023' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='querycgr' type-id='type-id-191' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1024' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='querycongestion' type-id='type-id-192' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1025' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='querywq' type-id='type-id-193' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1026' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='qm_mcr_initfq' size-in-bits='496' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='838' column='1' id='type-id-185'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__reserved1' type-id='type-id-68' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='839' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='qm_mcr_queryfq' size-in-bits='496' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='841' column='1' id='type-id-186'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__reserved1' type-id='type-id-92' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='842' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fqd' type-id='type-id-155' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='843' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='__reserved2' type-id='type-id-156' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='844' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='qm_mcr_queryfq_np' size-in-bits='496' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='846' column='1' id='type-id-187'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__reserved1' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='847' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='state' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='848' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='__reserved2' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='883' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='fqd_link' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='884' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2'>
+        <var-decl name='odp_seq' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='886' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='__reserved3' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='887' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2'>
+        <var-decl name='orp_nesn' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='889' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='__reserved4' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='890' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1'>
+        <var-decl name='orp_ea_hseq' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='892' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='__reserved5' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='893' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1'>
+        <var-decl name='orp_ea_tseq' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='895' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='__reserved6' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='896' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='112'>
+        <var-decl name='__reserved7' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='898' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='112'>
+        <var-decl name='orp_ea_hptr' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='899' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='__reserved8' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='901' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='orp_ea_tptr' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='902' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='__reserved9' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='904' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='pfdr_hptr' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='905' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='208'>
+        <var-decl name='__reserved10' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='907' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='208'>
+        <var-decl name='pfdr_tptr' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='908' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='240'>
+        <var-decl name='__reserved11' type-id='type-id-194' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='910' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='is' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='911' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='280'>
+        <var-decl name='__reserved12' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='912' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='ics_surp' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='913' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='304'>
+        <var-decl name='byte_cnt' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='914' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='__reserved13' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='915' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='frm_cnt' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='916' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='__reserved14' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='917' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='400'>
+        <var-decl name='ra1_sfdr' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='918' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='ra2_sfdr' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='919' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='__reserved15' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='920' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='od1_sfdr' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='921' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='od2_sfdr' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='922' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='od3_sfdr' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='923' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-63' size-in-bits='40' id='type-id-194'>
+      <subrange length='5' type-id='type-id-17' id='type-id-195'/>
+
+    </array-type-def>
+    <class-decl name='qm_mcr_alterfq' size-in-bits='496' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='927' column='1' id='type-id-188'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fqs' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='928' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='__reserved1' type-id='type-id-196' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='929' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-63' size-in-bits='488' id='type-id-196'>
+      <subrange length='61' type-id='type-id-17' id='type-id-197'/>
+
+    </array-type-def>
+    <class-decl name='qm_mcr_initcgr' size-in-bits='496' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='931' column='1' id='type-id-189'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__reserved1' type-id='type-id-68' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='932' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='qm_mcr_cgrtestwrite' size-in-bits='496' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='934' column='1' id='type-id-190'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__reserved1' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='935' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='cgr' type-id='type-id-170' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='936' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='216'>
+        <var-decl name='__reserved2' type-id='type-id-130' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='937' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='232'>
+        <var-decl name='__reserved3' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='938' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='i_bcnt_hi' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='939' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='272'>
+        <var-decl name='i_bcnt_lo' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='940' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='296'>
+        <var-decl name='__reserved4' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='941' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='a_bcnt_hi' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='942' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='a_bcnt_lo' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='943' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='lgt' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='944' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='wr_prob_g' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='945' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='400'>
+        <var-decl name='wr_prob_y' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='946' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='wr_prob_r' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='947' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='__reserved5' type-id='type-id-92' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='948' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='qm_mcr_querycgr' size-in-bits='496' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='950' column='1' id='type-id-191'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__reserved1' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='951' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='cgr' type-id='type-id-170' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='952' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='216'>
+        <var-decl name='__reserved2' type-id='type-id-130' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='953' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='240'>
+        <var-decl name='' type-id='type-id-198' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='954' column='1' id='type-id-198'>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-199' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='i_bcnt' type-id='type-id-73' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='966' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='955' column='1' id='type-id-199'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='i_bcnt_lo' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='961' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='i_bcnt_hi' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='962' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='__reserved3' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='963' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='qm_mcr_querycongestion' size-in-bits='496' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='992' column='1' id='type-id-192'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__reserved' type-id='type-id-156' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='993' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='240'>
+        <var-decl name='state' type-id='type-id-200' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='995' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__qm_mcr_querycongestion' size-in-bits='256' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='988' column='1' id='type-id-200'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='state' type-id='type-id-201' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='989' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='256' id='type-id-201'>
+      <subrange length='8' type-id='type-id-17' id='type-id-74'/>
+
+    </array-type-def>
+    <class-decl name='qm_mcr_querywq' size-in-bits='496' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='997' column='1' id='type-id-193'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-202' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='__reserved' type-id='type-id-203' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1010' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='240'>
+        <var-decl name='wq_len' type-id='type-id-201' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1011' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='998' column='1' id='type-id-202'>
+      <data-member access='private'>
+        <var-decl name='channel_wq' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='999' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='channel' type-id='type-id-204' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1008' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1000' column='1' id='type-id-204'>
+      <data-member access='public' layout-offset-in-bits='13'>
+        <var-decl name='__reserved' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1005' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1006' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-63' size-in-bits='224' id='type-id-203'>
+      <subrange length='28' type-id='type-id-17' id='type-id-205'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-183' size-in-bits='64' id='type-id-143'/>
+    <class-decl name='qman_fq' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1213' column='1' id='type-id-206'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cb' type-id='type-id-207' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1215' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='fqid_le' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1217' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='fqid' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1218' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='q_fd' type-id='type-id-9' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1220' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='ch_id' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1221' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='cgr_groupid' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4'>
+        <var-decl name='is_static' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1223' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='376'>
+        <var-decl name='qp_initialized' type-id='type-id-63' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1224' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='dpaa_intf' type-id='type-id-61' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1227' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='ev' type-id='type-id-208' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='qp' type-id='type-id-209' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='bp_array' type-id='type-id-210' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='flags' type-id='type-id-211' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1234' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='state' type-id='type-id-212' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='fqlock' type-id='type-id-116' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='node' type-id='type-id-213' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1239' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='qman_fq_lookup_table' type-id='type-id-214' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1241' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='key' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1242' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='qman_fq_cb' size-in-bits='256' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1202' column='1' id='type-id-207'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-215' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dqrr_prepare' type-id='type-id-216' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1208' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ern' type-id='type-id-217' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1209' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='fqs' type-id='type-id-217' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1210' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1203' column='1' id='type-id-215'>
+      <data-member access='private'>
+        <var-decl name='dqrr_dpdk_cb' type-id='type-id-218' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1204' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dqrr_dpdk_pull_cb' type-id='type-id-219' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1205' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dqrr' type-id='type-id-220' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1206' column='1'/>
+      </data-member>
+    </union-decl>
+    <enum-decl name='qman_cb_dqrr_result' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1105' column='1' id='type-id-221'>
+      <underlying-type type-id='type-id-27'/>
+      <enumerator name='qman_cb_dqrr_consume' value='0'/>
+      <enumerator name='qman_cb_dqrr_park' value='1'/>
+      <enumerator name='qman_cb_dqrr_defer' value='2'/>
+      <enumerator name='qman_cb_dqrr_stop' value='3'/>
+      <enumerator name='qman_cb_dqrr_consume_stop' value='4'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-109' size-in-bits='64' id='type-id-209'/>
+    <pointer-type-def type-id='type-id-206' size-in-bits='64' id='type-id-111'/>
+    <qualified-type-def type-id='type-id-129' const='yes' id='type-id-222'/>
+    <pointer-type-def type-id='type-id-222' size-in-bits='64' id='type-id-223'/>
+    <pointer-type-def type-id='type-id-61' size-in-bits='64' id='type-id-214'/>
+    <pointer-type-def type-id='type-id-224' size-in-bits='64' id='type-id-225'/>
+    <typedef-decl name='qman_dpdk_cb_dqrr' type-id='type-id-225' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1131' column='1' id='type-id-218'/>
+    <pointer-type-def type-id='type-id-111' size-in-bits='64' id='type-id-226'/>
+    <pointer-type-def type-id='type-id-128' size-in-bits='64' id='type-id-227'/>
+    <pointer-type-def type-id='type-id-228' size-in-bits='64' id='type-id-229'/>
+    <typedef-decl name='qman_dpdk_pull_cb_dqrr' type-id='type-id-229' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1138' column='1' id='type-id-219'/>
+    <pointer-type-def type-id='type-id-230' size-in-bits='64' id='type-id-231'/>
+    <typedef-decl name='qman_cb_dqrr' type-id='type-id-231' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1127' column='1' id='type-id-220'/>
+    <pointer-type-def type-id='type-id-232' size-in-bits='64' id='type-id-233'/>
+    <typedef-decl name='qman_dpdk_cb_prepare' type-id='type-id-233' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1143' column='1' id='type-id-216'/>
+    <pointer-type-def type-id='type-id-234' size-in-bits='64' id='type-id-235'/>
+    <typedef-decl name='qman_cb_mr' type-id='type-id-235' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1149' column='1' id='type-id-217'/>
+    <class-decl name='rte_event' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1006' column='1' id='type-id-208'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-236' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1008' column='1' id='type-id-236'>
+      <data-member access='private'>
+        <var-decl name='event' type-id='type-id-15' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1009' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-237' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1011' column='1' id='type-id-237'>
+      <data-member access='public' layout-offset-in-bits='12'>
+        <var-decl name='flow_id' type-id='type-id-7' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1012' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4'>
+        <var-decl name='sub_event_type' type-id='type-id-7' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1019' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event_type' type-id='type-id-7' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1023' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='op' type-id='type-id-22' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1027' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2'>
+        <var-decl name='rsvd' type-id='type-id-22' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1033' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='sched_type' type-id='type-id-22' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1035' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='queue_id' type-id='type-id-22' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1040' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='priority' type-id='type-id-22' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1047' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='impl_opaque' type-id='type-id-22' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1057' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='dpaa_bp_info' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-238'/>
+    <pointer-type-def type-id='type-id-238' size-in-bits='64' id='type-id-210'/>
+    <qualified-type-def type-id='type-id-17' volatile='yes' id='type-id-211'/>
+    <enum-decl name='qman_fq_state' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1167' column='1' id='type-id-212'>
+      <underlying-type type-id='type-id-27'/>
+      <enumerator name='qman_fq_state_oos' value='0'/>
+      <enumerator name='qman_fq_state_parked' value='1'/>
+      <enumerator name='qman_fq_state_sched' value='2'/>
+      <enumerator name='qman_fq_state_retired' value='3'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-116' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_spinlock.h' line='30' column='1' id='type-id-239'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='locked' type-id='type-id-240' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_spinlock.h' line='31' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-9' volatile='yes' id='type-id-240'/>
+    <typedef-decl name='rte_spinlock_t' type-id='type-id-239' filepath='../lib/librte_eal/common/include/generic/rte_spinlock.h' line='32' column='1' id='type-id-116'/>
+    <class-decl name='rb_node' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/dpaa_rbtree.h' line='32' column='1' id='type-id-213'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='prev' type-id='type-id-241' visibility='default' filepath='../drivers/bus/dpaa/include/dpaa_rbtree.h' line='33' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='next' type-id='type-id-241' visibility='default' filepath='../drivers/bus/dpaa/include/dpaa_rbtree.h' line='33' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-213' size-in-bits='64' id='type-id-241'/>
+    <pointer-type-def type-id='type-id-242' size-in-bits='64' id='type-id-243'/>
+    <typedef-decl name='qman_cb_dc_ern' type-id='type-id-243' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1153' column='1' id='type-id-112'/>
+    <class-decl name='qm_portal_config' size-in-bits='512' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman_priv.h' line='97' column='1' id='type-id-244'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr_virt' type-id='type-id-96' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman_priv.h' line='102' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='node' type-id='type-id-245' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman_priv.h' line='103' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='list' type-id='type-id-10' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman_priv.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='cpu' type-id='type-id-9' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman_priv.h' line='114' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='irq' type-id='type-id-9' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman_priv.h' line='116' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='index' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman_priv.h' line='118' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='is_shared' type-id='type-id-9' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman_priv.h' line='122' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='channel' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman_priv.h' line='126' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='pools' type-id='type-id-8' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman_priv.h' line='130' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='device_node' size-in-bits='34808' is-struct='yes' visibility='default' filepath='../drivers/common/dpaax/dpaa_of.h' line='66' column='1' id='type-id-246'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-247' visibility='default' filepath='../drivers/common/dpaax/dpaa_of.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2040'>
+        <var-decl name='full_name' type-id='type-id-248' visibility='default' filepath='../drivers/common/dpaax/dpaa_of.h' line='68' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-98' size-in-bits='2040' id='type-id-247'>
+      <subrange length='255' type-id='type-id-17' id='type-id-249'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-98' size-in-bits='32768' id='type-id-248'>
+      <subrange length='4096' type-id='type-id-17' id='type-id-250'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-246' size-in-bits='64' id='type-id-245'/>
+    <qualified-type-def type-id='type-id-244' const='yes' id='type-id-251'/>
+    <pointer-type-def type-id='type-id-251' size-in-bits='64' id='type-id-113'/>
+    <class-decl name='dpa_rbtree' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/include/dpaa_rbtree.h' line='36' column='1' id='type-id-114'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='head' type-id='type-id-241' visibility='default' filepath='../drivers/bus/dpaa/include/dpaa_rbtree.h' line='37' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tail' type-id='type-id-241' visibility='default' filepath='../drivers/bus/dpaa/include/dpaa_rbtree.h' line='37' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='qman_cgrs' size-in-bits='256' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman_priv.h' line='21' column='1' id='type-id-252'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='q' type-id='type-id-200' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman_priv.h' line='22' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-252' size-in-bits='64' id='type-id-115'/>
+
+    <array-type-def dimensions='1' type-id='type-id-129' size-in-bits='8192' id='type-id-117'>
+      <subrange length='16' type-id='type-id-17' id='type-id-38'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-107' size-in-bits='64' id='type-id-253'/>
+    <pointer-type-def type-id='type-id-254' size-in-bits='64' id='type-id-255'/>
+    <typedef-decl name='qman_cb_cgr' type-id='type-id-255' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='1250' column='1' id='type-id-108'/>
+    <function-decl name='qman_delete_cgr' mangled-name='qman_delete_cgr' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='2587' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qman_delete_cgr@@DPDK_20.0'>
+      <parameter type-id='type-id-253' name='cgr' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='2587' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-150' size-in-bits='64' id='type-id-256'/>
+    <function-decl name='qman_create_cgr' mangled-name='qman_create_cgr' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='2473' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qman_create_cgr@@DPDK_20.0'>
+      <parameter type-id='type-id-253' name='cgr' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='2473' column='1'/>
+      <parameter type-id='type-id-8' name='flags' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='2473' column='1'/>
+      <parameter type-id='type-id-256' name='opts' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='2474' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <function-decl name='qman_modify_cgr' mangled-name='qman_modify_cgr' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='2433' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qman_modify_cgr@@DPDK_20.0'>
+      <parameter type-id='type-id-253' name='cgr' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='2433' column='1'/>
+      <parameter type-id='type-id-8' name='flags' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='2433' column='1'/>
+      <parameter type-id='type-id-256' name='opts' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='2434' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-125' const='yes' id='type-id-257'/>
+    <pointer-type-def type-id='type-id-257' size-in-bits='64' id='type-id-258'/>
+    <function-decl name='qman_enqueue_multi_fq' mangled-name='qman_enqueue_multi_fq' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='2332' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qman_enqueue_multi_fq@@DPDK_20.0'>
+      <parameter type-id='type-id-226' name='fq' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='2332' column='1'/>
+      <parameter type-id='type-id-258' name='fd' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='2332' column='1'/>
+      <parameter type-id='type-id-106' name='flags' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='2333' column='1'/>
+      <parameter type-id='type-id-9' name='frames_to_send' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='2333' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <function-decl name='qman_enqueue_multi' mangled-name='qman_enqueue_multi' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='2261' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qman_enqueue_multi@@DPDK_20.0'>
+      <parameter type-id='type-id-111' name='fq' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='2261' column='1'/>
+      <parameter type-id='type-id-258' name='fd' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='2262' column='1'/>
+      <parameter type-id='type-id-106' name='flags' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='2262' column='1'/>
+      <parameter type-id='type-id-9' name='frames_to_send' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='2263' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <function-decl name='qman_enqueue' mangled-name='qman_enqueue' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='2246' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qman_enqueue@@DPDK_20.0'>
+      <parameter type-id='type-id-111' name='fq' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='2246' column='1'/>
+      <parameter type-id='type-id-258' name='fd' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='2246' column='1'/>
+      <parameter type-id='type-id-8' name='flags' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='2246' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <function-decl name='qman_volatile_dequeue' mangled-name='qman_volatile_dequeue' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='2139' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qman_volatile_dequeue@@DPDK_20.0'>
+      <parameter type-id='type-id-111' name='fq' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='2139' column='1'/>
+      <parameter type-id='type-id-8' name='flags' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='2139' column='1'/>
+      <parameter type-id='type-id-8' name='vdqcr' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='2140' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <function-decl name='qman_set_vdq' mangled-name='qman_set_vdq' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='2102' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qman_set_vdq@@DPDK_20.0'>
+      <parameter type-id='type-id-111' name='fq' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='2102' column='1'/>
+      <parameter type-id='type-id-4' name='num' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='2102' column='1'/>
+      <parameter type-id='type-id-7' name='vdqcr_flags' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='2102' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <function-decl name='qman_query_fq_frm_cnt' mangled-name='qman_query_fq_frm_cnt' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1960' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qman_query_fq_frm_cnt@@DPDK_20.0'>
+      <parameter type-id='type-id-111' name='fq' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1960' column='1'/>
+      <parameter type-id='type-id-106' name='frm_cnt' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1960' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-187' size-in-bits='64' id='type-id-259'/>
+    <function-decl name='qman_query_fq_np' mangled-name='qman_query_fq_np' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1918' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qman_query_fq_np@@DPDK_20.0'>
+      <parameter type-id='type-id-111' name='fq' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1918' column='1'/>
+      <parameter type-id='type-id-259' name='np' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1918' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <function-decl name='qman_oos_fq' mangled-name='qman_oos_fq' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1787' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qman_oos_fq@@DPDK_20.0'>
+      <parameter type-id='type-id-111' name='fq' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1787' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <function-decl name='qman_retire_fq' mangled-name='qman_retire_fq' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1697' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qman_retire_fq@@DPDK_20.0'>
+      <parameter type-id='type-id-111' name='fq' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1697' column='1'/>
+      <parameter type-id='type-id-106' name='flags' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1697' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-146' size-in-bits='64' id='type-id-260'/>
+    <function-decl name='qman_init_fq' mangled-name='qman_init_fq' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1559' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qman_init_fq@@DPDK_20.0'>
+      <parameter type-id='type-id-111' name='fq' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1559' column='1'/>
+      <parameter type-id='type-id-8' name='flags' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1559' column='1'/>
+      <parameter type-id='type-id-260' name='opts' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1559' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-212' size-in-bits='64' id='type-id-261'/>
+    <function-decl name='qman_fq_state' mangled-name='qman_fq_state' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1551' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qman_fq_state@@DPDK_20.0'>
+      <parameter type-id='type-id-111' name='fq' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1551' column='1'/>
+      <parameter type-id='type-id-261' name='state' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1551' column='1'/>
+      <parameter type-id='type-id-106' name='flags' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1551' column='1'/>
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <function-decl name='qman_fq_fqid' mangled-name='qman_fq_fqid' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1546' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qman_fq_fqid@@DPDK_20.0'>
+      <parameter type-id='type-id-111' name='fq' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1546' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='qman_create_fq' mangled-name='qman_create_fq' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1435' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qman_create_fq@@DPDK_20.0'>
+      <parameter type-id='type-id-8' name='fqid' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1435' column='1'/>
+      <parameter type-id='type-id-8' name='flags' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1435' column='1'/>
+      <parameter type-id='type-id-111' name='fq' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1435' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <function-decl name='qman_dca_index' mangled-name='qman_dca_index' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1406' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qman_dca_index@@DPDK_20.0'>
+      <parameter type-id='type-id-63' name='index' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1406' column='1'/>
+      <parameter type-id='type-id-9' name='park_request' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1406' column='1'/>
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <function-decl name='qman_static_dequeue_add' mangled-name='qman_static_dequeue_add' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1375' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qman_static_dequeue_add@@DPDK_20.0'>
+      <parameter type-id='type-id-8' name='pools' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1375' column='1'/>
+      <parameter type-id='type-id-209' name='qp' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1375' column='1'/>
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <function-decl name='qman_poll_dqrr' mangled-name='qman_poll_dqrr' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1330' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qman_poll_dqrr@@DPDK_20.0'>
+      <parameter type-id='type-id-5' name='limit' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1330' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <function-decl name='qman_dqrr_consume' mangled-name='qman_dqrr_consume' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1318' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qman_dqrr_consume@@DPDK_20.0'>
+      <parameter type-id='type-id-111' name='fq' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1318' column='1'/>
+      <parameter type-id='type-id-128' name='dq' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1319' column='1'/>
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <function-decl name='qman_dequeue' mangled-name='qman_dequeue' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1282' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qman_dequeue@@DPDK_20.0'>
+      <parameter type-id='type-id-111' name='fq' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1282' column='1'/>
+      <return type-id='type-id-128'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-208' size-in-bits='64' id='type-id-262'/>
+    <function-decl name='qman_portal_dequeue' mangled-name='qman_portal_dequeue' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1215' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qman_portal_dequeue@@DPDK_20.0'>
+      <parameter type-id='type-id-262' name='ev' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1215' column='1'/>
+      <parameter type-id='type-id-5' name='poll_limit' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1215' column='1'/>
+      <parameter type-id='type-id-214' name='bufs' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1216' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='qman_clear_irq' mangled-name='qman_clear_irq' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1207' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qman_clear_irq@@DPDK_20.0'>
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <function-decl name='qman_portal_poll_rx' mangled-name='qman_portal_poll_rx' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1144' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qman_portal_poll_rx@@DPDK_20.0'>
+      <parameter type-id='type-id-5' name='poll_limit' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1144' column='1'/>
+      <parameter type-id='type-id-214' name='bufs' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1145' column='1'/>
+      <parameter type-id='type-id-209' name='p' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1146' column='1'/>
+      <return type-id='type-id-5'/>
+    </function-decl>
+    <function-decl name='qman_fq_portal_irqsource_remove' mangled-name='qman_fq_portal_irqsource_remove' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1108' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qman_fq_portal_irqsource_remove@@DPDK_20.0'>
+      <parameter type-id='type-id-209' name='p' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1108' column='1'/>
+      <parameter type-id='type-id-8' name='bits' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1108' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <function-decl name='qman_irqsource_remove' mangled-name='qman_irqsource_remove' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1082' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qman_irqsource_remove@@DPDK_20.0'>
+      <parameter type-id='type-id-8' name='bits' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1082' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <function-decl name='qman_fq_portal_irqsource_add' mangled-name='qman_fq_portal_irqsource_add' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1067' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qman_fq_portal_irqsource_add@@DPDK_20.0'>
+      <parameter type-id='type-id-209' name='p' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1067' column='1'/>
+      <parameter type-id='type-id-8' name='bits' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1067' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <function-decl name='qman_irqsource_add' mangled-name='qman_irqsource_add' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1050' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qman_irqsource_add@@DPDK_20.0'>
+      <parameter type-id='type-id-8' name='bits' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='1050' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <function-decl name='qman_set_fq_lookup_table' mangled-name='qman_set_fq_lookup_table' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='172' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qman_set_fq_lookup_table@@DPDK_20.0'>
+      <parameter type-id='type-id-214' name='fq_table' filepath='../drivers/bus/dpaa/base/qbman/qman.c' line='172' column='1'/>
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-230'>
+      <parameter type-id='type-id-209'/>
+      <parameter type-id='type-id-111'/>
+      <parameter type-id='type-id-223'/>
+      <return type-id='type-id-221'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-224'>
+      <parameter type-id='type-id-61'/>
+      <parameter type-id='type-id-209'/>
+      <parameter type-id='type-id-111'/>
+      <parameter type-id='type-id-223'/>
+      <parameter type-id='type-id-214'/>
+      <return type-id='type-id-221'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-232'>
+      <parameter type-id='type-id-128'/>
+      <parameter type-id='type-id-214'/>
+      <return type-id='type-id-20'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-228'>
+      <parameter type-id='type-id-226'/>
+      <parameter type-id='type-id-227'/>
+      <parameter type-id='type-id-214'/>
+      <parameter type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-242'>
+      <parameter type-id='type-id-209'/>
+      <parameter type-id='type-id-132'/>
+      <return type-id='type-id-20'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-254'>
+      <parameter type-id='type-id-209'/>
+      <parameter type-id='type-id-253'/>
+      <parameter type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-234'>
+      <parameter type-id='type-id-209'/>
+      <parameter type-id='type-id-111'/>
+      <parameter type-id='type-id-132'/>
+      <return type-id='type-id-20'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/bus/dpaa/base/qbman/qman_driver.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='qman_ip_rev' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/base/qbman/qman_priv.h' line='141' column='1'/>
+    <var-decl name='qm_channel_pool1' type-id='type-id-4' mangled-name='qm_channel_pool1' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='37' column='1' elf-symbol-id='qm_channel_pool1@@DPDK_20.0'/>
+    <var-decl name='qm_channel_caam' type-id='type-id-4' mangled-name='qm_channel_caam' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='38' column='1' elf-symbol-id='qm_channel_caam@@DPDK_20.0'/>
+    <var-decl name='qm_channel_pme' type-id='type-id-4' visibility='default' filepath='../drivers/bus/dpaa/include/fsl_qman.h' line='39' column='1'/>
+    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-263'/>
+    <function-decl name='fsl_qman_fq_portal_create' mangled-name='fsl_qman_fq_portal_create' filepath='../drivers/bus/dpaa/base/qbman/qman_driver.c' line='129' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fsl_qman_fq_portal_create@@DPDK_20.0'>
+      <parameter type-id='type-id-263' name='fd' filepath='../drivers/bus/dpaa/base/qbman/qman_driver.c' line='129' column='1'/>
+      <return type-id='type-id-209'/>
+    </function-decl>
+    <function-decl name='qman_fq_portal_thread_irq' mangled-name='qman_fq_portal_thread_irq' filepath='../drivers/bus/dpaa/base/qbman/qman_driver.c' line='124' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qman_fq_portal_thread_irq@@DPDK_20.0'>
+      <parameter type-id='type-id-209' name='qp' filepath='../drivers/bus/dpaa/base/qbman/qman_driver.c' line='124' column='1'/>
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <function-decl name='qman_thread_irq' mangled-name='qman_thread_irq' filepath='../drivers/bus/dpaa/base/qbman/qman_driver.c' line='112' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qman_thread_irq@@DPDK_20.0'>
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <function-decl name='qman_thread_fd' mangled-name='qman_thread_fd' filepath='../drivers/bus/dpaa/base/qbman/qman_driver.c' line='94' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qman_thread_fd@@DPDK_20.0'>
+      <return type-id='type-id-9'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/bus/dpaa/dpaa_bus.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='dpaa_logtype_bus' type-id='type-id-9' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_logs.h' line='12' column='1'/>
+    <var-decl name='dpaa_logtype_mempool' type-id='type-id-9' mangled-name='dpaa_logtype_mempool' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_logs.h' line='13' column='1' elf-symbol-id='dpaa_logtype_mempool@@DPDK_20.0'/>
+    <var-decl name='dpaa_logtype_pmd' type-id='type-id-9' mangled-name='dpaa_logtype_pmd' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_logs.h' line='14' column='1' elf-symbol-id='dpaa_logtype_pmd@@DPDK_20.0'/>
+    <var-decl name='dpaa_logtype_eventdev' type-id='type-id-9' mangled-name='dpaa_logtype_eventdev' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_logs.h' line='15' column='1' elf-symbol-id='dpaa_logtype_eventdev@@DPDK_20.0'/>
+    <var-decl name='dpaa_netcfg' type-id='type-id-45' mangled-name='dpaa_netcfg' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='48' column='1' elf-symbol-id='dpaa_netcfg@@DPDK_20.0'/>
+    <var-decl name='dpaa_svr_family' type-id='type-id-5' mangled-name='dpaa_svr_family' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='36' column='1' elf-symbol-id='dpaa_svr_family@@DPDK_20.0'/>
+    <type-decl name='bool' size-in-bits='8' id='type-id-264'/>
+    <var-decl name='per_lcore_dpaa_io' type-id='type-id-264' mangled-name='per_lcore_dpaa_io' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='38' column='1' elf-symbol-id='per_lcore_dpaa_io@@DPDK_20.0'/>
+    <class-decl name='dpaa_portal_dqrr' size-in-bits='1152' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='187' column='1' id='type-id-265'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mbuf' type-id='type-id-266' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='dqrr_held' type-id='type-id-15' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='189' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='dqrr_size' type-id='type-id-22' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='190' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-61' size-in-bits='1024' id='type-id-266'>
+      <subrange length='16' type-id='type-id-17' id='type-id-38'/>
+
+    </array-type-def>
+    <var-decl name='per_lcore_held_bufs' type-id='type-id-265' mangled-name='per_lcore_held_bufs' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='193' column='1' elf-symbol-id='per_lcore_held_bufs@@DPDK_20.0'/>
+    <class-decl name='rte_dpaa_driver' size-in-bits='640' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='87' column='1' id='type-id-267'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-268' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='driver' type-id='type-id-269' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='89' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='dpaa_bus' type-id='type-id-270' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='drv_type' type-id='type-id-271' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='probe' type-id='type-id-272' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='92' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='remove' type-id='type-id-273' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='93' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='88' column='1' id='type-id-268'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-274' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-275' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='88' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-267' size-in-bits='64' id='type-id-274'/>
+    <pointer-type-def type-id='type-id-274' size-in-bits='64' id='type-id-275'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-269'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-276' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-277' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-277' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-276'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-278' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-269' size-in-bits='64' id='type-id-278'/>
+    <pointer-type-def type-id='type-id-278' size-in-bits='64' id='type-id-279'/>
+    <qualified-type-def type-id='type-id-98' const='yes' id='type-id-280'/>
+    <pointer-type-def type-id='type-id-280' size-in-bits='64' id='type-id-277'/>
+    <class-decl name='rte_dpaa_bus' size-in-bits='1344' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='55' column='1' id='type-id-281'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='bus' type-id='type-id-282' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='device_list' type-id='type-id-283' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='driver_list' type-id='type-id-284' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='device_count' type-id='type-id-9' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1312'>
+        <var-decl name='detected' type-id='type-id-9' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='60' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-282'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-285' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-277' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-286' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-287' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-288' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-289' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-290' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-291' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-292' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-293' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-294' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-295' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-296' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-297' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-298' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-285'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-299' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-300' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-282' size-in-bits='64' id='type-id-299'/>
+    <pointer-type-def type-id='type-id-299' size-in-bits='64' id='type-id-300'/>
+    <pointer-type-def type-id='type-id-301' size-in-bits='64' id='type-id-302'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-302' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-286'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-302' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-287'/>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-303'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-304' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-277' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-305' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-306' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-9' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-307' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-304'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-308' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-309' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-303' size-in-bits='64' id='type-id-308'/>
+    <pointer-type-def type-id='type-id-308' size-in-bits='64' id='type-id-309'/>
+    <qualified-type-def type-id='type-id-269' const='yes' id='type-id-310'/>
+    <pointer-type-def type-id='type-id-310' size-in-bits='64' id='type-id-305'/>
+    <qualified-type-def type-id='type-id-282' const='yes' id='type-id-311'/>
+    <pointer-type-def type-id='type-id-311' size-in-bits='64' id='type-id-306'/>
+    <class-decl name='rte_devargs' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='47' column='1' id='type-id-312'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-313' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='type' type-id='type-id-314' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='policy' type-id='type-id-315' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='name' type-id='type-id-316' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='' type-id='type-id-317' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='bus' type-id='type-id-299' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='cls' type-id='type-id-318' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='bus_str' type-id='type-id-277' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='cls_str' type-id='type-id-277' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='data' type-id='type-id-277' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='66' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1' id='type-id-313'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-307' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-319' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-312' size-in-bits='64' id='type-id-307'/>
+    <pointer-type-def type-id='type-id-307' size-in-bits='64' id='type-id-319'/>
+    <enum-decl name='rte_devtype' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='31' column='1' id='type-id-314'>
+      <underlying-type type-id='type-id-27'/>
+      <enumerator name='RTE_DEVTYPE_WHITELISTED_PCI' value='0'/>
+      <enumerator name='RTE_DEVTYPE_BLACKLISTED_PCI' value='1'/>
+      <enumerator name='RTE_DEVTYPE_VIRTUAL' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_dev_policy' filepath='../lib/librte_eal/common/include/rte_dev.h' line='72' column='1' id='type-id-315'>
+      <underlying-type type-id='type-id-27'/>
+      <enumerator name='RTE_DEV_WHITELISTED' value='0'/>
+      <enumerator name='RTE_DEV_BLACKLISTED' value='1'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-98' size-in-bits='512' id='type-id-316'>
+      <subrange length='64' type-id='type-id-17' id='type-id-320'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='57' column='1' id='type-id-317'>
+      <data-member access='private'>
+        <var-decl name='args' type-id='type-id-321' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='drv_str' type-id='type-id-277' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='60' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-98' size-in-bits='64' id='type-id-321'/>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-322'/>
+    <pointer-type-def type-id='type-id-322' size-in-bits='64' id='type-id-318'/>
+    <qualified-type-def type-id='type-id-303' const='yes' id='type-id-323'/>
+    <pointer-type-def type-id='type-id-323' size-in-bits='64' id='type-id-324'/>
+    <pointer-type-def type-id='type-id-325' size-in-bits='64' id='type-id-326'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-326' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-327'/>
+    <pointer-type-def type-id='type-id-328' size-in-bits='64' id='type-id-329'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-329' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-288'/>
+    <pointer-type-def type-id='type-id-330' size-in-bits='64' id='type-id-331'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-331' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-289'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-331' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-290'/>
+    <pointer-type-def type-id='type-id-332' size-in-bits='64' id='type-id-333'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-333' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-291'/>
+    <pointer-type-def type-id='type-id-334' size-in-bits='64' id='type-id-335'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-335' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-292'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-335' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-293'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-294'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-336' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-336'>
+      <underlying-type type-id='type-id-27'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-337'>
+      <underlying-type type-id='type-id-27'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-338' size-in-bits='64' id='type-id-339'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-339' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-295'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-340'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-277' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-277' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-277' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-299' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-318' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-308' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-61' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-340' const='yes' id='type-id-341'/>
+    <pointer-type-def type-id='type-id-341' size-in-bits='64' id='type-id-342'/>
+    <pointer-type-def type-id='type-id-343' size-in-bits='64' id='type-id-344'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-344' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-296'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-331' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-297'/>
+    <pointer-type-def type-id='type-id-345' size-in-bits='64' id='type-id-346'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-346' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-298'/>
+    <class-decl name='rte_dpaa_device_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='44' column='1' id='type-id-283'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-347' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='44' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-348' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='44' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_dpaa_device' size-in-bits='214592' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='69' column='1' id='type-id-349'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-350' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='device' type-id='type-id-303' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='' type-id='type-id-351' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='driver' type-id='type-id-274' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='id' type-id='type-id-352' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='intr_handle' type-id='type-id-353' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='214016'>
+        <var-decl name='device_type' type-id='type-id-271' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='214048'>
+        <var-decl name='name' type-id='type-id-316' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='80' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='70' column='1' id='type-id-350'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-347' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-348' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-349' size-in-bits='64' id='type-id-347'/>
+    <pointer-type-def type-id='type-id-347' size-in-bits='64' id='type-id-348'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='72' column='1' id='type-id-351'>
+      <data-member access='private'>
+        <var-decl name='eth_dev' type-id='type-id-354' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='73' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='crypto_dev' type-id='type-id-355' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='74' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_eth_dev' size-in-bits='132608' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='777' column='1' id='type-id-356'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_pkt_burst' type-id='type-id-357' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='778' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tx_pkt_burst' type-id='type-id-358' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tx_pkt_prepare' type-id='type-id-359' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='data' type-id='type-id-360' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='786' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='process_private' type-id='type-id-61' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='787' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_ops' type-id='type-id-361' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='788' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='device' type-id='type-id-308' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='789' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='intr_handle' type-id='type-id-362' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='790' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='link_intr_cbs' type-id='type-id-363' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='792' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='post_rx_burst_cbs' type-id='type-id-364' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='797' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='66176'>
+        <var-decl name='pre_tx_burst_cbs' type-id='type-id-364' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131712'>
+        <var-decl name='state' type-id='type-id-365' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='803' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131776'>
+        <var-decl name='security_ctx' type-id='type-id-61' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131840'>
+        <var-decl name='reserved_64s' type-id='type-id-366' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='806' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='132096'>
+        <var-decl name='reserved_ptrs' type-id='type-id-367' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='807' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mbuf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='480' column='1' id='type-id-368'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheline0' type-id='type-id-369' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-61' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-370' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rearm_data' type-id='type-id-371' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='497' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_off' type-id='type-id-3' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_segs' type-id='type-id-3' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='port' type-id='type-id-3' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ol_flags' type-id='type-id-15' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_descriptor_fields1' type-id='type-id-369' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='pkt_len' type-id='type-id-7' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data_len' type-id='type-id-3' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='vlan_tci' type-id='type-id-3' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vlan_tci_outer' type-id='type-id-3' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='buf_len' type-id='type-id-3' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='timestamp' type-id='type-id-15' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cacheline1' type-id='type-id-369' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='pool' type-id='type-id-372' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='next' type-id='type-id-373' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv_size' type-id='type-id-3' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='timesync' type-id='type-id-3' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='seqn' type-id='type-id-7' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='shinfo' type-id='type-id-374' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dynfield1' type-id='type-id-375' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-61' size-in-bits='infinite' id='type-id-376'>
+      <subrange length='infinite' type-id='type-id-17' id='type-id-44'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER' type-id='type-id-376' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='414' column='1' id='type-id-369'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='491' column='1' id='type-id-370'>
+      <data-member access='private'>
+        <var-decl name='buf_iova' type-id='type-id-377' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='buf_physaddr' type-id='type-id-377' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_iova_t' type-id='type-id-15' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-377'/>
+
+    <array-type-def dimensions='1' type-id='type-id-15' size-in-bits='infinite' id='type-id-378'>
+      <subrange length='infinite' type-id='type-id-17' id='type-id-44'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER64' type-id='type-id-378' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='420' column='1' id='type-id-371'/>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-379'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-380' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-381' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-61' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-382' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-9' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-7' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-7' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-7' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-7' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-7' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-5' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-383' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-384' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-7' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-385' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-7' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-386' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-98' size-in-bits='256' id='type-id-380'>
+      <subrange length='32' type-id='type-id-17' id='type-id-91'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-381'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-61' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-15' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-387'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-380' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-388' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-34' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-15' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-383' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-7' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-388'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-389' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-377' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-15' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-389'/>
+    <typedef-decl name='__int32_t' type-id='type-id-9' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-390'/>
+    <typedef-decl name='int32_t' type-id='type-id-390' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-383'/>
+    <qualified-type-def type-id='type-id-387' const='yes' id='type-id-391'/>
+    <pointer-type-def type-id='type-id-391' size-in-bits='64' id='type-id-382'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-392'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-7' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-7' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-7' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-393' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-61' size-in-bits='98304' id='type-id-393'>
+      <subrange length='1536' type-id='type-id-17' id='type-id-394'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-392' size-in-bits='64' id='type-id-384'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-385'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-395' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-396' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-397'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-398' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-372' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-399' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-398'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-395' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-397' size-in-bits='64' id='type-id-395'/>
+    <pointer-type-def type-id='type-id-379' size-in-bits='64' id='type-id-372'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-399'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-377' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-389' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-395' size-in-bits='64' id='type-id-396'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-386'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-400' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-401' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-402'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-403' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-372' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-61' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-404' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-34' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-405' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-61' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-403'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-400' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-402' size-in-bits='64' id='type-id-400'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-404'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-377' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-389' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-406' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-407'/>
+    <pointer-type-def type-id='type-id-407' size-in-bits='64' id='type-id-405'/>
+    <pointer-type-def type-id='type-id-400' size-in-bits='64' id='type-id-401'/>
+    <pointer-type-def type-id='type-id-368' size-in-bits='64' id='type-id-373'/>
+    <class-decl name='rte_mbuf_ext_shared_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='689' column='1' id='type-id-408'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_cb' type-id='type-id-409' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcb_opaque' type-id='type-id-61' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt_atomic' type-id='type-id-410' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-411' size-in-bits='64' id='type-id-412'/>
+    <typedef-decl name='rte_mbuf_extbuf_free_callback_t' type-id='type-id-412' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='684' column='1' id='type-id-409'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-410' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-413'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-414' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-415'/>
+    <typedef-decl name='__int16_t' type-id='type-id-415' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-416'/>
+    <typedef-decl name='int16_t' type-id='type-id-416' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-417'/>
+    <qualified-type-def type-id='type-id-417' volatile='yes' id='type-id-414'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-413' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-410'/>
+    <pointer-type-def type-id='type-id-408' size-in-bits='64' id='type-id-374'/>
+
+    <array-type-def dimensions='1' type-id='type-id-15' size-in-bits='128' id='type-id-375'>
+      <subrange length='2' type-id='type-id-17' id='type-id-95'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-373' size-in-bits='64' id='type-id-418'/>
+    <pointer-type-def type-id='type-id-419' size-in-bits='64' id='type-id-420'/>
+    <typedef-decl name='eth_rx_burst_t' type-id='type-id-420' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='340' column='1' id='type-id-357'/>
+    <typedef-decl name='eth_tx_burst_t' type-id='type-id-420' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='345' column='1' id='type-id-358'/>
+    <typedef-decl name='eth_tx_prep_t' type-id='type-id-420' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='350' column='1' id='type-id-359'/>
+    <class-decl name='rte_eth_dev_data' size-in-bits='55808' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='820' column='1' id='type-id-421'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-316' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='821' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_queues' type-id='type-id-214' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='823' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_queues' type-id='type-id-214' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='824' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='nb_rx_queues' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='825' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='656'>
+        <var-decl name='nb_tx_queues' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='826' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='sriov' type-id='type-id-422' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='dev_private' type-id='type-id-61' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='830' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_link' type-id='type-id-423' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='835' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dev_conf' type-id='type-id-424' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='836' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25536'>
+        <var-decl name='mtu' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='837' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25568'>
+        <var-decl name='min_rx_buf_size' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25600'>
+        <var-decl name='rx_mbuf_alloc_failed' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='841' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25664'>
+        <var-decl name='mac_addrs' type-id='type-id-425' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='842' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25728'>
+        <var-decl name='mac_pool_sel' type-id='type-id-426' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='846' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='33920'>
+        <var-decl name='hash_mac_addrs' type-id='type-id-425' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='848' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='33984'>
+        <var-decl name='port_id' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='852' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='promiscuous' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='855' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='scattered_rx' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='856' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='all_multicast' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='857' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4'>
+        <var-decl name='dev_started' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='858' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3'>
+        <var-decl name='lro' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='859' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='34008'>
+        <var-decl name='rx_queue_state' type-id='type-id-427' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='860' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='42200'>
+        <var-decl name='tx_queue_state' type-id='type-id-427' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='862' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50400'>
+        <var-decl name='dev_flags' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='864' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50432'>
+        <var-decl name='kdrv' type-id='type-id-428' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50464'>
+        <var-decl name='numa_node' type-id='type-id-9' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='866' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50496'>
+        <var-decl name='vlan_filter_conf' type-id='type-id-429' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='867' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='54592'>
+        <var-decl name='owner' type-id='type-id-430' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='869' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55168'>
+        <var-decl name='representor_id' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='870' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55232'>
+        <var-decl name='reserved_64s' type-id='type-id-366' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='875' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55488'>
+        <var-decl name='reserved_ptrs' type-id='type-id-367' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='876' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_sriov' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1476' column='1' id='type-id-422'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='active' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1477' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='nb_q_per_pool' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1478' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='def_vmdq_idx' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1479' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='def_pool_q_idx' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1480' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_link' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='308' column='1' id='type-id-423'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_speed' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='309' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='15'>
+        <var-decl name='link_duplex' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='310' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='14'>
+        <var-decl name='link_autoneg' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='311' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='13'>
+        <var-decl name='link_status' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='312' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_conf' size-in-bits='24640' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1045' column='1' id='type-id-424'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_speeds' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1046' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rxmode' type-id='type-id-431' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1053' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='txmode' type-id='type-id-432' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1054' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='lpbk_mode' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1055' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='rx_adv_conf' type-id='type-id-433' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1068' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='17984'>
+        <var-decl name='tx_adv_conf' type-id='type-id-434' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1076' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18080'>
+        <var-decl name='dcb_capability_en' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1079' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18112'>
+        <var-decl name='fdir_conf' type-id='type-id-435' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1080' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24576'>
+        <var-decl name='intr_conf' type-id='type-id-436' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1081' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rxmode' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='394' column='1' id='type-id-431'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mq_mode' type-id='type-id-437' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='396' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_rx_pkt_len' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='397' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='max_lro_pkt_size' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='399' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='split_hdr_size' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='400' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='offloads' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='406' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-375' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='408' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-96' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='409' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_rx_mq_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='344' column='1' id='type-id-437'>
+      <underlying-type type-id='type-id-27'/>
+      <enumerator name='ETH_MQ_RX_NONE' value='0'/>
+      <enumerator name='ETH_MQ_RX_RSS' value='1'/>
+      <enumerator name='ETH_MQ_RX_DCB' value='2'/>
+      <enumerator name='ETH_MQ_RX_DCB_RSS' value='3'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_ONLY' value='4'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_RSS' value='5'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_DCB' value='6'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_DCB_RSS' value='7'/>
+    </enum-decl>
+    <class-decl name='rte_eth_txmode' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='792' column='1' id='type-id-432'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mq_mode' type-id='type-id-438' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='793' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offloads' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='799' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pvid' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='hw_vlan_reject_tagged' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='hw_vlan_reject_untagged' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='806' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='hw_vlan_insert_pvid' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='808' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-375' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='811' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-96' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='812' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_tx_mq_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='377' column='1' id='type-id-438'>
+      <underlying-type type-id='type-id-27'/>
+      <enumerator name='ETH_MQ_TX_NONE' value='0'/>
+      <enumerator name='ETH_MQ_TX_DCB' value='1'/>
+      <enumerator name='ETH_MQ_TX_VMDQ_DCB' value='2'/>
+      <enumerator name='ETH_MQ_TX_VMDQ_ONLY' value='3'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16960' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1060' column='1' id='type-id-433'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rss_conf' type-id='type-id-439' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1061' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='vmdq_dcb_conf' type-id='type-id-440' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1062' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8512'>
+        <var-decl name='dcb_rx_conf' type-id='type-id-441' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1064' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8640'>
+        <var-decl name='vmdq_rx_conf' type-id='type-id-442' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1066' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rss_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='448' column='1' id='type-id-439'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rss_key' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rss_key_len' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rss_hf' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='451' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vmdq_dcb_conf' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='745' column='1' id='type-id-440'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-443' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='746' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='enable_default_pool' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='default_pool' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='748' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='nb_pool_maps' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='749' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pool_map' type-id='type-id-444' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8256'>
+        <var-decl name='dcb_tc' type-id='type-id-445' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='754' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_nb_pools' filepath='../lib/librte_ethdev/rte_ethdev.h' line='704' column='1' id='type-id-443'>
+      <underlying-type type-id='type-id-27'/>
+      <enumerator name='ETH_8_POOLS' value='8'/>
+      <enumerator name='ETH_16_POOLS' value='16'/>
+      <enumerator name='ETH_32_POOLS' value='32'/>
+      <enumerator name='ETH_64_POOLS' value='64'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='750' column='1' id='type-id-446'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_id' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='751' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pools' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='752' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-446' size-in-bits='8192' id='type-id-444'>
+      <subrange length='64' type-id='type-id-17' id='type-id-320'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-22' size-in-bits='64' id='type-id-445'>
+      <subrange length='8' type-id='type-id-17' id='type-id-74'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_dcb_rx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='712' column='1' id='type-id-441'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-447' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-445' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='715' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_nb_tcs' filepath='../lib/librte_ethdev/rte_ethdev.h' line='695' column='1' id='type-id-447'>
+      <underlying-type type-id='type-id-27'/>
+      <enumerator name='ETH_4_TCS' value='4'/>
+      <enumerator name='ETH_8_TCS' value='8'/>
+    </enum-decl>
+    <class-decl name='rte_eth_vmdq_rx_conf' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='776' column='1' id='type-id-442'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-443' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='777' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='enable_default_pool' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='778' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='default_pool' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='enable_loop_back' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='nb_pool_maps' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='781' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rx_mode' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='782' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pool_map' type-id='type-id-444' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='786' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <union-decl name='__anonymous_union__' size-in-bits='96' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1069' column='1' id='type-id-434'>
+      <data-member access='private'>
+        <var-decl name='vmdq_dcb_tx_conf' type-id='type-id-448' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1070' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dcb_tx_conf' type-id='type-id-449' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1072' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='vmdq_tx_conf' type-id='type-id-450' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1074' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_eth_vmdq_dcb_tx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='718' column='1' id='type-id-448'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-443' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-445' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='721' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dcb_tx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='724' column='1' id='type-id-449'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-447' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-445' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='727' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vmdq_tx_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='730' column='1' id='type-id-450'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-443' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='731' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_fdir_conf' size-in-bits='6464' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1005' column='1' id='type-id-435'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mode' type-id='type-id-451' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1006' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='pballoc' type-id='type-id-452' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1007' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='status' type-id='type-id-453' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1008' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='drop_queue' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1010' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mask' type-id='type-id-454' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1011' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='flex_conf' type-id='type-id-455' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1012' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_fdir_mode' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='603' column='1' id='type-id-451'>
+      <underlying-type type-id='type-id-27'/>
+      <enumerator name='RTE_FDIR_MODE_NONE' value='0'/>
+      <enumerator name='RTE_FDIR_MODE_SIGNATURE' value='1'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT' value='2'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT_MAC_VLAN' value='3'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT_TUNNEL' value='4'/>
+    </enum-decl>
+    <enum-decl name='rte_fdir_pballoc_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='984' column='1' id='type-id-452'>
+      <underlying-type type-id='type-id-27'/>
+      <enumerator name='RTE_FDIR_PBALLOC_64K' value='0'/>
+      <enumerator name='RTE_FDIR_PBALLOC_128K' value='1'/>
+      <enumerator name='RTE_FDIR_PBALLOC_256K' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_fdir_status_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='993' column='1' id='type-id-453'>
+      <underlying-type type-id='type-id-27'/>
+      <enumerator name='RTE_FDIR_NO_REPORT_STATUS' value='0'/>
+      <enumerator name='RTE_FDIR_REPORT_STATUS' value='1'/>
+      <enumerator name='RTE_FDIR_REPORT_STATUS_ALWAYS' value='2'/>
+    </enum-decl>
+    <class-decl name='rte_eth_fdir_masks' size-in-bits='544' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='533' column='1' id='type-id-454'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_tci_mask' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='534' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ipv4_mask' type-id='type-id-456' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='536' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ipv6_mask' type-id='type-id-457' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='538' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='src_port_mask' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='540' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='dst_port_mask' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='542' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='mac_addr_byte_mask' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='545' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='tunnel_id_mask' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='547' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='tunnel_type_mask' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='548' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_ipv4_flow' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='342' column='1' id='type-id-456'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='343' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dst_ip' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='344' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tos' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='345' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='ttl' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='346' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='proto' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='347' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_ipv6_flow' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='381' column='1' id='type-id-457'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-458' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='382' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dst_ip' type-id='type-id-458' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='383' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='tc' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='384' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='264'>
+        <var-decl name='proto' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='385' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='272'>
+        <var-decl name='hop_limits' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='386' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='128' id='type-id-458'>
+      <subrange length='4' type-id='type-id-17' id='type-id-51'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_fdir_flex_conf' size-in-bits='5792' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='591' column='1' id='type-id-455'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_payloads' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='592' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='nb_flexmasks' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='593' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flex_set' type-id='type-id-459' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='594' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2336'>
+        <var-decl name='flex_mask' type-id='type-id-460' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='596' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_flex_payload_cfg' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='568' column='1' id='type-id-461'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-462' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='569' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='src_offset' type-id='type-id-463' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='570' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_payload_type' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='555' column='1' id='type-id-462'>
+      <underlying-type type-id='type-id-27'/>
+      <enumerator name='RTE_ETH_PAYLOAD_UNKNOWN' value='0'/>
+      <enumerator name='RTE_ETH_RAW_PAYLOAD' value='1'/>
+      <enumerator name='RTE_ETH_L2_PAYLOAD' value='2'/>
+      <enumerator name='RTE_ETH_L3_PAYLOAD' value='3'/>
+      <enumerator name='RTE_ETH_L4_PAYLOAD' value='4'/>
+      <enumerator name='RTE_ETH_PAYLOAD_MAX' value='8'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='256' id='type-id-463'>
+      <subrange length='16' type-id='type-id-17' id='type-id-38'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-461' size-in-bits='2304' id='type-id-459'>
+      <subrange length='8' type-id='type-id-17' id='type-id-74'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_fdir_flex_mask' size-in-bits='144' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='581' column='1' id='type-id-464'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flow_type' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='582' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='mask' type-id='type-id-465' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='583' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-22' size-in-bits='128' id='type-id-465'>
+      <subrange length='16' type-id='type-id-17' id='type-id-38'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-464' size-in-bits='3456' id='type-id-460'>
+      <subrange length='24' type-id='type-id-17' id='type-id-466'/>
+
+    </array-type-def>
+    <class-decl name='rte_intr_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1031' column='1' id='type-id-436'>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='lsc' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1033' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='rxq' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1035' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='rmv' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1037' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-425'/>
+
+    <array-type-def dimensions='1' type-id='type-id-15' size-in-bits='8192' id='type-id-426'>
+      <subrange length='128' type-id='type-id-17' id='type-id-467'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-22' size-in-bits='8192' id='type-id-427'>
+      <subrange length='1024' type-id='type-id-17' id='type-id-468'/>
+
+    </array-type-def>
+    <enum-decl name='rte_kernel_driver' filepath='../lib/librte_eal/common/include/rte_dev.h' line='60' column='1' id='type-id-428'>
+      <underlying-type type-id='type-id-27'/>
+      <enumerator name='RTE_KDRV_UNKNOWN' value='0'/>
+      <enumerator name='RTE_KDRV_IGB_UIO' value='1'/>
+      <enumerator name='RTE_KDRV_VFIO' value='2'/>
+      <enumerator name='RTE_KDRV_UIO_GENERIC' value='3'/>
+      <enumerator name='RTE_KDRV_NIC_UIO' value='4'/>
+      <enumerator name='RTE_KDRV_NONE' value='5'/>
+    </enum-decl>
+    <class-decl name='rte_vlan_filter_conf' size-in-bits='4096' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='427' column='1' id='type-id-429'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ids' type-id='type-id-469' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='428' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-15' size-in-bits='4096' id='type-id-469'>
+      <subrange length='64' type-id='type-id-17' id='type-id-320'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_dev_owner' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1490' column='1' id='type-id-430'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1491' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='name' type-id='type-id-316' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1492' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-15' size-in-bits='256' id='type-id-366'>
+      <subrange length='4' type-id='type-id-17' id='type-id-51'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-61' size-in-bits='256' id='type-id-367'>
+      <subrange length='4' type-id='type-id-17' id='type-id-51'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-421' size-in-bits='64' id='type-id-360'/>
+    <class-decl name='eth_dev_ops' size-in-bits='6016' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='609' column='1' id='type-id-470'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_configure' type-id='type-id-471' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_start' type-id='type-id-472' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='611' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dev_stop' type-id='type-id-473' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='612' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_set_link_up' type-id='type-id-474' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dev_set_link_down' type-id='type-id-475' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='614' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_close' type-id='type-id-476' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='615' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='dev_reset' type-id='type-id-477' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='616' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='link_update' type-id='type-id-478' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='617' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='is_removed' type-id='type-id-479' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='618' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='promiscuous_enable' type-id='type-id-480' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='promiscuous_disable' type-id='type-id-481' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='allmulticast_enable' type-id='type-id-482' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='623' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='allmulticast_disable' type-id='type-id-483' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='624' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='mac_addr_remove' type-id='type-id-484' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='625' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='mac_addr_add' type-id='type-id-485' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='626' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='mac_addr_set' type-id='type-id-486' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='627' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='set_mc_addr_list' type-id='type-id-487' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='628' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mtu_set' type-id='type-id-488' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='629' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='stats_get' type-id='type-id-489' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='631' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='stats_reset' type-id='type-id-490' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='632' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='xstats_get' type-id='type-id-491' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='633' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='xstats_reset' type-id='type-id-492' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='634' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='xstats_get_names' type-id='type-id-493' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='635' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='queue_stats_mapping_set' type-id='type-id-494' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='637' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='dev_infos_get' type-id='type-id-495' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='640' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='rxq_info_get' type-id='type-id-496' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='641' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='txq_info_get' type-id='type-id-497' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='642' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='rx_burst_mode_get' type-id='type-id-498' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='643' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='tx_burst_mode_get' type-id='type-id-498' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='644' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='fw_version_get' type-id='type-id-499' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='645' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='dev_supported_ptypes_get' type-id='type-id-500' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='646' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='dev_ptypes_set' type-id='type-id-501' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='648' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='vlan_filter_set' type-id='type-id-502' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='651' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='vlan_tpid_set' type-id='type-id-503' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='652' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='vlan_strip_queue_set' type-id='type-id-504' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='653' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='vlan_offload_set' type-id='type-id-505' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='654' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='vlan_pvid_set' type-id='type-id-506' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='655' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='rx_queue_start' type-id='type-id-507' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='657' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='rx_queue_stop' type-id='type-id-508' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='658' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2496'>
+        <var-decl name='tx_queue_start' type-id='type-id-507' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='659' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='tx_queue_stop' type-id='type-id-508' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='660' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='rx_queue_setup' type-id='type-id-509' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='661' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2688'>
+        <var-decl name='rx_queue_release' type-id='type-id-510' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2752'>
+        <var-decl name='rx_queue_count' type-id='type-id-511' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='663' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2816'>
+        <var-decl name='rx_descriptor_done' type-id='type-id-512' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2880'>
+        <var-decl name='rx_descriptor_status' type-id='type-id-513' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='666' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2944'>
+        <var-decl name='tx_descriptor_status' type-id='type-id-514' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3008'>
+        <var-decl name='rx_queue_intr_enable' type-id='type-id-515' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='670' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3072'>
+        <var-decl name='rx_queue_intr_disable' type-id='type-id-516' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3136'>
+        <var-decl name='tx_queue_setup' type-id='type-id-517' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='672' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3200'>
+        <var-decl name='tx_queue_release' type-id='type-id-510' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3264'>
+        <var-decl name='tx_done_cleanup' type-id='type-id-518' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='674' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3328'>
+        <var-decl name='dev_led_on' type-id='type-id-519' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3392'>
+        <var-decl name='dev_led_off' type-id='type-id-520' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='677' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3456'>
+        <var-decl name='flow_ctrl_get' type-id='type-id-521' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='679' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3520'>
+        <var-decl name='flow_ctrl_set' type-id='type-id-522' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='680' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='priority_flow_ctrl_set' type-id='type-id-523' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='681' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3648'>
+        <var-decl name='uc_hash_table_set' type-id='type-id-524' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='683' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3712'>
+        <var-decl name='uc_all_hash_table_set' type-id='type-id-525' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='684' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3776'>
+        <var-decl name='mirror_rule_set' type-id='type-id-526' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='686' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3840'>
+        <var-decl name='mirror_rule_reset' type-id='type-id-527' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='687' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3904'>
+        <var-decl name='udp_tunnel_port_add' type-id='type-id-528' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='689' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3968'>
+        <var-decl name='udp_tunnel_port_del' type-id='type-id-529' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4032'>
+        <var-decl name='l2_tunnel_eth_type_conf' type-id='type-id-530' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4096'>
+        <var-decl name='l2_tunnel_offload_set' type-id='type-id-531' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='693' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4160'>
+        <var-decl name='set_queue_rate_limit' type-id='type-id-532' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='696' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4224'>
+        <var-decl name='rss_hash_update' type-id='type-id-533' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='698' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4288'>
+        <var-decl name='rss_hash_conf_get' type-id='type-id-534' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='699' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4352'>
+        <var-decl name='reta_update' type-id='type-id-535' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='700' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4416'>
+        <var-decl name='reta_query' type-id='type-id-536' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='701' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4480'>
+        <var-decl name='get_reg' type-id='type-id-537' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='703' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4544'>
+        <var-decl name='get_eeprom_length' type-id='type-id-538' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='704' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4608'>
+        <var-decl name='get_eeprom' type-id='type-id-539' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='705' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4672'>
+        <var-decl name='set_eeprom' type-id='type-id-540' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='706' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4736'>
+        <var-decl name='get_module_info' type-id='type-id-541' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='708' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4800'>
+        <var-decl name='get_module_eeprom' type-id='type-id-542' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='710' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4864'>
+        <var-decl name='filter_ctrl' type-id='type-id-543' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4928'>
+        <var-decl name='get_dcb_info' type-id='type-id-544' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='715' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4992'>
+        <var-decl name='timesync_enable' type-id='type-id-545' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='717' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5056'>
+        <var-decl name='timesync_disable' type-id='type-id-546' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5120'>
+        <var-decl name='timesync_read_rx_timestamp' type-id='type-id-547' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='721' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5184'>
+        <var-decl name='timesync_read_tx_timestamp' type-id='type-id-548' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='723' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5248'>
+        <var-decl name='timesync_adjust_time' type-id='type-id-549' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5312'>
+        <var-decl name='timesync_read_time' type-id='type-id-550' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='726' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5376'>
+        <var-decl name='timesync_write_time' type-id='type-id-551' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='727' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5440'>
+        <var-decl name='read_clock' type-id='type-id-552' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='729' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5504'>
+        <var-decl name='xstats_get_by_id' type-id='type-id-553' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='731' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5568'>
+        <var-decl name='xstats_get_names_by_id' type-id='type-id-554' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='733' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5632'>
+        <var-decl name='tm_ops_get' type-id='type-id-555' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='736' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5696'>
+        <var-decl name='mtr_ops_get' type-id='type-id-556' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='739' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5760'>
+        <var-decl name='pool_ops_supported' type-id='type-id-557' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='742' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5824'>
+        <var-decl name='hairpin_cap_get' type-id='type-id-558' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='745' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5888'>
+        <var-decl name='rx_hairpin_queue_setup' type-id='type-id-559' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5952'>
+        <var-decl name='tx_hairpin_queue_setup' type-id='type-id-560' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='749' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-356' size-in-bits='64' id='type-id-354'/>
+    <pointer-type-def type-id='type-id-561' size-in-bits='64' id='type-id-562'/>
+    <typedef-decl name='eth_dev_configure_t' type-id='type-id-562' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='31' column='1' id='type-id-471'/>
+    <typedef-decl name='eth_dev_start_t' type-id='type-id-562' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='34' column='1' id='type-id-472'/>
+    <pointer-type-def type-id='type-id-563' size-in-bits='64' id='type-id-564'/>
+    <typedef-decl name='eth_dev_stop_t' type-id='type-id-564' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='37' column='1' id='type-id-473'/>
+    <typedef-decl name='eth_dev_set_link_up_t' type-id='type-id-562' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='40' column='1' id='type-id-474'/>
+    <typedef-decl name='eth_dev_set_link_down_t' type-id='type-id-562' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='43' column='1' id='type-id-475'/>
+    <typedef-decl name='eth_dev_close_t' type-id='type-id-564' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='46' column='1' id='type-id-476'/>
+    <typedef-decl name='eth_dev_reset_t' type-id='type-id-562' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='49' column='1' id='type-id-477'/>
+    <pointer-type-def type-id='type-id-565' size-in-bits='64' id='type-id-566'/>
+    <typedef-decl name='eth_link_update_t' type-id='type-id-566' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='155' column='1' id='type-id-478'/>
+    <typedef-decl name='eth_is_removed_t' type-id='type-id-562' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='52' column='1' id='type-id-479'/>
+    <typedef-decl name='eth_promiscuous_enable_t' type-id='type-id-562' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='78' column='1' id='type-id-480'/>
+    <typedef-decl name='eth_promiscuous_disable_t' type-id='type-id-562' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='103' column='1' id='type-id-481'/>
+    <typedef-decl name='eth_allmulticast_enable_t' type-id='type-id-562' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='128' column='1' id='type-id-482'/>
+    <typedef-decl name='eth_allmulticast_disable_t' type-id='type-id-562' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='153' column='1' id='type-id-483'/>
+    <pointer-type-def type-id='type-id-567' size-in-bits='64' id='type-id-568'/>
+    <typedef-decl name='eth_mac_addr_remove_t' type-id='type-id-568' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='391' column='1' id='type-id-484'/>
+    <pointer-type-def type-id='type-id-569' size-in-bits='64' id='type-id-570'/>
+    <typedef-decl name='eth_mac_addr_add_t' type-id='type-id-570' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='394' column='1' id='type-id-485'/>
+    <pointer-type-def type-id='type-id-571' size-in-bits='64' id='type-id-572'/>
+    <typedef-decl name='eth_mac_addr_set_t' type-id='type-id-572' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='400' column='1' id='type-id-486'/>
+    <pointer-type-def type-id='type-id-573' size-in-bits='64' id='type-id-574'/>
+    <typedef-decl name='eth_set_mc_addr_list_t' type-id='type-id-574' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='436' column='1' id='type-id-487'/>
+    <pointer-type-def type-id='type-id-575' size-in-bits='64' id='type-id-576'/>
+    <typedef-decl name='mtu_set_t' type-id='type-id-576' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='315' column='1' id='type-id-488'/>
+    <pointer-type-def type-id='type-id-577' size-in-bits='64' id='type-id-578'/>
+    <typedef-decl name='eth_stats_get_t' type-id='type-id-578' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='159' column='1' id='type-id-489'/>
+    <typedef-decl name='eth_stats_reset_t' type-id='type-id-562' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='182' column='1' id='type-id-490'/>
+    <class-decl name='rte_eth_xstat' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1337' column='1' id='type-id-579'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1338' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='value' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1339' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-579' size-in-bits='64' id='type-id-580'/>
+    <pointer-type-def type-id='type-id-581' size-in-bits='64' id='type-id-582'/>
+    <typedef-decl name='eth_xstats_get_t' type-id='type-id-582' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='184' column='1' id='type-id-491'/>
+    <typedef-decl name='eth_xstats_reset_t' type-id='type-id-562' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='213' column='1' id='type-id-492'/>
+    <class-decl name='rte_eth_xstat_name' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1349' column='1' id='type-id-583'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-316' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1350' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-583' size-in-bits='64' id='type-id-584'/>
+    <pointer-type-def type-id='type-id-585' size-in-bits='64' id='type-id-586'/>
+    <typedef-decl name='eth_xstats_get_names_t' type-id='type-id-586' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='215' column='1' id='type-id-493'/>
+    <pointer-type-def type-id='type-id-587' size-in-bits='64' id='type-id-588'/>
+    <typedef-decl name='eth_queue_stats_mapping_set_t' type-id='type-id-588' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='224' column='1' id='type-id-494'/>
+    <class-decl name='rte_eth_dev_info' size-in-bits='2560' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1226' column='1' id='type-id-589'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='device' type-id='type-id-308' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1227' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='driver_name' type-id='type-id-277' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='if_index' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='min_mtu' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='max_mtu' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_flags' type-id='type-id-590' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='min_rx_bufsize' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1234' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='max_rx_pktlen' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1235' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='max_lro_pkt_size' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='max_rx_queues' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='max_tx_queues' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1239' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='max_mac_addrs' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='max_hash_mac_addrs' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1241' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='max_vfs' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1243' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='max_vmdq_pools' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_offload_capa' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_offload_capa' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='rx_queue_offload_capa' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='tx_queue_offload_capa' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='reta_size' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='hash_key_size' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='flow_type_rss_offloads' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='default_rxconf' type-id='type-id-591' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='default_txconf' type-id='type-id-592' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='vmdq_queue_base' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1744'>
+        <var-decl name='vmdq_queue_num' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1760'>
+        <var-decl name='vmdq_pool_base' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1262' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1776'>
+        <var-decl name='rx_desc_lim' type-id='type-id-593' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1263' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='tx_desc_lim' type-id='type-id-593' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1264' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1952'>
+        <var-decl name='speed_capa' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1265' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='nb_rx_queues' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1267' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2000'>
+        <var-decl name='nb_tx_queues' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1268' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2016'>
+        <var-decl name='default_rxportconf' type-id='type-id-594' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1270' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2064'>
+        <var-decl name='default_txportconf' type-id='type-id-594' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1272' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='dev_capa' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1274' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='switch_info' type-id='type-id-595' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='reserved_64s' type-id='type-id-375' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1281' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='reserved_ptrs' type-id='type-id-96' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1282' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-7' const='yes' id='type-id-596'/>
+    <pointer-type-def type-id='type-id-596' size-in-bits='64' id='type-id-590'/>
+    <class-decl name='rte_eth_rxconf' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='818' column='1' id='type-id-591'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_thresh' type-id='type-id-597' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='819' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='rx_free_thresh' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='820' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='rx_drop_en' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='821' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='rx_deferred_start' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='822' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offloads' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='reserved_64s' type-id='type-id-375' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='830' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='reserved_ptrs' type-id='type-id-96' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='831' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_thresh' size-in-bits='24' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='327' column='1' id='type-id-597'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pthresh' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='328' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='hthresh' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='329' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='wthresh' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='330' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_txconf' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='837' column='1' id='type-id-592'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tx_thresh' type-id='type-id-597' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tx_rs_thresh' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='839' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='tx_free_thresh' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='840' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tx_deferred_start' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='843' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='offloads' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='849' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-375' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='851' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-96' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='852' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_desc_lim' size-in-bits='80' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='898' column='1' id='type-id-593'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_max' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='899' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='nb_min' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='900' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_align' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='901' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='nb_seg_max' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='911' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='nb_mtu_seg_max' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='924' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_portconf' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1189' column='1' id='type-id-594'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='burst_size' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1190' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='ring_size' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_queues' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1192' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_switch_info' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1204' column='1' id='type-id-595'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-277' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='domain_id' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1206' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='port_id' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1207' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-589' size-in-bits='64' id='type-id-598'/>
+    <pointer-type-def type-id='type-id-599' size-in-bits='64' id='type-id-600'/>
+    <typedef-decl name='eth_dev_infos_get_t' type-id='type-id-600' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='230' column='1' id='type-id-495'/>
+    <class-decl name='rte_eth_rxq_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1289' column='1' id='type-id-601'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mp' type-id='type-id-372' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1290' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='conf' type-id='type-id-591' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1291' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='scattered_rx' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1292' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='nb_desc' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1293' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-601' size-in-bits='64' id='type-id-602'/>
+    <pointer-type-def type-id='type-id-603' size-in-bits='64' id='type-id-604'/>
+    <typedef-decl name='eth_rxq_info_get_t' type-id='type-id-604' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='306' column='1' id='type-id-496'/>
+    <class-decl name='rte_eth_txq_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1300' column='1' id='type-id-605'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='conf' type-id='type-id-592' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1301' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='nb_desc' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1302' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-605' size-in-bits='64' id='type-id-606'/>
+    <pointer-type-def type-id='type-id-607' size-in-bits='64' id='type-id-608'/>
+    <typedef-decl name='eth_txq_info_get_t' type-id='type-id-608' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='309' column='1' id='type-id-497'/>
+    <class-decl name='rte_eth_burst_mode' size-in-bits='8256' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1318' column='1' id='type-id-609'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1319' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='info' type-id='type-id-610' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1322' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-98' size-in-bits='8192' id='type-id-610'>
+      <subrange length='1024' type-id='type-id-17' id='type-id-468'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-609' size-in-bits='64' id='type-id-611'/>
+    <pointer-type-def type-id='type-id-612' size-in-bits='64' id='type-id-613'/>
+    <typedef-decl name='eth_burst_mode_get_t' type-id='type-id-613' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='312' column='1' id='type-id-498'/>
+    <pointer-type-def type-id='type-id-614' size-in-bits='64' id='type-id-615'/>
+    <typedef-decl name='eth_fw_version_get_t' type-id='type-id-615' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='299' column='1' id='type-id-499'/>
+    <pointer-type-def type-id='type-id-616' size-in-bits='64' id='type-id-617'/>
+    <typedef-decl name='eth_dev_supported_ptypes_get_t' type-id='type-id-617' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='234' column='1' id='type-id-500'/>
+    <pointer-type-def type-id='type-id-618' size-in-bits='64' id='type-id-619'/>
+    <typedef-decl name='eth_dev_ptypes_set_t' type-id='type-id-619' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='249' column='1' id='type-id-501'/>
+    <pointer-type-def type-id='type-id-620' size-in-bits='64' id='type-id-621'/>
+    <typedef-decl name='vlan_filter_set_t' type-id='type-id-621' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='318' column='1' id='type-id-502'/>
+    <enum-decl name='rte_vlan_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='416' column='1' id='type-id-622'>
+      <underlying-type type-id='type-id-27'/>
+      <enumerator name='ETH_VLAN_TYPE_UNKNOWN' value='0'/>
+      <enumerator name='ETH_VLAN_TYPE_INNER' value='1'/>
+      <enumerator name='ETH_VLAN_TYPE_OUTER' value='2'/>
+      <enumerator name='ETH_VLAN_TYPE_MAX' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-623' size-in-bits='64' id='type-id-624'/>
+    <typedef-decl name='vlan_tpid_set_t' type-id='type-id-624' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='323' column='1' id='type-id-503'/>
+    <pointer-type-def type-id='type-id-625' size-in-bits='64' id='type-id-626'/>
+    <typedef-decl name='vlan_strip_queue_set_t' type-id='type-id-626' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='335' column='1' id='type-id-504'/>
+    <typedef-decl name='vlan_offload_set_t' type-id='type-id-566' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='327' column='1' id='type-id-505'/>
+    <typedef-decl name='vlan_pvid_set_t' type-id='type-id-621' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='330' column='1' id='type-id-506'/>
+    <typedef-decl name='eth_queue_start_t' type-id='type-id-576' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='252' column='1' id='type-id-507'/>
+    <typedef-decl name='eth_queue_stop_t' type-id='type-id-576' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='256' column='1' id='type-id-508'/>
+    <qualified-type-def type-id='type-id-591' const='yes' id='type-id-627'/>
+    <pointer-type-def type-id='type-id-627' size-in-bits='64' id='type-id-628'/>
+    <pointer-type-def type-id='type-id-629' size-in-bits='64' id='type-id-630'/>
+    <typedef-decl name='eth_rx_queue_setup_t' type-id='type-id-630' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='260' column='1' id='type-id-509'/>
+    <pointer-type-def type-id='type-id-631' size-in-bits='64' id='type-id-632'/>
+    <typedef-decl name='eth_queue_release_t' type-id='type-id-632' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='283' column='1' id='type-id-510'/>
+    <pointer-type-def type-id='type-id-633' size-in-bits='64' id='type-id-634'/>
+    <typedef-decl name='eth_rx_queue_count_t' type-id='type-id-634' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='286' column='1' id='type-id-511'/>
+    <pointer-type-def type-id='type-id-635' size-in-bits='64' id='type-id-636'/>
+    <typedef-decl name='eth_rx_descriptor_done_t' type-id='type-id-636' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='290' column='1' id='type-id-512'/>
+    <typedef-decl name='eth_rx_descriptor_status_t' type-id='type-id-636' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='293' column='1' id='type-id-513'/>
+    <typedef-decl name='eth_tx_descriptor_status_t' type-id='type-id-636' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='296' column='1' id='type-id-514'/>
+    <typedef-decl name='eth_rx_enable_intr_t' type-id='type-id-576' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='275' column='1' id='type-id-515'/>
+    <typedef-decl name='eth_rx_disable_intr_t' type-id='type-id-576' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='279' column='1' id='type-id-516'/>
+    <qualified-type-def type-id='type-id-592' const='yes' id='type-id-637'/>
+    <pointer-type-def type-id='type-id-637' size-in-bits='64' id='type-id-638'/>
+    <pointer-type-def type-id='type-id-639' size-in-bits='64' id='type-id-640'/>
+    <typedef-decl name='eth_tx_queue_setup_t' type-id='type-id-640' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='268' column='1' id='type-id-517'/>
+    <pointer-type-def type-id='type-id-641' size-in-bits='64' id='type-id-642'/>
+    <typedef-decl name='eth_tx_done_cleanup_t' type-id='type-id-642' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='303' column='1' id='type-id-518'/>
+    <typedef-decl name='eth_dev_led_on_t' type-id='type-id-562' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='385' column='1' id='type-id-519'/>
+    <typedef-decl name='eth_dev_led_off_t' type-id='type-id-562' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='388' column='1' id='type-id-520'/>
+    <class-decl name='rte_eth_fc_conf' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='942' column='1' id='type-id-643'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='high_water' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='943' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='low_water' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='944' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pause_time' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='945' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='send_xon' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='946' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='mode' type-id='type-id-644' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='947' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mac_ctrl_frame_fwd' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='948' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='autoneg' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='949' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_fc_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='930' column='1' id='type-id-644'>
+      <underlying-type type-id='type-id-27'/>
+      <enumerator name='RTE_FC_NONE' value='0'/>
+      <enumerator name='RTE_FC_RX_PAUSE' value='1'/>
+      <enumerator name='RTE_FC_TX_PAUSE' value='2'/>
+      <enumerator name='RTE_FC_FULL' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-643' size-in-bits='64' id='type-id-645'/>
+    <pointer-type-def type-id='type-id-646' size-in-bits='64' id='type-id-647'/>
+    <typedef-decl name='flow_ctrl_get_t' type-id='type-id-647' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='355' column='1' id='type-id-521'/>
+    <typedef-decl name='flow_ctrl_set_t' type-id='type-id-647' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='359' column='1' id='type-id-522'/>
+    <class-decl name='rte_eth_pfc_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='957' column='1' id='type-id-648'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fc' type-id='type-id-643' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='958' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='priority' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='959' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-648' size-in-bits='64' id='type-id-649'/>
+    <pointer-type-def type-id='type-id-650' size-in-bits='64' id='type-id-651'/>
+    <typedef-decl name='priority_flow_ctrl_set_t' type-id='type-id-651' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='363' column='1' id='type-id-523'/>
+    <pointer-type-def type-id='type-id-652' size-in-bits='64' id='type-id-653'/>
+    <typedef-decl name='eth_uc_hash_table_set_t' type-id='type-id-653' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='404' column='1' id='type-id-524'/>
+    <pointer-type-def type-id='type-id-654' size-in-bits='64' id='type-id-655'/>
+    <typedef-decl name='eth_uc_all_hash_table_set_t' type-id='type-id-655' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='409' column='1' id='type-id-525'/>
+    <class-decl name='rte_eth_mirror_conf' size-in-bits='1216' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='670' column='1' id='type-id-656'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rule_type' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='dst_pool' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='672' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pool_mask' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vlan' type-id='type-id-657' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='675' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vlan_mirror' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='661' column='1' id='type-id-657'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_mask' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='vlan_id' type-id='type-id-658' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='664' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='1024' id='type-id-658'>
+      <subrange length='64' type-id='type-id-17' id='type-id-320'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-656' size-in-bits='64' id='type-id-659'/>
+    <pointer-type-def type-id='type-id-660' size-in-bits='64' id='type-id-661'/>
+    <typedef-decl name='eth_mirror_rule_set_t' type-id='type-id-661' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='418' column='1' id='type-id-526'/>
+    <typedef-decl name='eth_mirror_rule_reset_t' type-id='type-id-655' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='424' column='1' id='type-id-527'/>
+    <class-decl name='rte_eth_udp_tunnel' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1023' column='1' id='type-id-662'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='udp_port' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1024' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='prot_type' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1025' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-662' size-in-bits='64' id='type-id-663'/>
+    <pointer-type-def type-id='type-id-664' size-in-bits='64' id='type-id-665'/>
+    <typedef-decl name='eth_udp_tunnel_port_add_t' type-id='type-id-665' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='428' column='1' id='type-id-528'/>
+    <typedef-decl name='eth_udp_tunnel_port_del_t' type-id='type-id-665' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='432' column='1' id='type-id-529'/>
+    <class-decl name='rte_eth_l2_tunnel_conf' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='751' column='1' id='type-id-666'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='l2_tunnel_type' type-id='type-id-667' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='752' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ether_type' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tunnel_id' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='754' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='vf_id' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='755' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pool' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='756' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_tunnel_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='965' column='1' id='type-id-667'>
+      <underlying-type type-id='type-id-27'/>
+      <enumerator name='RTE_TUNNEL_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_TUNNEL_TYPE_VXLAN' value='1'/>
+      <enumerator name='RTE_TUNNEL_TYPE_GENEVE' value='2'/>
+      <enumerator name='RTE_TUNNEL_TYPE_TEREDO' value='3'/>
+      <enumerator name='RTE_TUNNEL_TYPE_NVGRE' value='4'/>
+      <enumerator name='RTE_TUNNEL_TYPE_IP_IN_GRE' value='5'/>
+      <enumerator name='RTE_L2_TUNNEL_TYPE_E_TAG' value='6'/>
+      <enumerator name='RTE_TUNNEL_TYPE_VXLAN_GPE' value='7'/>
+      <enumerator name='RTE_TUNNEL_TYPE_MAX' value='8'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-666' size-in-bits='64' id='type-id-668'/>
+    <pointer-type-def type-id='type-id-669' size-in-bits='64' id='type-id-670'/>
+    <typedef-decl name='eth_l2_tunnel_eth_type_conf_t' type-id='type-id-670' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='494' column='1' id='type-id-530'/>
+    <pointer-type-def type-id='type-id-671' size-in-bits='64' id='type-id-672'/>
+    <typedef-decl name='eth_l2_tunnel_offload_set_t' type-id='type-id-672' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='498' column='1' id='type-id-531'/>
+    <pointer-type-def type-id='type-id-673' size-in-bits='64' id='type-id-674'/>
+    <typedef-decl name='eth_set_queue_rate_limit_t' type-id='type-id-674' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='413' column='1' id='type-id-532'/>
+    <pointer-type-def type-id='type-id-439' size-in-bits='64' id='type-id-675'/>
+    <pointer-type-def type-id='type-id-676' size-in-bits='64' id='type-id-677'/>
+    <typedef-decl name='rss_hash_update_t' type-id='type-id-677' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='377' column='1' id='type-id-533'/>
+    <typedef-decl name='rss_hash_conf_get_t' type-id='type-id-677' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='381' column='1' id='type-id-534'/>
+    <class-decl name='rte_eth_rss_reta_entry64' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='684' column='1' id='type-id-678'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mask' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='685' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='reta' type-id='type-id-658' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='687' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-678' size-in-bits='64' id='type-id-679'/>
+    <pointer-type-def type-id='type-id-680' size-in-bits='64' id='type-id-681'/>
+    <typedef-decl name='reta_update_t' type-id='type-id-681' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='367' column='1' id='type-id-535'/>
+    <typedef-decl name='reta_query_t' type-id='type-id-681' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='372' column='1' id='type-id-536'/>
+    <class-decl name='rte_dev_reg_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='13' column='1' id='type-id-682'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-61' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='14' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offset' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='15' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='length' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='16' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='width' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='17' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='version' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='18' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-682' size-in-bits='64' id='type-id-683'/>
+    <pointer-type-def type-id='type-id-684' size-in-bits='64' id='type-id-685'/>
+    <typedef-decl name='eth_get_reg_t' type-id='type-id-685' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='471' column='1' id='type-id-537'/>
+    <typedef-decl name='eth_get_eeprom_length_t' type-id='type-id-562' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='475' column='1' id='type-id-538'/>
+    <class-decl name='rte_dev_eeprom_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='24' column='1' id='type-id-686'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-61' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='25' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offset' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='26' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='length' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='27' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='magic' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='28' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-686' size-in-bits='64' id='type-id-687'/>
+    <pointer-type-def type-id='type-id-688' size-in-bits='64' id='type-id-689'/>
+    <typedef-decl name='eth_get_eeprom_t' type-id='type-id-689' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='478' column='1' id='type-id-539'/>
+    <typedef-decl name='eth_set_eeprom_t' type-id='type-id-689' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='482' column='1' id='type-id-540'/>
+    <class-decl name='rte_eth_dev_module_info' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='34' column='1' id='type-id-690'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='eeprom_len' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-690' size-in-bits='64' id='type-id-691'/>
+    <pointer-type-def type-id='type-id-692' size-in-bits='64' id='type-id-693'/>
+    <typedef-decl name='eth_get_module_info_t' type-id='type-id-693' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='486' column='1' id='type-id-541'/>
+    <typedef-decl name='eth_get_module_eeprom_t' type-id='type-id-689' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='490' column='1' id='type-id-542'/>
+    <enum-decl name='rte_filter_type' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='28' column='1' id='type-id-694'>
+      <underlying-type type-id='type-id-27'/>
+      <enumerator name='RTE_ETH_FILTER_NONE' value='0'/>
+      <enumerator name='RTE_ETH_FILTER_MACVLAN' value='1'/>
+      <enumerator name='RTE_ETH_FILTER_ETHERTYPE' value='2'/>
+      <enumerator name='RTE_ETH_FILTER_FLEXIBLE' value='3'/>
+      <enumerator name='RTE_ETH_FILTER_SYN' value='4'/>
+      <enumerator name='RTE_ETH_FILTER_NTUPLE' value='5'/>
+      <enumerator name='RTE_ETH_FILTER_TUNNEL' value='6'/>
+      <enumerator name='RTE_ETH_FILTER_FDIR' value='7'/>
+      <enumerator name='RTE_ETH_FILTER_HASH' value='8'/>
+      <enumerator name='RTE_ETH_FILTER_L2_TUNNEL' value='9'/>
+      <enumerator name='RTE_ETH_FILTER_GENERIC' value='10'/>
+      <enumerator name='RTE_ETH_FILTER_MAX' value='11'/>
+    </enum-decl>
+    <enum-decl name='rte_filter_op' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='46' column='1' id='type-id-695'>
+      <underlying-type type-id='type-id-27'/>
+      <enumerator name='RTE_ETH_FILTER_NOP' value='0'/>
+      <enumerator name='RTE_ETH_FILTER_ADD' value='1'/>
+      <enumerator name='RTE_ETH_FILTER_UPDATE' value='2'/>
+      <enumerator name='RTE_ETH_FILTER_DELETE' value='3'/>
+      <enumerator name='RTE_ETH_FILTER_FLUSH' value='4'/>
+      <enumerator name='RTE_ETH_FILTER_GET' value='5'/>
+      <enumerator name='RTE_ETH_FILTER_SET' value='6'/>
+      <enumerator name='RTE_ETH_FILTER_INFO' value='7'/>
+      <enumerator name='RTE_ETH_FILTER_STATS' value='8'/>
+      <enumerator name='RTE_ETH_FILTER_OP_MAX' value='9'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-696' size-in-bits='64' id='type-id-697'/>
+    <typedef-decl name='eth_filter_ctrl_t' type-id='type-id-697' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='506' column='1' id='type-id-543'/>
+    <class-decl name='rte_eth_dcb_info' size-in-bits='16520' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1377' column='1' id='type-id-698'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1378' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='prio_tc' type-id='type-id-445' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1379' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='tc_bws' type-id='type-id-445' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1380' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='tc_queue' type-id='type-id-699' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1382' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dcb_tc_queue_mapping' size-in-bits='16384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1360' column='1' id='type-id-699'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tc_rxq' type-id='type-id-700' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1365' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8192'>
+        <var-decl name='tc_txq' type-id='type-id-700' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1370' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1362' column='1' id='type-id-701'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='base' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1363' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='nb_queue' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1364' column='1'/>
+      </data-member>
+    </class-decl>
+
+
+    <array-type-def dimensions='2' type-id='type-id-701' size-in-bits='1152' id='type-id-700'>
+      <subrange length='64' type-id='type-id-17' id='type-id-320'/>
+
+      <subrange length='8' type-id='type-id-17' id='type-id-74'/>
+
+    </array-type-def>
+
+
+    <pointer-type-def type-id='type-id-698' size-in-bits='64' id='type-id-702'/>
+    <pointer-type-def type-id='type-id-703' size-in-bits='64' id='type-id-704'/>
+    <typedef-decl name='eth_get_dcb_info' type-id='type-id-704' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='518' column='1' id='type-id-544'/>
+    <typedef-decl name='eth_timesync_enable_t' type-id='type-id-562' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='441' column='1' id='type-id-545'/>
+    <typedef-decl name='eth_timesync_disable_t' type-id='type-id-562' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='444' column='1' id='type-id-546'/>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='9' column='1' id='type-id-705'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tv_sec' type-id='type-id-706' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='11' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tv_nsec' type-id='type-id-707' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='long int' size-in-bits='64' id='type-id-708'/>
+    <typedef-decl name='__time_t' type-id='type-id-708' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-706'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-708' filepath='/usr/include/bits/types.h' line='196' column='1' id='type-id-707'/>
+    <pointer-type-def type-id='type-id-705' size-in-bits='64' id='type-id-709'/>
+    <pointer-type-def type-id='type-id-710' size-in-bits='64' id='type-id-711'/>
+    <typedef-decl name='eth_timesync_read_rx_timestamp_t' type-id='type-id-711' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='447' column='1' id='type-id-547'/>
+    <pointer-type-def type-id='type-id-712' size-in-bits='64' id='type-id-713'/>
+    <typedef-decl name='eth_timesync_read_tx_timestamp_t' type-id='type-id-713' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='452' column='1' id='type-id-548'/>
+    <typedef-decl name='__int64_t' type-id='type-id-708' filepath='/usr/include/bits/types.h' line='44' column='1' id='type-id-714'/>
+    <typedef-decl name='int64_t' type-id='type-id-714' filepath='/usr/include/bits/stdint-intn.h' line='27' column='1' id='type-id-715'/>
+    <pointer-type-def type-id='type-id-716' size-in-bits='64' id='type-id-717'/>
+    <typedef-decl name='eth_timesync_adjust_time' type-id='type-id-717' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='456' column='1' id='type-id-549'/>
+    <typedef-decl name='eth_timesync_read_time' type-id='type-id-713' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='459' column='1' id='type-id-550'/>
+    <qualified-type-def type-id='type-id-705' const='yes' id='type-id-718'/>
+    <pointer-type-def type-id='type-id-718' size-in-bits='64' id='type-id-719'/>
+    <pointer-type-def type-id='type-id-720' size-in-bits='64' id='type-id-721'/>
+    <typedef-decl name='eth_timesync_write_time' type-id='type-id-721' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='463' column='1' id='type-id-551'/>
+    <pointer-type-def type-id='type-id-722' size-in-bits='64' id='type-id-723'/>
+    <typedef-decl name='eth_read_clock' type-id='type-id-723' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='467' column='1' id='type-id-552'/>
+    <qualified-type-def type-id='type-id-15' const='yes' id='type-id-724'/>
+    <pointer-type-def type-id='type-id-724' size-in-bits='64' id='type-id-725'/>
+    <pointer-type-def type-id='type-id-726' size-in-bits='64' id='type-id-727'/>
+    <typedef-decl name='eth_xstats_get_by_id_t' type-id='type-id-727' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='188' column='1' id='type-id-553'/>
+    <pointer-type-def type-id='type-id-728' size-in-bits='64' id='type-id-729'/>
+    <typedef-decl name='eth_xstats_get_names_by_id_t' type-id='type-id-729' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='219' column='1' id='type-id-554'/>
+    <pointer-type-def type-id='type-id-730' size-in-bits='64' id='type-id-731'/>
+    <typedef-decl name='eth_tm_ops_get_t' type-id='type-id-731' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='512' column='1' id='type-id-555'/>
+    <typedef-decl name='eth_mtr_ops_get_t' type-id='type-id-731' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='515' column='1' id='type-id-556'/>
+    <pointer-type-def type-id='type-id-732' size-in-bits='64' id='type-id-733'/>
+    <typedef-decl name='eth_pool_ops_supported_t' type-id='type-id-733' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='522' column='1' id='type-id-557'/>
+    <class-decl name='rte_eth_hairpin_cap' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='861' column='1' id='type-id-734'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max_nb_queues' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='863' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='max_rx_2_tx' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_tx_2_rx' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='867' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='max_nb_desc' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='868' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-734' size-in-bits='64' id='type-id-735'/>
+    <pointer-type-def type-id='type-id-736' size-in-bits='64' id='type-id-737'/>
+    <typedef-decl name='eth_hairpin_cap_get_t' type-id='type-id-737' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='543' column='1' id='type-id-558'/>
+    <class-decl name='rte_eth_hairpin_conf' size-in-bits='1040' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='890' column='1' id='type-id-738'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='peer_count' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='891' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='peers' type-id='type-id-739' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='892' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_hairpin_peer' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='879' column='1' id='type-id-740'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='port' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='880' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='queue' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='881' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-740' size-in-bits='1024' id='type-id-739'>
+      <subrange length='32' type-id='type-id-17' id='type-id-91'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-738' const='yes' id='type-id-741'/>
+    <pointer-type-def type-id='type-id-741' size-in-bits='64' id='type-id-742'/>
+    <pointer-type-def type-id='type-id-743' size-in-bits='64' id='type-id-744'/>
+    <typedef-decl name='eth_rx_hairpin_queue_setup_t' type-id='type-id-744' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='571' column='1' id='type-id-559'/>
+    <typedef-decl name='eth_tx_hairpin_queue_setup_t' type-id='type-id-744' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='601' column='1' id='type-id-560'/>
+    <qualified-type-def type-id='type-id-470' const='yes' id='type-id-745'/>
+    <pointer-type-def type-id='type-id-745' size-in-bits='64' id='type-id-361'/>
+    <class-decl name='rte_intr_handle' size-in-bits='213248' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='69' column='1' id='type-id-353'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-746' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-9' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-747' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='max_intr' type-id='type-id-7' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='nb_efd' type-id='type-id-7' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='efd_counter_size' type-id='type-id-22' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='efds' type-id='type-id-748' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16576'>
+        <var-decl name='elist' type-id='type-id-749' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='213184'>
+        <var-decl name='intr_vec' type-id='type-id-263' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='71' column='1' id='type-id-746'>
+      <data-member access='private'>
+        <var-decl name='vfio_dev_fd' type-id='type-id-9' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='uio_cfg_fd' type-id='type-id-9' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='73' column='1'/>
+      </data-member>
+    </union-decl>
+    <enum-decl name='rte_intr_handle_type' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='27' column='1' id='type-id-747'>
+      <underlying-type type-id='type-id-27'/>
+      <enumerator name='RTE_INTR_HANDLE_UNKNOWN' value='0'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO' value='1'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO_INTX' value='2'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_LEGACY' value='3'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSI' value='4'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSIX' value='5'/>
+      <enumerator name='RTE_INTR_HANDLE_ALARM' value='6'/>
+      <enumerator name='RTE_INTR_HANDLE_EXT' value='7'/>
+      <enumerator name='RTE_INTR_HANDLE_VDEV' value='8'/>
+      <enumerator name='RTE_INTR_HANDLE_DEV_EVENT' value='9'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_REQ' value='10'/>
+      <enumerator name='RTE_INTR_HANDLE_MAX' value='11'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-9' size-in-bits='16384' id='type-id-748'>
+      <subrange length='512' type-id='type-id-17' id='type-id-750'/>
+
+    </array-type-def>
+    <class-decl name='rte_epoll_event' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='61' column='1' id='type-id-751'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='status' type-id='type-id-752' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-9' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='epfd' type-id='type-id-9' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='epdata' type-id='type-id-753' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-7' volatile='yes' id='type-id-752'/>
+    <class-decl name='rte_epoll_data' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='47' column='1' id='type-id-753'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event' type-id='type-id-7' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='data' type-id='type-id-61' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cb_fun' type-id='type-id-754' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='cb_arg' type-id='type-id-61' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='51' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-755' size-in-bits='64' id='type-id-756'/>
+    <typedef-decl name='rte_intr_event_cb_t' type-id='type-id-756' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='45' column='1' id='type-id-754'/>
+
+    <array-type-def dimensions='1' type-id='type-id-751' size-in-bits='196608' id='type-id-749'>
+      <subrange length='512' type-id='type-id-17' id='type-id-750'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-353' size-in-bits='64' id='type-id-362'/>
+    <class-decl name='rte_eth_dev_cb_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1' id='type-id-363'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-757' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-758' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_callback' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-759'/>
+    <pointer-type-def type-id='type-id-759' size-in-bits='64' id='type-id-757'/>
+    <pointer-type-def type-id='type-id-757' size-in-bits='64' id='type-id-758'/>
+    <class-decl name='rte_eth_rxtx_callback' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='758' column='1' id='type-id-760'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-761' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='759' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fn' type-id='type-id-762' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='763' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='param' type-id='type-id-61' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='764' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-760' size-in-bits='64' id='type-id-761'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='760' column='1' id='type-id-762'>
+      <data-member access='private'>
+        <var-decl name='rx' type-id='type-id-763' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='761' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='tx' type-id='type-id-764' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='762' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-765' size-in-bits='64' id='type-id-766'/>
+    <typedef-decl name='rte_rx_callback_fn' type-id='type-id-766' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1437' column='1' id='type-id-763'/>
+    <pointer-type-def type-id='type-id-767' size-in-bits='64' id='type-id-768'/>
+    <typedef-decl name='rte_tx_callback_fn' type-id='type-id-768' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1461' column='1' id='type-id-764'/>
+
+    <array-type-def dimensions='1' type-id='type-id-761' size-in-bits='65536' id='type-id-364'>
+      <subrange length='1024' type-id='type-id-17' id='type-id-468'/>
+
+    </array-type-def>
+    <enum-decl name='rte_eth_dev_state' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1467' column='1' id='type-id-365'>
+      <underlying-type type-id='type-id-27'/>
+      <enumerator name='RTE_ETH_DEV_UNUSED' value='0'/>
+      <enumerator name='RTE_ETH_DEV_ATTACHED' value='1'/>
+      <enumerator name='RTE_ETH_DEV_REMOVED' value='2'/>
+    </enum-decl>
+    <class-decl name='rte_cryptodev' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-769'/>
+    <pointer-type-def type-id='type-id-769' size-in-bits='64' id='type-id-355'/>
+    <class-decl name='dpaa_device_id' size-in-bits='32' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='63' column='1' id='type-id-352'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fman_id' type-id='type-id-22' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='mac_id' type-id='type-id-22' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='dev_id' type-id='type-id-3' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='66' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_dpaa_type' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='50' column='1' id='type-id-271'>
+      <underlying-type type-id='type-id-27'/>
+      <enumerator name='FSL_DPAA_ETH' value='1'/>
+      <enumerator name='FSL_DPAA_CRYPTO' value='2'/>
+    </enum-decl>
+    <class-decl name='rte_dpaa_driver_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='45' column='1' id='type-id-284'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-274' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='45' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-275' visibility='default' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='45' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-281' size-in-bits='64' id='type-id-270'/>
+    <pointer-type-def type-id='type-id-770' size-in-bits='64' id='type-id-771'/>
+    <typedef-decl name='rte_dpaa_probe_t' type-id='type-id-771' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='83' column='1' id='type-id-272'/>
+    <pointer-type-def type-id='type-id-772' size-in-bits='64' id='type-id-773'/>
+    <typedef-decl name='rte_dpaa_remove_t' type-id='type-id-773' filepath='../drivers/bus/dpaa/rte_dpaa_bus.h' line='85' column='1' id='type-id-273'/>
+    <function-decl name='rte_dpaa_driver_unregister' mangled-name='rte_dpaa_driver_unregister' filepath='../drivers/bus/dpaa/dpaa_bus.c' line='479' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_dpaa_driver_unregister@@DPDK_20.0'>
+      <parameter type-id='type-id-274' name='driver' filepath='../drivers/bus/dpaa/dpaa_bus.c' line='479' column='1'/>
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <function-decl name='rte_dpaa_driver_register' mangled-name='rte_dpaa_driver_register' filepath='../drivers/bus/dpaa/dpaa_bus.c' line='466' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_dpaa_driver_register@@DPDK_20.0'>
+      <parameter type-id='type-id-274' name='driver' filepath='../drivers/bus/dpaa/dpaa_bus.c' line='466' column='1'/>
+      <return type-id='type-id-20'/>
+    </function-decl>
+    <function-decl name='rte_dpaa_portal_fq_close' mangled-name='rte_dpaa_portal_fq_close' filepath='../drivers/bus/dpaa/dpaa_bus.c' line='347' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_dpaa_portal_fq_close@@DPDK_20.0'>
+      <parameter type-id='type-id-111' name='fq' filepath='../drivers/bus/dpaa/dpaa_bus.c' line='347' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <function-decl name='rte_dpaa_portal_fq_init' mangled-name='rte_dpaa_portal_fq_init' filepath='../drivers/bus/dpaa/dpaa_bus.c' line='320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_dpaa_portal_fq_init@@DPDK_20.0'>
+      <parameter type-id='type-id-61' name='arg' filepath='../drivers/bus/dpaa/dpaa_bus.c' line='320' column='1'/>
+      <parameter type-id='type-id-111' name='fq' filepath='../drivers/bus/dpaa/dpaa_bus.c' line='320' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <function-decl name='rte_dpaa_portal_init' mangled-name='rte_dpaa_portal_init' filepath='../drivers/bus/dpaa/dpaa_bus.c' line='251' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_dpaa_portal_init@@DPDK_20.0'>
+      <parameter type-id='type-id-61' name='arg' filepath='../drivers/bus/dpaa/dpaa_bus.c' line='251' column='1'/>
+      <return type-id='type-id-9'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-616'>
+      <parameter type-id='type-id-354'/>
+      <return type-id='type-id-590'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-338'>
+      <return type-id='type-id-337'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-301'>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-332'>
+      <parameter type-id='type-id-277'/>
+      <parameter type-id='type-id-61'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-325'>
+      <parameter type-id='type-id-324'/>
+      <parameter type-id='type-id-61'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-330'>
+      <parameter type-id='type-id-308'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-334'>
+      <parameter type-id='type-id-308'/>
+      <parameter type-id='type-id-61'/>
+      <parameter type-id='type-id-15'/>
+      <parameter type-id='type-id-34'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-772'>
+      <parameter type-id='type-id-347'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-770'>
+      <parameter type-id='type-id-274'/>
+      <parameter type-id='type-id-347'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-561'>
+      <parameter type-id='type-id-354'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-614'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-321'/>
+      <parameter type-id='type-id-34'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-732'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-277'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-720'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-719'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-726'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-725'/>
+      <parameter type-id='type-id-35'/>
+      <parameter type-id='type-id-5'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-696'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-694'/>
+      <parameter type-id='type-id-695'/>
+      <parameter type-id='type-id-61'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-623'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-622'/>
+      <parameter type-id='type-id-3'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-565'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-9'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-688'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-687'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-684'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-683'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-703'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-702'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-599'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-598'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-692'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-691'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-646'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-645'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-736'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-735'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-669'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-668'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-671'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-668'/>
+      <parameter type-id='type-id-7'/>
+      <parameter type-id='type-id-22'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-660'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-659'/>
+      <parameter type-id='type-id-22'/>
+      <parameter type-id='type-id-22'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-650'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-649'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-676'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-675'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-680'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-679'/>
+      <parameter type-id='type-id-3'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-577'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-39'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-664'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-663'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-581'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-580'/>
+      <parameter type-id='type-id-5'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-728'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-584'/>
+      <parameter type-id='type-id-725'/>
+      <parameter type-id='type-id-5'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-585'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-584'/>
+      <parameter type-id='type-id-5'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-571'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-425'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-573'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-425'/>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-569'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-425'/>
+      <parameter type-id='type-id-7'/>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-652'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-425'/>
+      <parameter type-id='type-id-22'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-712'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-709'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-710'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-709'/>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-716'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-715'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-575'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-3'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-620'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-3'/>
+      <parameter type-id='type-id-9'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-612'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-3'/>
+      <parameter type-id='type-id-611'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-673'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-3'/>
+      <parameter type-id='type-id-3'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-743'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-3'/>
+      <parameter type-id='type-id-3'/>
+      <parameter type-id='type-id-742'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-629'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-3'/>
+      <parameter type-id='type-id-3'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-628'/>
+      <parameter type-id='type-id-372'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-639'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-3'/>
+      <parameter type-id='type-id-3'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-638'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-587'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-3'/>
+      <parameter type-id='type-id-22'/>
+      <parameter type-id='type-id-22'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-618'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-654'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-22'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-722'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-35'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-730'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-61'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-345'>
+      <parameter type-id='type-id-61'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-635'>
+      <parameter type-id='type-id-61'/>
+      <parameter type-id='type-id-3'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-641'>
+      <parameter type-id='type-id-61'/>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-328'>
+      <parameter type-id='type-id-324'/>
+      <parameter type-id='type-id-327'/>
+      <parameter type-id='type-id-61'/>
+      <return type-id='type-id-308'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-765'>
+      <parameter type-id='type-id-3'/>
+      <parameter type-id='type-id-3'/>
+      <parameter type-id='type-id-418'/>
+      <parameter type-id='type-id-3'/>
+      <parameter type-id='type-id-3'/>
+      <parameter type-id='type-id-61'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-767'>
+      <parameter type-id='type-id-3'/>
+      <parameter type-id='type-id-3'/>
+      <parameter type-id='type-id-418'/>
+      <parameter type-id='type-id-3'/>
+      <parameter type-id='type-id-61'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-419'>
+      <parameter type-id='type-id-61'/>
+      <parameter type-id='type-id-418'/>
+      <parameter type-id='type-id-3'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-633'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-3'/>
+      <return type-id='type-id-7'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-755'>
+      <parameter type-id='type-id-9'/>
+      <parameter type-id='type-id-61'/>
+      <return type-id='type-id-20'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-563'>
+      <parameter type-id='type-id-354'/>
+      <return type-id='type-id-20'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-625'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-3'/>
+      <parameter type-id='type-id-9'/>
+      <return type-id='type-id-20'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-603'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-3'/>
+      <parameter type-id='type-id-602'/>
+      <return type-id='type-id-20'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-607'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-3'/>
+      <parameter type-id='type-id-606'/>
+      <return type-id='type-id-20'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-567'>
+      <parameter type-id='type-id-354'/>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-20'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-406'>
+      <parameter type-id='type-id-400'/>
+      <parameter type-id='type-id-61'/>
+      <return type-id='type-id-20'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-631'>
+      <parameter type-id='type-id-61'/>
+      <return type-id='type-id-20'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-411'>
+      <parameter type-id='type-id-61'/>
+      <parameter type-id='type-id-61'/>
+      <return type-id='type-id-20'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-343'>
+      <parameter type-id='type-id-61'/>
+      <parameter type-id='type-id-277'/>
+      <parameter type-id='type-id-342'/>
+      <return type-id='type-id-61'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_bus_fslmc.dump b/drivers/.abi/librte_bus_fslmc.dump
new file mode 100644
index 000000000..57b024379
--- /dev/null
+++ b/drivers/.abi/librte_bus_fslmc.dump
@@ -0,0 +1,5084 @@
+<abi-corpus path='gcc//drivers/librte_bus_fslmc.so.20.0' architecture='elf-amd-x86_64' soname='librte_bus_fslmc.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_common_dpaax.so.20.0'/>
+    <dependency name='librte_eventdev.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='librte_timer.so.20.0'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='dpaa2_affine_qbman_ethrx_swp' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpaa2_affine_qbman_swp' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpaa2_alloc_dpbp_dev' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpaa2_alloc_dq_storage' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpaa2_dpbp_supported' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpaa2_free_dpbp_dev' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpaa2_free_dq_storage' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpaa2_free_eq_descriptors' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpbp_disable' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpbp_enable' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpbp_get_attributes' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpbp_get_num_free_bufs' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpbp_open' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpbp_reset' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpci_get_opr' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpci_set_opr' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpci_set_rx_queue' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpcon_get_attributes' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpcon_open' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpdmai_close' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpdmai_disable' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpdmai_enable' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpdmai_get_attributes' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpdmai_get_rx_queue' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpdmai_get_tx_queue' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpdmai_open' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpdmai_set_rx_queue' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpio_add_static_dequeue_channel' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpio_close' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpio_disable' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpio_enable' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpio_get_attributes' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpio_open' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpio_remove_static_dequeue_channel' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpio_reset' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpio_set_stashing_destination' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='mc_get_soc_version' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='mc_get_version' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='mc_send_command' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_check_command_complete' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_check_new_result' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_eq_desc_clear' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_eq_desc_set_dca' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_eq_desc_set_fq' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_eq_desc_set_no_orp' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_eq_desc_set_orp' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_eq_desc_set_qd' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_eq_desc_set_response' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_eq_desc_set_token' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_fq_query_state' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_fq_state_frame_count' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_get_dqrr_from_idx' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_get_dqrr_idx' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_pull_desc_clear' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_pull_desc_set_fq' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_pull_desc_set_numframes' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_pull_desc_set_storage' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_release_desc_clear' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_release_desc_set_bpid' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_result_DQ_fd' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_result_DQ_flags' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_result_DQ_fqd_ctx' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_result_DQ_odpid' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_result_DQ_seqnum' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_result_SCN_state' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_result_eqresp_fd' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_result_eqresp_rc' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_result_eqresp_rspid' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_result_eqresp_set_rspid' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_result_has_new_result' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_swp_acquire' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_swp_dqrr_consume' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_swp_dqrr_idx_consume' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_swp_dqrr_next' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_swp_enqueue_multiple' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_swp_enqueue_multiple_desc' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_swp_enqueue_multiple_fd' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_swp_interrupt_clear_status' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_swp_prefetch_dqrr_next' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_swp_pull' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_swp_push_set' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='qbman_swp_release' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_dpaa2_alloc_dpci_dev' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_dpaa2_free_dpci_dev' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_dpaa2_intr_disable' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_dpaa2_intr_enable' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fslmc_driver_register' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fslmc_driver_unregister' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fslmc_get_device_count' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fslmc_object_register' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fslmc_vfio_dmamap' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_fslmc_vfio_mem_dmamap' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <elf-variable-symbols>
+    <elf-symbol name='dpaa2_dqrr_size' size='1' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpaa2_eqcr_size' size='1' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpaa2_io_portal' size='5120' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpaa2_svr_family' size='4' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpaa2_virt_mode' size='1' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='per_lcore__dpaa2_io' size='40' version='DPDK_20.0' is-default-version='yes' type='tls-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='per_lcore_dpaa2_held_bufs' size='272' version='DPDK_20.0' is-default-version='yes' type='tls-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_dpaa2_memsegs' size='16' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_global_active_dqs_list' size='4096' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_mcp_ptr_list' size='8' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='../drivers/bus/fslmc/fslmc_bus.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='dpaa2_logtype_bus' type-id='type-id-1' visibility='default' filepath='../drivers/bus/fslmc/fslmc_logs.h' line='10' column='1'/>
+    <class-decl name='rte_fslmc_bus' size-in-bits='1664' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='130' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='bus' type-id='type-id-3' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='131' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='device_list' type-id='type-id-4' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='132' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='driver_list' type-id='type-id-5' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='134' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='device_count' type-id='type-id-6' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='136' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-3'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-7' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-8' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-9' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-10' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-11' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-12' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-13' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-14' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-15' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-17' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-18' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-20' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-21' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-7'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-22' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-23' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-22'/>
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-23'/>
+    <type-decl name='char' size-in-bits='8' id='type-id-24'/>
+    <qualified-type-def type-id='type-id-24' const='yes' id='type-id-25'/>
+    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-8'/>
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-27'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-27' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-9'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-27' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-10'/>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-28'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-29' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-8' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-30' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-31' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-32' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-29'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-33' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-34' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-33'/>
+    <pointer-type-def type-id='type-id-33' size-in-bits='64' id='type-id-34'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-35'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-36' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-8' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-8' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-36'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-37' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-38' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-35' size-in-bits='64' id='type-id-37'/>
+    <pointer-type-def type-id='type-id-37' size-in-bits='64' id='type-id-38'/>
+    <qualified-type-def type-id='type-id-35' const='yes' id='type-id-39'/>
+    <pointer-type-def type-id='type-id-39' size-in-bits='64' id='type-id-30'/>
+    <qualified-type-def type-id='type-id-3' const='yes' id='type-id-40'/>
+    <pointer-type-def type-id='type-id-40' size-in-bits='64' id='type-id-31'/>
+    <class-decl name='rte_devargs' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='47' column='1' id='type-id-41'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-42' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='type' type-id='type-id-43' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='policy' type-id='type-id-44' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='name' type-id='type-id-45' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='' type-id='type-id-46' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='bus' type-id='type-id-22' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='cls' type-id='type-id-47' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='bus_str' type-id='type-id-8' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='cls_str' type-id='type-id-8' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='data' type-id='type-id-8' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='66' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1' id='type-id-42'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-32' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-48' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-32'/>
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-48'/>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-49'/>
+    <enum-decl name='rte_devtype' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='31' column='1' id='type-id-43'>
+      <underlying-type type-id='type-id-49'/>
+      <enumerator name='RTE_DEVTYPE_WHITELISTED_PCI' value='0'/>
+      <enumerator name='RTE_DEVTYPE_BLACKLISTED_PCI' value='1'/>
+      <enumerator name='RTE_DEVTYPE_VIRTUAL' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_dev_policy' filepath='../lib/librte_eal/common/include/rte_dev.h' line='72' column='1' id='type-id-44'>
+      <underlying-type type-id='type-id-49'/>
+      <enumerator name='RTE_DEV_WHITELISTED' value='0'/>
+      <enumerator name='RTE_DEV_BLACKLISTED' value='1'/>
+    </enum-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-50'/>
+
+    <array-type-def dimensions='1' type-id='type-id-24' size-in-bits='512' id='type-id-45'>
+      <subrange length='64' type-id='type-id-50' id='type-id-51'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='57' column='1' id='type-id-46'>
+      <data-member access='private'>
+        <var-decl name='args' type-id='type-id-52' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='drv_str' type-id='type-id-8' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='60' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-52'/>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-53'/>
+    <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-47'/>
+    <qualified-type-def type-id='type-id-28' const='yes' id='type-id-54'/>
+    <pointer-type-def type-id='type-id-54' size-in-bits='64' id='type-id-55'/>
+    <type-decl name='void' id='type-id-56'/>
+    <pointer-type-def type-id='type-id-56' size-in-bits='64' id='type-id-57'/>
+    <pointer-type-def type-id='type-id-58' size-in-bits='64' id='type-id-59'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-59' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-60'/>
+    <pointer-type-def type-id='type-id-61' size-in-bits='64' id='type-id-62'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-62' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-11'/>
+    <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-64'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-64' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-12'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-64' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-13'/>
+    <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-66'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-66' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-14'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-50' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-67'/>
+    <typedef-decl name='uint64_t' type-id='type-id-67' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-68'/>
+    <typedef-decl name='size_t' type-id='type-id-50' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-69'/>
+    <pointer-type-def type-id='type-id-70' size-in-bits='64' id='type-id-71'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-71' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-15'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-71' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-16'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-17'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-72' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-72'>
+      <underlying-type type-id='type-id-49'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-73'>
+      <underlying-type type-id='type-id-49'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-74' size-in-bits='64' id='type-id-75'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-75' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-18'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-76'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-8' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-8' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-8' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-22' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-47' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-33' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-57' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-76' const='yes' id='type-id-77'/>
+    <pointer-type-def type-id='type-id-77' size-in-bits='64' id='type-id-78'/>
+    <pointer-type-def type-id='type-id-79' size-in-bits='64' id='type-id-80'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-80' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-19'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-64' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-20'/>
+    <pointer-type-def type-id='type-id-81' size-in-bits='64' id='type-id-82'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-82' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-21'/>
+    <class-decl name='rte_fslmc_device_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='50' column='1' id='type-id-4'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-83' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-84' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='50' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_dpaa2_device' size-in-bits='214272' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='95' column='1' id='type-id-85'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-86' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='device' type-id='type-id-28' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='97' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='' type-id='type-id-87' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dev_type' type-id='type-id-88' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='103' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='object_id' type-id='type-id-89' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='104' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='intr_handle' type-id='type-id-90' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='213952'>
+        <var-decl name='driver' type-id='type-id-91' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='214016'>
+        <var-decl name='name' type-id='type-id-92' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='107' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='96' column='1' id='type-id-86'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-83' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-84' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='96' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-85' size-in-bits='64' id='type-id-83'/>
+    <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-84'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='98' column='1' id='type-id-87'>
+      <data-member access='private'>
+        <var-decl name='eth_dev' type-id='type-id-93' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='99' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='cryptodev' type-id='type-id-94' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='100' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='rawdev' type-id='type-id-95' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='101' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_eth_dev' size-in-bits='132608' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='777' column='1' id='type-id-96'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_pkt_burst' type-id='type-id-97' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='778' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tx_pkt_burst' type-id='type-id-98' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tx_pkt_prepare' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='data' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='786' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='process_private' type-id='type-id-57' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='787' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_ops' type-id='type-id-101' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='788' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='device' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='789' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='intr_handle' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='790' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='link_intr_cbs' type-id='type-id-103' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='792' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='post_rx_burst_cbs' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='797' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='66176'>
+        <var-decl name='pre_tx_burst_cbs' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131712'>
+        <var-decl name='state' type-id='type-id-105' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='803' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131776'>
+        <var-decl name='security_ctx' type-id='type-id-57' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131840'>
+        <var-decl name='reserved_64s' type-id='type-id-106' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='806' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='132096'>
+        <var-decl name='reserved_ptrs' type-id='type-id-107' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='807' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-108'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-108' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-109'/>
+    <typedef-decl name='uint16_t' type-id='type-id-109' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-89'/>
+    <class-decl name='rte_mbuf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='480' column='1' id='type-id-110'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheline0' type-id='type-id-111' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-57' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-112' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rearm_data' type-id='type-id-113' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='497' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_off' type-id='type-id-89' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_segs' type-id='type-id-89' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='port' type-id='type-id-89' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ol_flags' type-id='type-id-68' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_descriptor_fields1' type-id='type-id-111' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='pkt_len' type-id='type-id-114' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data_len' type-id='type-id-89' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='vlan_tci' type-id='type-id-89' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vlan_tci_outer' type-id='type-id-89' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='buf_len' type-id='type-id-89' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='timestamp' type-id='type-id-68' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cacheline1' type-id='type-id-111' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='pool' type-id='type-id-115' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='next' type-id='type-id-116' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv_size' type-id='type-id-89' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='timesync' type-id='type-id-89' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='seqn' type-id='type-id-114' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='shinfo' type-id='type-id-117' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dynfield1' type-id='type-id-118' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-57' size-in-bits='infinite' id='type-id-119'>
+      <subrange length='infinite' type-id='type-id-50' id='type-id-120'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER' type-id='type-id-119' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='414' column='1' id='type-id-111'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='491' column='1' id='type-id-112'>
+      <data-member access='private'>
+        <var-decl name='buf_iova' type-id='type-id-121' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='buf_physaddr' type-id='type-id-121' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_iova_t' type-id='type-id-68' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-121'/>
+
+    <array-type-def dimensions='1' type-id='type-id-68' size-in-bits='infinite' id='type-id-122'>
+      <subrange length='infinite' type-id='type-id-50' id='type-id-120'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER64' type-id='type-id-122' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='420' column='1' id='type-id-113'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-123'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-123' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-124'/>
+    <typedef-decl name='uint32_t' type-id='type-id-124' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-114'/>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-125'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-92' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-126' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-57' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-127' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-123' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-114' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-114' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-114' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-114' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-114' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-123' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-128' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-129' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-114' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-130' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-114' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-131' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-24' size-in-bits='256' id='type-id-92'>
+      <subrange length='32' type-id='type-id-50' id='type-id-132'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-126'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-57' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-68' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-133'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-92' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-134' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-69' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-68' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-128' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-114' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-134'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-135' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-121' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-68' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-135'/>
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-136'/>
+    <typedef-decl name='int32_t' type-id='type-id-136' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-128'/>
+    <qualified-type-def type-id='type-id-133' const='yes' id='type-id-137'/>
+    <pointer-type-def type-id='type-id-137' size-in-bits='64' id='type-id-127'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-138'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-114' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-114' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-114' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-139' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-57' size-in-bits='98304' id='type-id-139'>
+      <subrange length='1536' type-id='type-id-50' id='type-id-140'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-138' size-in-bits='64' id='type-id-129'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-130'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-141' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-142' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-143'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-144' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-115' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-145' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-144'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-141' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-143' size-in-bits='64' id='type-id-141'/>
+    <pointer-type-def type-id='type-id-125' size-in-bits='64' id='type-id-115'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-145'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-121' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-135' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-141' size-in-bits='64' id='type-id-142'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-131'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-146' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-147' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-148'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-149' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-115' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-57' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-150' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-69' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-151' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-57' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-149'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-146' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-148' size-in-bits='64' id='type-id-146'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-150'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-121' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-135' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-152' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-153'/>
+    <pointer-type-def type-id='type-id-153' size-in-bits='64' id='type-id-151'/>
+    <pointer-type-def type-id='type-id-146' size-in-bits='64' id='type-id-147'/>
+    <pointer-type-def type-id='type-id-110' size-in-bits='64' id='type-id-116'/>
+    <class-decl name='rte_mbuf_ext_shared_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='689' column='1' id='type-id-154'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_cb' type-id='type-id-155' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcb_opaque' type-id='type-id-57' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt_atomic' type-id='type-id-156' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-157' size-in-bits='64' id='type-id-158'/>
+    <typedef-decl name='rte_mbuf_extbuf_free_callback_t' type-id='type-id-158' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='684' column='1' id='type-id-155'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-156' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-159'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-160' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-161'/>
+    <typedef-decl name='__int16_t' type-id='type-id-161' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-162'/>
+    <typedef-decl name='int16_t' type-id='type-id-162' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-163'/>
+    <qualified-type-def type-id='type-id-163' volatile='yes' id='type-id-160'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-159' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-156'/>
+    <pointer-type-def type-id='type-id-154' size-in-bits='64' id='type-id-117'/>
+
+    <array-type-def dimensions='1' type-id='type-id-68' size-in-bits='128' id='type-id-118'>
+      <subrange length='2' type-id='type-id-50' id='type-id-164'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-116' size-in-bits='64' id='type-id-165'/>
+    <pointer-type-def type-id='type-id-166' size-in-bits='64' id='type-id-167'/>
+    <typedef-decl name='eth_rx_burst_t' type-id='type-id-167' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='340' column='1' id='type-id-97'/>
+    <typedef-decl name='eth_tx_burst_t' type-id='type-id-167' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='345' column='1' id='type-id-98'/>
+    <typedef-decl name='eth_tx_prep_t' type-id='type-id-167' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='350' column='1' id='type-id-99'/>
+    <class-decl name='rte_eth_dev_data' size-in-bits='55808' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='820' column='1' id='type-id-168'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-45' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='821' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_queues' type-id='type-id-169' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='823' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_queues' type-id='type-id-169' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='824' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='nb_rx_queues' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='825' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='656'>
+        <var-decl name='nb_tx_queues' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='826' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='sriov' type-id='type-id-170' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='dev_private' type-id='type-id-57' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='830' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_link' type-id='type-id-171' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='835' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dev_conf' type-id='type-id-172' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='836' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25536'>
+        <var-decl name='mtu' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='837' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25568'>
+        <var-decl name='min_rx_buf_size' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25600'>
+        <var-decl name='rx_mbuf_alloc_failed' type-id='type-id-68' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='841' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25664'>
+        <var-decl name='mac_addrs' type-id='type-id-173' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='842' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25728'>
+        <var-decl name='mac_pool_sel' type-id='type-id-174' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='846' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='33920'>
+        <var-decl name='hash_mac_addrs' type-id='type-id-173' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='848' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='33984'>
+        <var-decl name='port_id' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='852' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='promiscuous' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='855' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='scattered_rx' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='856' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='all_multicast' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='857' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4'>
+        <var-decl name='dev_started' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='858' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3'>
+        <var-decl name='lro' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='859' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='34008'>
+        <var-decl name='rx_queue_state' type-id='type-id-176' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='860' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='42200'>
+        <var-decl name='tx_queue_state' type-id='type-id-176' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='862' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50400'>
+        <var-decl name='dev_flags' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='864' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50432'>
+        <var-decl name='kdrv' type-id='type-id-177' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50464'>
+        <var-decl name='numa_node' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='866' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50496'>
+        <var-decl name='vlan_filter_conf' type-id='type-id-178' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='867' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='54592'>
+        <var-decl name='owner' type-id='type-id-179' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='869' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55168'>
+        <var-decl name='representor_id' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='870' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55232'>
+        <var-decl name='reserved_64s' type-id='type-id-106' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='875' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55488'>
+        <var-decl name='reserved_ptrs' type-id='type-id-107' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='876' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-57' size-in-bits='64' id='type-id-169'/>
+    <class-decl name='rte_eth_dev_sriov' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1476' column='1' id='type-id-170'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='active' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1477' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='nb_q_per_pool' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1478' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='def_vmdq_idx' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1479' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='def_pool_q_idx' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1480' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-180'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-180' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-181'/>
+    <typedef-decl name='uint8_t' type-id='type-id-181' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-175'/>
+    <class-decl name='rte_eth_link' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='308' column='1' id='type-id-171'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_speed' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='309' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='15'>
+        <var-decl name='link_duplex' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='310' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='14'>
+        <var-decl name='link_autoneg' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='311' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='13'>
+        <var-decl name='link_status' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='312' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_conf' size-in-bits='24640' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1045' column='1' id='type-id-172'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_speeds' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1046' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rxmode' type-id='type-id-182' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1053' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='txmode' type-id='type-id-183' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1054' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='lpbk_mode' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1055' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='rx_adv_conf' type-id='type-id-184' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1068' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='17984'>
+        <var-decl name='tx_adv_conf' type-id='type-id-185' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1076' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18080'>
+        <var-decl name='dcb_capability_en' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1079' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18112'>
+        <var-decl name='fdir_conf' type-id='type-id-186' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1080' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24576'>
+        <var-decl name='intr_conf' type-id='type-id-187' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1081' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rxmode' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='394' column='1' id='type-id-182'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mq_mode' type-id='type-id-188' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='396' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_rx_pkt_len' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='397' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='max_lro_pkt_size' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='399' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='split_hdr_size' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='400' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='offloads' type-id='type-id-68' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='406' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-118' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='408' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-189' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='409' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_rx_mq_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='344' column='1' id='type-id-188'>
+      <underlying-type type-id='type-id-49'/>
+      <enumerator name='ETH_MQ_RX_NONE' value='0'/>
+      <enumerator name='ETH_MQ_RX_RSS' value='1'/>
+      <enumerator name='ETH_MQ_RX_DCB' value='2'/>
+      <enumerator name='ETH_MQ_RX_DCB_RSS' value='3'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_ONLY' value='4'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_RSS' value='5'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_DCB' value='6'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_DCB_RSS' value='7'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-57' size-in-bits='128' id='type-id-189'>
+      <subrange length='2' type-id='type-id-50' id='type-id-164'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_txmode' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='792' column='1' id='type-id-183'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mq_mode' type-id='type-id-190' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='793' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offloads' type-id='type-id-68' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='799' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pvid' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='hw_vlan_reject_tagged' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='hw_vlan_reject_untagged' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='806' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='hw_vlan_insert_pvid' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='808' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-118' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='811' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-189' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='812' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_tx_mq_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='377' column='1' id='type-id-190'>
+      <underlying-type type-id='type-id-49'/>
+      <enumerator name='ETH_MQ_TX_NONE' value='0'/>
+      <enumerator name='ETH_MQ_TX_DCB' value='1'/>
+      <enumerator name='ETH_MQ_TX_VMDQ_DCB' value='2'/>
+      <enumerator name='ETH_MQ_TX_VMDQ_ONLY' value='3'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16960' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1060' column='1' id='type-id-184'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rss_conf' type-id='type-id-191' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1061' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='vmdq_dcb_conf' type-id='type-id-192' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1062' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8512'>
+        <var-decl name='dcb_rx_conf' type-id='type-id-193' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1064' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8640'>
+        <var-decl name='vmdq_rx_conf' type-id='type-id-194' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1066' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rss_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='448' column='1' id='type-id-191'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rss_key' type-id='type-id-195' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rss_key_len' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rss_hf' type-id='type-id-68' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='451' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-175' size-in-bits='64' id='type-id-195'/>
+    <class-decl name='rte_eth_vmdq_dcb_conf' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='745' column='1' id='type-id-192'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-196' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='746' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='enable_default_pool' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='default_pool' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='748' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='nb_pool_maps' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='749' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pool_map' type-id='type-id-197' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8256'>
+        <var-decl name='dcb_tc' type-id='type-id-198' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='754' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_nb_pools' filepath='../lib/librte_ethdev/rte_ethdev.h' line='704' column='1' id='type-id-196'>
+      <underlying-type type-id='type-id-49'/>
+      <enumerator name='ETH_8_POOLS' value='8'/>
+      <enumerator name='ETH_16_POOLS' value='16'/>
+      <enumerator name='ETH_32_POOLS' value='32'/>
+      <enumerator name='ETH_64_POOLS' value='64'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='750' column='1' id='type-id-199'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_id' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='751' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pools' type-id='type-id-68' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='752' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-199' size-in-bits='8192' id='type-id-197'>
+      <subrange length='64' type-id='type-id-50' id='type-id-51'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-175' size-in-bits='64' id='type-id-198'>
+      <subrange length='8' type-id='type-id-50' id='type-id-200'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_dcb_rx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='712' column='1' id='type-id-193'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-201' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-198' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='715' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_nb_tcs' filepath='../lib/librte_ethdev/rte_ethdev.h' line='695' column='1' id='type-id-201'>
+      <underlying-type type-id='type-id-49'/>
+      <enumerator name='ETH_4_TCS' value='4'/>
+      <enumerator name='ETH_8_TCS' value='8'/>
+    </enum-decl>
+    <class-decl name='rte_eth_vmdq_rx_conf' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='776' column='1' id='type-id-194'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-196' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='777' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='enable_default_pool' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='778' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='default_pool' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='enable_loop_back' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='nb_pool_maps' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='781' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rx_mode' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='782' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pool_map' type-id='type-id-197' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='786' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <union-decl name='__anonymous_union__' size-in-bits='96' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1069' column='1' id='type-id-185'>
+      <data-member access='private'>
+        <var-decl name='vmdq_dcb_tx_conf' type-id='type-id-202' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1070' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dcb_tx_conf' type-id='type-id-203' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1072' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='vmdq_tx_conf' type-id='type-id-204' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1074' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_eth_vmdq_dcb_tx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='718' column='1' id='type-id-202'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-196' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-198' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='721' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dcb_tx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='724' column='1' id='type-id-203'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-201' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-198' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='727' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vmdq_tx_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='730' column='1' id='type-id-204'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-196' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='731' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_fdir_conf' size-in-bits='6464' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1005' column='1' id='type-id-186'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mode' type-id='type-id-205' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1006' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='pballoc' type-id='type-id-206' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1007' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='status' type-id='type-id-207' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1008' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='drop_queue' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1010' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mask' type-id='type-id-208' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1011' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='flex_conf' type-id='type-id-209' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1012' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_fdir_mode' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='603' column='1' id='type-id-205'>
+      <underlying-type type-id='type-id-49'/>
+      <enumerator name='RTE_FDIR_MODE_NONE' value='0'/>
+      <enumerator name='RTE_FDIR_MODE_SIGNATURE' value='1'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT' value='2'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT_MAC_VLAN' value='3'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT_TUNNEL' value='4'/>
+    </enum-decl>
+    <enum-decl name='rte_fdir_pballoc_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='984' column='1' id='type-id-206'>
+      <underlying-type type-id='type-id-49'/>
+      <enumerator name='RTE_FDIR_PBALLOC_64K' value='0'/>
+      <enumerator name='RTE_FDIR_PBALLOC_128K' value='1'/>
+      <enumerator name='RTE_FDIR_PBALLOC_256K' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_fdir_status_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='993' column='1' id='type-id-207'>
+      <underlying-type type-id='type-id-49'/>
+      <enumerator name='RTE_FDIR_NO_REPORT_STATUS' value='0'/>
+      <enumerator name='RTE_FDIR_REPORT_STATUS' value='1'/>
+      <enumerator name='RTE_FDIR_REPORT_STATUS_ALWAYS' value='2'/>
+    </enum-decl>
+    <class-decl name='rte_eth_fdir_masks' size-in-bits='544' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='533' column='1' id='type-id-208'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_tci_mask' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='534' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ipv4_mask' type-id='type-id-210' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='536' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ipv6_mask' type-id='type-id-211' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='538' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='src_port_mask' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='540' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='dst_port_mask' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='542' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='mac_addr_byte_mask' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='545' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='tunnel_id_mask' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='547' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='tunnel_type_mask' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='548' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_ipv4_flow' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='342' column='1' id='type-id-210'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='343' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dst_ip' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='344' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tos' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='345' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='ttl' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='346' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='proto' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='347' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_ipv6_flow' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='381' column='1' id='type-id-211'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-212' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='382' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dst_ip' type-id='type-id-212' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='383' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='tc' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='384' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='264'>
+        <var-decl name='proto' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='385' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='272'>
+        <var-decl name='hop_limits' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='386' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-114' size-in-bits='128' id='type-id-212'>
+      <subrange length='4' type-id='type-id-50' id='type-id-213'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_fdir_flex_conf' size-in-bits='5792' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='591' column='1' id='type-id-209'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_payloads' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='592' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='nb_flexmasks' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='593' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flex_set' type-id='type-id-214' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='594' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2336'>
+        <var-decl name='flex_mask' type-id='type-id-215' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='596' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_flex_payload_cfg' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='568' column='1' id='type-id-216'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-217' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='569' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='src_offset' type-id='type-id-218' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='570' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_payload_type' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='555' column='1' id='type-id-217'>
+      <underlying-type type-id='type-id-49'/>
+      <enumerator name='RTE_ETH_PAYLOAD_UNKNOWN' value='0'/>
+      <enumerator name='RTE_ETH_RAW_PAYLOAD' value='1'/>
+      <enumerator name='RTE_ETH_L2_PAYLOAD' value='2'/>
+      <enumerator name='RTE_ETH_L3_PAYLOAD' value='3'/>
+      <enumerator name='RTE_ETH_L4_PAYLOAD' value='4'/>
+      <enumerator name='RTE_ETH_PAYLOAD_MAX' value='8'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-89' size-in-bits='256' id='type-id-218'>
+      <subrange length='16' type-id='type-id-50' id='type-id-219'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-216' size-in-bits='2304' id='type-id-214'>
+      <subrange length='8' type-id='type-id-50' id='type-id-200'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_fdir_flex_mask' size-in-bits='144' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='581' column='1' id='type-id-220'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flow_type' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='582' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='mask' type-id='type-id-221' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='583' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-175' size-in-bits='128' id='type-id-221'>
+      <subrange length='16' type-id='type-id-50' id='type-id-219'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-220' size-in-bits='3456' id='type-id-215'>
+      <subrange length='24' type-id='type-id-50' id='type-id-222'/>
+
+    </array-type-def>
+    <class-decl name='rte_intr_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1031' column='1' id='type-id-187'>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='lsc' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1033' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='rxq' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1035' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='rmv' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1037' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_ether_addr' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='60' column='1' id='type-id-223'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr_bytes' type-id='type-id-224' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='61' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-175' size-in-bits='48' id='type-id-224'>
+      <subrange length='6' type-id='type-id-50' id='type-id-225'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-223' size-in-bits='64' id='type-id-173'/>
+
+    <array-type-def dimensions='1' type-id='type-id-68' size-in-bits='8192' id='type-id-174'>
+      <subrange length='128' type-id='type-id-50' id='type-id-226'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-175' size-in-bits='8192' id='type-id-176'>
+      <subrange length='1024' type-id='type-id-50' id='type-id-227'/>
+
+    </array-type-def>
+    <enum-decl name='rte_kernel_driver' filepath='../lib/librte_eal/common/include/rte_dev.h' line='60' column='1' id='type-id-177'>
+      <underlying-type type-id='type-id-49'/>
+      <enumerator name='RTE_KDRV_UNKNOWN' value='0'/>
+      <enumerator name='RTE_KDRV_IGB_UIO' value='1'/>
+      <enumerator name='RTE_KDRV_VFIO' value='2'/>
+      <enumerator name='RTE_KDRV_UIO_GENERIC' value='3'/>
+      <enumerator name='RTE_KDRV_NIC_UIO' value='4'/>
+      <enumerator name='RTE_KDRV_NONE' value='5'/>
+    </enum-decl>
+    <class-decl name='rte_vlan_filter_conf' size-in-bits='4096' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='427' column='1' id='type-id-178'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ids' type-id='type-id-228' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='428' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-68' size-in-bits='4096' id='type-id-228'>
+      <subrange length='64' type-id='type-id-50' id='type-id-51'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_dev_owner' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1490' column='1' id='type-id-179'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-68' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1491' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='name' type-id='type-id-45' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1492' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-68' size-in-bits='256' id='type-id-106'>
+      <subrange length='4' type-id='type-id-50' id='type-id-213'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-57' size-in-bits='256' id='type-id-107'>
+      <subrange length='4' type-id='type-id-50' id='type-id-213'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-168' size-in-bits='64' id='type-id-100'/>
+    <class-decl name='eth_dev_ops' size-in-bits='6016' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='609' column='1' id='type-id-229'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_configure' type-id='type-id-230' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_start' type-id='type-id-231' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='611' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dev_stop' type-id='type-id-232' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='612' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_set_link_up' type-id='type-id-233' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dev_set_link_down' type-id='type-id-234' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='614' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_close' type-id='type-id-235' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='615' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='dev_reset' type-id='type-id-236' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='616' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='link_update' type-id='type-id-237' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='617' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='is_removed' type-id='type-id-238' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='618' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='promiscuous_enable' type-id='type-id-239' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='promiscuous_disable' type-id='type-id-240' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='allmulticast_enable' type-id='type-id-241' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='623' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='allmulticast_disable' type-id='type-id-242' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='624' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='mac_addr_remove' type-id='type-id-243' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='625' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='mac_addr_add' type-id='type-id-244' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='626' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='mac_addr_set' type-id='type-id-245' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='627' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='set_mc_addr_list' type-id='type-id-246' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='628' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mtu_set' type-id='type-id-247' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='629' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='stats_get' type-id='type-id-248' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='631' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='stats_reset' type-id='type-id-249' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='632' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='xstats_get' type-id='type-id-250' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='633' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='xstats_reset' type-id='type-id-251' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='634' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='xstats_get_names' type-id='type-id-252' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='635' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='queue_stats_mapping_set' type-id='type-id-253' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='637' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='dev_infos_get' type-id='type-id-254' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='640' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='rxq_info_get' type-id='type-id-255' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='641' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='txq_info_get' type-id='type-id-256' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='642' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='rx_burst_mode_get' type-id='type-id-257' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='643' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='tx_burst_mode_get' type-id='type-id-257' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='644' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='fw_version_get' type-id='type-id-258' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='645' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='dev_supported_ptypes_get' type-id='type-id-259' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='646' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='dev_ptypes_set' type-id='type-id-260' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='648' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='vlan_filter_set' type-id='type-id-261' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='651' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='vlan_tpid_set' type-id='type-id-262' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='652' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='vlan_strip_queue_set' type-id='type-id-263' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='653' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='vlan_offload_set' type-id='type-id-264' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='654' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='vlan_pvid_set' type-id='type-id-265' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='655' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='rx_queue_start' type-id='type-id-266' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='657' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='rx_queue_stop' type-id='type-id-267' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='658' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2496'>
+        <var-decl name='tx_queue_start' type-id='type-id-266' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='659' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='tx_queue_stop' type-id='type-id-267' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='660' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='rx_queue_setup' type-id='type-id-268' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='661' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2688'>
+        <var-decl name='rx_queue_release' type-id='type-id-269' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2752'>
+        <var-decl name='rx_queue_count' type-id='type-id-270' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='663' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2816'>
+        <var-decl name='rx_descriptor_done' type-id='type-id-271' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2880'>
+        <var-decl name='rx_descriptor_status' type-id='type-id-272' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='666' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2944'>
+        <var-decl name='tx_descriptor_status' type-id='type-id-273' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3008'>
+        <var-decl name='rx_queue_intr_enable' type-id='type-id-274' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='670' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3072'>
+        <var-decl name='rx_queue_intr_disable' type-id='type-id-275' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3136'>
+        <var-decl name='tx_queue_setup' type-id='type-id-276' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='672' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3200'>
+        <var-decl name='tx_queue_release' type-id='type-id-269' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3264'>
+        <var-decl name='tx_done_cleanup' type-id='type-id-277' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='674' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3328'>
+        <var-decl name='dev_led_on' type-id='type-id-278' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3392'>
+        <var-decl name='dev_led_off' type-id='type-id-279' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='677' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3456'>
+        <var-decl name='flow_ctrl_get' type-id='type-id-280' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='679' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3520'>
+        <var-decl name='flow_ctrl_set' type-id='type-id-281' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='680' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='priority_flow_ctrl_set' type-id='type-id-282' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='681' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3648'>
+        <var-decl name='uc_hash_table_set' type-id='type-id-283' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='683' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3712'>
+        <var-decl name='uc_all_hash_table_set' type-id='type-id-284' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='684' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3776'>
+        <var-decl name='mirror_rule_set' type-id='type-id-285' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='686' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3840'>
+        <var-decl name='mirror_rule_reset' type-id='type-id-286' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='687' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3904'>
+        <var-decl name='udp_tunnel_port_add' type-id='type-id-287' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='689' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3968'>
+        <var-decl name='udp_tunnel_port_del' type-id='type-id-288' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4032'>
+        <var-decl name='l2_tunnel_eth_type_conf' type-id='type-id-289' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4096'>
+        <var-decl name='l2_tunnel_offload_set' type-id='type-id-290' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='693' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4160'>
+        <var-decl name='set_queue_rate_limit' type-id='type-id-291' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='696' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4224'>
+        <var-decl name='rss_hash_update' type-id='type-id-292' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='698' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4288'>
+        <var-decl name='rss_hash_conf_get' type-id='type-id-293' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='699' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4352'>
+        <var-decl name='reta_update' type-id='type-id-294' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='700' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4416'>
+        <var-decl name='reta_query' type-id='type-id-295' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='701' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4480'>
+        <var-decl name='get_reg' type-id='type-id-296' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='703' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4544'>
+        <var-decl name='get_eeprom_length' type-id='type-id-297' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='704' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4608'>
+        <var-decl name='get_eeprom' type-id='type-id-298' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='705' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4672'>
+        <var-decl name='set_eeprom' type-id='type-id-299' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='706' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4736'>
+        <var-decl name='get_module_info' type-id='type-id-300' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='708' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4800'>
+        <var-decl name='get_module_eeprom' type-id='type-id-301' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='710' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4864'>
+        <var-decl name='filter_ctrl' type-id='type-id-302' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4928'>
+        <var-decl name='get_dcb_info' type-id='type-id-303' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='715' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4992'>
+        <var-decl name='timesync_enable' type-id='type-id-304' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='717' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5056'>
+        <var-decl name='timesync_disable' type-id='type-id-305' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5120'>
+        <var-decl name='timesync_read_rx_timestamp' type-id='type-id-306' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='721' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5184'>
+        <var-decl name='timesync_read_tx_timestamp' type-id='type-id-307' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='723' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5248'>
+        <var-decl name='timesync_adjust_time' type-id='type-id-308' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5312'>
+        <var-decl name='timesync_read_time' type-id='type-id-309' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='726' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5376'>
+        <var-decl name='timesync_write_time' type-id='type-id-310' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='727' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5440'>
+        <var-decl name='read_clock' type-id='type-id-311' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='729' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5504'>
+        <var-decl name='xstats_get_by_id' type-id='type-id-312' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='731' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5568'>
+        <var-decl name='xstats_get_names_by_id' type-id='type-id-313' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='733' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5632'>
+        <var-decl name='tm_ops_get' type-id='type-id-314' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='736' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5696'>
+        <var-decl name='mtr_ops_get' type-id='type-id-315' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='739' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5760'>
+        <var-decl name='pool_ops_supported' type-id='type-id-316' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='742' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5824'>
+        <var-decl name='hairpin_cap_get' type-id='type-id-317' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='745' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5888'>
+        <var-decl name='rx_hairpin_queue_setup' type-id='type-id-318' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5952'>
+        <var-decl name='tx_hairpin_queue_setup' type-id='type-id-319' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='749' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-96' size-in-bits='64' id='type-id-93'/>
+    <pointer-type-def type-id='type-id-320' size-in-bits='64' id='type-id-321'/>
+    <typedef-decl name='eth_dev_configure_t' type-id='type-id-321' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='31' column='1' id='type-id-230'/>
+    <typedef-decl name='eth_dev_start_t' type-id='type-id-321' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='34' column='1' id='type-id-231'/>
+    <pointer-type-def type-id='type-id-322' size-in-bits='64' id='type-id-323'/>
+    <typedef-decl name='eth_dev_stop_t' type-id='type-id-323' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='37' column='1' id='type-id-232'/>
+    <typedef-decl name='eth_dev_set_link_up_t' type-id='type-id-321' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='40' column='1' id='type-id-233'/>
+    <typedef-decl name='eth_dev_set_link_down_t' type-id='type-id-321' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='43' column='1' id='type-id-234'/>
+    <typedef-decl name='eth_dev_close_t' type-id='type-id-323' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='46' column='1' id='type-id-235'/>
+    <typedef-decl name='eth_dev_reset_t' type-id='type-id-321' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='49' column='1' id='type-id-236'/>
+    <pointer-type-def type-id='type-id-324' size-in-bits='64' id='type-id-325'/>
+    <typedef-decl name='eth_link_update_t' type-id='type-id-325' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='155' column='1' id='type-id-237'/>
+    <typedef-decl name='eth_is_removed_t' type-id='type-id-321' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='52' column='1' id='type-id-238'/>
+    <typedef-decl name='eth_promiscuous_enable_t' type-id='type-id-321' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='78' column='1' id='type-id-239'/>
+    <typedef-decl name='eth_promiscuous_disable_t' type-id='type-id-321' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='103' column='1' id='type-id-240'/>
+    <typedef-decl name='eth_allmulticast_enable_t' type-id='type-id-321' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='128' column='1' id='type-id-241'/>
+    <typedef-decl name='eth_allmulticast_disable_t' type-id='type-id-321' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='153' column='1' id='type-id-242'/>
+    <pointer-type-def type-id='type-id-326' size-in-bits='64' id='type-id-327'/>
+    <typedef-decl name='eth_mac_addr_remove_t' type-id='type-id-327' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='391' column='1' id='type-id-243'/>
+    <pointer-type-def type-id='type-id-328' size-in-bits='64' id='type-id-329'/>
+    <typedef-decl name='eth_mac_addr_add_t' type-id='type-id-329' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='394' column='1' id='type-id-244'/>
+    <pointer-type-def type-id='type-id-330' size-in-bits='64' id='type-id-331'/>
+    <typedef-decl name='eth_mac_addr_set_t' type-id='type-id-331' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='400' column='1' id='type-id-245'/>
+    <pointer-type-def type-id='type-id-332' size-in-bits='64' id='type-id-333'/>
+    <typedef-decl name='eth_set_mc_addr_list_t' type-id='type-id-333' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='436' column='1' id='type-id-246'/>
+    <pointer-type-def type-id='type-id-334' size-in-bits='64' id='type-id-335'/>
+    <typedef-decl name='mtu_set_t' type-id='type-id-335' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='315' column='1' id='type-id-247'/>
+    <class-decl name='rte_eth_stats' size-in-bits='5632' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='243' column='1' id='type-id-336'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ipackets' type-id='type-id-68' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='opackets' type-id='type-id-68' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ibytes' type-id='type-id-68' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='246' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='obytes' type-id='type-id-68' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='imissed' type-id='type-id-68' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='ierrors' type-id='type-id-68' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='oerrors' type-id='type-id-68' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='rx_nombuf' type-id='type-id-68' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='q_ipackets' type-id='type-id-337' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='q_opackets' type-id='type-id-337' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='q_ibytes' type-id='type-id-337' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='q_obytes' type-id='type-id-337' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4608'>
+        <var-decl name='q_errors' type-id='type-id-337' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='263' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-68' size-in-bits='1024' id='type-id-337'>
+      <subrange length='16' type-id='type-id-50' id='type-id-219'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-336' size-in-bits='64' id='type-id-338'/>
+    <pointer-type-def type-id='type-id-339' size-in-bits='64' id='type-id-340'/>
+    <typedef-decl name='eth_stats_get_t' type-id='type-id-340' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='159' column='1' id='type-id-248'/>
+    <typedef-decl name='eth_stats_reset_t' type-id='type-id-321' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='182' column='1' id='type-id-249'/>
+    <class-decl name='rte_eth_xstat' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1337' column='1' id='type-id-341'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-68' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1338' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='value' type-id='type-id-68' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1339' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-341' size-in-bits='64' id='type-id-342'/>
+    <pointer-type-def type-id='type-id-343' size-in-bits='64' id='type-id-344'/>
+    <typedef-decl name='eth_xstats_get_t' type-id='type-id-344' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='184' column='1' id='type-id-250'/>
+    <typedef-decl name='eth_xstats_reset_t' type-id='type-id-321' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='213' column='1' id='type-id-251'/>
+    <class-decl name='rte_eth_xstat_name' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1349' column='1' id='type-id-345'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-45' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1350' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-345' size-in-bits='64' id='type-id-346'/>
+    <pointer-type-def type-id='type-id-347' size-in-bits='64' id='type-id-348'/>
+    <typedef-decl name='eth_xstats_get_names_t' type-id='type-id-348' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='215' column='1' id='type-id-252'/>
+    <pointer-type-def type-id='type-id-349' size-in-bits='64' id='type-id-350'/>
+    <typedef-decl name='eth_queue_stats_mapping_set_t' type-id='type-id-350' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='224' column='1' id='type-id-253'/>
+    <class-decl name='rte_eth_dev_info' size-in-bits='2560' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1226' column='1' id='type-id-351'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='device' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1227' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='driver_name' type-id='type-id-8' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='if_index' type-id='type-id-123' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='min_mtu' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='max_mtu' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_flags' type-id='type-id-352' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='min_rx_bufsize' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1234' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='max_rx_pktlen' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1235' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='max_lro_pkt_size' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='max_rx_queues' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='max_tx_queues' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1239' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='max_mac_addrs' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='max_hash_mac_addrs' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1241' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='max_vfs' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1243' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='max_vmdq_pools' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_offload_capa' type-id='type-id-68' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_offload_capa' type-id='type-id-68' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='rx_queue_offload_capa' type-id='type-id-68' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='tx_queue_offload_capa' type-id='type-id-68' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='reta_size' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='hash_key_size' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='flow_type_rss_offloads' type-id='type-id-68' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='default_rxconf' type-id='type-id-353' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='default_txconf' type-id='type-id-354' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='vmdq_queue_base' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1744'>
+        <var-decl name='vmdq_queue_num' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1760'>
+        <var-decl name='vmdq_pool_base' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1262' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1776'>
+        <var-decl name='rx_desc_lim' type-id='type-id-355' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1263' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='tx_desc_lim' type-id='type-id-355' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1264' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1952'>
+        <var-decl name='speed_capa' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1265' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='nb_rx_queues' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1267' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2000'>
+        <var-decl name='nb_tx_queues' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1268' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2016'>
+        <var-decl name='default_rxportconf' type-id='type-id-356' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1270' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2064'>
+        <var-decl name='default_txportconf' type-id='type-id-356' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1272' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='dev_capa' type-id='type-id-68' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1274' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='switch_info' type-id='type-id-357' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='reserved_64s' type-id='type-id-118' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1281' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='reserved_ptrs' type-id='type-id-189' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1282' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-114' const='yes' id='type-id-358'/>
+    <pointer-type-def type-id='type-id-358' size-in-bits='64' id='type-id-352'/>
+    <class-decl name='rte_eth_rxconf' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='818' column='1' id='type-id-353'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_thresh' type-id='type-id-359' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='819' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='rx_free_thresh' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='820' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='rx_drop_en' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='821' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='rx_deferred_start' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='822' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offloads' type-id='type-id-68' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='reserved_64s' type-id='type-id-118' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='830' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='reserved_ptrs' type-id='type-id-189' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='831' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_thresh' size-in-bits='24' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='327' column='1' id='type-id-359'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pthresh' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='328' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='hthresh' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='329' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='wthresh' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='330' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_txconf' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='837' column='1' id='type-id-354'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tx_thresh' type-id='type-id-359' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tx_rs_thresh' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='839' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='tx_free_thresh' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='840' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tx_deferred_start' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='843' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='offloads' type-id='type-id-68' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='849' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-118' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='851' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-189' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='852' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_desc_lim' size-in-bits='80' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='898' column='1' id='type-id-355'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_max' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='899' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='nb_min' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='900' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_align' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='901' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='nb_seg_max' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='911' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='nb_mtu_seg_max' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='924' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_portconf' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1189' column='1' id='type-id-356'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='burst_size' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1190' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='ring_size' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_queues' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1192' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_switch_info' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1204' column='1' id='type-id-357'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-8' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='domain_id' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1206' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='port_id' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1207' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-351' size-in-bits='64' id='type-id-360'/>
+    <pointer-type-def type-id='type-id-361' size-in-bits='64' id='type-id-362'/>
+    <typedef-decl name='eth_dev_infos_get_t' type-id='type-id-362' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='230' column='1' id='type-id-254'/>
+    <class-decl name='rte_eth_rxq_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1289' column='1' id='type-id-363'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mp' type-id='type-id-115' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1290' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='conf' type-id='type-id-353' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1291' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='scattered_rx' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1292' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='nb_desc' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1293' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-363' size-in-bits='64' id='type-id-364'/>
+    <pointer-type-def type-id='type-id-365' size-in-bits='64' id='type-id-366'/>
+    <typedef-decl name='eth_rxq_info_get_t' type-id='type-id-366' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='306' column='1' id='type-id-255'/>
+    <class-decl name='rte_eth_txq_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1300' column='1' id='type-id-367'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='conf' type-id='type-id-354' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1301' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='nb_desc' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1302' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-367' size-in-bits='64' id='type-id-368'/>
+    <pointer-type-def type-id='type-id-369' size-in-bits='64' id='type-id-370'/>
+    <typedef-decl name='eth_txq_info_get_t' type-id='type-id-370' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='309' column='1' id='type-id-256'/>
+    <class-decl name='rte_eth_burst_mode' size-in-bits='8256' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1318' column='1' id='type-id-371'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-68' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1319' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='info' type-id='type-id-372' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1322' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-24' size-in-bits='8192' id='type-id-372'>
+      <subrange length='1024' type-id='type-id-50' id='type-id-227'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-371' size-in-bits='64' id='type-id-373'/>
+    <pointer-type-def type-id='type-id-374' size-in-bits='64' id='type-id-375'/>
+    <typedef-decl name='eth_burst_mode_get_t' type-id='type-id-375' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='312' column='1' id='type-id-257'/>
+    <pointer-type-def type-id='type-id-376' size-in-bits='64' id='type-id-377'/>
+    <typedef-decl name='eth_fw_version_get_t' type-id='type-id-377' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='299' column='1' id='type-id-258'/>
+    <pointer-type-def type-id='type-id-378' size-in-bits='64' id='type-id-379'/>
+    <typedef-decl name='eth_dev_supported_ptypes_get_t' type-id='type-id-379' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='234' column='1' id='type-id-259'/>
+    <pointer-type-def type-id='type-id-380' size-in-bits='64' id='type-id-381'/>
+    <typedef-decl name='eth_dev_ptypes_set_t' type-id='type-id-381' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='249' column='1' id='type-id-260'/>
+    <pointer-type-def type-id='type-id-382' size-in-bits='64' id='type-id-383'/>
+    <typedef-decl name='vlan_filter_set_t' type-id='type-id-383' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='318' column='1' id='type-id-261'/>
+    <enum-decl name='rte_vlan_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='416' column='1' id='type-id-384'>
+      <underlying-type type-id='type-id-49'/>
+      <enumerator name='ETH_VLAN_TYPE_UNKNOWN' value='0'/>
+      <enumerator name='ETH_VLAN_TYPE_INNER' value='1'/>
+      <enumerator name='ETH_VLAN_TYPE_OUTER' value='2'/>
+      <enumerator name='ETH_VLAN_TYPE_MAX' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-385' size-in-bits='64' id='type-id-386'/>
+    <typedef-decl name='vlan_tpid_set_t' type-id='type-id-386' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='323' column='1' id='type-id-262'/>
+    <pointer-type-def type-id='type-id-387' size-in-bits='64' id='type-id-388'/>
+    <typedef-decl name='vlan_strip_queue_set_t' type-id='type-id-388' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='335' column='1' id='type-id-263'/>
+    <typedef-decl name='vlan_offload_set_t' type-id='type-id-325' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='327' column='1' id='type-id-264'/>
+    <typedef-decl name='vlan_pvid_set_t' type-id='type-id-383' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='330' column='1' id='type-id-265'/>
+    <typedef-decl name='eth_queue_start_t' type-id='type-id-335' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='252' column='1' id='type-id-266'/>
+    <typedef-decl name='eth_queue_stop_t' type-id='type-id-335' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='256' column='1' id='type-id-267'/>
+    <qualified-type-def type-id='type-id-353' const='yes' id='type-id-389'/>
+    <pointer-type-def type-id='type-id-389' size-in-bits='64' id='type-id-390'/>
+    <pointer-type-def type-id='type-id-391' size-in-bits='64' id='type-id-392'/>
+    <typedef-decl name='eth_rx_queue_setup_t' type-id='type-id-392' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='260' column='1' id='type-id-268'/>
+    <pointer-type-def type-id='type-id-393' size-in-bits='64' id='type-id-394'/>
+    <typedef-decl name='eth_queue_release_t' type-id='type-id-394' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='283' column='1' id='type-id-269'/>
+    <pointer-type-def type-id='type-id-395' size-in-bits='64' id='type-id-396'/>
+    <typedef-decl name='eth_rx_queue_count_t' type-id='type-id-396' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='286' column='1' id='type-id-270'/>
+    <pointer-type-def type-id='type-id-397' size-in-bits='64' id='type-id-398'/>
+    <typedef-decl name='eth_rx_descriptor_done_t' type-id='type-id-398' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='290' column='1' id='type-id-271'/>
+    <typedef-decl name='eth_rx_descriptor_status_t' type-id='type-id-398' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='293' column='1' id='type-id-272'/>
+    <typedef-decl name='eth_tx_descriptor_status_t' type-id='type-id-398' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='296' column='1' id='type-id-273'/>
+    <typedef-decl name='eth_rx_enable_intr_t' type-id='type-id-335' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='275' column='1' id='type-id-274'/>
+    <typedef-decl name='eth_rx_disable_intr_t' type-id='type-id-335' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='279' column='1' id='type-id-275'/>
+    <qualified-type-def type-id='type-id-354' const='yes' id='type-id-399'/>
+    <pointer-type-def type-id='type-id-399' size-in-bits='64' id='type-id-400'/>
+    <pointer-type-def type-id='type-id-401' size-in-bits='64' id='type-id-402'/>
+    <typedef-decl name='eth_tx_queue_setup_t' type-id='type-id-402' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='268' column='1' id='type-id-276'/>
+    <pointer-type-def type-id='type-id-403' size-in-bits='64' id='type-id-404'/>
+    <typedef-decl name='eth_tx_done_cleanup_t' type-id='type-id-404' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='303' column='1' id='type-id-277'/>
+    <typedef-decl name='eth_dev_led_on_t' type-id='type-id-321' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='385' column='1' id='type-id-278'/>
+    <typedef-decl name='eth_dev_led_off_t' type-id='type-id-321' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='388' column='1' id='type-id-279'/>
+    <class-decl name='rte_eth_fc_conf' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='942' column='1' id='type-id-405'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='high_water' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='943' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='low_water' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='944' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pause_time' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='945' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='send_xon' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='946' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='mode' type-id='type-id-406' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='947' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mac_ctrl_frame_fwd' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='948' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='autoneg' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='949' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_fc_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='930' column='1' id='type-id-406'>
+      <underlying-type type-id='type-id-49'/>
+      <enumerator name='RTE_FC_NONE' value='0'/>
+      <enumerator name='RTE_FC_RX_PAUSE' value='1'/>
+      <enumerator name='RTE_FC_TX_PAUSE' value='2'/>
+      <enumerator name='RTE_FC_FULL' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-405' size-in-bits='64' id='type-id-407'/>
+    <pointer-type-def type-id='type-id-408' size-in-bits='64' id='type-id-409'/>
+    <typedef-decl name='flow_ctrl_get_t' type-id='type-id-409' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='355' column='1' id='type-id-280'/>
+    <typedef-decl name='flow_ctrl_set_t' type-id='type-id-409' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='359' column='1' id='type-id-281'/>
+    <class-decl name='rte_eth_pfc_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='957' column='1' id='type-id-410'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fc' type-id='type-id-405' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='958' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='priority' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='959' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-410' size-in-bits='64' id='type-id-411'/>
+    <pointer-type-def type-id='type-id-412' size-in-bits='64' id='type-id-413'/>
+    <typedef-decl name='priority_flow_ctrl_set_t' type-id='type-id-413' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='363' column='1' id='type-id-282'/>
+    <pointer-type-def type-id='type-id-414' size-in-bits='64' id='type-id-415'/>
+    <typedef-decl name='eth_uc_hash_table_set_t' type-id='type-id-415' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='404' column='1' id='type-id-283'/>
+    <pointer-type-def type-id='type-id-416' size-in-bits='64' id='type-id-417'/>
+    <typedef-decl name='eth_uc_all_hash_table_set_t' type-id='type-id-417' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='409' column='1' id='type-id-284'/>
+    <class-decl name='rte_eth_mirror_conf' size-in-bits='1216' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='670' column='1' id='type-id-418'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rule_type' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='dst_pool' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='672' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pool_mask' type-id='type-id-68' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vlan' type-id='type-id-419' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='675' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vlan_mirror' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='661' column='1' id='type-id-419'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_mask' type-id='type-id-68' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='vlan_id' type-id='type-id-420' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='664' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-89' size-in-bits='1024' id='type-id-420'>
+      <subrange length='64' type-id='type-id-50' id='type-id-51'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-418' size-in-bits='64' id='type-id-421'/>
+    <pointer-type-def type-id='type-id-422' size-in-bits='64' id='type-id-423'/>
+    <typedef-decl name='eth_mirror_rule_set_t' type-id='type-id-423' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='418' column='1' id='type-id-285'/>
+    <typedef-decl name='eth_mirror_rule_reset_t' type-id='type-id-417' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='424' column='1' id='type-id-286'/>
+    <class-decl name='rte_eth_udp_tunnel' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1023' column='1' id='type-id-424'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='udp_port' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1024' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='prot_type' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1025' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-424' size-in-bits='64' id='type-id-425'/>
+    <pointer-type-def type-id='type-id-426' size-in-bits='64' id='type-id-427'/>
+    <typedef-decl name='eth_udp_tunnel_port_add_t' type-id='type-id-427' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='428' column='1' id='type-id-287'/>
+    <typedef-decl name='eth_udp_tunnel_port_del_t' type-id='type-id-427' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='432' column='1' id='type-id-288'/>
+    <class-decl name='rte_eth_l2_tunnel_conf' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='751' column='1' id='type-id-428'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='l2_tunnel_type' type-id='type-id-429' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='752' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ether_type' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tunnel_id' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='754' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='vf_id' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='755' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pool' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='756' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_tunnel_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='965' column='1' id='type-id-429'>
+      <underlying-type type-id='type-id-49'/>
+      <enumerator name='RTE_TUNNEL_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_TUNNEL_TYPE_VXLAN' value='1'/>
+      <enumerator name='RTE_TUNNEL_TYPE_GENEVE' value='2'/>
+      <enumerator name='RTE_TUNNEL_TYPE_TEREDO' value='3'/>
+      <enumerator name='RTE_TUNNEL_TYPE_NVGRE' value='4'/>
+      <enumerator name='RTE_TUNNEL_TYPE_IP_IN_GRE' value='5'/>
+      <enumerator name='RTE_L2_TUNNEL_TYPE_E_TAG' value='6'/>
+      <enumerator name='RTE_TUNNEL_TYPE_VXLAN_GPE' value='7'/>
+      <enumerator name='RTE_TUNNEL_TYPE_MAX' value='8'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-428' size-in-bits='64' id='type-id-430'/>
+    <pointer-type-def type-id='type-id-431' size-in-bits='64' id='type-id-432'/>
+    <typedef-decl name='eth_l2_tunnel_eth_type_conf_t' type-id='type-id-432' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='494' column='1' id='type-id-289'/>
+    <pointer-type-def type-id='type-id-433' size-in-bits='64' id='type-id-434'/>
+    <typedef-decl name='eth_l2_tunnel_offload_set_t' type-id='type-id-434' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='498' column='1' id='type-id-290'/>
+    <pointer-type-def type-id='type-id-435' size-in-bits='64' id='type-id-436'/>
+    <typedef-decl name='eth_set_queue_rate_limit_t' type-id='type-id-436' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='413' column='1' id='type-id-291'/>
+    <pointer-type-def type-id='type-id-191' size-in-bits='64' id='type-id-437'/>
+    <pointer-type-def type-id='type-id-438' size-in-bits='64' id='type-id-439'/>
+    <typedef-decl name='rss_hash_update_t' type-id='type-id-439' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='377' column='1' id='type-id-292'/>
+    <typedef-decl name='rss_hash_conf_get_t' type-id='type-id-439' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='381' column='1' id='type-id-293'/>
+    <class-decl name='rte_eth_rss_reta_entry64' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='684' column='1' id='type-id-440'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mask' type-id='type-id-68' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='685' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='reta' type-id='type-id-420' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='687' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-440' size-in-bits='64' id='type-id-441'/>
+    <pointer-type-def type-id='type-id-442' size-in-bits='64' id='type-id-443'/>
+    <typedef-decl name='reta_update_t' type-id='type-id-443' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='367' column='1' id='type-id-294'/>
+    <typedef-decl name='reta_query_t' type-id='type-id-443' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='372' column='1' id='type-id-295'/>
+    <class-decl name='rte_dev_reg_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='13' column='1' id='type-id-444'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-57' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='14' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offset' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='15' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='length' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='16' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='width' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='17' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='version' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='18' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-444' size-in-bits='64' id='type-id-445'/>
+    <pointer-type-def type-id='type-id-446' size-in-bits='64' id='type-id-447'/>
+    <typedef-decl name='eth_get_reg_t' type-id='type-id-447' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='471' column='1' id='type-id-296'/>
+    <typedef-decl name='eth_get_eeprom_length_t' type-id='type-id-321' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='475' column='1' id='type-id-297'/>
+    <class-decl name='rte_dev_eeprom_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='24' column='1' id='type-id-448'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-57' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='25' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offset' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='26' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='length' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='27' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='magic' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='28' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-448' size-in-bits='64' id='type-id-449'/>
+    <pointer-type-def type-id='type-id-450' size-in-bits='64' id='type-id-451'/>
+    <typedef-decl name='eth_get_eeprom_t' type-id='type-id-451' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='478' column='1' id='type-id-298'/>
+    <typedef-decl name='eth_set_eeprom_t' type-id='type-id-451' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='482' column='1' id='type-id-299'/>
+    <class-decl name='rte_eth_dev_module_info' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='34' column='1' id='type-id-452'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='eeprom_len' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-452' size-in-bits='64' id='type-id-453'/>
+    <pointer-type-def type-id='type-id-454' size-in-bits='64' id='type-id-455'/>
+    <typedef-decl name='eth_get_module_info_t' type-id='type-id-455' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='486' column='1' id='type-id-300'/>
+    <typedef-decl name='eth_get_module_eeprom_t' type-id='type-id-451' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='490' column='1' id='type-id-301'/>
+    <enum-decl name='rte_filter_type' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='28' column='1' id='type-id-456'>
+      <underlying-type type-id='type-id-49'/>
+      <enumerator name='RTE_ETH_FILTER_NONE' value='0'/>
+      <enumerator name='RTE_ETH_FILTER_MACVLAN' value='1'/>
+      <enumerator name='RTE_ETH_FILTER_ETHERTYPE' value='2'/>
+      <enumerator name='RTE_ETH_FILTER_FLEXIBLE' value='3'/>
+      <enumerator name='RTE_ETH_FILTER_SYN' value='4'/>
+      <enumerator name='RTE_ETH_FILTER_NTUPLE' value='5'/>
+      <enumerator name='RTE_ETH_FILTER_TUNNEL' value='6'/>
+      <enumerator name='RTE_ETH_FILTER_FDIR' value='7'/>
+      <enumerator name='RTE_ETH_FILTER_HASH' value='8'/>
+      <enumerator name='RTE_ETH_FILTER_L2_TUNNEL' value='9'/>
+      <enumerator name='RTE_ETH_FILTER_GENERIC' value='10'/>
+      <enumerator name='RTE_ETH_FILTER_MAX' value='11'/>
+    </enum-decl>
+    <enum-decl name='rte_filter_op' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='46' column='1' id='type-id-457'>
+      <underlying-type type-id='type-id-49'/>
+      <enumerator name='RTE_ETH_FILTER_NOP' value='0'/>
+      <enumerator name='RTE_ETH_FILTER_ADD' value='1'/>
+      <enumerator name='RTE_ETH_FILTER_UPDATE' value='2'/>
+      <enumerator name='RTE_ETH_FILTER_DELETE' value='3'/>
+      <enumerator name='RTE_ETH_FILTER_FLUSH' value='4'/>
+      <enumerator name='RTE_ETH_FILTER_GET' value='5'/>
+      <enumerator name='RTE_ETH_FILTER_SET' value='6'/>
+      <enumerator name='RTE_ETH_FILTER_INFO' value='7'/>
+      <enumerator name='RTE_ETH_FILTER_STATS' value='8'/>
+      <enumerator name='RTE_ETH_FILTER_OP_MAX' value='9'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-458' size-in-bits='64' id='type-id-459'/>
+    <typedef-decl name='eth_filter_ctrl_t' type-id='type-id-459' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='506' column='1' id='type-id-302'/>
+    <class-decl name='rte_eth_dcb_info' size-in-bits='16520' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1377' column='1' id='type-id-460'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1378' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='prio_tc' type-id='type-id-198' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1379' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='tc_bws' type-id='type-id-198' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1380' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='tc_queue' type-id='type-id-461' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1382' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dcb_tc_queue_mapping' size-in-bits='16384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1360' column='1' id='type-id-461'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tc_rxq' type-id='type-id-462' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1365' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8192'>
+        <var-decl name='tc_txq' type-id='type-id-462' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1370' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1362' column='1' id='type-id-463'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='base' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1363' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='nb_queue' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1364' column='1'/>
+      </data-member>
+    </class-decl>
+
+
+    <array-type-def dimensions='2' type-id='type-id-463' size-in-bits='1152' id='type-id-462'>
+      <subrange length='64' type-id='type-id-50' id='type-id-51'/>
+
+      <subrange length='8' type-id='type-id-50' id='type-id-200'/>
+
+    </array-type-def>
+
+
+    <pointer-type-def type-id='type-id-460' size-in-bits='64' id='type-id-464'/>
+    <pointer-type-def type-id='type-id-465' size-in-bits='64' id='type-id-466'/>
+    <typedef-decl name='eth_get_dcb_info' type-id='type-id-466' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='518' column='1' id='type-id-303'/>
+    <typedef-decl name='eth_timesync_enable_t' type-id='type-id-321' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='441' column='1' id='type-id-304'/>
+    <typedef-decl name='eth_timesync_disable_t' type-id='type-id-321' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='444' column='1' id='type-id-305'/>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='9' column='1' id='type-id-467'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tv_sec' type-id='type-id-468' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='11' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tv_nsec' type-id='type-id-469' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='long int' size-in-bits='64' id='type-id-470'/>
+    <typedef-decl name='__time_t' type-id='type-id-470' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-468'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-470' filepath='/usr/include/bits/types.h' line='196' column='1' id='type-id-469'/>
+    <pointer-type-def type-id='type-id-467' size-in-bits='64' id='type-id-471'/>
+    <pointer-type-def type-id='type-id-472' size-in-bits='64' id='type-id-473'/>
+    <typedef-decl name='eth_timesync_read_rx_timestamp_t' type-id='type-id-473' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='447' column='1' id='type-id-306'/>
+    <pointer-type-def type-id='type-id-474' size-in-bits='64' id='type-id-475'/>
+    <typedef-decl name='eth_timesync_read_tx_timestamp_t' type-id='type-id-475' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='452' column='1' id='type-id-307'/>
+    <typedef-decl name='__int64_t' type-id='type-id-470' filepath='/usr/include/bits/types.h' line='44' column='1' id='type-id-476'/>
+    <typedef-decl name='int64_t' type-id='type-id-476' filepath='/usr/include/bits/stdint-intn.h' line='27' column='1' id='type-id-477'/>
+    <pointer-type-def type-id='type-id-478' size-in-bits='64' id='type-id-479'/>
+    <typedef-decl name='eth_timesync_adjust_time' type-id='type-id-479' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='456' column='1' id='type-id-308'/>
+    <typedef-decl name='eth_timesync_read_time' type-id='type-id-475' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='459' column='1' id='type-id-309'/>
+    <qualified-type-def type-id='type-id-467' const='yes' id='type-id-480'/>
+    <pointer-type-def type-id='type-id-480' size-in-bits='64' id='type-id-481'/>
+    <pointer-type-def type-id='type-id-482' size-in-bits='64' id='type-id-483'/>
+    <typedef-decl name='eth_timesync_write_time' type-id='type-id-483' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='463' column='1' id='type-id-310'/>
+    <pointer-type-def type-id='type-id-68' size-in-bits='64' id='type-id-484'/>
+    <pointer-type-def type-id='type-id-485' size-in-bits='64' id='type-id-486'/>
+    <typedef-decl name='eth_read_clock' type-id='type-id-486' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='467' column='1' id='type-id-311'/>
+    <qualified-type-def type-id='type-id-68' const='yes' id='type-id-487'/>
+    <pointer-type-def type-id='type-id-487' size-in-bits='64' id='type-id-488'/>
+    <pointer-type-def type-id='type-id-489' size-in-bits='64' id='type-id-490'/>
+    <typedef-decl name='eth_xstats_get_by_id_t' type-id='type-id-490' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='188' column='1' id='type-id-312'/>
+    <pointer-type-def type-id='type-id-491' size-in-bits='64' id='type-id-492'/>
+    <typedef-decl name='eth_xstats_get_names_by_id_t' type-id='type-id-492' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='219' column='1' id='type-id-313'/>
+    <pointer-type-def type-id='type-id-493' size-in-bits='64' id='type-id-494'/>
+    <typedef-decl name='eth_tm_ops_get_t' type-id='type-id-494' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='512' column='1' id='type-id-314'/>
+    <typedef-decl name='eth_mtr_ops_get_t' type-id='type-id-494' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='515' column='1' id='type-id-315'/>
+    <pointer-type-def type-id='type-id-495' size-in-bits='64' id='type-id-496'/>
+    <typedef-decl name='eth_pool_ops_supported_t' type-id='type-id-496' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='522' column='1' id='type-id-316'/>
+    <class-decl name='rte_eth_hairpin_cap' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='861' column='1' id='type-id-497'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max_nb_queues' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='863' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='max_rx_2_tx' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_tx_2_rx' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='867' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='max_nb_desc' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='868' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-497' size-in-bits='64' id='type-id-498'/>
+    <pointer-type-def type-id='type-id-499' size-in-bits='64' id='type-id-500'/>
+    <typedef-decl name='eth_hairpin_cap_get_t' type-id='type-id-500' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='543' column='1' id='type-id-317'/>
+    <class-decl name='rte_eth_hairpin_conf' size-in-bits='1040' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='890' column='1' id='type-id-501'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='peer_count' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='891' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='peers' type-id='type-id-502' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='892' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_hairpin_peer' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='879' column='1' id='type-id-503'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='port' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='880' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='queue' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='881' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-503' size-in-bits='1024' id='type-id-502'>
+      <subrange length='32' type-id='type-id-50' id='type-id-132'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-501' const='yes' id='type-id-504'/>
+    <pointer-type-def type-id='type-id-504' size-in-bits='64' id='type-id-505'/>
+    <pointer-type-def type-id='type-id-506' size-in-bits='64' id='type-id-507'/>
+    <typedef-decl name='eth_rx_hairpin_queue_setup_t' type-id='type-id-507' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='571' column='1' id='type-id-318'/>
+    <typedef-decl name='eth_tx_hairpin_queue_setup_t' type-id='type-id-507' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='601' column='1' id='type-id-319'/>
+    <qualified-type-def type-id='type-id-229' const='yes' id='type-id-508'/>
+    <pointer-type-def type-id='type-id-508' size-in-bits='64' id='type-id-101'/>
+    <class-decl name='rte_intr_handle' size-in-bits='213248' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='69' column='1' id='type-id-90'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-509' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-510' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='max_intr' type-id='type-id-114' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='nb_efd' type-id='type-id-114' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='efd_counter_size' type-id='type-id-175' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='efds' type-id='type-id-511' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16576'>
+        <var-decl name='elist' type-id='type-id-512' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='213184'>
+        <var-decl name='intr_vec' type-id='type-id-513' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='71' column='1' id='type-id-509'>
+      <data-member access='private'>
+        <var-decl name='vfio_dev_fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='uio_cfg_fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='73' column='1'/>
+      </data-member>
+    </union-decl>
+    <enum-decl name='rte_intr_handle_type' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='27' column='1' id='type-id-510'>
+      <underlying-type type-id='type-id-49'/>
+      <enumerator name='RTE_INTR_HANDLE_UNKNOWN' value='0'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO' value='1'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO_INTX' value='2'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_LEGACY' value='3'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSI' value='4'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSIX' value='5'/>
+      <enumerator name='RTE_INTR_HANDLE_ALARM' value='6'/>
+      <enumerator name='RTE_INTR_HANDLE_EXT' value='7'/>
+      <enumerator name='RTE_INTR_HANDLE_VDEV' value='8'/>
+      <enumerator name='RTE_INTR_HANDLE_DEV_EVENT' value='9'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_REQ' value='10'/>
+      <enumerator name='RTE_INTR_HANDLE_MAX' value='11'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='16384' id='type-id-511'>
+      <subrange length='512' type-id='type-id-50' id='type-id-514'/>
+
+    </array-type-def>
+    <class-decl name='rte_epoll_event' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='61' column='1' id='type-id-515'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='status' type-id='type-id-516' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='epfd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='epdata' type-id='type-id-517' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-114' volatile='yes' id='type-id-516'/>
+    <class-decl name='rte_epoll_data' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='47' column='1' id='type-id-517'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event' type-id='type-id-114' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='data' type-id='type-id-57' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cb_fun' type-id='type-id-518' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='cb_arg' type-id='type-id-57' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='51' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-519' size-in-bits='64' id='type-id-520'/>
+    <typedef-decl name='rte_intr_event_cb_t' type-id='type-id-520' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='45' column='1' id='type-id-518'/>
+
+    <array-type-def dimensions='1' type-id='type-id-515' size-in-bits='196608' id='type-id-512'>
+      <subrange length='512' type-id='type-id-50' id='type-id-514'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-513'/>
+    <pointer-type-def type-id='type-id-90' size-in-bits='64' id='type-id-102'/>
+    <class-decl name='rte_eth_dev_cb_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1' id='type-id-103'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-521' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-522' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_callback' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-523'/>
+    <pointer-type-def type-id='type-id-523' size-in-bits='64' id='type-id-521'/>
+    <pointer-type-def type-id='type-id-521' size-in-bits='64' id='type-id-522'/>
+    <class-decl name='rte_eth_rxtx_callback' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='758' column='1' id='type-id-524'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-525' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='759' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fn' type-id='type-id-526' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='763' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='param' type-id='type-id-57' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='764' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-524' size-in-bits='64' id='type-id-525'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='760' column='1' id='type-id-526'>
+      <data-member access='private'>
+        <var-decl name='rx' type-id='type-id-527' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='761' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='tx' type-id='type-id-528' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='762' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-529' size-in-bits='64' id='type-id-530'/>
+    <typedef-decl name='rte_rx_callback_fn' type-id='type-id-530' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1437' column='1' id='type-id-527'/>
+    <pointer-type-def type-id='type-id-531' size-in-bits='64' id='type-id-532'/>
+    <typedef-decl name='rte_tx_callback_fn' type-id='type-id-532' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1461' column='1' id='type-id-528'/>
+
+    <array-type-def dimensions='1' type-id='type-id-525' size-in-bits='65536' id='type-id-104'>
+      <subrange length='1024' type-id='type-id-50' id='type-id-227'/>
+
+    </array-type-def>
+    <enum-decl name='rte_eth_dev_state' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1467' column='1' id='type-id-105'>
+      <underlying-type type-id='type-id-49'/>
+      <enumerator name='RTE_ETH_DEV_UNUSED' value='0'/>
+      <enumerator name='RTE_ETH_DEV_ATTACHED' value='1'/>
+      <enumerator name='RTE_ETH_DEV_REMOVED' value='2'/>
+    </enum-decl>
+    <class-decl name='rte_cryptodev' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-533'/>
+    <pointer-type-def type-id='type-id-533' size-in-bits='64' id='type-id-94'/>
+    <class-decl name='rte_rawdev' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-534'/>
+    <pointer-type-def type-id='type-id-534' size-in-bits='64' id='type-id-95'/>
+    <enum-decl name='rte_dpaa2_dev_type' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='58' column='1' id='type-id-88'>
+      <underlying-type type-id='type-id-49'/>
+      <enumerator name='DPAA2_ETH' value='0'/>
+      <enumerator name='DPAA2_CRYPTO' value='1'/>
+      <enumerator name='DPAA2_CON' value='2'/>
+      <enumerator name='DPAA2_BPOOL' value='3'/>
+      <enumerator name='DPAA2_IO' value='4'/>
+      <enumerator name='DPAA2_CI' value='5'/>
+      <enumerator name='DPAA2_MPORTAL' value='6'/>
+      <enumerator name='DPAA2_QDMA' value='7'/>
+      <enumerator name='DPAA2_MUX' value='8'/>
+      <enumerator name='DPAA2_DPRTC' value='9'/>
+      <enumerator name='DPAA2_UNKNOWN' value='10'/>
+      <enumerator name='DPAA2_DEVTYPE_MAX' value='11'/>
+    </enum-decl>
+    <class-decl name='rte_dpaa2_driver' size-in-bits='640' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='117' column='1' id='type-id-535'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-536' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='118' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='driver' type-id='type-id-35' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='119' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='fslmc_bus' type-id='type-id-537' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='120' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='drv_flags' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='121' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='drv_type' type-id='type-id-88' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='122' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='probe' type-id='type-id-538' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='123' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='remove' type-id='type-id-539' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='124' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='118' column='1' id='type-id-536'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-91' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='118' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-540' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='118' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-535' size-in-bits='64' id='type-id-91'/>
+    <pointer-type-def type-id='type-id-91' size-in-bits='64' id='type-id-540'/>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-537'/>
+    <pointer-type-def type-id='type-id-541' size-in-bits='64' id='type-id-542'/>
+    <typedef-decl name='rte_dpaa2_probe_t' type-id='type-id-542' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='110' column='1' id='type-id-538'/>
+    <pointer-type-def type-id='type-id-543' size-in-bits='64' id='type-id-544'/>
+    <typedef-decl name='rte_dpaa2_remove_t' type-id='type-id-544' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='112' column='1' id='type-id-539'/>
+    <class-decl name='rte_fslmc_driver_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='51' column='1' id='type-id-5'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-91' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-540' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='51' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='352' id='type-id-6'>
+      <subrange length='11' type-id='type-id-50' id='type-id-545'/>
+
+    </array-type-def>
+    <var-decl name='rte_fslmc_bus' type-id='type-id-2' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='56' column='1'/>
+    <var-decl name='dpaa2_virt_mode' type-id='type-id-175' mangled-name='dpaa2_virt_mode' visibility='default' filepath='../drivers/bus/fslmc/fslmc_bus.c' line='30' column='1' elf-symbol-id='dpaa2_virt_mode@@DPDK_20.0'/>
+    <class-decl name='dpaa2_portal_dqrr' size-in-bits='2176' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='143' column='1' id='type-id-546'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mbuf' type-id='type-id-547' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='144' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='dqrr_held' type-id='type-id-68' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='145' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='dqrr_size' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='146' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-116' size-in-bits='2048' id='type-id-547'>
+      <subrange length='32' type-id='type-id-50' id='type-id-132'/>
+
+    </array-type-def>
+    <var-decl name='per_lcore_dpaa2_held_bufs' type-id='type-id-546' mangled-name='per_lcore_dpaa2_held_bufs' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='149' column='1' elf-symbol-id='per_lcore_dpaa2_held_bufs@@DPDK_20.0'/>
+    <function-decl name='rte_fslmc_driver_unregister' mangled-name='rte_fslmc_driver_unregister' filepath='../drivers/bus/fslmc/fslmc_bus.c' line='519' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fslmc_driver_unregister@@DPDK_20.0'>
+      <parameter type-id='type-id-91' name='driver' filepath='../drivers/bus/fslmc/fslmc_bus.c' line='519' column='1'/>
+      <return type-id='type-id-56'/>
+    </function-decl>
+    <function-decl name='rte_fslmc_driver_register' mangled-name='rte_fslmc_driver_register' filepath='../drivers/bus/fslmc/fslmc_bus.c' line='508' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fslmc_driver_register@@DPDK_20.0'>
+      <parameter type-id='type-id-91' name='driver' filepath='../drivers/bus/fslmc/fslmc_bus.c' line='519' column='1'/>
+      <return type-id='type-id-56'/>
+    </function-decl>
+    <function-decl name='rte_fslmc_get_device_count' mangled-name='rte_fslmc_get_device_count' filepath='../drivers/bus/fslmc/fslmc_bus.c' line='33' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fslmc_get_device_count@@DPDK_20.0'>
+      <parameter type-id='type-id-88' name='device_type' filepath='../drivers/bus/fslmc/fslmc_bus.c' line='33' column='1'/>
+      <return type-id='type-id-114'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-378'>
+      <parameter type-id='type-id-93'/>
+      <return type-id='type-id-352'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-74'>
+      <return type-id='type-id-73'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-26'>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-65'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-57'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-58'>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-57'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-63'>
+      <parameter type-id='type-id-33'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-70'>
+      <parameter type-id='type-id-33'/>
+      <parameter type-id='type-id-57'/>
+      <parameter type-id='type-id-68'/>
+      <parameter type-id='type-id-69'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-543'>
+      <parameter type-id='type-id-83'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-541'>
+      <parameter type-id='type-id-91'/>
+      <parameter type-id='type-id-83'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-320'>
+      <parameter type-id='type-id-93'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-376'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-52'/>
+      <parameter type-id='type-id-69'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-495'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-8'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-482'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-481'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-489'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-488'/>
+      <parameter type-id='type-id-484'/>
+      <parameter type-id='type-id-123'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-458'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-456'/>
+      <parameter type-id='type-id-457'/>
+      <parameter type-id='type-id-57'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-385'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-384'/>
+      <parameter type-id='type-id-89'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-324'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-450'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-449'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-446'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-445'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-465'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-464'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-361'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-360'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-454'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-453'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-408'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-407'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-499'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-498'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-431'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-430'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-433'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-430'/>
+      <parameter type-id='type-id-114'/>
+      <parameter type-id='type-id-175'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-422'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-421'/>
+      <parameter type-id='type-id-175'/>
+      <parameter type-id='type-id-175'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-412'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-411'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-438'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-437'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-442'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-441'/>
+      <parameter type-id='type-id-89'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-339'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-338'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-426'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-425'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-343'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-342'/>
+      <parameter type-id='type-id-123'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-491'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-346'/>
+      <parameter type-id='type-id-488'/>
+      <parameter type-id='type-id-123'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-347'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-346'/>
+      <parameter type-id='type-id-123'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-330'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-173'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-332'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-173'/>
+      <parameter type-id='type-id-114'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-328'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-173'/>
+      <parameter type-id='type-id-114'/>
+      <parameter type-id='type-id-114'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-414'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-173'/>
+      <parameter type-id='type-id-175'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-474'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-471'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-472'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-471'/>
+      <parameter type-id='type-id-114'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-478'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-477'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-334'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-89'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-382'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-374'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-373'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-435'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-89'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-506'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-505'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-391'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-123'/>
+      <parameter type-id='type-id-390'/>
+      <parameter type-id='type-id-115'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-401'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-123'/>
+      <parameter type-id='type-id-400'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-349'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-175'/>
+      <parameter type-id='type-id-175'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-380'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-114'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-416'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-175'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-485'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-484'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-493'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-57'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-81'>
+      <parameter type-id='type-id-57'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-397'>
+      <parameter type-id='type-id-57'/>
+      <parameter type-id='type-id-89'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-403'>
+      <parameter type-id='type-id-57'/>
+      <parameter type-id='type-id-114'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-61'>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-60'/>
+      <parameter type-id='type-id-57'/>
+      <return type-id='type-id-33'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-529'>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-165'/>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-57'/>
+      <return type-id='type-id-89'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-531'>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-165'/>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-57'/>
+      <return type-id='type-id-89'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-166'>
+      <parameter type-id='type-id-57'/>
+      <parameter type-id='type-id-165'/>
+      <parameter type-id='type-id-89'/>
+      <return type-id='type-id-89'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-395'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-89'/>
+      <return type-id='type-id-114'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-519'>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-57'/>
+      <return type-id='type-id-56'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-322'>
+      <parameter type-id='type-id-93'/>
+      <return type-id='type-id-56'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-387'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-56'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-365'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-364'/>
+      <return type-id='type-id-56'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-369'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-368'/>
+      <return type-id='type-id-56'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-326'>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-114'/>
+      <return type-id='type-id-56'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-152'>
+      <parameter type-id='type-id-146'/>
+      <parameter type-id='type-id-57'/>
+      <return type-id='type-id-56'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-393'>
+      <parameter type-id='type-id-57'/>
+      <return type-id='type-id-56'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-157'>
+      <parameter type-id='type-id-57'/>
+      <parameter type-id='type-id-57'/>
+      <return type-id='type-id-56'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-79'>
+      <parameter type-id='type-id-57'/>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-78'/>
+      <return type-id='type-id-57'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/bus/fslmc/fslmc_vfio.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='fslmc_container' type-id='type-id-52' visibility='default' filepath='../drivers/bus/fslmc/fslmc_vfio.h' line='43' column='1'/>
+    <var-decl name='rte_mcp_ptr_list' type-id='type-id-169' mangled-name='rte_mcp_ptr_list' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='202' column='1' elf-symbol-id='rte_mcp_ptr_list@@DPDK_20.0'/>
+    <function-decl name='rte_dpaa2_intr_disable' mangled-name='rte_dpaa2_intr_disable' filepath='../drivers/bus/fslmc/fslmc_vfio.c' line='614' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_dpaa2_intr_disable@@DPDK_20.0'>
+      <parameter type-id='type-id-102' name='intr_handle' filepath='../drivers/bus/fslmc/fslmc_vfio.c' line='614' column='1'/>
+      <parameter type-id='type-id-1' name='index' filepath='../drivers/bus/fslmc/fslmc_vfio.c' line='614' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_dpaa2_intr_enable' mangled-name='rte_dpaa2_intr_enable' filepath='../drivers/bus/fslmc/fslmc_vfio.c' line='585' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_dpaa2_intr_enable@@DPDK_20.0'>
+      <parameter type-id='type-id-102' name='intr_handle' filepath='../drivers/bus/fslmc/fslmc_vfio.c' line='585' column='1'/>
+      <parameter type-id='type-id-1' name='index' filepath='../drivers/bus/fslmc/fslmc_vfio.c' line='585' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_fslmc_vfio_dmamap' mangled-name='rte_fslmc_vfio_dmamap' filepath='../drivers/bus/fslmc/fslmc_vfio.c' line='398' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fslmc_vfio_dmamap@@DPDK_20.0'>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_dpaa2_object' size-in-bits='320' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='85' column='1' id='type-id-548'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-549' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-8' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='87' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_type' type-id='type-id-88' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='create' type-id='type-id-550' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='89' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='86' column='1' id='type-id-549'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-551' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-552' visibility='default' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='86' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-548' size-in-bits='64' id='type-id-551'/>
+    <pointer-type-def type-id='type-id-551' size-in-bits='64' id='type-id-552'/>
+    <class-decl name='vfio_device_info' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/local/include/linux/vfio.h' line='195' column='1' id='type-id-553'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='argsz' type-id='type-id-554' visibility='default' filepath='/usr/local/include/linux/vfio.h' line='196' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flags' type-id='type-id-554' visibility='default' filepath='/usr/local/include/linux/vfio.h' line='197' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='num_regions' type-id='type-id-554' visibility='default' filepath='/usr/local/include/linux/vfio.h' line='204' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='num_irqs' type-id='type-id-554' visibility='default' filepath='/usr/local/include/linux/vfio.h' line='205' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='__u32' type-id='type-id-123' filepath='/usr/local/include/asm-generic/int-ll64.h' line='27' column='1' id='type-id-554'/>
+    <pointer-type-def type-id='type-id-553' size-in-bits='64' id='type-id-555'/>
+    <pointer-type-def type-id='type-id-556' size-in-bits='64' id='type-id-557'/>
+    <typedef-decl name='rte_dpaa2_obj_create_t' type-id='type-id-557' filepath='../drivers/bus/fslmc/rte_fslmc.h' line='78' column='1' id='type-id-550'/>
+    <function-decl name='rte_fslmc_object_register' mangled-name='rte_fslmc_object_register' filepath='../drivers/bus/fslmc/fslmc_vfio.c' line='59' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fslmc_object_register@@DPDK_20.0'>
+      <parameter type-id='type-id-551' name='object' filepath='../drivers/bus/fslmc/fslmc_vfio.c' line='59' column='1'/>
+      <return type-id='type-id-56'/>
+    </function-decl>
+    <function-decl name='rte_fslmc_vfio_mem_dmamap' mangled-name='rte_fslmc_vfio_mem_dmamap' filepath='../drivers/bus/fslmc/fslmc_vfio.c' line='359' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_fslmc_vfio_mem_dmamap@@EXPERIMENTAL'>
+      <parameter type-id='type-id-68' name='vaddr' filepath='../drivers/bus/fslmc/fslmc_vfio.c' line='359' column='1'/>
+      <parameter type-id='type-id-68' name='iova' filepath='../drivers/bus/fslmc/fslmc_vfio.c' line='359' column='1'/>
+      <parameter type-id='type-id-68' name='size' filepath='../drivers/bus/fslmc/fslmc_vfio.c' line='359' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-556'>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-555'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/bus/fslmc/mc/dpbp.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='fsl_mc_io' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_mc_sys.h' line='57' column='1' id='type-id-558'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='regs' type-id='type-id-57' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_mc_sys.h' line='58' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-558' size-in-bits='64' id='type-id-559'/>
+    <pointer-type-def type-id='type-id-114' size-in-bits='64' id='type-id-560'/>
+    <function-decl name='dpbp_get_num_free_bufs' mangled-name='dpbp_get_num_free_bufs' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='332' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpbp_get_num_free_bufs@@DPDK_20.0'>
+      <parameter type-id='type-id-559' name='mc_io' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='332' column='1'/>
+      <parameter type-id='type-id-114' name='cmd_flags' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='333' column='1'/>
+      <parameter type-id='type-id-89' name='token' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='334' column='1'/>
+      <parameter type-id='type-id-560' name='num_free_bufs' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='335' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='dpbp_attr' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpbp.h' line='68' column='1' id='type-id-561'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-1' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpbp.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='bpid' type-id='type-id-89' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpbp.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-561' size-in-bits='64' id='type-id-562'/>
+    <function-decl name='dpbp_get_attributes' mangled-name='dpbp_get_attributes' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='261' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpbp_get_attributes@@DPDK_20.0'>
+      <parameter type-id='type-id-559' name='mc_io' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='261' column='1'/>
+      <parameter type-id='type-id-114' name='cmd_flags' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='262' column='1'/>
+      <parameter type-id='type-id-89' name='token' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='263' column='1'/>
+      <parameter type-id='type-id-562' name='attr' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='264' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='dpbp_reset' mangled-name='dpbp_reset' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='238' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpbp_reset@@DPDK_20.0'>
+      <parameter type-id='type-id-559' name='mc_io' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='238' column='1'/>
+      <parameter type-id='type-id-114' name='cmd_flags' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='239' column='1'/>
+      <parameter type-id='type-id-89' name='token' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='240' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='dpbp_disable' mangled-name='dpbp_disable' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='182' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpbp_disable@@DPDK_20.0'>
+      <parameter type-id='type-id-559' name='mc_io' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='238' column='1'/>
+      <parameter type-id='type-id-114' name='cmd_flags' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='239' column='1'/>
+      <parameter type-id='type-id-89' name='token' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='240' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='dpbp_enable' mangled-name='dpbp_enable' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='160' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpbp_enable@@DPDK_20.0'>
+      <parameter type-id='type-id-559' name='mc_io' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='238' column='1'/>
+      <parameter type-id='type-id-114' name='cmd_flags' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='239' column='1'/>
+      <parameter type-id='type-id-89' name='token' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='240' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-89' size-in-bits='64' id='type-id-563'/>
+    <function-decl name='dpbp_open' mangled-name='dpbp_open' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='29' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpbp_open@@DPDK_20.0'>
+      <parameter type-id='type-id-559' name='mc_io' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='29' column='1'/>
+      <parameter type-id='type-id-114' name='cmd_flags' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='30' column='1'/>
+      <parameter type-id='type-id-1' name='dpbp_id' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='31' column='1'/>
+      <parameter type-id='type-id-563' name='token' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='32' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/bus/fslmc/mc/dpci.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='opr_cfg' size-in-bits='40' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpopr.h' line='47' column='1' id='type-id-564'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='oprrws' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpopr.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='oa' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpopr.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='olws' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpopr.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='oeane' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpopr.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='oloe' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpopr.h' line='52' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-564' size-in-bits='64' id='type-id-565'/>
+    <class-decl name='opr_qry' size-in-bits='176' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpopr.h' line='70' column='1' id='type-id-566'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='enable' type-id='type-id-24' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpopr.h' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='rip' type-id='type-id-24' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpopr.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='ndsn' type-id='type-id-89' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpopr.h' line='73' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nesn' type-id='type-id-89' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpopr.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='ea_hseq' type-id='type-id-89' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpopr.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='hseq_nlis' type-id='type-id-24' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpopr.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='ea_tseq' type-id='type-id-89' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpopr.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='tseq_nlis' type-id='type-id-24' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpopr.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='112'>
+        <var-decl name='ea_tptr' type-id='type-id-89' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpopr.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ea_hptr' type-id='type-id-89' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpopr.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='opr_id' type-id='type-id-89' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpopr.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='opr_vid' type-id='type-id-89' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpopr.h' line='82' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-566' size-in-bits='64' id='type-id-567'/>
+    <function-decl name='dpci_get_opr' mangled-name='dpci_get_opr' filepath='../drivers/bus/fslmc/mc/dpci.c' line='518' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpci_get_opr@@DPDK_20.0'>
+      <parameter type-id='type-id-559' name='mc_io' filepath='../drivers/bus/fslmc/mc/dpci.c' line='518' column='1'/>
+      <parameter type-id='type-id-114' name='cmd_flags' filepath='../drivers/bus/fslmc/mc/dpci.c' line='519' column='1'/>
+      <parameter type-id='type-id-89' name='token' filepath='../drivers/bus/fslmc/mc/dpci.c' line='520' column='1'/>
+      <parameter type-id='type-id-175' name='index' filepath='../drivers/bus/fslmc/mc/dpci.c' line='521' column='1'/>
+      <parameter type-id='type-id-565' name='cfg' filepath='../drivers/bus/fslmc/mc/dpci.c' line='522' column='1'/>
+      <parameter type-id='type-id-567' name='qry' filepath='../drivers/bus/fslmc/mc/dpci.c' line='523' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='dpci_set_opr' mangled-name='dpci_set_opr' filepath='../drivers/bus/fslmc/mc/dpci.c' line='480' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpci_set_opr@@DPDK_20.0'>
+      <parameter type-id='type-id-559' name='mc_io' filepath='../drivers/bus/fslmc/mc/dpci.c' line='480' column='1'/>
+      <parameter type-id='type-id-114' name='cmd_flags' filepath='../drivers/bus/fslmc/mc/dpci.c' line='481' column='1'/>
+      <parameter type-id='type-id-89' name='token' filepath='../drivers/bus/fslmc/mc/dpci.c' line='482' column='1'/>
+      <parameter type-id='type-id-175' name='index' filepath='../drivers/bus/fslmc/mc/dpci.c' line='483' column='1'/>
+      <parameter type-id='type-id-175' name='options' filepath='../drivers/bus/fslmc/mc/dpci.c' line='484' column='1'/>
+      <parameter type-id='type-id-565' name='cfg' filepath='../drivers/bus/fslmc/mc/dpci.c' line='485' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='dpci_rx_queue_cfg' size-in-bits='256' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpci.h' line='177' column='1' id='type-id-568'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='options' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpci.h' line='178' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='user_ctx' type-id='type-id-68' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpci.h' line='179' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dest_cfg' type-id='type-id-569' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpci.h' line='180' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='order_preservation_en' type-id='type-id-1' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpci.h' line='181' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='dpci_dest_cfg' size-in-bits='96' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpci.h' line='141' column='1' id='type-id-569'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dest_type' type-id='type-id-570' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpci.h' line='142' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dest_id' type-id='type-id-1' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpci.h' line='143' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='priority' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpci.h' line='144' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='dpci_dest' filepath='../drivers/bus/fslmc/mc/fsl_dpci.h' line='127' column='1' id='type-id-570'>
+      <underlying-type type-id='type-id-49'/>
+      <enumerator name='DPCI_DEST_NONE' value='0'/>
+      <enumerator name='DPCI_DEST_DPIO' value='1'/>
+      <enumerator name='DPCI_DEST_DPCON' value='2'/>
+    </enum-decl>
+    <qualified-type-def type-id='type-id-568' const='yes' id='type-id-571'/>
+    <pointer-type-def type-id='type-id-571' size-in-bits='64' id='type-id-572'/>
+    <function-decl name='dpci_set_rx_queue' mangled-name='dpci_set_rx_queue' filepath='../drivers/bus/fslmc/mc/dpci.c' line='318' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpci_set_rx_queue@@DPDK_20.0'>
+      <parameter type-id='type-id-559' name='mc_io' filepath='../drivers/bus/fslmc/mc/dpci.c' line='318' column='1'/>
+      <parameter type-id='type-id-114' name='cmd_flags' filepath='../drivers/bus/fslmc/mc/dpci.c' line='319' column='1'/>
+      <parameter type-id='type-id-89' name='token' filepath='../drivers/bus/fslmc/mc/dpci.c' line='320' column='1'/>
+      <parameter type-id='type-id-175' name='priority' filepath='../drivers/bus/fslmc/mc/dpci.c' line='321' column='1'/>
+      <parameter type-id='type-id-572' name='cfg' filepath='../drivers/bus/fslmc/mc/dpci.c' line='322' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/bus/fslmc/mc/dpcon.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='dpcon_attr' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpcon.h' line='74' column='1' id='type-id-573'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-1' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpcon.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='qbman_ch_id' type-id='type-id-89' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpcon.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='num_priorities' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpcon.h' line='77' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-573' size-in-bits='64' id='type-id-574'/>
+    <function-decl name='dpcon_get_attributes' mangled-name='dpcon_get_attributes' filepath='../drivers/bus/fslmc/mc/dpcon.c' line='271' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpcon_get_attributes@@DPDK_20.0'>
+      <parameter type-id='type-id-559' name='mc_io' filepath='../drivers/bus/fslmc/mc/dpcon.c' line='271' column='1'/>
+      <parameter type-id='type-id-114' name='cmd_flags' filepath='../drivers/bus/fslmc/mc/dpcon.c' line='272' column='1'/>
+      <parameter type-id='type-id-89' name='token' filepath='../drivers/bus/fslmc/mc/dpcon.c' line='273' column='1'/>
+      <parameter type-id='type-id-574' name='attr' filepath='../drivers/bus/fslmc/mc/dpcon.c' line='274' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='dpcon_open' mangled-name='dpcon_open' filepath='../drivers/bus/fslmc/mc/dpcon.c' line='29' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpcon_open@@DPDK_20.0'>
+      <parameter type-id='type-id-559' name='mc_io' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='29' column='1'/>
+      <parameter type-id='type-id-114' name='cmd_flags' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='30' column='1'/>
+      <parameter type-id='type-id-1' name='dpbp_id' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='31' column='1'/>
+      <parameter type-id='type-id-563' name='token' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='32' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/bus/fslmc/mc/dpdmai.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='dpdmai_tx_queue_attr' size-in-bits='32' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpdmai.h' line='183' column='1' id='type-id-575'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fqid' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpdmai.h' line='184' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-575' size-in-bits='64' id='type-id-576'/>
+    <function-decl name='dpdmai_get_tx_queue' mangled-name='dpdmai_get_tx_queue' filepath='../drivers/bus/fslmc/mc/dpdmai.c' line='413' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpdmai_get_tx_queue@@DPDK_20.0'>
+      <parameter type-id='type-id-559' name='mc_io' filepath='../drivers/bus/fslmc/mc/dpdmai.c' line='413' column='1'/>
+      <parameter type-id='type-id-114' name='cmd_flags' filepath='../drivers/bus/fslmc/mc/dpdmai.c' line='414' column='1'/>
+      <parameter type-id='type-id-89' name='token' filepath='../drivers/bus/fslmc/mc/dpdmai.c' line='415' column='1'/>
+      <parameter type-id='type-id-175' name='queue_idx' filepath='../drivers/bus/fslmc/mc/dpdmai.c' line='416' column='1'/>
+      <parameter type-id='type-id-175' name='priority' filepath='../drivers/bus/fslmc/mc/dpdmai.c' line='417' column='1'/>
+      <parameter type-id='type-id-576' name='attr' filepath='../drivers/bus/fslmc/mc/dpdmai.c' line='418' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='dpdmai_rx_queue_attr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpdmai.h' line='165' column='1' id='type-id-577'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='user_ctx' type-id='type-id-68' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpdmai.h' line='166' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dest_cfg' type-id='type-id-578' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpdmai.h' line='167' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='fqid' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpdmai.h' line='168' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='dpdmai_dest_cfg' size-in-bits='96' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpdmai.h' line='116' column='1' id='type-id-578'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dest_type' type-id='type-id-579' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpdmai.h' line='117' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dest_id' type-id='type-id-1' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpdmai.h' line='118' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='priority' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpdmai.h' line='119' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='dpdmai_dest' filepath='../drivers/bus/fslmc/mc/fsl_dpdmai.h' line='102' column='1' id='type-id-579'>
+      <underlying-type type-id='type-id-49'/>
+      <enumerator name='DPDMAI_DEST_NONE' value='0'/>
+      <enumerator name='DPDMAI_DEST_DPIO' value='1'/>
+      <enumerator name='DPDMAI_DEST_DPCON' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-577' size-in-bits='64' id='type-id-580'/>
+    <function-decl name='dpdmai_get_rx_queue' mangled-name='dpdmai_get_rx_queue' filepath='../drivers/bus/fslmc/mc/dpdmai.c' line='363' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpdmai_get_rx_queue@@DPDK_20.0'>
+      <parameter type-id='type-id-559' name='mc_io' filepath='../drivers/bus/fslmc/mc/dpdmai.c' line='363' column='1'/>
+      <parameter type-id='type-id-114' name='cmd_flags' filepath='../drivers/bus/fslmc/mc/dpdmai.c' line='364' column='1'/>
+      <parameter type-id='type-id-89' name='token' filepath='../drivers/bus/fslmc/mc/dpdmai.c' line='365' column='1'/>
+      <parameter type-id='type-id-175' name='queue_idx' filepath='../drivers/bus/fslmc/mc/dpdmai.c' line='366' column='1'/>
+      <parameter type-id='type-id-175' name='priority' filepath='../drivers/bus/fslmc/mc/dpdmai.c' line='367' column='1'/>
+      <parameter type-id='type-id-580' name='attr' filepath='../drivers/bus/fslmc/mc/dpdmai.c' line='368' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='dpdmai_rx_queue_cfg' size-in-bits='256' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpdmai.h' line='144' column='1' id='type-id-581'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='options' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpdmai.h' line='145' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='user_ctx' type-id='type-id-68' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpdmai.h' line='146' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dest_cfg' type-id='type-id-578' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpdmai.h' line='147' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-581' const='yes' id='type-id-582'/>
+    <pointer-type-def type-id='type-id-582' size-in-bits='64' id='type-id-583'/>
+    <function-decl name='dpdmai_set_rx_queue' mangled-name='dpdmai_set_rx_queue' filepath='../drivers/bus/fslmc/mc/dpdmai.c' line='321' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpdmai_set_rx_queue@@DPDK_20.0'>
+      <parameter type-id='type-id-559' name='mc_io' filepath='../drivers/bus/fslmc/mc/dpdmai.c' line='321' column='1'/>
+      <parameter type-id='type-id-114' name='cmd_flags' filepath='../drivers/bus/fslmc/mc/dpdmai.c' line='322' column='1'/>
+      <parameter type-id='type-id-89' name='token' filepath='../drivers/bus/fslmc/mc/dpdmai.c' line='323' column='1'/>
+      <parameter type-id='type-id-175' name='queue_idx' filepath='../drivers/bus/fslmc/mc/dpdmai.c' line='324' column='1'/>
+      <parameter type-id='type-id-175' name='priority' filepath='../drivers/bus/fslmc/mc/dpdmai.c' line='325' column='1'/>
+      <parameter type-id='type-id-583' name='cfg' filepath='../drivers/bus/fslmc/mc/dpdmai.c' line='326' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='dpdmai_attr' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpdmai.h' line='79' column='1' id='type-id-584'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-1' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpdmai.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='num_of_priorities' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpdmai.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='num_of_queues' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpdmai.h' line='82' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-584' size-in-bits='64' id='type-id-585'/>
+    <function-decl name='dpdmai_get_attributes' mangled-name='dpdmai_get_attributes' filepath='../drivers/bus/fslmc/mc/dpdmai.c' line='278' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpdmai_get_attributes@@DPDK_20.0'>
+      <parameter type-id='type-id-559' name='mc_io' filepath='../drivers/bus/fslmc/mc/dpdmai.c' line='278' column='1'/>
+      <parameter type-id='type-id-114' name='cmd_flags' filepath='../drivers/bus/fslmc/mc/dpdmai.c' line='279' column='1'/>
+      <parameter type-id='type-id-89' name='token' filepath='../drivers/bus/fslmc/mc/dpdmai.c' line='280' column='1'/>
+      <parameter type-id='type-id-585' name='attr' filepath='../drivers/bus/fslmc/mc/dpdmai.c' line='281' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='dpdmai_disable' mangled-name='dpdmai_disable' filepath='../drivers/bus/fslmc/mc/dpdmai.c' line='196' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpdmai_disable@@DPDK_20.0'>
+      <parameter type-id='type-id-559' name='mc_io' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='238' column='1'/>
+      <parameter type-id='type-id-114' name='cmd_flags' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='239' column='1'/>
+      <parameter type-id='type-id-89' name='token' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='240' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='dpdmai_enable' mangled-name='dpdmai_enable' filepath='../drivers/bus/fslmc/mc/dpdmai.c' line='173' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpdmai_enable@@DPDK_20.0'>
+      <parameter type-id='type-id-559' name='mc_io' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='238' column='1'/>
+      <parameter type-id='type-id-114' name='cmd_flags' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='239' column='1'/>
+      <parameter type-id='type-id-89' name='token' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='240' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='dpdmai_close' mangled-name='dpdmai_close' filepath='../drivers/bus/fslmc/mc/dpdmai.c' line='65' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpdmai_close@@DPDK_20.0'>
+      <parameter type-id='type-id-559' name='mc_io' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='238' column='1'/>
+      <parameter type-id='type-id-114' name='cmd_flags' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='239' column='1'/>
+      <parameter type-id='type-id-89' name='token' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='240' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='dpdmai_open' mangled-name='dpdmai_open' filepath='../drivers/bus/fslmc/mc/dpdmai.c' line='27' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpdmai_open@@DPDK_20.0'>
+      <parameter type-id='type-id-559' name='mc_io' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='29' column='1'/>
+      <parameter type-id='type-id-114' name='cmd_flags' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='30' column='1'/>
+      <parameter type-id='type-id-1' name='dpbp_id' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='31' column='1'/>
+      <parameter type-id='type-id-563' name='token' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='32' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/bus/fslmc/mc/dpio.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='dpio_remove_static_dequeue_channel' mangled-name='dpio_remove_static_dequeue_channel' filepath='../drivers/bus/fslmc/mc/dpio.c' line='428' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpio_remove_static_dequeue_channel@@DPDK_20.0'>
+      <parameter type-id='type-id-559' name='mc_io' filepath='../drivers/bus/fslmc/mc/dpio.c' line='428' column='1'/>
+      <parameter type-id='type-id-114' name='cmd_flags' filepath='../drivers/bus/fslmc/mc/dpio.c' line='429' column='1'/>
+      <parameter type-id='type-id-89' name='token' filepath='../drivers/bus/fslmc/mc/dpio.c' line='430' column='1'/>
+      <parameter type-id='type-id-1' name='dpcon_id' filepath='../drivers/bus/fslmc/mc/dpio.c' line='431' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='dpio_add_static_dequeue_channel' mangled-name='dpio_add_static_dequeue_channel' filepath='../drivers/bus/fslmc/mc/dpio.c' line='389' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpio_add_static_dequeue_channel@@DPDK_20.0'>
+      <parameter type-id='type-id-559' name='mc_io' filepath='../drivers/bus/fslmc/mc/dpio.c' line='389' column='1'/>
+      <parameter type-id='type-id-114' name='cmd_flags' filepath='../drivers/bus/fslmc/mc/dpio.c' line='390' column='1'/>
+      <parameter type-id='type-id-89' name='token' filepath='../drivers/bus/fslmc/mc/dpio.c' line='391' column='1'/>
+      <parameter type-id='type-id-1' name='dpcon_id' filepath='../drivers/bus/fslmc/mc/dpio.c' line='392' column='1'/>
+      <parameter type-id='type-id-195' name='channel_index' filepath='../drivers/bus/fslmc/mc/dpio.c' line='393' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='dpio_set_stashing_destination' mangled-name='dpio_set_stashing_destination' filepath='../drivers/bus/fslmc/mc/dpio.c' line='325' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpio_set_stashing_destination@@DPDK_20.0'>
+      <parameter type-id='type-id-559' name='mc_io' filepath='../drivers/bus/fslmc/mc/dpio.c' line='325' column='1'/>
+      <parameter type-id='type-id-114' name='cmd_flags' filepath='../drivers/bus/fslmc/mc/dpio.c' line='326' column='1'/>
+      <parameter type-id='type-id-89' name='token' filepath='../drivers/bus/fslmc/mc/dpio.c' line='327' column='1'/>
+      <parameter type-id='type-id-175' name='sdest' filepath='../drivers/bus/fslmc/mc/dpio.c' line='328' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='dpio_attr' size-in-bits='384' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpio.h' line='111' column='1' id='type-id-586'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-1' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpio.h' line='112' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='qbman_portal_ce_offset' type-id='type-id-68' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpio.h' line='113' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='qbman_portal_ci_offset' type-id='type-id-68' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpio.h' line='114' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='qbman_portal_id' type-id='type-id-89' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpio.h' line='115' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='channel_mode' type-id='type-id-587' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpio.h' line='116' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='num_priorities' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpio.h' line='117' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='qbman_version' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpio.h' line='118' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='clk' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpio.h' line='119' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='dpio_channel_mode' filepath='../drivers/bus/fslmc/mc/fsl_dpio.h' line='32' column='1' id='type-id-587'>
+      <underlying-type type-id='type-id-49'/>
+      <enumerator name='DPIO_NO_CHANNEL' value='0'/>
+      <enumerator name='DPIO_LOCAL_CHANNEL' value='1'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-586' size-in-bits='64' id='type-id-588'/>
+    <function-decl name='dpio_get_attributes' mangled-name='dpio_get_attributes' filepath='../drivers/bus/fslmc/mc/dpio.c' line='280' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpio_get_attributes@@DPDK_20.0'>
+      <parameter type-id='type-id-559' name='mc_io' filepath='../drivers/bus/fslmc/mc/dpio.c' line='280' column='1'/>
+      <parameter type-id='type-id-114' name='cmd_flags' filepath='../drivers/bus/fslmc/mc/dpio.c' line='281' column='1'/>
+      <parameter type-id='type-id-89' name='token' filepath='../drivers/bus/fslmc/mc/dpio.c' line='282' column='1'/>
+      <parameter type-id='type-id-588' name='attr' filepath='../drivers/bus/fslmc/mc/dpio.c' line='283' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='dpio_reset' mangled-name='dpio_reset' filepath='../drivers/bus/fslmc/mc/dpio.c' line='256' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpio_reset@@DPDK_20.0'>
+      <parameter type-id='type-id-559' name='mc_io' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='238' column='1'/>
+      <parameter type-id='type-id-114' name='cmd_flags' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='239' column='1'/>
+      <parameter type-id='type-id-89' name='token' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='240' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='dpio_disable' mangled-name='dpio_disable' filepath='../drivers/bus/fslmc/mc/dpio.c' line='199' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpio_disable@@DPDK_20.0'>
+      <parameter type-id='type-id-559' name='mc_io' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='238' column='1'/>
+      <parameter type-id='type-id-114' name='cmd_flags' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='239' column='1'/>
+      <parameter type-id='type-id-89' name='token' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='240' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='dpio_enable' mangled-name='dpio_enable' filepath='../drivers/bus/fslmc/mc/dpio.c' line='176' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpio_enable@@DPDK_20.0'>
+      <parameter type-id='type-id-559' name='mc_io' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='238' column='1'/>
+      <parameter type-id='type-id-114' name='cmd_flags' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='239' column='1'/>
+      <parameter type-id='type-id-89' name='token' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='240' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='dpio_close' mangled-name='dpio_close' filepath='../drivers/bus/fslmc/mc/dpio.c' line='64' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpio_close@@DPDK_20.0'>
+      <parameter type-id='type-id-559' name='mc_io' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='238' column='1'/>
+      <parameter type-id='type-id-114' name='cmd_flags' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='239' column='1'/>
+      <parameter type-id='type-id-89' name='token' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='240' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='dpio_open' mangled-name='dpio_open' filepath='../drivers/bus/fslmc/mc/dpio.c' line='29' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpio_open@@DPDK_20.0'>
+      <parameter type-id='type-id-559' name='mc_io' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='29' column='1'/>
+      <parameter type-id='type-id-114' name='cmd_flags' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='30' column='1'/>
+      <parameter type-id='type-id-1' name='dpbp_id' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='31' column='1'/>
+      <parameter type-id='type-id-563' name='token' filepath='../drivers/bus/fslmc/mc/dpbp.c' line='32' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/bus/fslmc/mc/dpmng.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='mc_soc_version' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpmng.h' line='46' column='1' id='type-id-589'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='svr' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpmng.h' line='47' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='pvr' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpmng.h' line='48' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-589' size-in-bits='64' id='type-id-590'/>
+    <function-decl name='mc_get_soc_version' mangled-name='mc_get_soc_version' filepath='../drivers/bus/fslmc/mc/dpmng.c' line='60' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mc_get_soc_version@@DPDK_20.0'>
+      <parameter type-id='type-id-559' name='mc_io' filepath='../drivers/bus/fslmc/mc/dpmng.c' line='60' column='1'/>
+      <parameter type-id='type-id-114' name='cmd_flags' filepath='../drivers/bus/fslmc/mc/dpmng.c' line='61' column='1'/>
+      <parameter type-id='type-id-590' name='mc_platform_info' filepath='../drivers/bus/fslmc/mc/dpmng.c' line='62' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='mc_version' size-in-bits='96' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpmng.h' line='31' column='1' id='type-id-591'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='major' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpmng.h' line='32' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='minor' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpmng.h' line='33' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='revision' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_dpmng.h' line='34' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-591' size-in-bits='64' id='type-id-592'/>
+    <function-decl name='mc_get_version' mangled-name='mc_get_version' filepath='../drivers/bus/fslmc/mc/dpmng.c' line='21' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mc_get_version@@DPDK_20.0'>
+      <parameter type-id='type-id-559' name='mc_io' filepath='../drivers/bus/fslmc/mc/dpmng.c' line='21' column='1'/>
+      <parameter type-id='type-id-114' name='cmd_flags' filepath='../drivers/bus/fslmc/mc/dpmng.c' line='22' column='1'/>
+      <parameter type-id='type-id-592' name='mc_ver_info' filepath='../drivers/bus/fslmc/mc/dpmng.c' line='23' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/bus/fslmc/mc/mc_sys.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='mc_command' size-in-bits='512' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_mc_cmd.h' line='48' column='1' id='type-id-593'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='header' type-id='type-id-68' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_mc_cmd.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='params' type-id='type-id-594' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_mc_cmd.h' line='50' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-68' size-in-bits='448' id='type-id-594'>
+      <subrange length='7' type-id='type-id-50' id='type-id-595'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-593' size-in-bits='64' id='type-id-596'/>
+    <function-decl name='mc_send_command' mangled-name='mc_send_command' filepath='../drivers/bus/fslmc/mc/mc_sys.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mc_send_command@@DPDK_20.0'>
+      <parameter type-id='type-id-559' name='mc_io' filepath='../drivers/bus/fslmc/mc/mc_sys.c' line='54' column='1'/>
+      <parameter type-id='type-id-596' name='cmd' filepath='../drivers/bus/fslmc/mc/mc_sys.c' line='54' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/bus/fslmc/portal/dpaa2_hw_dpbp.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='dpaa2_memseg_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='331' column='1' id='type-id-597'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-598' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='331' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-599' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='331' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='dpaa2_memseg' size-in-bits='320' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='324' column='1' id='type-id-600'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-601' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='325' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vaddr' type-id='type-id-52' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='326' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iova' type-id='type-id-121' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='327' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-69' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='328' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='325' column='1' id='type-id-601'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-598' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='325' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-599' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='325' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-600' size-in-bits='64' id='type-id-598'/>
+    <pointer-type-def type-id='type-id-598' size-in-bits='64' id='type-id-599'/>
+    <var-decl name='rte_dpaa2_memsegs' type-id='type-id-597' mangled-name='rte_dpaa2_memsegs' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='332' column='1' elf-symbol-id='rte_dpaa2_memsegs@@DPDK_20.0'/>
+    <function-decl name='dpaa2_dpbp_supported' mangled-name='dpaa2_dpbp_supported' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_dpbp.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpaa2_dpbp_supported@@DPDK_20.0'>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='dpaa2_dpbp_dev' size-in-bits='256' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='117' column='1' id='type-id-602'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-603' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='118' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dpbp' type-id='type-id-558' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='120' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='token' type-id='type-id-89' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='121' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='208'>
+        <var-decl name='in_use' type-id='type-id-156' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='122' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='dpbp_id' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='123' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='118' column='1' id='type-id-603'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-604' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='118' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-605' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='118' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-602' size-in-bits='64' id='type-id-604'/>
+    <pointer-type-def type-id='type-id-604' size-in-bits='64' id='type-id-605'/>
+    <function-decl name='dpaa2_free_dpbp_dev' mangled-name='dpaa2_free_dpbp_dev' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_dpbp.c' line='105' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpaa2_free_dpbp_dev@@DPDK_20.0'>
+      <parameter type-id='type-id-604' name='dpbp' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_dpbp.c' line='105' column='1'/>
+      <return type-id='type-id-56'/>
+    </function-decl>
+    <function-decl name='dpaa2_alloc_dpbp_dev' mangled-name='dpaa2_alloc_dpbp_dev' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_dpbp.c' line='92' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpaa2_alloc_dpbp_dev@@DPDK_20.0'>
+      <return type-id='type-id-604'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/bus/fslmc/portal/dpaa2_hw_dpci.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='dpaa2_dpci_dev' size-in-bits='3840' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='179' column='1' id='type-id-606'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-607' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='180' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dpci' type-id='type-id-558' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='182' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='token' type-id='type-id-89' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='183' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='208'>
+        <var-decl name='in_use' type-id='type-id-156' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='184' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='dpci_id' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='185' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_queue' type-id='type-id-608' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='tx_queue' type-id='type-id-608' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='187' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='180' column='1' id='type-id-607'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-609' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='180' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-610' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='180' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-606' size-in-bits='64' id='type-id-609'/>
+    <pointer-type-def type-id='type-id-609' size-in-bits='64' id='type-id-610'/>
+    <class-decl name='dpaa2_queue' size-in-bits='896' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='144' column='1' id='type-id-611'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mb_pool' type-id='type-id-115' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='145' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-612' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='fqid' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='150' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='flow_id' type-id='type-id-89' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='151' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='tc_index' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='184'>
+        <var-decl name='cgid' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='153' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='rx_pkts' type-id='type-id-68' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='tx_pkts' type-id='type-id-68' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='155' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='err_pkts' type-id='type-id-68' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='156' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='ev' type-id='type-id-613' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='161' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='eventfd' type-id='type-id-128' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='162' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='cb' type-id='type-id-614' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='163' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='cb_eqresp_free' type-id='type-id-615' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='164' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='bp_array' type-id='type-id-616' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='165' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='tx_conf_queue' type-id='type-id-617' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='167' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='146' column='1' id='type-id-612'>
+      <data-member access='private'>
+        <var-decl name='eth_data' type-id='type-id-100' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='147' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='crypto_data' type-id='type-id-618' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='148' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_cryptodev_data' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-619'/>
+    <pointer-type-def type-id='type-id-619' size-in-bits='64' id='type-id-618'/>
+    <class-decl name='rte_event' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1006' column='1' id='type-id-613'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-620' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1008' column='1' id='type-id-620'>
+      <data-member access='private'>
+        <var-decl name='event' type-id='type-id-68' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1009' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-621' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1011' column='1' id='type-id-621'>
+      <data-member access='public' layout-offset-in-bits='12'>
+        <var-decl name='flow_id' type-id='type-id-114' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1012' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4'>
+        <var-decl name='sub_event_type' type-id='type-id-114' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1019' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event_type' type-id='type-id-114' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1023' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='op' type-id='type-id-175' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1027' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2'>
+        <var-decl name='rsvd' type-id='type-id-175' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1033' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='sched_type' type-id='type-id-175' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1035' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='queue_id' type-id='type-id-175' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1040' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='priority' type-id='type-id-175' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1047' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='impl_opaque' type-id='type-id-175' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1057' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='qbman_swp' size-in-bits='1216' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-622'/>
+    <pointer-type-def type-id='type-id-622' size-in-bits='64' id='type-id-623'/>
+    <class-decl name='qbman_fd' size-in-bits='256' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='125' column='1' id='type-id-624'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-625' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='126' column='1' id='type-id-625'>
+      <data-member access='private'>
+        <var-decl name='words' type-id='type-id-626' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='127' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='simple' type-id='type-id-627' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='simple_pci' type-id='type-id-628' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='180' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='simple_ddr' type-id='type-id-629' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='221' column='1'/>
+      </data-member>
+    </union-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-114' size-in-bits='256' id='type-id-626'>
+      <subrange length='8' type-id='type-id-50' id='type-id-200'/>
+
+    </array-type-def>
+    <class-decl name='qbman_fd_simple' size-in-bits='256' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='128' column='1' id='type-id-627'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr_lo' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='129' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='addr_hi' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='130' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='131' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='bpid_offset' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='132' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='frc' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='133' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='ctrl' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='134' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='flc_lo' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='135' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='flc_hi' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='136' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='qbman_fd_us_pci_simple' size-in-bits='256' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='139' column='1' id='type-id-628'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='saddr_lo' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='140' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='saddr_hi' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='14'>
+        <var-decl name='len_sl' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='143' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rsv1' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='144' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='28'>
+        <var-decl name='sportid' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='146' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='rsv2' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='147' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='bmt' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='148' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4'>
+        <var-decl name='rsv3' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='149' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2'>
+        <var-decl name='fmt' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='150' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1'>
+        <var-decl name='sl' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='151' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='rsv4' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='28'>
+        <var-decl name='acc_err' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='rsv5' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='155' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='23'>
+        <var-decl name='ser' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='156' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='20'>
+        <var-decl name='rsv6' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='157' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='wrttype' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='158' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='13'>
+        <var-decl name='dqos' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='159' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='12'>
+        <var-decl name='drbp' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='160' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='10'>
+        <var-decl name='dlwc' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='161' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='rsv7' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='162' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4'>
+        <var-decl name='rdttype' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='163' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1'>
+        <var-decl name='sqos' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='164' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='srbp' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='165' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='error' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='167' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='20'>
+        <var-decl name='dportid' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='168' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='15'>
+        <var-decl name='rsv8' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='169' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='14'>
+        <var-decl name='dca' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='170' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='12'>
+        <var-decl name='dat' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='9'>
+        <var-decl name='dattr' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='172' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='dvfa' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='173' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='dtc' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='174' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4'>
+        <var-decl name='so' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='175' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='dd' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='176' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='daddr_lo' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='178' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='daddr_hi' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='179' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='qbman_fd_us_ddr_simple' size-in-bits='256' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='181' column='1' id='type-id-629'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='saddr_lo' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='182' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='15'>
+        <var-decl name='saddr_hi' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='184' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='rsv1' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='185' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='17'>
+        <var-decl name='rsv2' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='189' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='bmt' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='190' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4'>
+        <var-decl name='rsv3' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2'>
+        <var-decl name='fmt' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='192' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1'>
+        <var-decl name='sl' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='193' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='rsv4' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='28'>
+        <var-decl name='acc_err' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='196' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='rsv5' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='197' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='23'>
+        <var-decl name='ser' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='198' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='21'>
+        <var-decl name='rsv6' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='199' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='20'>
+        <var-decl name='wns' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='200' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='wrttype' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='201' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='13'>
+        <var-decl name='dqos' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='202' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='12'>
+        <var-decl name='rsv12' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='203' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='10'>
+        <var-decl name='dlwc' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='204' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='9'>
+        <var-decl name='rsv7' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='rns' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='206' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4'>
+        <var-decl name='rdttype' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='207' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1'>
+        <var-decl name='sqos' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='208' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rsv11' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='209' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='error' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='211' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18'>
+        <var-decl name='rsv8' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='212' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='17'>
+        <var-decl name='va' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='213' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4'>
+        <var-decl name='rsv9' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='214' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='dd' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='215' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='daddr_lo' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='217' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='15'>
+        <var-decl name='daddr_hi' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='219' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='rsv10' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='220' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-624' const='yes' id='type-id-630'/>
+    <pointer-type-def type-id='type-id-630' size-in-bits='64' id='type-id-631'/>
+    <class-decl name='qbman_result' size-in-bits='512' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='196' column='1' id='type-id-632'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-633' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='512' is-anonymous='yes' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='197' column='1' id='type-id-633'>
+      <data-member access='private'>
+        <var-decl name='common' type-id='type-id-634' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='201' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dq' type-id='type-id-635' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='215' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='scn' type-id='type-id-636' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='223' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='eq_resp' type-id='type-id-637' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='240' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='common' size-in-bits='512' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='198' column='1' id='type-id-634'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='verb' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='199' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='reserved' type-id='type-id-638' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='200' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-175' size-in-bits='504' id='type-id-638'>
+      <subrange length='63' type-id='type-id-50' id='type-id-639'/>
+
+    </array-type-def>
+    <class-decl name='dq' size-in-bits='512' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='202' column='1' id='type-id-635'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='verb' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='203' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='stat' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='204' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='seqnum' type-id='type-id-640' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='oprid' type-id='type-id-640' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='206' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='reserved' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='207' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='tok' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='208' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fqid' type-id='type-id-641' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='209' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='reserved2' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='210' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='fq_byte_cnt' type-id='type-id-641' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='211' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='fq_frm_cnt' type-id='type-id-641' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='212' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='fqd_ctx' type-id='type-id-642' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='213' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='fd' type-id='type-id-643' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='214' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='__u16' type-id='type-id-108' filepath='/usr/local/include/asm-generic/int-ll64.h' line='24' column='1' id='type-id-644'/>
+    <typedef-decl name='__le16' type-id='type-id-644' filepath='/usr/local/include/linux/types.h' line='24' column='1' id='type-id-640'/>
+    <typedef-decl name='__le32' type-id='type-id-554' filepath='/usr/local/include/linux/types.h' line='26' column='1' id='type-id-641'/>
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-645'/>
+    <typedef-decl name='__u64' type-id='type-id-645' filepath='/usr/local/include/asm-generic/int-ll64.h' line='31' column='1' id='type-id-646'/>
+    <typedef-decl name='__le64' type-id='type-id-646' filepath='/usr/local/include/linux/types.h' line='28' column='1' id='type-id-642'/>
+
+    <array-type-def dimensions='1' type-id='type-id-175' size-in-bits='256' id='type-id-643'>
+      <subrange length='32' type-id='type-id-50' id='type-id-132'/>
+
+    </array-type-def>
+    <class-decl name='scn' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='216' column='1' id='type-id-636'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='verb' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='217' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='stat' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='218' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='state' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='219' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='reserved' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='220' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='rid_tok' type-id='type-id-641' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='221' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ctx' type-id='type-id-642' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='222' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='eq_resp' size-in-bits='512' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='224' column='1' id='type-id-637'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='verb' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='dca' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='226' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='seqnum' type-id='type-id-640' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='227' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='oprid' type-id='type-id-640' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='reserved' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='rc' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tgtid' type-id='type-id-641' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='tag' type-id='type-id-641' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='qdbin' type-id='type-id-89' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='qpri' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='234' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='152'>
+        <var-decl name='reserved1' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='235' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='fqid' type-id='type-id-641' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='rspid' type-id='type-id-641' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='rsp_addr' type-id='type-id-642' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='fd' type-id='type-id-643' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='239' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-632' const='yes' id='type-id-647'/>
+    <pointer-type-def type-id='type-id-647' size-in-bits='64' id='type-id-648'/>
+    <pointer-type-def type-id='type-id-611' size-in-bits='64' id='type-id-617'/>
+    <pointer-type-def type-id='type-id-613' size-in-bits='64' id='type-id-649'/>
+    <typedef-decl name='dpaa2_queue_cb_dqrr_t' type-id='type-id-650' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='136' column='1' id='type-id-651'/>
+    <pointer-type-def type-id='type-id-651' size-in-bits='64' id='type-id-614'/>
+    <typedef-decl name='dpaa2_queue_cb_eqresp_free_t' type-id='type-id-652' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='142' column='1' id='type-id-653'/>
+    <pointer-type-def type-id='type-id-653' size-in-bits='64' id='type-id-615'/>
+    <class-decl name='dpaa2_bp_info' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-654'/>
+    <pointer-type-def type-id='type-id-654' size-in-bits='64' id='type-id-616'/>
+
+    <array-type-def dimensions='1' type-id='type-id-611' size-in-bits='1792' id='type-id-608'>
+      <subrange length='2' type-id='type-id-50' id='type-id-164'/>
+
+    </array-type-def>
+    <function-decl name='rte_dpaa2_free_dpci_dev' mangled-name='rte_dpaa2_free_dpci_dev' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_dpci.c' line='169' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_dpaa2_free_dpci_dev@@DPDK_20.0'>
+      <parameter type-id='type-id-609' name='dpci' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_dpci.c' line='169' column='1'/>
+      <return type-id='type-id-56'/>
+    </function-decl>
+    <function-decl name='rte_dpaa2_alloc_dpci_dev' mangled-name='rte_dpaa2_alloc_dpci_dev' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_dpci.c' line='156' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_dpaa2_alloc_dpci_dev@@DPDK_20.0'>
+      <return type-id='type-id-609'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-650'>
+      <parameter type-id='type-id-623'/>
+      <parameter type-id='type-id-631'/>
+      <parameter type-id='type-id-648'/>
+      <parameter type-id='type-id-617'/>
+      <parameter type-id='type-id-649'/>
+      <return type-id='type-id-56'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-652'>
+      <parameter type-id='type-id-89'/>
+      <return type-id='type-id-56'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/bus/fslmc/portal/dpaa2_hw_dpio.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='dpaa2_io_portal_t' size-in-bits='320' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_dpio.h' line='14' column='1' id='type-id-655'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dpio_dev' type-id='type-id-656' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_dpio.h' line='15' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ethrx_dpio_dev' type-id='type-id-656' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_dpio.h' line='16' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='net_tid' type-id='type-id-68' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_dpio.h' line='17' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='sec_tid' type-id='type-id-68' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_dpio.h' line='18' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='eventdev' type-id='type-id-57' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_dpio.h' line='19' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='dpaa2_dpio_dev' size-in-bits='214400' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='90' column='1' id='type-id-657'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-658' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='index' type-id='type-id-89' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='93' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='ref_count' type-id='type-id-156' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='eqresp_ci' type-id='type-id-89' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='eqresp_pi' type-id='type-id-89' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='97' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='eqresp' type-id='type-id-659' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='98' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='eqresp_meta' type-id='type-id-660' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='99' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dpio' type-id='type-id-559' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='100' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='token' type-id='type-id-89' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='101' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='sw_portal' type-id='type-id-623' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='102' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='dqrr' type-id='type-id-661' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='103' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='mc_portal' type-id='type-id-57' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='qbman_portal_ce_paddr' type-id='type-id-662' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='ce_size' type-id='type-id-662' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='qbman_portal_ci_paddr' type-id='type-id-662' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='ci_size' type-id='type-id-662' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='111' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='intr_handle' type-id='type-id-90' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='112' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='214336'>
+        <var-decl name='epoll_fd' type-id='type-id-128' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='113' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='214368'>
+        <var-decl name='hw_id' type-id='type-id-128' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='114' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='91' column='1' id='type-id-658'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-656' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-663' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-657' size-in-bits='64' id='type-id-656'/>
+    <pointer-type-def type-id='type-id-656' size-in-bits='64' id='type-id-663'/>
+    <pointer-type-def type-id='type-id-632' size-in-bits='64' id='type-id-659'/>
+    <class-decl name='eqresp_metadata' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='85' column='1' id='type-id-664'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dpaa2_q' type-id='type-id-617' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-115' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='87' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-664' size-in-bits='64' id='type-id-660'/>
+
+    <array-type-def dimensions='1' type-id='type-id-648' size-in-bits='256' id='type-id-661'>
+      <subrange length='4' type-id='type-id-50' id='type-id-213'/>
+
+    </array-type-def>
+    <typedef-decl name='uintptr_t' type-id='type-id-50' filepath='/usr/include/stdint.h' line='90' column='1' id='type-id-662'/>
+
+    <array-type-def dimensions='1' type-id='type-id-655' size-in-bits='40960' id='type-id-665'>
+      <subrange length='128' type-id='type-id-50' id='type-id-226'/>
+
+    </array-type-def>
+    <var-decl name='dpaa2_io_portal' type-id='type-id-665' mangled-name='dpaa2_io_portal' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_dpio.h' line='36' column='1' elf-symbol-id='dpaa2_io_portal@@DPDK_20.0'/>
+    <var-decl name='per_lcore__dpaa2_io' type-id='type-id-655' mangled-name='per_lcore__dpaa2_io' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_dpio.h' line='23' column='1' elf-symbol-id='per_lcore__dpaa2_io@@DPDK_20.0'/>
+    <class-decl name='swp_active_dqs' size-in-bits='512' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='170' column='1' id='type-id-666'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='global_active_dqs' type-id='type-id-659' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='reserved' type-id='type-id-594' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='172' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-666' size-in-bits='32768' id='type-id-667'>
+      <subrange length='64' type-id='type-id-50' id='type-id-51'/>
+
+    </array-type-def>
+    <var-decl name='rte_global_active_dqs_list' type-id='type-id-667' mangled-name='rte_global_active_dqs_list' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='177' column='1' elf-symbol-id='rte_global_active_dqs_list@@DPDK_20.0'/>
+    <var-decl name='dpaa2_svr_family' type-id='type-id-114' mangled-name='dpaa2_svr_family' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='18' column='1' elf-symbol-id='dpaa2_svr_family@@DPDK_20.0'/>
+    <var-decl name='dpaa2_dqrr_size' type-id='type-id-175' mangled-name='dpaa2_dqrr_size' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_dpio.h' line='32' column='1' elf-symbol-id='dpaa2_dqrr_size@@DPDK_20.0'/>
+    <var-decl name='dpaa2_eqcr_size' type-id='type-id-175' mangled-name='dpaa2_eqcr_size' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_dpio.h' line='34' column='1' elf-symbol-id='dpaa2_eqcr_size@@DPDK_20.0'/>
+    <function-decl name='dpaa2_free_eq_descriptors' mangled-name='dpaa2_free_eq_descriptors' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_dpio.c' line='606' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpaa2_free_eq_descriptors@@DPDK_20.0'>
+      <return type-id='type-id-114'/>
+    </function-decl>
+    <class-decl name='queue_storage_info_t' size-in-bits='256' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='126' column='1' id='type-id-668'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dq_storage' type-id='type-id-669' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='127' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='active_dqs' type-id='type-id-659' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='128' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='active_dpio_id' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='129' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='200'>
+        <var-decl name='toggle' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='130' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='208'>
+        <var-decl name='last_num_pkts' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='131' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-659' size-in-bits='128' id='type-id-669'>
+      <subrange length='2' type-id='type-id-50' id='type-id-164'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-668' size-in-bits='64' id='type-id-670'/>
+    <function-decl name='dpaa2_alloc_dq_storage' mangled-name='dpaa2_alloc_dq_storage' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_dpio.c' line='586' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpaa2_alloc_dq_storage@@DPDK_20.0'>
+      <parameter type-id='type-id-670' name='q_storage' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_dpio.c' line='586' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='dpaa2_free_dq_storage' mangled-name='dpaa2_free_dq_storage' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_dpio.c' line='575' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpaa2_free_dq_storage@@DPDK_20.0'>
+      <parameter type-id='type-id-670' name='q_storage' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_dpio.c' line='575' column='1'/>
+      <return type-id='type-id-56'/>
+    </function-decl>
+    <function-decl name='dpaa2_affine_qbman_ethrx_swp' mangled-name='dpaa2_affine_qbman_ethrx_swp' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_dpio.c' line='304' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpaa2_affine_qbman_ethrx_swp@@DPDK_20.0'>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='dpaa2_affine_qbman_swp' mangled-name='dpaa2_affine_qbman_swp' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_dpio.c' line='256' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpaa2_affine_qbman_swp@@DPDK_20.0'>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/bus/fslmc/qbman/qbman_portal.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='qman_version' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/qbman_portal.h' line='14' column='1'/>
+    <class-decl name='qbman_swp' size-in-bits='1216' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/qbman/qbman_portal.h' line='43' column='1' id='type-id-622'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='desc' type-id='type-id-671' visibility='default' filepath='../drivers/bus/fslmc/qbman/qbman_portal.h' line='44' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='sys' type-id='type-id-672' visibility='default' filepath='../drivers/bus/fslmc/qbman/qbman_portal.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='mc' type-id='type-id-673' visibility='default' filepath='../drivers/bus/fslmc/qbman/qbman_portal.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='mr' type-id='type-id-673' visibility='default' filepath='../drivers/bus/fslmc/qbman/qbman_portal.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='sdq' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/qbman_portal.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='vdq' type-id='type-id-674' visibility='default' filepath='../drivers/bus/fslmc/qbman/qbman_portal.h' line='89' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dqrr' type-id='type-id-675' visibility='default' filepath='../drivers/bus/fslmc/qbman/qbman_portal.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='eqcr' type-id='type-id-676' visibility='default' filepath='../drivers/bus/fslmc/qbman/qbman_portal.h' line='104' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='qbman_swp_desc' size-in-bits='384' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='65' column='1' id='type-id-671'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='block' type-id='type-id-677' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='cena_bar' type-id='type-id-195' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cinh_bar' type-id='type-id-195' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='irq' type-id='type-id-1' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='idx' type-id='type-id-1' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='qman_version' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='eqcr_mode' type-id='type-id-678' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='cena_access_mode' type-id='type-id-679' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='73' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='qbman_block_desc' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='29' column='1' id='type-id-680'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ccsr_reg_bar' type-id='type-id-57' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='30' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='irq_rerr' type-id='type-id-1' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='irq_nrerr' type-id='type-id-1' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='32' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-680' const='yes' id='type-id-681'/>
+    <pointer-type-def type-id='type-id-681' size-in-bits='64' id='type-id-677'/>
+    <enum-decl name='qbman_eqcr_mode' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='35' column='1' id='type-id-678'>
+      <underlying-type type-id='type-id-49'/>
+      <enumerator name='qman_eqcr_vb_ring' value='2'/>
+      <enumerator name='qman_eqcr_vb_array' value='3'/>
+    </enum-decl>
+    <enum-decl name='qbman_cena_access_mode' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_base.h' line='40' column='1' id='type-id-679'>
+      <underlying-type type-id='type-id-49'/>
+      <enumerator name='qman_cena_fastest_access' value='0'/>
+      <enumerator name='qman_cena_direct_access' value='1'/>
+    </enum-decl>
+    <class-decl name='qbman_swp_sys' size-in-bits='256' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/qbman/qbman_sys.h' line='160' column='1' id='type-id-672'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cena' type-id='type-id-195' visibility='default' filepath='../drivers/bus/fslmc/qbman/qbman_sys.h' line='168' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='addr_cena' type-id='type-id-195' visibility='default' filepath='../drivers/bus/fslmc/qbman/qbman_sys.h' line='169' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr_cinh' type-id='type-id-195' visibility='default' filepath='../drivers/bus/fslmc/qbman/qbman_sys.h' line='170' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='idx' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/qbman_sys.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='eqcr_mode' type-id='type-id-678' visibility='default' filepath='../drivers/bus/fslmc/qbman/qbman_sys.h' line='172' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/fslmc/qbman/qbman_portal.h' line='50' column='1' id='type-id-673'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='valid_bit' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/qbman_portal.h' line='58' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/fslmc/qbman/qbman_portal.h' line='67' column='1' id='type-id-674'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='busy' type-id='type-id-682' visibility='default' filepath='../drivers/bus/fslmc/qbman/qbman_portal.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='valid_bit' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/qbman_portal.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='storage' type-id='type-id-659' visibility='default' filepath='../drivers/bus/fslmc/qbman/qbman_portal.h' line='88' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-682' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='506' column='1' id='type-id-683'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-684' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='507' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-128' volatile='yes' id='type-id-684'/>
+    <typedef-decl name='rte_atomic32_t' type-id='type-id-683' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='508' column='1' id='type-id-682'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/fslmc/qbman/qbman_portal.h' line='91' column='1' id='type-id-675'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next_idx' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/qbman_portal.h' line='92' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='valid_bit' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/qbman_portal.h' line='93' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dqrr_size' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/qbman/qbman_portal.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='reset_bug' type-id='type-id-1' visibility='default' filepath='../drivers/bus/fslmc/qbman/qbman_portal.h' line='95' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/fslmc/qbman/qbman_portal.h' line='97' column='1' id='type-id-676'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pi' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/qbman_portal.h' line='98' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='pi_vb' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/qbman_portal.h' line='99' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pi_ring_size' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/qbman_portal.h' line='100' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='pi_ci_mask' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/qbman_portal.h' line='101' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ci' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/qbman_portal.h' line='102' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='available' type-id='type-id-1' visibility='default' filepath='../drivers/bus/fslmc/qbman/qbman_portal.h' line='103' column='1'/>
+      </data-member>
+    </class-decl>
+    <function-decl name='qbman_get_dqrr_from_idx' mangled-name='qbman_get_dqrr_from_idx' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='2383' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_get_dqrr_from_idx@@DPDK_20.0'>
+      <parameter type-id='type-id-623' name='s' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='2383' column='1'/>
+      <parameter type-id='type-id-175' name='idx' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='2383' column='1'/>
+      <return type-id='type-id-659'/>
+    </function-decl>
+    <function-decl name='qbman_get_dqrr_idx' mangled-name='qbman_get_dqrr_idx' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='2378' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_get_dqrr_idx@@DPDK_20.0'>
+      <parameter type-id='type-id-648' name='dqrr' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='2378' column='1'/>
+      <return type-id='type-id-175'/>
+    </function-decl>
+    <function-decl name='qbman_swp_acquire' mangled-name='qbman_swp_acquire' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='2160' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_swp_acquire@@DPDK_20.0'>
+      <parameter type-id='type-id-623' name='s' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='2160' column='1'/>
+      <parameter type-id='type-id-89' name='bpid' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='2160' column='1'/>
+      <parameter type-id='type-id-484' name='buffers' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='2160' column='1'/>
+      <parameter type-id='type-id-123' name='num_buffers' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='2161' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='qbman_release_desc' size-in-bits='512' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='1102' column='1' id='type-id-685'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-686' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='512' is-anonymous='yes' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='1103' column='1' id='type-id-686'>
+      <data-member access='private'>
+        <var-decl name='dont_manipulate_directly' type-id='type-id-687' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='1104' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='br' type-id='type-id-688' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='1111' column='1'/>
+      </data-member>
+    </union-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-114' size-in-bits='512' id='type-id-687'>
+      <subrange length='16' type-id='type-id-50' id='type-id-219'/>
+
+    </array-type-def>
+    <class-decl name='br' size-in-bits='512' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='1105' column='1' id='type-id-688'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='verb' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='1106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='reserved' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='1107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='bpid' type-id='type-id-89' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='1108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='reserved2' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='1109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='buf' type-id='type-id-594' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='1110' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-685' const='yes' id='type-id-689'/>
+    <pointer-type-def type-id='type-id-689' size-in-bits='64' id='type-id-690'/>
+    <function-decl name='qbman_swp_release' mangled-name='qbman_swp_release' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='2132' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_swp_release@@DPDK_20.0'>
+      <parameter type-id='type-id-623' name='s' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='2132' column='1'/>
+      <parameter type-id='type-id-690' name='d' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='2133' column='1'/>
+      <parameter type-id='type-id-488' name='buffers' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='2134' column='1'/>
+      <parameter type-id='type-id-123' name='num_buffers' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='2135' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-685' size-in-bits='64' id='type-id-691'/>
+    <function-decl name='qbman_release_desc_set_bpid' mangled-name='qbman_release_desc_set_bpid' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='2049' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_release_desc_set_bpid@@DPDK_20.0'>
+      <parameter type-id='type-id-691' name='d' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='2049' column='1'/>
+      <parameter type-id='type-id-89' name='bpid' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='2049' column='1'/>
+      <return type-id='type-id-56'/>
+    </function-decl>
+    <function-decl name='qbman_release_desc_clear' mangled-name='qbman_release_desc_clear' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='2043' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_release_desc_clear@@DPDK_20.0'>
+      <parameter type-id='type-id-691' name='d' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='2043' column='1'/>
+      <return type-id='type-id-56'/>
+    </function-decl>
+    <function-decl name='qbman_result_eqresp_rc' mangled-name='qbman_result_eqresp_rc' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='2029' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_result_eqresp_rc@@DPDK_20.0'>
+      <parameter type-id='type-id-659' name='eqresp' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='2029' column='1'/>
+      <return type-id='type-id-175'/>
+    </function-decl>
+    <function-decl name='qbman_result_eqresp_rspid' mangled-name='qbman_result_eqresp_rspid' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='2024' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_result_eqresp_rspid@@DPDK_20.0'>
+      <parameter type-id='type-id-659' name='eqresp' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='2029' column='1'/>
+      <return type-id='type-id-175'/>
+    </function-decl>
+    <function-decl name='qbman_result_eqresp_set_rspid' mangled-name='qbman_result_eqresp_set_rspid' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='2019' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_result_eqresp_set_rspid@@DPDK_20.0'>
+      <parameter type-id='type-id-659' name='eqresp' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='2019' column='1'/>
+      <parameter type-id='type-id-175' name='val' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='2019' column='1'/>
+      <return type-id='type-id-56'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-624' size-in-bits='64' id='type-id-692'/>
+    <function-decl name='qbman_result_eqresp_fd' mangled-name='qbman_result_eqresp_fd' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='2014' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_result_eqresp_fd@@DPDK_20.0'>
+      <parameter type-id='type-id-659' name='eqresp' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='2014' column='1'/>
+      <return type-id='type-id-692'/>
+    </function-decl>
+    <function-decl name='qbman_result_SCN_state' mangled-name='qbman_result_SCN_state' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1955' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_result_SCN_state@@DPDK_20.0'>
+      <parameter type-id='type-id-648' name='dqrr' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='2378' column='1'/>
+      <return type-id='type-id-175'/>
+    </function-decl>
+    <function-decl name='qbman_result_DQ_fd' mangled-name='qbman_result_DQ_fd' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1947' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_result_DQ_fd@@DPDK_20.0'>
+      <parameter type-id='type-id-648' name='dq' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1947' column='1'/>
+      <return type-id='type-id-631'/>
+    </function-decl>
+    <function-decl name='qbman_result_DQ_fqd_ctx' mangled-name='qbman_result_DQ_fqd_ctx' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1942' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_result_DQ_fqd_ctx@@DPDK_20.0'>
+      <parameter type-id='type-id-648' name='dq' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1942' column='1'/>
+      <return type-id='type-id-68'/>
+    </function-decl>
+    <function-decl name='qbman_result_DQ_odpid' mangled-name='qbman_result_DQ_odpid' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1922' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_result_DQ_odpid@@DPDK_20.0'>
+      <parameter type-id='type-id-648' name='dq' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1922' column='1'/>
+      <return type-id='type-id-89'/>
+    </function-decl>
+    <function-decl name='qbman_result_DQ_seqnum' mangled-name='qbman_result_DQ_seqnum' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1917' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_result_DQ_seqnum@@DPDK_20.0'>
+      <parameter type-id='type-id-648' name='dq' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1922' column='1'/>
+      <return type-id='type-id-89'/>
+    </function-decl>
+    <function-decl name='qbman_result_DQ_flags' mangled-name='qbman_result_DQ_flags' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1912' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_result_DQ_flags@@DPDK_20.0'>
+      <parameter type-id='type-id-648' name='dqrr' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='2378' column='1'/>
+      <return type-id='type-id-175'/>
+    </function-decl>
+    <function-decl name='qbman_check_command_complete' mangled-name='qbman_check_command_complete' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1825' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_check_command_complete@@DPDK_20.0'>
+      <parameter type-id='type-id-659' name='dq' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1825' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='qbman_check_new_result' mangled-name='qbman_check_new_result' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1810' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_check_new_result@@DPDK_20.0'>
+      <parameter type-id='type-id-659' name='dq' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1810' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='qbman_result_has_new_result' mangled-name='qbman_result_has_new_result' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1782' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_result_has_new_result@@DPDK_20.0'>
+      <parameter type-id='type-id-623' name='s' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1782' column='1'/>
+      <parameter type-id='type-id-659' name='dq' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1783' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='qbman_swp_dqrr_idx_consume' mangled-name='qbman_swp_dqrr_idx_consume' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1772' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_swp_dqrr_idx_consume@@DPDK_20.0'>
+      <parameter type-id='type-id-623' name='s' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1772' column='1'/>
+      <parameter type-id='type-id-175' name='dqrr_index' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1773' column='1'/>
+      <return type-id='type-id-56'/>
+    </function-decl>
+    <function-decl name='qbman_swp_dqrr_consume' mangled-name='qbman_swp_dqrr_consume' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1764' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_swp_dqrr_consume@@DPDK_20.0'>
+      <parameter type-id='type-id-623' name='s' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1764' column='1'/>
+      <parameter type-id='type-id-648' name='dq' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1765' column='1'/>
+      <return type-id='type-id-56'/>
+    </function-decl>
+    <function-decl name='qbman_swp_dqrr_next' mangled-name='qbman_swp_dqrr_next' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1639' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_swp_dqrr_next@@DPDK_20.0'>
+      <parameter type-id='type-id-623' name='s' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1639' column='1'/>
+      <return type-id='type-id-648'/>
+    </function-decl>
+    <function-decl name='qbman_swp_prefetch_dqrr_next' mangled-name='qbman_swp_prefetch_dqrr_next' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1626' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_swp_prefetch_dqrr_next@@DPDK_20.0'>
+      <parameter type-id='type-id-623' name='s' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1626' column='1'/>
+      <return type-id='type-id-56'/>
+    </function-decl>
+    <class-decl name='qbman_pull_desc' size-in-bits='512' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='298' column='1' id='type-id-693'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-694' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='512' is-anonymous='yes' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='299' column='1' id='type-id-694'>
+      <data-member access='private'>
+        <var-decl name='dont_manipulate_directly' type-id='type-id-687' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='300' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pull' type-id='type-id-695' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='310' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='pull' size-in-bits='512' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='301' column='1' id='type-id-695'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='verb' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='302' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='numf' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='303' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='tok' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='304' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='reserved' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='305' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dq_src' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='306' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rsp_addr' type-id='type-id-68' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='307' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rsp_addr_virt' type-id='type-id-68' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='308' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='padding' type-id='type-id-696' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='309' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-175' size-in-bits='320' id='type-id-696'>
+      <subrange length='40' type-id='type-id-50' id='type-id-697'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-693' size-in-bits='64' id='type-id-698'/>
+    <function-decl name='qbman_swp_pull' mangled-name='qbman_swp_pull' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1602' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_swp_pull@@DPDK_20.0'>
+      <parameter type-id='type-id-623' name='s' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1602' column='1'/>
+      <parameter type-id='type-id-698' name='d' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1602' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='qbman_pull_desc_set_fq' mangled-name='qbman_pull_desc_set_fq' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1517' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_pull_desc_set_fq@@DPDK_20.0'>
+      <parameter type-id='type-id-698' name='d' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1517' column='1'/>
+      <parameter type-id='type-id-114' name='fqid' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1517' column='1'/>
+      <return type-id='type-id-56'/>
+    </function-decl>
+    <function-decl name='qbman_pull_desc_set_numframes' mangled-name='qbman_pull_desc_set_numframes' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1506' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_pull_desc_set_numframes@@DPDK_20.0'>
+      <parameter type-id='type-id-698' name='d' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1506' column='1'/>
+      <parameter type-id='type-id-175' name='numframes' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1507' column='1'/>
+      <return type-id='type-id-56'/>
+    </function-decl>
+    <typedef-decl name='dma_addr_t' type-id='type-id-68' filepath='../drivers/bus/fslmc/qbman/include/compat.h' line='35' column='1' id='type-id-699'/>
+    <function-decl name='qbman_pull_desc_set_storage' mangled-name='qbman_pull_desc_set_storage' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1486' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_pull_desc_set_storage@@DPDK_20.0'>
+      <parameter type-id='type-id-698' name='d' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1486' column='1'/>
+      <parameter type-id='type-id-659' name='storage' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1487' column='1'/>
+      <parameter type-id='type-id-699' name='storage_phys' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1488' column='1'/>
+      <parameter type-id='type-id-1' name='stash' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1489' column='1'/>
+      <return type-id='type-id-56'/>
+    </function-decl>
+    <function-decl name='qbman_pull_desc_clear' mangled-name='qbman_pull_desc_clear' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1481' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_pull_desc_clear@@DPDK_20.0'>
+      <parameter type-id='type-id-698' name='d' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1481' column='1'/>
+      <return type-id='type-id-56'/>
+    </function-decl>
+    <function-decl name='qbman_swp_push_set' mangled-name='qbman_swp_push_set' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1444' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_swp_push_set@@DPDK_20.0'>
+      <parameter type-id='type-id-623' name='s' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1444' column='1'/>
+      <parameter type-id='type-id-175' name='channel_idx' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1444' column='1'/>
+      <parameter type-id='type-id-1' name='enable' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1444' column='1'/>
+      <return type-id='type-id-56'/>
+    </function-decl>
+    <class-decl name='qbman_eq_desc' size-in-bits='256' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='818' column='1' id='type-id-700'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-701' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='819' column='1' id='type-id-701'>
+      <data-member access='private'>
+        <var-decl name='dont_manipulate_directly' type-id='type-id-626' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='820' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='eq' type-id='type-id-702' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='835' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='eq' size-in-bits='256' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='821' column='1' id='type-id-702'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='verb' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='822' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='dca' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='823' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='seqnum' type-id='type-id-89' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='824' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='orpid' type-id='type-id-89' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='825' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='reserved1' type-id='type-id-89' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='826' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tgtid' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='827' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='tag' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='qdbin' type-id='type-id-89' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='829' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='qpri' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='830' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='152'>
+        <var-decl name='reserved' type-id='type-id-703' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='831' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='wae' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='832' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='184'>
+        <var-decl name='rspid' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='833' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='rsp_addr' type-id='type-id-68' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h' line='834' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-175' size-in-bits='24' id='type-id-703'>
+      <subrange length='3' type-id='type-id-50' id='type-id-704'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-700' const='yes' id='type-id-705'/>
+    <pointer-type-def type-id='type-id-705' size-in-bits='64' id='type-id-706'/>
+    <function-decl name='qbman_swp_enqueue_multiple_desc' mangled-name='qbman_swp_enqueue_multiple_desc' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1424' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_swp_enqueue_multiple_desc@@DPDK_20.0'>
+      <parameter type-id='type-id-623' name='s' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1424' column='1'/>
+      <parameter type-id='type-id-706' name='d' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1425' column='1'/>
+      <parameter type-id='type-id-631' name='fd' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1426' column='1'/>
+      <parameter type-id='type-id-1' name='num_frames' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1427' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-692' size-in-bits='64' id='type-id-707'/>
+    <function-decl name='qbman_swp_enqueue_multiple_fd' mangled-name='qbman_swp_enqueue_multiple_fd' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1230' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_swp_enqueue_multiple_fd@@DPDK_20.0'>
+      <parameter type-id='type-id-623' name='s' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1230' column='1'/>
+      <parameter type-id='type-id-706' name='d' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1231' column='1'/>
+      <parameter type-id='type-id-707' name='fd' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1232' column='1'/>
+      <parameter type-id='type-id-560' name='flags' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1233' column='1'/>
+      <parameter type-id='type-id-1' name='num_frames' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1234' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='qbman_swp_enqueue_multiple' mangled-name='qbman_swp_enqueue_multiple' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1022' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_swp_enqueue_multiple@@DPDK_20.0'>
+      <parameter type-id='type-id-623' name='s' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1022' column='1'/>
+      <parameter type-id='type-id-706' name='d' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1023' column='1'/>
+      <parameter type-id='type-id-631' name='fd' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1024' column='1'/>
+      <parameter type-id='type-id-560' name='flags' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1025' column='1'/>
+      <parameter type-id='type-id-1' name='num_frames' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='1026' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-700' size-in-bits='64' id='type-id-708'/>
+    <function-decl name='qbman_eq_desc_set_dca' mangled-name='qbman_eq_desc_set_dca' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='612' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_eq_desc_set_dca@@DPDK_20.0'>
+      <parameter type-id='type-id-708' name='d' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='612' column='1'/>
+      <parameter type-id='type-id-1' name='enable' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='612' column='1'/>
+      <parameter type-id='type-id-175' name='dqrr_idx' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='613' column='1'/>
+      <parameter type-id='type-id-1' name='park' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='613' column='1'/>
+      <return type-id='type-id-56'/>
+    </function-decl>
+    <function-decl name='qbman_eq_desc_set_qd' mangled-name='qbman_eq_desc_set_qd' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='595' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_eq_desc_set_qd@@DPDK_20.0'>
+      <parameter type-id='type-id-708' name='d' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='595' column='1'/>
+      <parameter type-id='type-id-114' name='qdid' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='595' column='1'/>
+      <parameter type-id='type-id-89' name='qd_bin' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='596' column='1'/>
+      <parameter type-id='type-id-175' name='qd_prio' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='596' column='1'/>
+      <return type-id='type-id-56'/>
+    </function-decl>
+    <function-decl name='qbman_eq_desc_set_fq' mangled-name='qbman_eq_desc_set_fq' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='589' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_eq_desc_set_fq@@DPDK_20.0'>
+      <parameter type-id='type-id-708' name='d' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='589' column='1'/>
+      <parameter type-id='type-id-114' name='fqid' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='589' column='1'/>
+      <return type-id='type-id-56'/>
+    </function-decl>
+    <function-decl name='qbman_eq_desc_set_token' mangled-name='qbman_eq_desc_set_token' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='584' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_eq_desc_set_token@@DPDK_20.0'>
+      <parameter type-id='type-id-708' name='d' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='584' column='1'/>
+      <parameter type-id='type-id-175' name='token' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='584' column='1'/>
+      <return type-id='type-id-56'/>
+    </function-decl>
+    <function-decl name='qbman_eq_desc_set_response' mangled-name='qbman_eq_desc_set_response' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='576' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_eq_desc_set_response@@DPDK_20.0'>
+      <parameter type-id='type-id-708' name='d' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='576' column='1'/>
+      <parameter type-id='type-id-699' name='storage_phys' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='577' column='1'/>
+      <parameter type-id='type-id-1' name='stash' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='578' column='1'/>
+      <return type-id='type-id-56'/>
+    </function-decl>
+    <function-decl name='qbman_eq_desc_set_orp' mangled-name='qbman_eq_desc_set_orp' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='537' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_eq_desc_set_orp@@DPDK_20.0'>
+      <parameter type-id='type-id-708' name='d' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='537' column='1'/>
+      <parameter type-id='type-id-1' name='respond_success' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='537' column='1'/>
+      <parameter type-id='type-id-89' name='opr_id' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='538' column='1'/>
+      <parameter type-id='type-id-89' name='seqnum' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='538' column='1'/>
+      <parameter type-id='type-id-1' name='incomplete' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='538' column='1'/>
+      <return type-id='type-id-56'/>
+    </function-decl>
+    <function-decl name='qbman_eq_desc_set_no_orp' mangled-name='qbman_eq_desc_set_no_orp' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='528' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_eq_desc_set_no_orp@@DPDK_20.0'>
+      <parameter type-id='type-id-708' name='d' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='528' column='1'/>
+      <parameter type-id='type-id-1' name='respond_success' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='528' column='1'/>
+      <return type-id='type-id-56'/>
+    </function-decl>
+    <function-decl name='qbman_eq_desc_clear' mangled-name='qbman_eq_desc_clear' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='523' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_eq_desc_clear@@DPDK_20.0'>
+      <parameter type-id='type-id-708' name='d' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='523' column='1'/>
+      <return type-id='type-id-56'/>
+    </function-decl>
+    <function-decl name='qbman_swp_interrupt_clear_status' mangled-name='qbman_swp_interrupt_clear_status' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='364' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_swp_interrupt_clear_status@@DPDK_20.0'>
+      <parameter type-id='type-id-623' name='p' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='364' column='1'/>
+      <parameter type-id='type-id-114' name='mask' filepath='../drivers/bus/fslmc/qbman/qbman_portal.c' line='364' column='1'/>
+      <return type-id='type-id-56'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/bus/fslmc/qbman/qbman_debug.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='qbman_fq_query_np_rslt' size-in-bits='512' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_debug.h' line='7' column='1' id='type-id-709'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='verb' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_debug.h' line='8' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='rslt' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_debug.h' line='9' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='st1' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_debug.h' line='10' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='st2' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_debug.h' line='11' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='reserved' type-id='type-id-710' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_debug.h' line='12' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='od1_sfdr' type-id='type-id-89' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_debug.h' line='13' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='od2_sfdr' type-id='type-id-89' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_debug.h' line='14' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='od3_sfdr' type-id='type-id-89' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_debug.h' line='15' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='ra1_sfdr' type-id='type-id-89' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_debug.h' line='16' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='112'>
+        <var-decl name='ra2_sfdr' type-id='type-id-89' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_debug.h' line='17' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pfdr_hptr' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_debug.h' line='18' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='pfdr_tptr' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_debug.h' line='19' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='frm_cnt' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_debug.h' line='20' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='byte_cnt' type-id='type-id-114' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_debug.h' line='21' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='ics_surp' type-id='type-id-89' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_debug.h' line='22' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='272'>
+        <var-decl name='is' type-id='type-id-175' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_debug.h' line='23' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='280'>
+        <var-decl name='reserved2' type-id='type-id-711' visibility='default' filepath='../drivers/bus/fslmc/qbman/include/fsl_qbman_debug.h' line='24' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-175' size-in-bits='16' id='type-id-710'>
+      <subrange length='2' type-id='type-id-50' id='type-id-164'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-175' size-in-bits='232' id='type-id-711'>
+      <subrange length='29' type-id='type-id-50' id='type-id-712'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-709' const='yes' id='type-id-713'/>
+    <pointer-type-def type-id='type-id-713' size-in-bits='64' id='type-id-714'/>
+    <function-decl name='qbman_fq_state_frame_count' mangled-name='qbman_fq_state_frame_count' filepath='../drivers/bus/fslmc/qbman/qbman_debug.c' line='57' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_fq_state_frame_count@@DPDK_20.0'>
+      <parameter type-id='type-id-714' name='r' filepath='../drivers/bus/fslmc/qbman/qbman_debug.c' line='57' column='1'/>
+      <return type-id='type-id-114'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-709' size-in-bits='64' id='type-id-715'/>
+    <function-decl name='qbman_fq_query_state' mangled-name='qbman_fq_query_state' filepath='../drivers/bus/fslmc/qbman/qbman_debug.c' line='26' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qbman_fq_query_state@@DPDK_20.0'>
+      <parameter type-id='type-id-623' name='s' filepath='../drivers/bus/fslmc/qbman/qbman_debug.c' line='26' column='1'/>
+      <parameter type-id='type-id-114' name='fqid' filepath='../drivers/bus/fslmc/qbman/qbman_debug.c' line='26' column='1'/>
+      <parameter type-id='type-id-715' name='r' filepath='../drivers/bus/fslmc/qbman/qbman_debug.c' line='27' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_bus_ifpga.dump b/drivers/.abi/librte_bus_ifpga.dump
new file mode 100644
index 000000000..ac789e5c1
--- /dev/null
+++ b/drivers/.abi/librte_bus_ifpga.dump
@@ -0,0 +1,972 @@
+<abi-corpus path='gcc//drivers/librte_bus_ifpga.so.20.0' architecture='elf-amd-x86_64' soname='librte_bus_ifpga.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_rawdev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_ifpga_driver_register' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_ifpga_driver_unregister' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_ifpga_find_afu_by_name' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_ifpga_get_integer32_arg' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_ifpga_get_string_arg' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../drivers/bus/ifpga/ifpga_common.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <type-decl name='char' size-in-bits='8' id='type-id-2'/>
+    <qualified-type-def type-id='type-id-2' const='yes' id='type-id-3'/>
+    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-4'/>
+    <type-decl name='void' id='type-id-5'/>
+    <pointer-type-def type-id='type-id-5' size-in-bits='64' id='type-id-6'/>
+    <function-decl name='rte_ifpga_get_integer32_arg' mangled-name='rte_ifpga_get_integer32_arg' filepath='../drivers/bus/ifpga/ifpga_common.c' line='45' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_ifpga_get_integer32_arg@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='key' filepath='../drivers/bus/ifpga/ifpga_common.c' line='45' column='1'/>
+      <parameter type-id='type-id-4' name='value' filepath='../drivers/bus/ifpga/ifpga_common.c' line='46' column='1'/>
+      <parameter type-id='type-id-6' name='extra_args' filepath='../drivers/bus/ifpga/ifpga_common.c' line='46' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_ifpga_get_string_arg' mangled-name='rte_ifpga_get_string_arg' filepath='../drivers/bus/ifpga/ifpga_common.c' line='32' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_ifpga_get_string_arg@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='key' filepath='../drivers/bus/ifpga/ifpga_common.c' line='45' column='1'/>
+      <parameter type-id='type-id-4' name='value' filepath='../drivers/bus/ifpga/ifpga_common.c' line='46' column='1'/>
+      <parameter type-id='type-id-6' name='extra_args' filepath='../drivers/bus/ifpga/ifpga_common.c' line='46' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/bus/ifpga/ifpga_bus.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='ifpga_bus_logtype' type-id='type-id-1' visibility='default' filepath='../drivers/bus/ifpga/ifpga_logs.h' line='10' column='1'/>
+    <class-decl name='rte_afu_device' size-in-bits='217472' is-struct='yes' visibility='default' filepath='../drivers/bus/ifpga/rte_bus_ifpga.h' line='72' column='1' id='type-id-7'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-8' visibility='default' filepath='../drivers/bus/ifpga/rte_bus_ifpga.h' line='73' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='device' type-id='type-id-9' visibility='default' filepath='../drivers/bus/ifpga/rte_bus_ifpga.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='rawdev' type-id='type-id-10' visibility='default' filepath='../drivers/bus/ifpga/rte_bus_ifpga.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='id' type-id='type-id-11' visibility='default' filepath='../drivers/bus/ifpga/rte_bus_ifpga.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='num_region' type-id='type-id-12' visibility='default' filepath='../drivers/bus/ifpga/rte_bus_ifpga.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='mem_resource' type-id='type-id-13' visibility='default' filepath='../drivers/bus/ifpga/rte_bus_ifpga.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='shared' type-id='type-id-14' visibility='default' filepath='../drivers/bus/ifpga/rte_bus_ifpga.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='intr_handle' type-id='type-id-15' visibility='default' filepath='../drivers/bus/ifpga/rte_bus_ifpga.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='215360'>
+        <var-decl name='driver' type-id='type-id-16' visibility='default' filepath='../drivers/bus/ifpga/rte_bus_ifpga.h' line='82' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='215424'>
+        <var-decl name='path' type-id='type-id-17' visibility='default' filepath='../drivers/bus/ifpga/rte_bus_ifpga.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/ifpga/rte_bus_ifpga.h' line='73' column='1' id='type-id-8'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-18' visibility='default' filepath='../drivers/bus/ifpga/rte_bus_ifpga.h' line='73' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-19' visibility='default' filepath='../drivers/bus/ifpga/rte_bus_ifpga.h' line='73' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-7' size-in-bits='64' id='type-id-18'/>
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-19'/>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-9'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-20' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-21' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-22' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-23' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-20'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-24' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-25' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-24'/>
+    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-25'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-26'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-27' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-27'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-28' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-29' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-28'/>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-29'/>
+    <qualified-type-def type-id='type-id-26' const='yes' id='type-id-30'/>
+    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-21'/>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-31'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-32' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-33' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-34' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-35' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-36' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-37' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-38' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-39' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-40' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-41' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-42' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-43' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-44' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-45' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-32'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-46' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-47' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-46'/>
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-47'/>
+    <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-49'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-49' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-33'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-49' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-34'/>
+    <qualified-type-def type-id='type-id-9' const='yes' id='type-id-50'/>
+    <pointer-type-def type-id='type-id-50' size-in-bits='64' id='type-id-51'/>
+    <pointer-type-def type-id='type-id-52' size-in-bits='64' id='type-id-53'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-53' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-54'/>
+    <pointer-type-def type-id='type-id-55' size-in-bits='64' id='type-id-56'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-56' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-35'/>
+    <pointer-type-def type-id='type-id-57' size-in-bits='64' id='type-id-58'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-58' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-36'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-58' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-37'/>
+    <pointer-type-def type-id='type-id-59' size-in-bits='64' id='type-id-60'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-60' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-38'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-61'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-61' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-62'/>
+    <typedef-decl name='uint64_t' type-id='type-id-62' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-63'/>
+    <typedef-decl name='size_t' type-id='type-id-61' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-64'/>
+    <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-66'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-66' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-39'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-66' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-40'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-41'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-67' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-68'/>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-67'>
+      <underlying-type type-id='type-id-68'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-69'>
+      <underlying-type type-id='type-id-68'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-70' size-in-bits='64' id='type-id-71'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-71' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-42'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-72'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-46' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-73' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-24' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-6' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-74'/>
+    <pointer-type-def type-id='type-id-74' size-in-bits='64' id='type-id-73'/>
+    <qualified-type-def type-id='type-id-72' const='yes' id='type-id-75'/>
+    <pointer-type-def type-id='type-id-75' size-in-bits='64' id='type-id-76'/>
+    <pointer-type-def type-id='type-id-77' size-in-bits='64' id='type-id-78'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-78' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-43'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-58' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-44'/>
+    <pointer-type-def type-id='type-id-79' size-in-bits='64' id='type-id-80'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-80' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-45'/>
+    <qualified-type-def type-id='type-id-31' const='yes' id='type-id-81'/>
+    <pointer-type-def type-id='type-id-81' size-in-bits='64' id='type-id-22'/>
+    <class-decl name='rte_devargs' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='47' column='1' id='type-id-82'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-83' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='type' type-id='type-id-84' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='policy' type-id='type-id-85' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='name' type-id='type-id-86' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='' type-id='type-id-87' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='bus' type-id='type-id-46' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='cls' type-id='type-id-73' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='bus_str' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='cls_str' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='data' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='66' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1' id='type-id-83'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-23' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-88' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-82' size-in-bits='64' id='type-id-23'/>
+    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-88'/>
+    <enum-decl name='rte_devtype' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='31' column='1' id='type-id-84'>
+      <underlying-type type-id='type-id-68'/>
+      <enumerator name='RTE_DEVTYPE_WHITELISTED_PCI' value='0'/>
+      <enumerator name='RTE_DEVTYPE_BLACKLISTED_PCI' value='1'/>
+      <enumerator name='RTE_DEVTYPE_VIRTUAL' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_dev_policy' filepath='../lib/librte_eal/common/include/rte_dev.h' line='72' column='1' id='type-id-85'>
+      <underlying-type type-id='type-id-68'/>
+      <enumerator name='RTE_DEV_WHITELISTED' value='0'/>
+      <enumerator name='RTE_DEV_BLACKLISTED' value='1'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='512' id='type-id-86'>
+      <subrange length='64' type-id='type-id-61' id='type-id-89'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='57' column='1' id='type-id-87'>
+      <data-member access='private'>
+        <var-decl name='args' type-id='type-id-90' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='drv_str' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='60' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-90'/>
+    <class-decl name='rte_rawdev' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='263' column='1' id='type-id-91'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='265' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dev_id' type-id='type-id-92' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='267' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_ops' type-id='type-id-93' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='269' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='device' type-id='type-id-24' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='271' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver_name' type-id='type-id-4' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='273' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='attached' type-id='type-id-94' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='277' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='started' type-id='type-id-94' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_private' type-id='type-id-95' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='282' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='name' type-id='type-id-86' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='284' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-96'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-96' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-97'/>
+    <typedef-decl name='uint16_t' type-id='type-id-97' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-92'/>
+    <class-decl name='rte_rawdev_ops' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='505' column='1' id='type-id-98'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_info_get' type-id='type-id-99' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='507' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_configure' type-id='type-id-100' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='509' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dev_start' type-id='type-id-101' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='511' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_stop' type-id='type-id-102' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='513' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dev_close' type-id='type-id-103' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_reset' type-id='type-id-104' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='517' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='queue_def_conf' type-id='type-id-105' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='queue_setup' type-id='type-id-106' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='queue_release' type-id='type-id-107' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='524' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='queue_count' type-id='type-id-108' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='526' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='enqueue_bufs' type-id='type-id-109' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='529' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='dequeue_bufs' type-id='type-id-110' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='532' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='dump' type-id='type-id-111' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='535' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='attr_get' type-id='type-id-112' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='538' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='attr_set' type-id='type-id-113' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='540' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='xstats_get' type-id='type-id-114' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='543' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='xstats_get_names' type-id='type-id-115' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='545' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='xstats_get_by_name' type-id='type-id-116' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='547' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='xstats_reset' type-id='type-id-117' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='549' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='firmware_status_get' type-id='type-id-118' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='552' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='firmware_version_get' type-id='type-id-119' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='554' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='firmware_load' type-id='type-id-120' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='556' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='firmware_unload' type-id='type-id-121' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='558' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='dev_selftest' type-id='type-id-122' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='561' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-91' size-in-bits='64' id='type-id-10'/>
+    <typedef-decl name='rte_rawdev_obj_t' type-id='type-id-6' filepath='../lib/librte_rawdev/rte_rawdev.h' line='29' column='1' id='type-id-95'/>
+    <pointer-type-def type-id='type-id-123' size-in-bits='64' id='type-id-124'/>
+    <typedef-decl name='rawdev_info_get_t' type-id='type-id-124' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='148' column='1' id='type-id-99'/>
+    <qualified-type-def type-id='type-id-91' const='yes' id='type-id-125'/>
+    <pointer-type-def type-id='type-id-125' size-in-bits='64' id='type-id-126'/>
+    <pointer-type-def type-id='type-id-127' size-in-bits='64' id='type-id-128'/>
+    <typedef-decl name='rawdev_configure_t' type-id='type-id-128' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='162' column='1' id='type-id-100'/>
+    <pointer-type-def type-id='type-id-129' size-in-bits='64' id='type-id-130'/>
+    <typedef-decl name='rawdev_start_t' type-id='type-id-130' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='174' column='1' id='type-id-101'/>
+    <pointer-type-def type-id='type-id-131' size-in-bits='64' id='type-id-132'/>
+    <typedef-decl name='rawdev_stop_t' type-id='type-id-132' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='182' column='1' id='type-id-102'/>
+    <typedef-decl name='rawdev_close_t' type-id='type-id-130' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='194' column='1' id='type-id-103'/>
+    <typedef-decl name='rawdev_reset_t' type-id='type-id-130' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='205' column='1' id='type-id-104'/>
+    <pointer-type-def type-id='type-id-133' size-in-bits='64' id='type-id-134'/>
+    <typedef-decl name='rawdev_queue_conf_get_t' type-id='type-id-134' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='218' column='1' id='type-id-105'/>
+    <pointer-type-def type-id='type-id-135' size-in-bits='64' id='type-id-136'/>
+    <typedef-decl name='rawdev_queue_setup_t' type-id='type-id-136' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='235' column='1' id='type-id-106'/>
+    <pointer-type-def type-id='type-id-137' size-in-bits='64' id='type-id-138'/>
+    <typedef-decl name='rawdev_queue_release_t' type-id='type-id-138' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='248' column='1' id='type-id-107'/>
+    <pointer-type-def type-id='type-id-139' size-in-bits='64' id='type-id-140'/>
+    <typedef-decl name='rawdev_queue_count_t' type-id='type-id-140' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='267' column='1' id='type-id-108'/>
+    <class-decl name='rte_rawdev_buf' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='302' column='1' id='type-id-141'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-6' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='304' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-141' size-in-bits='64' id='type-id-142'/>
+    <pointer-type-def type-id='type-id-142' size-in-bits='64' id='type-id-143'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-144'/>
+    <pointer-type-def type-id='type-id-145' size-in-bits='64' id='type-id-146'/>
+    <typedef-decl name='rawdev_enqueue_bufs_t' type-id='type-id-146' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='291' column='1' id='type-id-109'/>
+    <typedef-decl name='rawdev_dequeue_bufs_t' type-id='type-id-146' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='316' column='1' id='type-id-110'/>
+    <class-decl name='_IO_FILE' size-in-bits='1728' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='49' column='1' id='type-id-147'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='_flags' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='_IO_read_ptr' type-id='type-id-90' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='_IO_read_end' type-id='type-id-90' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='_IO_read_base' type-id='type-id-90' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='_IO_write_base' type-id='type-id-90' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='_IO_write_ptr' type-id='type-id-90' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='_IO_write_end' type-id='type-id-90' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='_IO_buf_base' type-id='type-id-90' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='60' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='_IO_buf_end' type-id='type-id-90' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='_IO_save_base' type-id='type-id-90' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='_IO_backup_base' type-id='type-id-90' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='_IO_save_end' type-id='type-id-90' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='_markers' type-id='type-id-148' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='_chain' type-id='type-id-149' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='_fileno' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='928'>
+        <var-decl name='_flags2' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='73' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='_old_offset' type-id='type-id-150' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='_cur_column' type-id='type-id-96' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1040'>
+        <var-decl name='_vtable_offset' type-id='type-id-151' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1048'>
+        <var-decl name='_shortbuf' type-id='type-id-152' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='_lock' type-id='type-id-153' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='_offset' type-id='type-id-154' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='89' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='_codecvt' type-id='type-id-155' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='_wide_data' type-id='type-id-156' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='92' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='_freeres_list' type-id='type-id-149' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='93' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='_freeres_buf' type-id='type-id-6' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='__pad5' type-id='type-id-64' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='95' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='_mode' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1568'>
+        <var-decl name='_unused2' type-id='type-id-157' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='98' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='_IO_marker' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-158'/>
+    <pointer-type-def type-id='type-id-158' size-in-bits='64' id='type-id-148'/>
+    <pointer-type-def type-id='type-id-147' size-in-bits='64' id='type-id-149'/>
+    <type-decl name='long int' size-in-bits='64' id='type-id-159'/>
+    <typedef-decl name='__off_t' type-id='type-id-159' filepath='/usr/include/bits/types.h' line='152' column='1' id='type-id-150'/>
+    <type-decl name='signed char' size-in-bits='8' id='type-id-151'/>
+
+    <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='8' id='type-id-152'>
+      <subrange length='1' type-id='type-id-61' id='type-id-160'/>
+
+    </array-type-def>
+    <typedef-decl name='_IO_lock_t' type-id='type-id-5' filepath='/usr/include/bits/types/struct_FILE.h' line='43' column='1' id='type-id-161'/>
+    <pointer-type-def type-id='type-id-161' size-in-bits='64' id='type-id-153'/>
+    <typedef-decl name='__off64_t' type-id='type-id-159' filepath='/usr/include/bits/types.h' line='153' column='1' id='type-id-154'/>
+    <class-decl name='_IO_codecvt' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-162'/>
+    <pointer-type-def type-id='type-id-162' size-in-bits='64' id='type-id-155'/>
+    <class-decl name='_IO_wide_data' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-163'/>
+    <pointer-type-def type-id='type-id-163' size-in-bits='64' id='type-id-156'/>
+
+    <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='160' id='type-id-157'>
+      <subrange length='20' type-id='type-id-61' id='type-id-164'/>
+
+    </array-type-def>
+    <typedef-decl name='FILE' type-id='type-id-147' filepath='/usr/include/bits/types/FILE.h' line='7' column='1' id='type-id-165'/>
+    <pointer-type-def type-id='type-id-165' size-in-bits='64' id='type-id-166'/>
+    <pointer-type-def type-id='type-id-167' size-in-bits='64' id='type-id-168'/>
+    <typedef-decl name='rawdev_dump_t' type-id='type-id-168' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='333' column='1' id='type-id-111'/>
+    <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-169'/>
+    <pointer-type-def type-id='type-id-170' size-in-bits='64' id='type-id-171'/>
+    <typedef-decl name='rawdev_get_attr_t' type-id='type-id-171' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='350' column='1' id='type-id-112'/>
+    <qualified-type-def type-id='type-id-63' const='yes' id='type-id-172'/>
+    <pointer-type-def type-id='type-id-173' size-in-bits='64' id='type-id-174'/>
+    <typedef-decl name='rawdev_set_attr_t' type-id='type-id-174' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='368' column='1' id='type-id-113'/>
+    <qualified-type-def type-id='type-id-144' const='yes' id='type-id-175'/>
+    <pointer-type-def type-id='type-id-175' size-in-bits='64' id='type-id-176'/>
+    <pointer-type-def type-id='type-id-177' size-in-bits='64' id='type-id-178'/>
+    <typedef-decl name='rawdev_xstats_get_t' type-id='type-id-178' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='388' column='1' id='type-id-114'/>
+    <class-decl name='rte_rawdev_xstats_name' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='433' column='1' id='type-id-179'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-86' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='434' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-179' size-in-bits='64' id='type-id-180'/>
+    <pointer-type-def type-id='type-id-181' size-in-bits='64' id='type-id-182'/>
+    <typedef-decl name='rawdev_xstats_get_names_t' type-id='type-id-182' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='413' column='1' id='type-id-115'/>
+    <pointer-type-def type-id='type-id-144' size-in-bits='64' id='type-id-183'/>
+    <pointer-type-def type-id='type-id-184' size-in-bits='64' id='type-id-185'/>
+    <typedef-decl name='rawdev_xstats_get_by_name_t' type-id='type-id-185' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='432' column='1' id='type-id-116'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-144' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-186'/>
+    <typedef-decl name='uint32_t' type-id='type-id-186' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-12'/>
+    <qualified-type-def type-id='type-id-12' const='yes' id='type-id-187'/>
+    <pointer-type-def type-id='type-id-187' size-in-bits='64' id='type-id-188'/>
+    <pointer-type-def type-id='type-id-189' size-in-bits='64' id='type-id-190'/>
+    <typedef-decl name='rawdev_xstats_reset_t' type-id='type-id-190' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='394' column='1' id='type-id-117'/>
+    <pointer-type-def type-id='type-id-191' size-in-bits='64' id='type-id-192'/>
+    <typedef-decl name='rawdev_firmware_status_get_t' type-id='type-id-192' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='448' column='1' id='type-id-118'/>
+    <typedef-decl name='rawdev_firmware_version_get_t' type-id='type-id-192' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='462' column='1' id='type-id-119'/>
+    <typedef-decl name='rawdev_firmware_load_t' type-id='type-id-192' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='479' column='1' id='type-id-120'/>
+    <typedef-decl name='rawdev_firmware_unload_t' type-id='type-id-130' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='494' column='1' id='type-id-121'/>
+    <pointer-type-def type-id='type-id-193' size-in-bits='64' id='type-id-194'/>
+    <typedef-decl name='rawdev_selftest_t' type-id='type-id-194' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='502' column='1' id='type-id-122'/>
+    <qualified-type-def type-id='type-id-98' const='yes' id='type-id-195'/>
+    <pointer-type-def type-id='type-id-195' size-in-bits='64' id='type-id-93'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-196'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-196' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-197'/>
+    <typedef-decl name='uint8_t' type-id='type-id-197' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-94'/>
+    <class-decl name='rte_afu_id' size-in-bits='160' is-struct='yes' visibility='default' filepath='../drivers/bus/ifpga/rte_bus_ifpga.h' line='47' column='1' id='type-id-11'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='uuid' type-id='type-id-198' visibility='default' filepath='../drivers/bus/ifpga/rte_bus_ifpga.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='port' type-id='type-id-1' visibility='default' filepath='../drivers/bus/ifpga/rte_bus_ifpga.h' line='49' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_afu_uuid' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/bus/ifpga/rte_bus_ifpga.h' line='36' column='1' id='type-id-198'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='uuid_low' type-id='type-id-63' visibility='default' filepath='../drivers/bus/ifpga/rte_bus_ifpga.h' line='37' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='uuid_high' type-id='type-id-63' visibility='default' filepath='../drivers/bus/ifpga/rte_bus_ifpga.h' line='38' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mem_resource' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='80' column='1' id='type-id-199'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='phys_addr' type-id='type-id-63' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-63' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='82' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-6' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-199' size-in-bits='1152' id='type-id-13'>
+      <subrange length='6' type-id='type-id-61' id='type-id-200'/>
+
+    </array-type-def>
+    <class-decl name='rte_afu_shared' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/bus/ifpga/rte_bus_ifpga.h' line='64' column='1' id='type-id-14'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='lock' type-id='type-id-201' visibility='default' filepath='../drivers/bus/ifpga/rte_bus_ifpga.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='data' type-id='type-id-6' visibility='default' filepath='../drivers/bus/ifpga/rte_bus_ifpga.h' line='66' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-201' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_spinlock.h' line='30' column='1' id='type-id-202'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='locked' type-id='type-id-203' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_spinlock.h' line='31' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-1' volatile='yes' id='type-id-203'/>
+    <typedef-decl name='rte_spinlock_t' type-id='type-id-202' filepath='../lib/librte_eal/common/include/generic/rte_spinlock.h' line='32' column='1' id='type-id-201'/>
+    <class-decl name='rte_intr_handle' size-in-bits='213248' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='69' column='1' id='type-id-15'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-204' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-205' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='max_intr' type-id='type-id-12' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='nb_efd' type-id='type-id-12' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='efd_counter_size' type-id='type-id-94' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='efds' type-id='type-id-206' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16576'>
+        <var-decl name='elist' type-id='type-id-207' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='213184'>
+        <var-decl name='intr_vec' type-id='type-id-208' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='71' column='1' id='type-id-204'>
+      <data-member access='private'>
+        <var-decl name='vfio_dev_fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='uio_cfg_fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='73' column='1'/>
+      </data-member>
+    </union-decl>
+    <enum-decl name='rte_intr_handle_type' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='27' column='1' id='type-id-205'>
+      <underlying-type type-id='type-id-68'/>
+      <enumerator name='RTE_INTR_HANDLE_UNKNOWN' value='0'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO' value='1'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO_INTX' value='2'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_LEGACY' value='3'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSI' value='4'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSIX' value='5'/>
+      <enumerator name='RTE_INTR_HANDLE_ALARM' value='6'/>
+      <enumerator name='RTE_INTR_HANDLE_EXT' value='7'/>
+      <enumerator name='RTE_INTR_HANDLE_VDEV' value='8'/>
+      <enumerator name='RTE_INTR_HANDLE_DEV_EVENT' value='9'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_REQ' value='10'/>
+      <enumerator name='RTE_INTR_HANDLE_MAX' value='11'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='16384' id='type-id-206'>
+      <subrange length='512' type-id='type-id-61' id='type-id-209'/>
+
+    </array-type-def>
+    <class-decl name='rte_epoll_event' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='61' column='1' id='type-id-210'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='status' type-id='type-id-211' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='epfd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='epdata' type-id='type-id-212' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-12' volatile='yes' id='type-id-211'/>
+    <class-decl name='rte_epoll_data' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='47' column='1' id='type-id-212'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event' type-id='type-id-12' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='data' type-id='type-id-6' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cb_fun' type-id='type-id-213' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='cb_arg' type-id='type-id-6' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='51' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-214' size-in-bits='64' id='type-id-215'/>
+    <typedef-decl name='rte_intr_event_cb_t' type-id='type-id-215' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='45' column='1' id='type-id-213'/>
+
+    <array-type-def dimensions='1' type-id='type-id-210' size-in-bits='196608' id='type-id-207'>
+      <subrange length='512' type-id='type-id-61' id='type-id-209'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-208'/>
+    <class-decl name='rte_afu_driver' size-in-bits='576' is-struct='yes' visibility='default' filepath='../drivers/bus/ifpga/rte_bus_ifpga.h' line='106' column='1' id='type-id-216'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-217' visibility='default' filepath='../drivers/bus/ifpga/rte_bus_ifpga.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='driver' type-id='type-id-26' visibility='default' filepath='../drivers/bus/ifpga/rte_bus_ifpga.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='probe' type-id='type-id-218' visibility='default' filepath='../drivers/bus/ifpga/rte_bus_ifpga.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='remove' type-id='type-id-219' visibility='default' filepath='../drivers/bus/ifpga/rte_bus_ifpga.h' line='110' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='id_table' type-id='type-id-220' visibility='default' filepath='../drivers/bus/ifpga/rte_bus_ifpga.h' line='111' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/ifpga/rte_bus_ifpga.h' line='107' column='1' id='type-id-217'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-16' visibility='default' filepath='../drivers/bus/ifpga/rte_bus_ifpga.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-221' visibility='default' filepath='../drivers/bus/ifpga/rte_bus_ifpga.h' line='107' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-216' size-in-bits='64' id='type-id-16'/>
+    <pointer-type-def type-id='type-id-16' size-in-bits='64' id='type-id-221'/>
+    <typedef-decl name='afu_probe_t' type-id='type-id-222' filepath='../drivers/bus/ifpga/rte_bus_ifpga.h' line='96' column='1' id='type-id-223'/>
+    <pointer-type-def type-id='type-id-223' size-in-bits='64' id='type-id-218'/>
+    <typedef-decl name='afu_remove_t' type-id='type-id-222' filepath='../drivers/bus/ifpga/rte_bus_ifpga.h' line='101' column='1' id='type-id-224'/>
+    <pointer-type-def type-id='type-id-224' size-in-bits='64' id='type-id-219'/>
+    <qualified-type-def type-id='type-id-198' const='yes' id='type-id-225'/>
+    <pointer-type-def type-id='type-id-225' size-in-bits='64' id='type-id-220'/>
+
+    <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='2048' id='type-id-17'>
+      <subrange length='256' type-id='type-id-61' id='type-id-226'/>
+
+    </array-type-def>
+    <function-decl name='rte_ifpga_find_afu_by_name' mangled-name='rte_ifpga_find_afu_by_name' filepath='../drivers/bus/ifpga/ifpga_bus.c' line='77' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_ifpga_find_afu_by_name@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='name' filepath='../drivers/bus/ifpga/ifpga_bus.c' line='77' column='1'/>
+      <return type-id='type-id-18'/>
+    </function-decl>
+    <function-decl name='rte_ifpga_driver_unregister' mangled-name='rte_ifpga_driver_unregister' filepath='../drivers/bus/ifpga/ifpga_bus.c' line='56' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_ifpga_driver_unregister@@DPDK_20.0'>
+      <parameter type-id='type-id-16' name='driver' filepath='../drivers/bus/ifpga/ifpga_bus.c' line='56' column='1'/>
+      <return type-id='type-id-5'/>
+    </function-decl>
+    <function-decl name='rte_ifpga_driver_register' mangled-name='rte_ifpga_driver_register' filepath='../drivers/bus/ifpga/ifpga_bus.c' line='48' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_ifpga_driver_register@@DPDK_20.0'>
+      <parameter type-id='type-id-16' name='driver' filepath='../drivers/bus/ifpga/ifpga_bus.c' line='48' column='1'/>
+      <return type-id='type-id-5'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-70'>
+      <return type-id='type-id-69'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-48'>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-59'>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-6'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-52'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-6'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-177'>
+      <parameter type-id='type-id-126'/>
+      <parameter type-id='type-id-176'/>
+      <parameter type-id='type-id-169'/>
+      <parameter type-id='type-id-144'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-181'>
+      <parameter type-id='type-id-126'/>
+      <parameter type-id='type-id-180'/>
+      <parameter type-id='type-id-144'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-127'>
+      <parameter type-id='type-id-126'/>
+      <parameter type-id='type-id-95'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-222'>
+      <parameter type-id='type-id-18'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-57'>
+      <parameter type-id='type-id-24'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-65'>
+      <parameter type-id='type-id-24'/>
+      <parameter type-id='type-id-6'/>
+      <parameter type-id='type-id-63'/>
+      <parameter type-id='type-id-64'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-129'>
+      <parameter type-id='type-id-10'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-167'>
+      <parameter type-id='type-id-10'/>
+      <parameter type-id='type-id-166'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-173'>
+      <parameter type-id='type-id-10'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-172'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-170'>
+      <parameter type-id='type-id-10'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-169'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-189'>
+      <parameter type-id='type-id-10'/>
+      <parameter type-id='type-id-188'/>
+      <parameter type-id='type-id-12'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-145'>
+      <parameter type-id='type-id-10'/>
+      <parameter type-id='type-id-143'/>
+      <parameter type-id='type-id-144'/>
+      <parameter type-id='type-id-95'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-191'>
+      <parameter type-id='type-id-10'/>
+      <parameter type-id='type-id-95'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-137'>
+      <parameter type-id='type-id-10'/>
+      <parameter type-id='type-id-92'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-135'>
+      <parameter type-id='type-id-10'/>
+      <parameter type-id='type-id-92'/>
+      <parameter type-id='type-id-95'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-193'>
+      <parameter type-id='type-id-92'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-79'>
+      <parameter type-id='type-id-6'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-55'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-54'/>
+      <parameter type-id='type-id-6'/>
+      <return type-id='type-id-24'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-139'>
+      <parameter type-id='type-id-10'/>
+      <return type-id='type-id-92'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-184'>
+      <parameter type-id='type-id-126'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-183'/>
+      <return type-id='type-id-63'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-214'>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-6'/>
+      <return type-id='type-id-5'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-131'>
+      <parameter type-id='type-id-10'/>
+      <return type-id='type-id-5'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-123'>
+      <parameter type-id='type-id-10'/>
+      <parameter type-id='type-id-95'/>
+      <return type-id='type-id-5'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-133'>
+      <parameter type-id='type-id-10'/>
+      <parameter type-id='type-id-92'/>
+      <parameter type-id='type-id-95'/>
+      <return type-id='type-id-5'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-77'>
+      <parameter type-id='type-id-6'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-76'/>
+      <return type-id='type-id-6'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_bus_pci.dump b/drivers/.abi/librte_bus_pci.dump
new file mode 100644
index 000000000..125bc4354
--- /dev/null
+++ b/drivers/.abi/librte_bus_pci.dump
@@ -0,0 +1,834 @@
+<abi-corpus path='gcc//drivers/librte_bus_pci.so.20.0' architecture='elf-amd-x86_64' soname='librte_bus_pci.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_pci_dump' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pci_get_sysfs_path' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pci_ioport_map' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pci_ioport_read' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pci_ioport_unmap' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pci_ioport_write' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pci_map_device' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pci_read_config' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pci_register' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pci_unmap_device' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pci_unregister' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pci_write_config' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../drivers/bus/pci/pci_common.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_pci_bus' size-in-bits='1280' is-struct='yes' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='172' column='1' id='type-id-1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='bus' type-id='type-id-2' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='173' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='device_list' type-id='type-id-3' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='174' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='driver_list' type-id='type-id-4' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='175' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-5' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-6' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-7' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-8' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-9' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-10' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-11' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-12' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-13' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-14' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-15' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-17' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-18' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-5'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-20' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-21' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-20'/>
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-21'/>
+    <type-decl name='char' size-in-bits='8' id='type-id-22'/>
+    <qualified-type-def type-id='type-id-22' const='yes' id='type-id-23'/>
+    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-6'/>
+    <type-decl name='int' size-in-bits='32' id='type-id-24'/>
+    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-26'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-26' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-7'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-26' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-8'/>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-27'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-28' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-6' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-29' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-30' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-24' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-31' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-28'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-32' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-33' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-32'/>
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-33'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-34'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-35' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-6' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-6' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-35'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-36' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-37' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-36'/>
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-37'/>
+    <qualified-type-def type-id='type-id-34' const='yes' id='type-id-38'/>
+    <pointer-type-def type-id='type-id-38' size-in-bits='64' id='type-id-29'/>
+    <qualified-type-def type-id='type-id-2' const='yes' id='type-id-39'/>
+    <pointer-type-def type-id='type-id-39' size-in-bits='64' id='type-id-30'/>
+    <class-decl name='rte_devargs' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='47' column='1' id='type-id-40'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-41' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='type' type-id='type-id-42' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='policy' type-id='type-id-43' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='name' type-id='type-id-44' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='' type-id='type-id-45' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='bus' type-id='type-id-20' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='cls' type-id='type-id-46' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='bus_str' type-id='type-id-6' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='cls_str' type-id='type-id-6' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='data' type-id='type-id-6' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='66' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1' id='type-id-41'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-31' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-47' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-40' size-in-bits='64' id='type-id-31'/>
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-47'/>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-48'/>
+    <enum-decl name='rte_devtype' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='31' column='1' id='type-id-42'>
+      <underlying-type type-id='type-id-48'/>
+      <enumerator name='RTE_DEVTYPE_WHITELISTED_PCI' value='0'/>
+      <enumerator name='RTE_DEVTYPE_BLACKLISTED_PCI' value='1'/>
+      <enumerator name='RTE_DEVTYPE_VIRTUAL' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_dev_policy' filepath='../lib/librte_eal/common/include/rte_dev.h' line='72' column='1' id='type-id-43'>
+      <underlying-type type-id='type-id-48'/>
+      <enumerator name='RTE_DEV_WHITELISTED' value='0'/>
+      <enumerator name='RTE_DEV_BLACKLISTED' value='1'/>
+    </enum-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-49'/>
+
+    <array-type-def dimensions='1' type-id='type-id-22' size-in-bits='512' id='type-id-44'>
+      <subrange length='64' type-id='type-id-49' id='type-id-50'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='57' column='1' id='type-id-45'>
+      <data-member access='private'>
+        <var-decl name='args' type-id='type-id-51' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='drv_str' type-id='type-id-6' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='60' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-51'/>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-52'/>
+    <pointer-type-def type-id='type-id-52' size-in-bits='64' id='type-id-46'/>
+    <qualified-type-def type-id='type-id-27' const='yes' id='type-id-53'/>
+    <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-54'/>
+    <type-decl name='void' id='type-id-55'/>
+    <pointer-type-def type-id='type-id-55' size-in-bits='64' id='type-id-56'/>
+    <pointer-type-def type-id='type-id-57' size-in-bits='64' id='type-id-58'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-58' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-59'/>
+    <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-61'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-61' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-9'/>
+    <pointer-type-def type-id='type-id-62' size-in-bits='64' id='type-id-63'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-63' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-10'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-63' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-11'/>
+    <pointer-type-def type-id='type-id-64' size-in-bits='64' id='type-id-65'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-65' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-12'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-49' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-66'/>
+    <typedef-decl name='uint64_t' type-id='type-id-66' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-67'/>
+    <typedef-decl name='size_t' type-id='type-id-49' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-68'/>
+    <pointer-type-def type-id='type-id-69' size-in-bits='64' id='type-id-70'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-70' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-13'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-70' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-14'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-15'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-71' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-71'>
+      <underlying-type type-id='type-id-48'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-72'>
+      <underlying-type type-id='type-id-48'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-73' size-in-bits='64' id='type-id-74'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-74' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-16'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-75'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-6' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-6' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-6' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-20' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-46' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-32' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-56' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-75' const='yes' id='type-id-76'/>
+    <pointer-type-def type-id='type-id-76' size-in-bits='64' id='type-id-77'/>
+    <pointer-type-def type-id='type-id-78' size-in-bits='64' id='type-id-79'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-79' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-17'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-63' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-18'/>
+    <pointer-type-def type-id='type-id-80' size-in-bits='64' id='type-id-81'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-81' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-19'/>
+    <class-decl name='rte_pci_device_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='41' column='1' id='type-id-3'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-82' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-83' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='41' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_pci_device' size-in-bits='428736' is-struct='yes' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='57' column='1' id='type-id-84'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-85' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='device' type-id='type-id-27' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='addr' type-id='type-id-86' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='60' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='id' type-id='type-id-87' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='mem_resource' type-id='type-id-88' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='intr_handle' type-id='type-id-89' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='215168'>
+        <var-decl name='driver' type-id='type-id-90' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='215232'>
+        <var-decl name='max_vfs' type-id='type-id-91' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='215264'>
+        <var-decl name='kdrv' type-id='type-id-92' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='215296'>
+        <var-decl name='name' type-id='type-id-93' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='215488'>
+        <var-decl name='vfio_req_intr_handle' type-id='type-id-89' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='69' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='58' column='1' id='type-id-85'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-82' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-83' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='58' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-84' size-in-bits='64' id='type-id-82'/>
+    <pointer-type-def type-id='type-id-82' size-in-bits='64' id='type-id-83'/>
+    <class-decl name='rte_pci_addr' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='61' column='1' id='type-id-86'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='domain' type-id='type-id-94' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='bus' type-id='type-id-95' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='devid' type-id='type-id-95' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='function' type-id='type-id-95' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-96'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-96' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-97'/>
+    <typedef-decl name='uint32_t' type-id='type-id-97' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-94'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-98'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-98' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-99'/>
+    <typedef-decl name='uint8_t' type-id='type-id-99' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-95'/>
+    <class-decl name='rte_pci_id' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='50' column='1' id='type-id-87'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='class_id' type-id='type-id-94' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='vendor_id' type-id='type-id-91' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='device_id' type-id='type-id-91' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='subsystem_vendor_id' type-id='type-id-91' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='subsystem_device_id' type-id='type-id-91' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='55' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-100'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-100' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-101'/>
+    <typedef-decl name='uint16_t' type-id='type-id-101' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-91'/>
+    <class-decl name='rte_mem_resource' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='80' column='1' id='type-id-102'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='phys_addr' type-id='type-id-67' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-67' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='82' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-56' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-102' size-in-bits='1152' id='type-id-88'>
+      <subrange length='6' type-id='type-id-49' id='type-id-103'/>
+
+    </array-type-def>
+    <class-decl name='rte_intr_handle' size-in-bits='213248' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='69' column='1' id='type-id-89'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-104' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-24' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-105' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='max_intr' type-id='type-id-94' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='nb_efd' type-id='type-id-94' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='efd_counter_size' type-id='type-id-95' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='efds' type-id='type-id-106' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16576'>
+        <var-decl name='elist' type-id='type-id-107' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='213184'>
+        <var-decl name='intr_vec' type-id='type-id-108' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='71' column='1' id='type-id-104'>
+      <data-member access='private'>
+        <var-decl name='vfio_dev_fd' type-id='type-id-24' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='uio_cfg_fd' type-id='type-id-24' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='73' column='1'/>
+      </data-member>
+    </union-decl>
+    <enum-decl name='rte_intr_handle_type' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='27' column='1' id='type-id-105'>
+      <underlying-type type-id='type-id-48'/>
+      <enumerator name='RTE_INTR_HANDLE_UNKNOWN' value='0'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO' value='1'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO_INTX' value='2'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_LEGACY' value='3'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSI' value='4'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSIX' value='5'/>
+      <enumerator name='RTE_INTR_HANDLE_ALARM' value='6'/>
+      <enumerator name='RTE_INTR_HANDLE_EXT' value='7'/>
+      <enumerator name='RTE_INTR_HANDLE_VDEV' value='8'/>
+      <enumerator name='RTE_INTR_HANDLE_DEV_EVENT' value='9'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_REQ' value='10'/>
+      <enumerator name='RTE_INTR_HANDLE_MAX' value='11'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-24' size-in-bits='16384' id='type-id-106'>
+      <subrange length='512' type-id='type-id-49' id='type-id-109'/>
+
+    </array-type-def>
+    <class-decl name='rte_epoll_event' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='61' column='1' id='type-id-110'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='status' type-id='type-id-111' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-24' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='epfd' type-id='type-id-24' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='epdata' type-id='type-id-112' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-94' volatile='yes' id='type-id-111'/>
+    <class-decl name='rte_epoll_data' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='47' column='1' id='type-id-112'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event' type-id='type-id-94' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='data' type-id='type-id-56' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cb_fun' type-id='type-id-113' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='cb_arg' type-id='type-id-56' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='51' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-114' size-in-bits='64' id='type-id-115'/>
+    <typedef-decl name='rte_intr_event_cb_t' type-id='type-id-115' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='45' column='1' id='type-id-113'/>
+
+    <array-type-def dimensions='1' type-id='type-id-110' size-in-bits='196608' id='type-id-107'>
+      <subrange length='512' type-id='type-id-49' id='type-id-109'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-108'/>
+    <class-decl name='rte_pci_driver' size-in-bits='832' is-struct='yes' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='157' column='1' id='type-id-116'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-117' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='158' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='driver' type-id='type-id-34' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='159' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='bus' type-id='type-id-118' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='160' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='probe' type-id='type-id-119' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='161' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='remove' type-id='type-id-120' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='162' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-121' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='163' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-122' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='164' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='id_table' type-id='type-id-123' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='165' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='drv_flags' type-id='type-id-94' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='166' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='158' column='1' id='type-id-117'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-90' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='158' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-124' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='158' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-116' size-in-bits='64' id='type-id-90'/>
+    <pointer-type-def type-id='type-id-90' size-in-bits='64' id='type-id-124'/>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-118'/>
+    <typedef-decl name='pci_probe_t' type-id='type-id-125' filepath='../drivers/bus/pci/rte_bus_pci.h' line='109' column='1' id='type-id-126'/>
+    <pointer-type-def type-id='type-id-126' size-in-bits='64' id='type-id-119'/>
+    <typedef-decl name='pci_remove_t' type-id='type-id-127' filepath='../drivers/bus/pci/rte_bus_pci.h' line='114' column='1' id='type-id-128'/>
+    <pointer-type-def type-id='type-id-128' size-in-bits='64' id='type-id-120'/>
+    <typedef-decl name='pci_dma_map_t' type-id='type-id-129' filepath='../drivers/bus/pci/rte_bus_pci.h' line='132' column='1' id='type-id-130'/>
+    <pointer-type-def type-id='type-id-130' size-in-bits='64' id='type-id-121'/>
+    <typedef-decl name='pci_dma_unmap_t' type-id='type-id-129' filepath='../drivers/bus/pci/rte_bus_pci.h' line='151' column='1' id='type-id-131'/>
+    <pointer-type-def type-id='type-id-131' size-in-bits='64' id='type-id-122'/>
+    <qualified-type-def type-id='type-id-87' const='yes' id='type-id-132'/>
+    <pointer-type-def type-id='type-id-132' size-in-bits='64' id='type-id-123'/>
+    <enum-decl name='rte_kernel_driver' filepath='../lib/librte_eal/common/include/rte_dev.h' line='60' column='1' id='type-id-92'>
+      <underlying-type type-id='type-id-48'/>
+      <enumerator name='RTE_KDRV_UNKNOWN' value='0'/>
+      <enumerator name='RTE_KDRV_IGB_UIO' value='1'/>
+      <enumerator name='RTE_KDRV_VFIO' value='2'/>
+      <enumerator name='RTE_KDRV_UIO_GENERIC' value='3'/>
+      <enumerator name='RTE_KDRV_NIC_UIO' value='4'/>
+      <enumerator name='RTE_KDRV_NONE' value='5'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-22' size-in-bits='144' id='type-id-93'>
+      <subrange length='18' type-id='type-id-49' id='type-id-133'/>
+
+    </array-type-def>
+    <class-decl name='rte_pci_driver_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='43' column='1' id='type-id-4'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-90' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-124' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='43' column='1'/>
+      </data-member>
+    </class-decl>
+    <var-decl name='rte_pci_bus' type-id='type-id-1' visibility='default' filepath='../drivers/bus/pci/private.h' line='13' column='1'/>
+    <function-decl name='rte_pci_unregister' mangled-name='rte_pci_unregister' filepath='../drivers/bus/pci/pci_common.c' line='383' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pci_unregister@@DPDK_20.0'>
+      <parameter type-id='type-id-90' name='driver' filepath='../drivers/bus/pci/pci_common.c' line='383' column='1'/>
+      <return type-id='type-id-55'/>
+    </function-decl>
+    <function-decl name='rte_pci_register' mangled-name='rte_pci_register' filepath='../drivers/bus/pci/pci_common.c' line='375' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pci_register@@DPDK_20.0'>
+      <parameter type-id='type-id-90' name='driver' filepath='../drivers/bus/pci/pci_common.c' line='383' column='1'/>
+      <return type-id='type-id-55'/>
+    </function-decl>
+    <class-decl name='_IO_FILE' size-in-bits='1728' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='49' column='1' id='type-id-134'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='_flags' type-id='type-id-24' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='_IO_read_ptr' type-id='type-id-51' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='_IO_read_end' type-id='type-id-51' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='_IO_read_base' type-id='type-id-51' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='_IO_write_base' type-id='type-id-51' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='_IO_write_ptr' type-id='type-id-51' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='_IO_write_end' type-id='type-id-51' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='_IO_buf_base' type-id='type-id-51' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='60' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='_IO_buf_end' type-id='type-id-51' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='_IO_save_base' type-id='type-id-51' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='_IO_backup_base' type-id='type-id-51' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='_IO_save_end' type-id='type-id-51' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='_markers' type-id='type-id-135' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='_chain' type-id='type-id-136' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='_fileno' type-id='type-id-24' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='928'>
+        <var-decl name='_flags2' type-id='type-id-24' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='73' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='_old_offset' type-id='type-id-137' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='_cur_column' type-id='type-id-100' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1040'>
+        <var-decl name='_vtable_offset' type-id='type-id-138' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1048'>
+        <var-decl name='_shortbuf' type-id='type-id-139' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='_lock' type-id='type-id-140' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='_offset' type-id='type-id-141' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='89' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='_codecvt' type-id='type-id-142' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='_wide_data' type-id='type-id-143' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='92' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='_freeres_list' type-id='type-id-136' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='93' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='_freeres_buf' type-id='type-id-56' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='__pad5' type-id='type-id-68' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='95' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='_mode' type-id='type-id-24' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1568'>
+        <var-decl name='_unused2' type-id='type-id-144' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='98' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='_IO_marker' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-145'/>
+    <pointer-type-def type-id='type-id-145' size-in-bits='64' id='type-id-135'/>
+    <pointer-type-def type-id='type-id-134' size-in-bits='64' id='type-id-136'/>
+    <type-decl name='long int' size-in-bits='64' id='type-id-146'/>
+    <typedef-decl name='__off_t' type-id='type-id-146' filepath='/usr/include/bits/types.h' line='152' column='1' id='type-id-137'/>
+    <type-decl name='signed char' size-in-bits='8' id='type-id-138'/>
+
+    <array-type-def dimensions='1' type-id='type-id-22' size-in-bits='8' id='type-id-139'>
+      <subrange length='1' type-id='type-id-49' id='type-id-147'/>
+
+    </array-type-def>
+    <typedef-decl name='_IO_lock_t' type-id='type-id-55' filepath='/usr/include/bits/types/struct_FILE.h' line='43' column='1' id='type-id-148'/>
+    <pointer-type-def type-id='type-id-148' size-in-bits='64' id='type-id-140'/>
+    <typedef-decl name='__off64_t' type-id='type-id-146' filepath='/usr/include/bits/types.h' line='153' column='1' id='type-id-141'/>
+    <class-decl name='_IO_codecvt' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-149'/>
+    <pointer-type-def type-id='type-id-149' size-in-bits='64' id='type-id-142'/>
+    <class-decl name='_IO_wide_data' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-150'/>
+    <pointer-type-def type-id='type-id-150' size-in-bits='64' id='type-id-143'/>
+
+    <array-type-def dimensions='1' type-id='type-id-22' size-in-bits='160' id='type-id-144'>
+      <subrange length='20' type-id='type-id-49' id='type-id-151'/>
+
+    </array-type-def>
+    <typedef-decl name='FILE' type-id='type-id-134' filepath='/usr/include/bits/types/FILE.h' line='7' column='1' id='type-id-152'/>
+    <pointer-type-def type-id='type-id-152' size-in-bits='64' id='type-id-153'/>
+    <function-decl name='rte_pci_dump' mangled-name='rte_pci_dump' filepath='../drivers/bus/pci/pci_common.c' line='351' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pci_dump@@DPDK_20.0'>
+      <parameter type-id='type-id-153' name='f' filepath='../drivers/bus/pci/pci_common.c' line='351' column='1'/>
+      <return type-id='type-id-55'/>
+    </function-decl>
+    <function-decl name='rte_pci_get_sysfs_path' mangled-name='rte_pci_get_sysfs_path' filepath='../drivers/bus/pci/pci_common.c' line='34' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pci_get_sysfs_path@@DPDK_20.0'>
+      <return type-id='type-id-6'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-73'>
+      <return type-id='type-id-72'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-25'>
+      <return type-id='type-id-24'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-64'>
+      <parameter type-id='type-id-6'/>
+      <parameter type-id='type-id-56'/>
+      <return type-id='type-id-24'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-57'>
+      <parameter type-id='type-id-54'/>
+      <parameter type-id='type-id-56'/>
+      <return type-id='type-id-24'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-62'>
+      <parameter type-id='type-id-32'/>
+      <return type-id='type-id-24'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-69'>
+      <parameter type-id='type-id-32'/>
+      <parameter type-id='type-id-56'/>
+      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-68'/>
+      <return type-id='type-id-24'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-127'>
+      <parameter type-id='type-id-82'/>
+      <return type-id='type-id-24'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-129'>
+      <parameter type-id='type-id-82'/>
+      <parameter type-id='type-id-56'/>
+      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-68'/>
+      <return type-id='type-id-24'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-125'>
+      <parameter type-id='type-id-90'/>
+      <parameter type-id='type-id-82'/>
+      <return type-id='type-id-24'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-80'>
+      <parameter type-id='type-id-56'/>
+      <return type-id='type-id-24'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-60'>
+      <parameter type-id='type-id-54'/>
+      <parameter type-id='type-id-59'/>
+      <parameter type-id='type-id-56'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-114'>
+      <parameter type-id='type-id-24'/>
+      <parameter type-id='type-id-56'/>
+      <return type-id='type-id-55'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-78'>
+      <parameter type-id='type-id-56'/>
+      <parameter type-id='type-id-6'/>
+      <parameter type-id='type-id-77'/>
+      <return type-id='type-id-56'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/bus/pci/linux/pci.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_pci_ioport' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='293' column='1' id='type-id-154'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev' type-id='type-id-82' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='294' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='base' type-id='type-id-67' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='295' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='len' type-id='type-id-67' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='296' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-154' size-in-bits='64' id='type-id-155'/>
+    <function-decl name='rte_pci_ioport_unmap' mangled-name='rte_pci_ioport_unmap' filepath='../drivers/bus/pci/linux/pci.c' line='804' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pci_ioport_unmap@@DPDK_20.0'>
+      <parameter type-id='type-id-155' name='p' filepath='../drivers/bus/pci/linux/pci.c' line='804' column='1'/>
+      <return type-id='type-id-24'/>
+    </function-decl>
+    <typedef-decl name='off_t' type-id='type-id-141' filepath='/usr/include/stdio.h' line='65' column='1' id='type-id-156'/>
+    <function-decl name='rte_pci_ioport_write' mangled-name='rte_pci_ioport_write' filepath='../drivers/bus/pci/linux/pci.c' line='778' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pci_ioport_write@@DPDK_20.0'>
+      <parameter type-id='type-id-155' name='p' filepath='../drivers/bus/pci/linux/pci.c' line='778' column='1'/>
+      <parameter type-id='type-id-56' name='data' filepath='../drivers/bus/pci/linux/pci.c' line='779' column='1'/>
+      <parameter type-id='type-id-68' name='len' filepath='../drivers/bus/pci/linux/pci.c' line='779' column='1'/>
+      <parameter type-id='type-id-156' name='offset' filepath='../drivers/bus/pci/linux/pci.c' line='779' column='1'/>
+      <return type-id='type-id-55'/>
+    </function-decl>
+    <function-decl name='rte_pci_ioport_read' mangled-name='rte_pci_ioport_read' filepath='../drivers/bus/pci/linux/pci.c' line='752' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pci_ioport_read@@DPDK_20.0'>
+      <parameter type-id='type-id-155' name='p' filepath='../drivers/bus/pci/linux/pci.c' line='778' column='1'/>
+      <parameter type-id='type-id-56' name='data' filepath='../drivers/bus/pci/linux/pci.c' line='779' column='1'/>
+      <parameter type-id='type-id-68' name='len' filepath='../drivers/bus/pci/linux/pci.c' line='779' column='1'/>
+      <parameter type-id='type-id-156' name='offset' filepath='../drivers/bus/pci/linux/pci.c' line='779' column='1'/>
+      <return type-id='type-id-55'/>
+    </function-decl>
+    <function-decl name='rte_pci_ioport_map' mangled-name='rte_pci_ioport_map' filepath='../drivers/bus/pci/linux/pci.c' line='714' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pci_ioport_map@@DPDK_20.0'>
+      <parameter type-id='type-id-82' name='dev' filepath='../drivers/bus/pci/linux/pci.c' line='714' column='1'/>
+      <parameter type-id='type-id-24' name='bar' filepath='../drivers/bus/pci/linux/pci.c' line='714' column='1'/>
+      <parameter type-id='type-id-155' name='p' filepath='../drivers/bus/pci/linux/pci.c' line='715' column='1'/>
+      <return type-id='type-id-24'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-84' const='yes' id='type-id-157'/>
+    <pointer-type-def type-id='type-id-157' size-in-bits='64' id='type-id-158'/>
+    <function-decl name='rte_pci_write_config' mangled-name='rte_pci_write_config' filepath='../drivers/bus/pci/linux/pci.c' line='625' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pci_write_config@@DPDK_20.0'>
+      <parameter type-id='type-id-158' name='device' filepath='../drivers/bus/pci/linux/pci.c' line='625' column='1'/>
+      <parameter type-id='type-id-56' name='buf' filepath='../drivers/bus/pci/linux/pci.c' line='626' column='1'/>
+      <parameter type-id='type-id-68' name='len' filepath='../drivers/bus/pci/linux/pci.c' line='626' column='1'/>
+      <parameter type-id='type-id-156' name='offset' filepath='../drivers/bus/pci/linux/pci.c' line='626' column='1'/>
+      <return type-id='type-id-24'/>
+    </function-decl>
+    <function-decl name='rte_pci_read_config' mangled-name='rte_pci_read_config' filepath='../drivers/bus/pci/linux/pci.c' line='601' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pci_read_config@@DPDK_20.0'>
+      <parameter type-id='type-id-158' name='device' filepath='../drivers/bus/pci/linux/pci.c' line='625' column='1'/>
+      <parameter type-id='type-id-56' name='buf' filepath='../drivers/bus/pci/linux/pci.c' line='626' column='1'/>
+      <parameter type-id='type-id-68' name='len' filepath='../drivers/bus/pci/linux/pci.c' line='626' column='1'/>
+      <parameter type-id='type-id-156' name='offset' filepath='../drivers/bus/pci/linux/pci.c' line='626' column='1'/>
+      <return type-id='type-id-24'/>
+    </function-decl>
+    <function-decl name='rte_pci_unmap_device' mangled-name='rte_pci_unmap_device' filepath='../drivers/bus/pci/linux/pci.c' line='96' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pci_unmap_device@@DPDK_20.0'>
+      <parameter type-id='type-id-82' name='dev' filepath='../drivers/bus/pci/linux/pci.c' line='96' column='1'/>
+      <return type-id='type-id-55'/>
+    </function-decl>
+    <function-decl name='rte_pci_map_device' mangled-name='rte_pci_map_device' filepath='../drivers/bus/pci/linux/pci.c' line='65' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pci_map_device@@DPDK_20.0'>
+      <parameter type-id='type-id-82' name='dev' filepath='../drivers/bus/pci/linux/pci.c' line='65' column='1'/>
+      <return type-id='type-id-24'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/bus/pci/linux/pci_uio.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='pci_map_addr' type-id='type-id-56' visibility='default' filepath='../drivers/bus/pci/linux/pci_init.h' line='17' column='1'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_bus_vdev.dump b/drivers/.abi/librte_bus_vdev.dump
new file mode 100644
index 000000000..325e46fc1
--- /dev/null
+++ b/drivers/.abi/librte_bus_vdev.dump
@@ -0,0 +1,408 @@
+<abi-corpus path='gcc//drivers/librte_bus_vdev.so.20.0' architecture='elf-amd-x86_64' soname='librte_bus_vdev.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_vdev_add_custom_scan' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vdev_init' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vdev_register' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vdev_remove_custom_scan' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vdev_uninit' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vdev_unregister' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../drivers/bus/vdev/vdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='vdev_logtype_bus' type-id='type-id-1' visibility='default' filepath='../drivers/bus/vdev/vdev_logs.h' line='10' column='1'/>
+    <type-decl name='char' size-in-bits='8' id='type-id-2'/>
+    <qualified-type-def type-id='type-id-2' const='yes' id='type-id-3'/>
+    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-4'/>
+    <function-decl name='rte_vdev_uninit' mangled-name='rte_vdev_uninit' filepath='../drivers/bus/vdev/vdev.c' line='297' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vdev_uninit@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='name' filepath='../drivers/bus/vdev/vdev.c' line='297' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_vdev_init' mangled-name='rte_vdev_init' filepath='../drivers/bus/vdev/vdev.c' line='258' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vdev_init@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='name' filepath='../drivers/bus/vdev/vdev.c' line='258' column='1'/>
+      <parameter type-id='type-id-4' name='args' filepath='../drivers/bus/vdev/vdev.c' line='258' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <type-decl name='void' id='type-id-5'/>
+    <pointer-type-def type-id='type-id-5' size-in-bits='64' id='type-id-6'/>
+    <pointer-type-def type-id='type-id-7' size-in-bits='64' id='type-id-8'/>
+    <typedef-decl name='rte_vdev_scan_callback' type-id='type-id-8' filepath='../drivers/bus/vdev/rte_bus_vdev.h' line='107' column='1' id='type-id-9'/>
+    <function-decl name='rte_vdev_remove_custom_scan' mangled-name='rte_vdev_remove_custom_scan' filepath='../drivers/bus/vdev/vdev.c' line='100' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vdev_remove_custom_scan@@DPDK_20.0'>
+      <parameter type-id='type-id-9' name='callback' filepath='../drivers/bus/vdev/vdev.c' line='100' column='1'/>
+      <parameter type-id='type-id-6' name='user_arg' filepath='../drivers/bus/vdev/vdev.c' line='100' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_vdev_add_custom_scan' mangled-name='rte_vdev_add_custom_scan' filepath='../drivers/bus/vdev/vdev.c' line='72' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vdev_add_custom_scan@@DPDK_20.0'>
+      <parameter type-id='type-id-9' name='callback' filepath='../drivers/bus/vdev/vdev.c' line='72' column='1'/>
+      <parameter type-id='type-id-6' name='user_arg' filepath='../drivers/bus/vdev/vdev.c' line='72' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_vdev_driver' size-in-bits='512' is-struct='yes' visibility='default' filepath='../drivers/bus/vdev/rte_bus_vdev.h' line='69' column='1' id='type-id-10'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-11' visibility='default' filepath='../drivers/bus/vdev/rte_bus_vdev.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='driver' type-id='type-id-12' visibility='default' filepath='../drivers/bus/vdev/rte_bus_vdev.h' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='probe' type-id='type-id-13' visibility='default' filepath='../drivers/bus/vdev/rte_bus_vdev.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='remove' type-id='type-id-14' visibility='default' filepath='../drivers/bus/vdev/rte_bus_vdev.h' line='73' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/vdev/rte_bus_vdev.h' line='70' column='1' id='type-id-11'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-15' visibility='default' filepath='../drivers/bus/vdev/rte_bus_vdev.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-16' visibility='default' filepath='../drivers/bus/vdev/rte_bus_vdev.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-15'/>
+    <pointer-type-def type-id='type-id-15' size-in-bits='64' id='type-id-16'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-12'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-17' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-17'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-18' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-12' size-in-bits='64' id='type-id-18'/>
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-19'/>
+    <class-decl name='rte_vdev_device' size-in-bits='576' is-struct='yes' visibility='default' filepath='../drivers/bus/vdev/rte_bus_vdev.h' line='22' column='1' id='type-id-20'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-21' visibility='default' filepath='../drivers/bus/vdev/rte_bus_vdev.h' line='23' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='device' type-id='type-id-22' visibility='default' filepath='../drivers/bus/vdev/rte_bus_vdev.h' line='24' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/vdev/rte_bus_vdev.h' line='23' column='1' id='type-id-21'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-23' visibility='default' filepath='../drivers/bus/vdev/rte_bus_vdev.h' line='23' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-24' visibility='default' filepath='../drivers/bus/vdev/rte_bus_vdev.h' line='23' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-23'/>
+    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-24'/>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-22'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-25' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-26' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-27' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-28' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-25'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-29' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-30' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-29'/>
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-30'/>
+    <qualified-type-def type-id='type-id-12' const='yes' id='type-id-31'/>
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-26'/>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-32'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-33' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-34' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-35' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-36' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-37' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-38' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-39' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-40' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-41' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-42' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-43' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-44' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-45' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-46' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-33'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-47' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-48' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-47'/>
+    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-48'/>
+    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-50'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-50' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-34'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-50' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-35'/>
+    <qualified-type-def type-id='type-id-22' const='yes' id='type-id-51'/>
+    <pointer-type-def type-id='type-id-51' size-in-bits='64' id='type-id-52'/>
+    <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-54'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-54' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-55'/>
+    <pointer-type-def type-id='type-id-56' size-in-bits='64' id='type-id-57'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-57' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-36'/>
+    <pointer-type-def type-id='type-id-58' size-in-bits='64' id='type-id-59'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-59' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-37'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-59' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-38'/>
+    <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-61'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-61' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-39'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-62'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-62' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-63'/>
+    <typedef-decl name='uint64_t' type-id='type-id-63' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-64'/>
+    <typedef-decl name='size_t' type-id='type-id-62' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-65'/>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-67' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-40'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-67' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-41'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-42'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-68' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-69'/>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-68'>
+      <underlying-type type-id='type-id-69'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-70'>
+      <underlying-type type-id='type-id-69'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-72'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-72' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-43'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-73'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-47' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-74' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-29' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-6' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-75'/>
+    <pointer-type-def type-id='type-id-75' size-in-bits='64' id='type-id-74'/>
+    <qualified-type-def type-id='type-id-73' const='yes' id='type-id-76'/>
+    <pointer-type-def type-id='type-id-76' size-in-bits='64' id='type-id-77'/>
+    <pointer-type-def type-id='type-id-78' size-in-bits='64' id='type-id-79'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-79' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-44'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-59' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-45'/>
+    <pointer-type-def type-id='type-id-80' size-in-bits='64' id='type-id-81'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-81' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-46'/>
+    <qualified-type-def type-id='type-id-32' const='yes' id='type-id-82'/>
+    <pointer-type-def type-id='type-id-82' size-in-bits='64' id='type-id-27'/>
+    <class-decl name='rte_devargs' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='47' column='1' id='type-id-83'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-84' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='type' type-id='type-id-85' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='policy' type-id='type-id-86' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='name' type-id='type-id-87' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='' type-id='type-id-88' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='bus' type-id='type-id-47' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='cls' type-id='type-id-74' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='bus_str' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='cls_str' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='data' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='66' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1' id='type-id-84'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-28' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-28'/>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-89'/>
+    <enum-decl name='rte_devtype' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='31' column='1' id='type-id-85'>
+      <underlying-type type-id='type-id-69'/>
+      <enumerator name='RTE_DEVTYPE_WHITELISTED_PCI' value='0'/>
+      <enumerator name='RTE_DEVTYPE_BLACKLISTED_PCI' value='1'/>
+      <enumerator name='RTE_DEVTYPE_VIRTUAL' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_dev_policy' filepath='../lib/librte_eal/common/include/rte_dev.h' line='72' column='1' id='type-id-86'>
+      <underlying-type type-id='type-id-69'/>
+      <enumerator name='RTE_DEV_WHITELISTED' value='0'/>
+      <enumerator name='RTE_DEV_BLACKLISTED' value='1'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='512' id='type-id-87'>
+      <subrange length='64' type-id='type-id-62' id='type-id-90'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='57' column='1' id='type-id-88'>
+      <data-member access='private'>
+        <var-decl name='args' type-id='type-id-91' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='drv_str' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='60' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-91'/>
+    <typedef-decl name='rte_vdev_probe_t' type-id='type-id-92' filepath='../drivers/bus/vdev/rte_bus_vdev.h' line='59' column='1' id='type-id-93'/>
+    <pointer-type-def type-id='type-id-93' size-in-bits='64' id='type-id-13'/>
+    <typedef-decl name='rte_vdev_remove_t' type-id='type-id-92' filepath='../drivers/bus/vdev/rte_bus_vdev.h' line='64' column='1' id='type-id-94'/>
+    <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-14'/>
+    <function-decl name='rte_vdev_unregister' mangled-name='rte_vdev_unregister' filepath='../drivers/bus/vdev/vdev.c' line='66' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vdev_unregister@@DPDK_20.0'>
+      <parameter type-id='type-id-15' name='driver' filepath='../drivers/bus/vdev/vdev.c' line='66' column='1'/>
+      <return type-id='type-id-5'/>
+    </function-decl>
+    <function-decl name='rte_vdev_register' mangled-name='rte_vdev_register' filepath='../drivers/bus/vdev/vdev.c' line='59' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vdev_register@@DPDK_20.0'>
+      <parameter type-id='type-id-15' name='driver' filepath='../drivers/bus/vdev/vdev.c' line='66' column='1'/>
+      <return type-id='type-id-5'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-71'>
+      <return type-id='type-id-70'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-49'>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-60'>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-6'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-53'>
+      <parameter type-id='type-id-52'/>
+      <parameter type-id='type-id-6'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-58'>
+      <parameter type-id='type-id-29'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-66'>
+      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-6'/>
+      <parameter type-id='type-id-64'/>
+      <parameter type-id='type-id-65'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-92'>
+      <parameter type-id='type-id-23'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-80'>
+      <parameter type-id='type-id-6'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-56'>
+      <parameter type-id='type-id-52'/>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-6'/>
+      <return type-id='type-id-29'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-7'>
+      <parameter type-id='type-id-6'/>
+      <return type-id='type-id-5'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-78'>
+      <parameter type-id='type-id-6'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-77'/>
+      <return type-id='type-id-6'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_bus_vmbus.dump b/drivers/.abi/librte_bus_vmbus.dump
new file mode 100644
index 000000000..bee401ee1
--- /dev/null
+++ b/drivers/.abi/librte_bus_vmbus.dump
@@ -0,0 +1,918 @@
+<abi-corpus path='gcc//drivers/librte_bus_vmbus.so.20.0' architecture='elf-amd-x86_64' soname='librte_bus_vmbus.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_vmbus_chan_close' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vmbus_chan_open' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vmbus_chan_recv' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vmbus_chan_recv_raw' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vmbus_chan_rx_empty' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vmbus_chan_send' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vmbus_chan_send_sglist' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vmbus_chan_signal_read' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vmbus_chan_signal_tx' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vmbus_irq_mask' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vmbus_irq_read' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vmbus_irq_unmask' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vmbus_map_device' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vmbus_max_channels' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vmbus_probe' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vmbus_register' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vmbus_scan' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vmbus_set_latency' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vmbus_sub_channel_index' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vmbus_subchan_open' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vmbus_unmap_device' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_vmbus_unregister' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../drivers/bus/vmbus/vmbus_common.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='vmbus_logtype_bus' type-id='type-id-1' visibility='default' filepath='../drivers/bus/vmbus/private.h' line='21' column='1'/>
+    <class-decl name='rte_vmbus_bus' size-in-bits='1280' is-struct='yes' visibility='default' filepath='../drivers/bus/vmbus/rte_bus_vmbus.h' line='109' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='bus' type-id='type-id-3' visibility='default' filepath='../drivers/bus/vmbus/rte_bus_vmbus.h' line='110' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='device_list' type-id='type-id-4' visibility='default' filepath='../drivers/bus/vmbus/rte_bus_vmbus.h' line='111' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='driver_list' type-id='type-id-5' visibility='default' filepath='../drivers/bus/vmbus/rte_bus_vmbus.h' line='112' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-3'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-6' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-7' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-8' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-9' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-10' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-11' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-12' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-13' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-14' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-15' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-17' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-18' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-20' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-6'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-21' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-22' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-21'/>
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-22'/>
+    <type-decl name='char' size-in-bits='8' id='type-id-23'/>
+    <qualified-type-def type-id='type-id-23' const='yes' id='type-id-24'/>
+    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-7'/>
+    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-26'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-26' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-8'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-26' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-9'/>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-27'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-28' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-7' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-29' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-30' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-31' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-28'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-32' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-33' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-32'/>
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-33'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-34'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-35' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-7' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-7' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-35'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-36' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-37' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-36'/>
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-37'/>
+    <qualified-type-def type-id='type-id-34' const='yes' id='type-id-38'/>
+    <pointer-type-def type-id='type-id-38' size-in-bits='64' id='type-id-29'/>
+    <qualified-type-def type-id='type-id-3' const='yes' id='type-id-39'/>
+    <pointer-type-def type-id='type-id-39' size-in-bits='64' id='type-id-30'/>
+    <class-decl name='rte_devargs' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='47' column='1' id='type-id-40'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-41' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='type' type-id='type-id-42' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='policy' type-id='type-id-43' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='name' type-id='type-id-44' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='' type-id='type-id-45' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='bus' type-id='type-id-21' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='cls' type-id='type-id-46' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='bus_str' type-id='type-id-7' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='cls_str' type-id='type-id-7' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='data' type-id='type-id-7' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='66' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1' id='type-id-41'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-31' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-47' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-40' size-in-bits='64' id='type-id-31'/>
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-47'/>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-48'/>
+    <enum-decl name='rte_devtype' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='31' column='1' id='type-id-42'>
+      <underlying-type type-id='type-id-48'/>
+      <enumerator name='RTE_DEVTYPE_WHITELISTED_PCI' value='0'/>
+      <enumerator name='RTE_DEVTYPE_BLACKLISTED_PCI' value='1'/>
+      <enumerator name='RTE_DEVTYPE_VIRTUAL' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_dev_policy' filepath='../lib/librte_eal/common/include/rte_dev.h' line='72' column='1' id='type-id-43'>
+      <underlying-type type-id='type-id-48'/>
+      <enumerator name='RTE_DEV_WHITELISTED' value='0'/>
+      <enumerator name='RTE_DEV_BLACKLISTED' value='1'/>
+    </enum-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-49'/>
+
+    <array-type-def dimensions='1' type-id='type-id-23' size-in-bits='512' id='type-id-44'>
+      <subrange length='64' type-id='type-id-49' id='type-id-50'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='57' column='1' id='type-id-45'>
+      <data-member access='private'>
+        <var-decl name='args' type-id='type-id-51' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='drv_str' type-id='type-id-7' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='60' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-51'/>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-52'/>
+    <pointer-type-def type-id='type-id-52' size-in-bits='64' id='type-id-46'/>
+    <qualified-type-def type-id='type-id-27' const='yes' id='type-id-53'/>
+    <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-54'/>
+    <type-decl name='void' id='type-id-55'/>
+    <pointer-type-def type-id='type-id-55' size-in-bits='64' id='type-id-56'/>
+    <pointer-type-def type-id='type-id-57' size-in-bits='64' id='type-id-58'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-58' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-59'/>
+    <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-61'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-61' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-10'/>
+    <pointer-type-def type-id='type-id-62' size-in-bits='64' id='type-id-63'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-63' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-11'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-63' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-12'/>
+    <pointer-type-def type-id='type-id-64' size-in-bits='64' id='type-id-65'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-65' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-13'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-49' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-66'/>
+    <typedef-decl name='uint64_t' type-id='type-id-66' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-67'/>
+    <typedef-decl name='size_t' type-id='type-id-49' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-68'/>
+    <pointer-type-def type-id='type-id-69' size-in-bits='64' id='type-id-70'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-70' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-14'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-70' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-15'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-16'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-71' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-71'>
+      <underlying-type type-id='type-id-48'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-72'>
+      <underlying-type type-id='type-id-48'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-73' size-in-bits='64' id='type-id-74'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-74' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-17'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-75'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-7' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-7' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-7' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-21' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-46' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-32' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-56' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-75' const='yes' id='type-id-76'/>
+    <pointer-type-def type-id='type-id-76' size-in-bits='64' id='type-id-77'/>
+    <pointer-type-def type-id='type-id-78' size-in-bits='64' id='type-id-79'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-79' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-18'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-63' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-19'/>
+    <pointer-type-def type-id='type-id-80' size-in-bits='64' id='type-id-81'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-81' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-20'/>
+    <class-decl name='rte_vmbus_device_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/bus/vmbus/rte_bus_vmbus.h' line='41' column='1' id='type-id-4'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-82' visibility='default' filepath='../drivers/bus/vmbus/rte_bus_vmbus.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-83' visibility='default' filepath='../drivers/bus/vmbus/rte_bus_vmbus.h' line='41' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_vmbus_device' size-in-bits='215424' is-struct='yes' visibility='default' filepath='../drivers/bus/vmbus/rte_bus_vmbus.h' line='64' column='1' id='type-id-84'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-85' visibility='default' filepath='../drivers/bus/vmbus/rte_bus_vmbus.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='driver' type-id='type-id-86' visibility='default' filepath='../drivers/bus/vmbus/rte_bus_vmbus.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='device' type-id='type-id-27' visibility='default' filepath='../drivers/bus/vmbus/rte_bus_vmbus.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='device_id' type-id='type-id-87' visibility='default' filepath='../drivers/bus/vmbus/rte_bus_vmbus.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='class_id' type-id='type-id-87' visibility='default' filepath='../drivers/bus/vmbus/rte_bus_vmbus.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='relid' type-id='type-id-88' visibility='default' filepath='../drivers/bus/vmbus/rte_bus_vmbus.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='928'>
+        <var-decl name='monitor_id' type-id='type-id-89' visibility='default' filepath='../drivers/bus/vmbus/rte_bus_vmbus.h' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='uio_num' type-id='type-id-1' visibility='default' filepath='../drivers/bus/vmbus/rte_bus_vmbus.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='int_page' type-id='type-id-90' visibility='default' filepath='../drivers/bus/vmbus/rte_bus_vmbus.h' line='73' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='primary' type-id='type-id-91' visibility='default' filepath='../drivers/bus/vmbus/rte_bus_vmbus.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='monitor_page' type-id='type-id-92' visibility='default' filepath='../drivers/bus/vmbus/rte_bus_vmbus.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='intr_handle' type-id='type-id-93' visibility='default' filepath='../drivers/bus/vmbus/rte_bus_vmbus.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='214464'>
+        <var-decl name='resource' type-id='type-id-94' visibility='default' filepath='../drivers/bus/vmbus/rte_bus_vmbus.h' line='78' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/vmbus/rte_bus_vmbus.h' line='65' column='1' id='type-id-85'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-82' visibility='default' filepath='../drivers/bus/vmbus/rte_bus_vmbus.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-83' visibility='default' filepath='../drivers/bus/vmbus/rte_bus_vmbus.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-84' size-in-bits='64' id='type-id-82'/>
+    <pointer-type-def type-id='type-id-82' size-in-bits='64' id='type-id-83'/>
+    <class-decl name='rte_vmbus_driver' size-in-bits='640' is-struct='yes' visibility='default' filepath='../drivers/bus/vmbus/rte_bus_vmbus.h' line='95' column='1' id='type-id-95'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-96' visibility='default' filepath='../drivers/bus/vmbus/rte_bus_vmbus.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='driver' type-id='type-id-34' visibility='default' filepath='../drivers/bus/vmbus/rte_bus_vmbus.h' line='97' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='bus' type-id='type-id-97' visibility='default' filepath='../drivers/bus/vmbus/rte_bus_vmbus.h' line='98' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='probe' type-id='type-id-98' visibility='default' filepath='../drivers/bus/vmbus/rte_bus_vmbus.h' line='99' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='remove' type-id='type-id-99' visibility='default' filepath='../drivers/bus/vmbus/rte_bus_vmbus.h' line='100' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='id_table' type-id='type-id-100' visibility='default' filepath='../drivers/bus/vmbus/rte_bus_vmbus.h' line='102' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/vmbus/rte_bus_vmbus.h' line='96' column='1' id='type-id-96'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-101' visibility='default' filepath='../drivers/bus/vmbus/rte_bus_vmbus.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-102' visibility='default' filepath='../drivers/bus/vmbus/rte_bus_vmbus.h' line='96' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-95' size-in-bits='64' id='type-id-101'/>
+    <pointer-type-def type-id='type-id-101' size-in-bits='64' id='type-id-102'/>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-97'/>
+    <typedef-decl name='vmbus_probe_t' type-id='type-id-103' filepath='../drivers/bus/vmbus/rte_bus_vmbus.h' line='84' column='1' id='type-id-104'/>
+    <pointer-type-def type-id='type-id-104' size-in-bits='64' id='type-id-98'/>
+    <typedef-decl name='vmbus_remove_t' type-id='type-id-105' filepath='../drivers/bus/vmbus/rte_bus_vmbus.h' line='90' column='1' id='type-id-106'/>
+    <pointer-type-def type-id='type-id-106' size-in-bits='64' id='type-id-99'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-107'/>
+
+    <array-type-def dimensions='1' type-id='type-id-107' size-in-bits='128' id='type-id-108'>
+      <subrange length='16' type-id='type-id-49' id='type-id-109'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-108' size-in-bits='64' id='type-id-100'/>
+    <qualified-type-def type-id='type-id-95' const='yes' id='type-id-110'/>
+    <pointer-type-def type-id='type-id-110' size-in-bits='64' id='type-id-86'/>
+    <typedef-decl name='rte_uuid_t' type-id='type-id-108' filepath='../lib/librte_eal/common/include/rte_uuid.h' line='22' column='1' id='type-id-87'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-111'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-111' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-112'/>
+    <typedef-decl name='uint32_t' type-id='type-id-112' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-88'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-107' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-113'/>
+    <typedef-decl name='uint8_t' type-id='type-id-113' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-89'/>
+    <pointer-type-def type-id='type-id-88' size-in-bits='64' id='type-id-90'/>
+    <class-decl name='vmbus_channel' size-in-bits='576' is-struct='yes' visibility='default' filepath='../drivers/bus/vmbus/private.h' line='58' column='1' id='type-id-114'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='subchannel_list' type-id='type-id-115' visibility='default' filepath='../drivers/bus/vmbus/private.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='next' type-id='type-id-116' visibility='default' filepath='../drivers/bus/vmbus/private.h' line='60' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='device' type-id='type-id-117' visibility='default' filepath='../drivers/bus/vmbus/private.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rxbr' type-id='type-id-118' visibility='default' filepath='../drivers/bus/vmbus/private.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='txbr' type-id='type-id-118' visibility='default' filepath='../drivers/bus/vmbus/private.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='relid' type-id='type-id-119' visibility='default' filepath='../drivers/bus/vmbus/private.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='528'>
+        <var-decl name='subchannel_id' type-id='type-id-119' visibility='default' filepath='../drivers/bus/vmbus/private.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='monitor_id' type-id='type-id-89' visibility='default' filepath='../drivers/bus/vmbus/private.h' line='68' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/vmbus/private.h' line='59' column='1' id='type-id-115'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-91' visibility='default' filepath='../drivers/bus/vmbus/private.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-120' visibility='default' filepath='../drivers/bus/vmbus/private.h' line='59' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-114' size-in-bits='64' id='type-id-91'/>
+    <pointer-type-def type-id='type-id-91' size-in-bits='64' id='type-id-120'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/vmbus/private.h' line='60' column='1' id='type-id-116'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-91' visibility='default' filepath='../drivers/bus/vmbus/private.h' line='60' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-84' const='yes' id='type-id-121'/>
+    <pointer-type-def type-id='type-id-121' size-in-bits='64' id='type-id-117'/>
+    <class-decl name='vmbus_br' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/bus/vmbus/private.h' line='26' column='1' id='type-id-118'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vbr' type-id='type-id-122' visibility='default' filepath='../drivers/bus/vmbus/private.h' line='27' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dsize' type-id='type-id-88' visibility='default' filepath='../drivers/bus/vmbus/private.h' line='28' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='windex' type-id='type-id-88' visibility='default' filepath='../drivers/bus/vmbus/private.h' line='29' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='vmbus_bufring' size-in-bits='32768' is-struct='yes' visibility='default' filepath='../drivers/bus/vmbus/rte_vmbus_reg.h' line='66' column='1' id='type-id-123'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='windex' type-id='type-id-124' visibility='default' filepath='../drivers/bus/vmbus/rte_vmbus_reg.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='rindex' type-id='type-id-124' visibility='default' filepath='../drivers/bus/vmbus/rte_vmbus_reg.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='imask' type-id='type-id-124' visibility='default' filepath='../drivers/bus/vmbus/rte_vmbus_reg.h' line='82' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='pending_send' type-id='type-id-124' visibility='default' filepath='../drivers/bus/vmbus/rte_vmbus_reg.h' line='93' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='reserved1' type-id='type-id-125' visibility='default' filepath='../drivers/bus/vmbus/rte_vmbus_reg.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='feature_bits' type-id='type-id-126' visibility='default' filepath='../drivers/bus/vmbus/rte_vmbus_reg.h' line='101' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='reserved2' type-id='type-id-127' visibility='default' filepath='../drivers/bus/vmbus/rte_vmbus_reg.h' line='104' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32768'>
+        <var-decl name='data' type-id='type-id-128' visibility='default' filepath='../drivers/bus/vmbus/rte_vmbus_reg.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-88' volatile='yes' id='type-id-124'/>
+
+    <array-type-def dimensions='1' type-id='type-id-88' size-in-bits='384' id='type-id-125'>
+      <subrange length='12' type-id='type-id-49' id='type-id-129'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='../drivers/bus/vmbus/rte_vmbus_reg.h' line='96' column='1' id='type-id-126'>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-130' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='value' type-id='type-id-88' visibility='default' filepath='../drivers/bus/vmbus/rte_vmbus_reg.h' line='100' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/vmbus/rte_vmbus_reg.h' line='97' column='1' id='type-id-130'>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='feat_pending_send_sz' type-id='type-id-88' visibility='default' filepath='../drivers/bus/vmbus/rte_vmbus_reg.h' line='98' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-89' size-in-bits='32224' id='type-id-127'>
+      <subrange length='4028' type-id='type-id-49' id='type-id-131'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-89' size-in-bits='infinite' id='type-id-128'>
+      <subrange length='infinite' type-id='type-id-49' id='type-id-132'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-123' size-in-bits='64' id='type-id-122'/>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-133'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-133' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-134'/>
+    <typedef-decl name='uint16_t' type-id='type-id-134' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-119'/>
+    <class-decl name='vmbus_mon_page' size-in-bits='32768' is-struct='yes' visibility='default' filepath='../drivers/bus/vmbus/rte_vmbus_reg.h' line='47' column='1' id='type-id-135'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='state' type-id='type-id-88' visibility='default' filepath='../drivers/bus/vmbus/rte_vmbus_reg.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='rsvd1' type-id='type-id-88' visibility='default' filepath='../drivers/bus/vmbus/rte_vmbus_reg.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='trigs' type-id='type-id-136' visibility='default' filepath='../drivers/bus/vmbus/rte_vmbus_reg.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='rsvd2' type-id='type-id-137' visibility='default' filepath='../drivers/bus/vmbus/rte_vmbus_reg.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4608'>
+        <var-decl name='lat' type-id='type-id-138' visibility='default' filepath='../drivers/bus/vmbus/rte_vmbus_reg.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6656'>
+        <var-decl name='rsvd3' type-id='type-id-139' visibility='default' filepath='../drivers/bus/vmbus/rte_vmbus_reg.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8704'>
+        <var-decl name='param' type-id='type-id-140' visibility='default' filepath='../drivers/bus/vmbus/rte_vmbus_reg.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16896'>
+        <var-decl name='rsvd4' type-id='type-id-141' visibility='default' filepath='../drivers/bus/vmbus/rte_vmbus_reg.h' line='59' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='vmbus_mon_trig' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/bus/vmbus/rte_vmbus_reg.h' line='30' column='1' id='type-id-142'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pending' type-id='type-id-88' visibility='default' filepath='../drivers/bus/vmbus/rte_vmbus_reg.h' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='armed' type-id='type-id-88' visibility='default' filepath='../drivers/bus/vmbus/rte_vmbus_reg.h' line='32' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-142' size-in-bits='256' id='type-id-136'>
+      <subrange length='4' type-id='type-id-49' id='type-id-143'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-89' size-in-bits='4288' id='type-id-137'>
+      <subrange length='536' type-id='type-id-49' id='type-id-144'/>
+
+    </array-type-def>
+
+
+    <array-type-def dimensions='2' type-id='type-id-119' size-in-bits='576' id='type-id-138'>
+      <subrange length='4' type-id='type-id-49' id='type-id-143'/>
+
+      <subrange length='32' type-id='type-id-49' id='type-id-145'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-89' size-in-bits='2048' id='type-id-139'>
+      <subrange length='256' type-id='type-id-49' id='type-id-146'/>
+
+    </array-type-def>
+    <class-decl name='hyperv_mon_param' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/bus/vmbus/rte_vmbus_reg.h' line='41' column='1' id='type-id-147'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='connid' type-id='type-id-88' visibility='default' filepath='../drivers/bus/vmbus/rte_vmbus_reg.h' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='evtflag_ofs' type-id='type-id-119' visibility='default' filepath='../drivers/bus/vmbus/rte_vmbus_reg.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='rsvd' type-id='type-id-119' visibility='default' filepath='../drivers/bus/vmbus/rte_vmbus_reg.h' line='44' column='1'/>
+      </data-member>
+    </class-decl>
+
+
+    <array-type-def dimensions='2' type-id='type-id-147' size-in-bits='2304' id='type-id-140'>
+      <subrange length='4' type-id='type-id-49' id='type-id-143'/>
+
+      <subrange length='32' type-id='type-id-49' id='type-id-145'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-89' size-in-bits='15872' id='type-id-141'>
+      <subrange length='1984' type-id='type-id-49' id='type-id-148'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-135' size-in-bits='64' id='type-id-92'/>
+    <class-decl name='rte_intr_handle' size-in-bits='213248' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='69' column='1' id='type-id-93'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-149' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-150' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='max_intr' type-id='type-id-88' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='nb_efd' type-id='type-id-88' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='efd_counter_size' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='efds' type-id='type-id-151' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16576'>
+        <var-decl name='elist' type-id='type-id-152' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='213184'>
+        <var-decl name='intr_vec' type-id='type-id-153' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='71' column='1' id='type-id-149'>
+      <data-member access='private'>
+        <var-decl name='vfio_dev_fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='uio_cfg_fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='73' column='1'/>
+      </data-member>
+    </union-decl>
+    <enum-decl name='rte_intr_handle_type' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='27' column='1' id='type-id-150'>
+      <underlying-type type-id='type-id-48'/>
+      <enumerator name='RTE_INTR_HANDLE_UNKNOWN' value='0'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO' value='1'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO_INTX' value='2'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_LEGACY' value='3'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSI' value='4'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSIX' value='5'/>
+      <enumerator name='RTE_INTR_HANDLE_ALARM' value='6'/>
+      <enumerator name='RTE_INTR_HANDLE_EXT' value='7'/>
+      <enumerator name='RTE_INTR_HANDLE_VDEV' value='8'/>
+      <enumerator name='RTE_INTR_HANDLE_DEV_EVENT' value='9'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_REQ' value='10'/>
+      <enumerator name='RTE_INTR_HANDLE_MAX' value='11'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='16384' id='type-id-151'>
+      <subrange length='512' type-id='type-id-49' id='type-id-154'/>
+
+    </array-type-def>
+    <class-decl name='rte_epoll_event' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='61' column='1' id='type-id-155'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='status' type-id='type-id-124' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='epfd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='epdata' type-id='type-id-156' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_epoll_data' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='47' column='1' id='type-id-156'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event' type-id='type-id-88' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='data' type-id='type-id-56' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cb_fun' type-id='type-id-157' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='cb_arg' type-id='type-id-56' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='51' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-158' size-in-bits='64' id='type-id-159'/>
+    <typedef-decl name='rte_intr_event_cb_t' type-id='type-id-159' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='45' column='1' id='type-id-157'/>
+
+    <array-type-def dimensions='1' type-id='type-id-155' size-in-bits='196608' id='type-id-152'>
+      <subrange length='512' type-id='type-id-49' id='type-id-154'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-153'/>
+    <class-decl name='rte_mem_resource' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='80' column='1' id='type-id-160'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='phys_addr' type-id='type-id-67' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-67' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='82' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-56' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-160' size-in-bits='960' id='type-id-94'>
+      <subrange length='5' type-id='type-id-49' id='type-id-161'/>
+
+    </array-type-def>
+    <class-decl name='rte_vmbus_driver_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/bus/vmbus/rte_bus_vmbus.h' line='42' column='1' id='type-id-5'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-101' visibility='default' filepath='../drivers/bus/vmbus/rte_bus_vmbus.h' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-102' visibility='default' filepath='../drivers/bus/vmbus/rte_bus_vmbus.h' line='42' column='1'/>
+      </data-member>
+    </class-decl>
+    <var-decl name='rte_vmbus_bus' type-id='type-id-2' visibility='default' filepath='../drivers/bus/vmbus/private.h' line='19' column='1'/>
+    <function-decl name='rte_vmbus_unregister' mangled-name='rte_vmbus_unregister' filepath='../drivers/bus/vmbus/vmbus_common.c' line='241' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vmbus_unregister@@DPDK_20.0'>
+      <parameter type-id='type-id-101' name='driver' filepath='../drivers/bus/vmbus/vmbus_common.c' line='241' column='1'/>
+      <return type-id='type-id-55'/>
+    </function-decl>
+    <function-decl name='rte_vmbus_register' mangled-name='rte_vmbus_register' filepath='../drivers/bus/vmbus/vmbus_common.c' line='230' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vmbus_register@@DPDK_20.0'>
+      <parameter type-id='type-id-101' name='driver' filepath='../drivers/bus/vmbus/vmbus_common.c' line='230' column='1'/>
+      <return type-id='type-id-55'/>
+    </function-decl>
+    <function-decl name='rte_vmbus_probe' mangled-name='rte_vmbus_probe' filepath='../drivers/bus/vmbus/vmbus_common.c' line='170' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vmbus_probe@@DPDK_20.0'>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-73'>
+      <return type-id='type-id-72'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-25'>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-64'>
+      <parameter type-id='type-id-7'/>
+      <parameter type-id='type-id-56'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-57'>
+      <parameter type-id='type-id-54'/>
+      <parameter type-id='type-id-56'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-62'>
+      <parameter type-id='type-id-32'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-69'>
+      <parameter type-id='type-id-32'/>
+      <parameter type-id='type-id-56'/>
+      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-68'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-105'>
+      <parameter type-id='type-id-82'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-103'>
+      <parameter type-id='type-id-101'/>
+      <parameter type-id='type-id-82'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-80'>
+      <parameter type-id='type-id-56'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-60'>
+      <parameter type-id='type-id-54'/>
+      <parameter type-id='type-id-59'/>
+      <parameter type-id='type-id-56'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-158'>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-56'/>
+      <return type-id='type-id-55'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-78'>
+      <parameter type-id='type-id-56'/>
+      <parameter type-id='type-id-7'/>
+      <parameter type-id='type-id-77'/>
+      <return type-id='type-id-56'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/bus/vmbus/vmbus_channel.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='rte_vmbus_chan_close' mangled-name='rte_vmbus_chan_close' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='403' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vmbus_chan_close@@DPDK_20.0'>
+      <parameter type-id='type-id-91' name='chan' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='403' column='1'/>
+      <return type-id='type-id-55'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-114' const='yes' id='type-id-162'/>
+    <pointer-type-def type-id='type-id-162' size-in-bits='64' id='type-id-163'/>
+    <function-decl name='rte_vmbus_sub_channel_index' mangled-name='rte_vmbus_sub_channel_index' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='398' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vmbus_sub_channel_index@@DPDK_20.0'>
+      <parameter type-id='type-id-163' name='chan' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='398' column='1'/>
+      <return type-id='type-id-119'/>
+    </function-decl>
+    <function-decl name='rte_vmbus_subchan_open' mangled-name='rte_vmbus_subchan_open' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='383' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vmbus_subchan_open@@DPDK_20.0'>
+      <parameter type-id='type-id-91' name='primary' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='383' column='1'/>
+      <parameter type-id='type-id-120' name='new_chan' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='384' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_vmbus_max_channels' mangled-name='rte_vmbus_max_channels' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='374' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vmbus_max_channels@@DPDK_20.0'>
+      <parameter type-id='type-id-117' name='device' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='374' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_vmbus_chan_open' mangled-name='rte_vmbus_chan_open' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='352' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vmbus_chan_open@@DPDK_20.0'>
+      <parameter type-id='type-id-82' name='device' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='352' column='1'/>
+      <parameter type-id='type-id-120' name='new_chan' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='353' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_vmbus_chan_recv_raw' mangled-name='rte_vmbus_chan_recv_raw' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='283' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vmbus_chan_recv_raw@@DPDK_20.0'>
+      <parameter type-id='type-id-91' name='chan' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='283' column='1'/>
+      <parameter type-id='type-id-56' name='data' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='284' column='1'/>
+      <parameter type-id='type-id-90' name='len' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='284' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-67' size-in-bits='64' id='type-id-164'/>
+    <function-decl name='rte_vmbus_chan_recv' mangled-name='rte_vmbus_chan_recv' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='236' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vmbus_chan_recv@@DPDK_20.0'>
+      <parameter type-id='type-id-91' name='chan' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='236' column='1'/>
+      <parameter type-id='type-id-56' name='data' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='236' column='1'/>
+      <parameter type-id='type-id-90' name='len' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='236' column='1'/>
+      <parameter type-id='type-id-164' name='request_id' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='237' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_vmbus_chan_signal_read' mangled-name='rte_vmbus_chan_signal_read' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='206' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vmbus_chan_signal_read@@DPDK_20.0'>
+      <parameter type-id='type-id-91' name='chan' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='206' column='1'/>
+      <parameter type-id='type-id-88' name='bytes_read' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='206' column='1'/>
+      <return type-id='type-id-55'/>
+    </function-decl>
+    <type-decl name='bool' size-in-bits='8' id='type-id-165'/>
+    <function-decl name='rte_vmbus_chan_rx_empty' mangled-name='rte_vmbus_chan_rx_empty' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='198' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vmbus_chan_rx_empty@@DPDK_20.0'>
+      <parameter type-id='type-id-163' name='channel' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='198' column='1'/>
+      <return type-id='type-id-165'/>
+    </function-decl>
+    <class-decl name='vmbus_gpa' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/bus/vmbus/rte_vmbus_reg.h' line='147' column='1' id='type-id-166'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='len' type-id='type-id-88' visibility='default' filepath='../drivers/bus/vmbus/rte_vmbus_reg.h' line='148' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ofs' type-id='type-id-88' visibility='default' filepath='../drivers/bus/vmbus/rte_vmbus_reg.h' line='149' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='page' type-id='type-id-67' visibility='default' filepath='../drivers/bus/vmbus/rte_vmbus_reg.h' line='150' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-166' size-in-bits='64' id='type-id-167'/>
+    <pointer-type-def type-id='type-id-165' size-in-bits='64' id='type-id-168'/>
+    <function-decl name='rte_vmbus_chan_send_sglist' mangled-name='rte_vmbus_chan_send_sglist' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='155' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vmbus_chan_send_sglist@@DPDK_20.0'>
+      <parameter type-id='type-id-91' name='chan' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='155' column='1'/>
+      <parameter type-id='type-id-167' name='sg' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='156' column='1'/>
+      <parameter type-id='type-id-88' name='sglen' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='156' column='1'/>
+      <parameter type-id='type-id-56' name='data' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='157' column='1'/>
+      <parameter type-id='type-id-88' name='dlen' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='157' column='1'/>
+      <parameter type-id='type-id-67' name='xactid' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='158' column='1'/>
+      <parameter type-id='type-id-168' name='need_sig' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='158' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_vmbus_chan_send' mangled-name='rte_vmbus_chan_send' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='112' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vmbus_chan_send@@DPDK_20.0'>
+      <parameter type-id='type-id-91' name='chan' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='112' column='1'/>
+      <parameter type-id='type-id-119' name='type' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='112' column='1'/>
+      <parameter type-id='type-id-56' name='data' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='113' column='1'/>
+      <parameter type-id='type-id-88' name='dlen' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='113' column='1'/>
+      <parameter type-id='type-id-67' name='xactid' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='114' column='1'/>
+      <parameter type-id='type-id-88' name='flags' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='114' column='1'/>
+      <parameter type-id='type-id-168' name='need_sig' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='114' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_vmbus_chan_signal_tx' mangled-name='rte_vmbus_chan_signal_tx' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='95' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vmbus_chan_signal_tx@@DPDK_20.0'>
+      <parameter type-id='type-id-163' name='chan' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='95' column='1'/>
+      <return type-id='type-id-55'/>
+    </function-decl>
+    <function-decl name='rte_vmbus_set_latency' mangled-name='rte_vmbus_set_latency' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='66' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vmbus_set_latency@@DPDK_20.0'>
+      <parameter type-id='type-id-117' name='dev' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='66' column='1'/>
+      <parameter type-id='type-id-163' name='chan' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='67' column='1'/>
+      <parameter type-id='type-id-88' name='latency' filepath='../drivers/bus/vmbus/vmbus_channel.c' line='68' column='1'/>
+      <return type-id='type-id-55'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/bus/vmbus/linux/vmbus_bus.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='rte_vmbus_irq_read' mangled-name='rte_vmbus_irq_read' filepath='../drivers/bus/vmbus/linux/vmbus_bus.c' line='373' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vmbus_irq_read@@DPDK_20.0'>
+      <parameter type-id='type-id-82' name='device' filepath='../drivers/bus/vmbus/linux/vmbus_bus.c' line='373' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_vmbus_irq_unmask' mangled-name='rte_vmbus_irq_unmask' filepath='../drivers/bus/vmbus/linux/vmbus_bus.c' line='368' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vmbus_irq_unmask@@DPDK_20.0'>
+      <parameter type-id='type-id-82' name='device' filepath='../drivers/bus/vmbus/linux/vmbus_bus.c' line='368' column='1'/>
+      <return type-id='type-id-55'/>
+    </function-decl>
+    <function-decl name='rte_vmbus_irq_mask' mangled-name='rte_vmbus_irq_mask' filepath='../drivers/bus/vmbus/linux/vmbus_bus.c' line='363' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vmbus_irq_mask@@DPDK_20.0'>
+      <parameter type-id='type-id-82' name='device' filepath='../drivers/bus/vmbus/linux/vmbus_bus.c' line='368' column='1'/>
+      <return type-id='type-id-55'/>
+    </function-decl>
+    <function-decl name='rte_vmbus_scan' mangled-name='rte_vmbus_scan' filepath='../drivers/bus/vmbus/linux/vmbus_bus.c' line='333' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vmbus_scan@@DPDK_20.0'>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_vmbus_unmap_device' mangled-name='rte_vmbus_unmap_device' filepath='../drivers/bus/vmbus/linux/vmbus_bus.c' line='226' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vmbus_unmap_device@@DPDK_20.0'>
+      <parameter type-id='type-id-82' name='device' filepath='../drivers/bus/vmbus/linux/vmbus_bus.c' line='368' column='1'/>
+      <return type-id='type-id-55'/>
+    </function-decl>
+    <function-decl name='rte_vmbus_map_device' mangled-name='rte_vmbus_map_device' filepath='../drivers/bus/vmbus/linux/vmbus_bus.c' line='168' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_vmbus_map_device@@DPDK_20.0'>
+      <parameter type-id='type-id-82' name='dev' filepath='../drivers/bus/vmbus/linux/vmbus_bus.c' line='168' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
-- 
2.17.1


^ permalink raw reply	[relevance 5%]

* [dpdk-dev] [PATCH v6 06/11] drivers/crypto: add dump files for v20.0 ABI
  2019-12-13 16:40  8%       ` [dpdk-dev] [PATCH v6 00/11] Add ABI compatibility checks to the meson build Kevin Laatz
                           ` (4 preceding siblings ...)
  2019-12-13 16:41 13%         ` [dpdk-dev] [PATCH v6 05/11] drivers/raw: " Kevin Laatz
@ 2019-12-13 16:41  6%         ` Kevin Laatz
  2019-12-13 16:41  8%         ` [dpdk-dev] [PATCH v6 07/11] drivers/compress: " Kevin Laatz
                           ` (5 subsequent siblings)
  11 siblings, 0 replies; 200+ results
From: Kevin Laatz @ 2019-12-13 16:41 UTC (permalink / raw)
  To: dev
  Cc: thomas, david.marchand, bruce.richardson, ray.kinsella, tdu, zr,
	cernay, Kevin Laatz

This patch adds the drivers/crypto .dump files generated for the v20.0
ABI. These files will be used to compare the ABI during the meson build
when the compat_checks meson is enabled. If there is a mismatch between the
.dump files (the baseline, ie. current stable ABI version) and the code
being compiled, then abidiff will report an error and the build will fail.

The .dump files are stored in the drivers/.abi directory.  The directory is
hidden to reduce clutter and also to discourage changing these files since
they should not be modified.

Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
---
 drivers/.abi/librte_pmd_aesni_gcm.dump        | 1315 ++++++++++++
 drivers/.abi/librte_pmd_aesni_mb.dump         | 1315 ++++++++++++
 drivers/.abi/librte_pmd_caam_jr.dump          |   47 +
 drivers/.abi/librte_pmd_ccp.dump              | 1870 +++++++++++++++++
 drivers/.abi/librte_pmd_crypto_scheduler.dump | 1473 +++++++++++++
 drivers/.abi/librte_pmd_dpaa2_sec.dump        | 1511 +++++++++++++
 drivers/.abi/librte_pmd_dpaa_sec.dump         | 1459 +++++++++++++
 drivers/.abi/librte_pmd_kasumi.dump           |   41 +
 drivers/.abi/librte_pmd_nitrox.dump           |   19 +
 drivers/.abi/librte_pmd_null_crypto.dump      | 1317 ++++++++++++
 drivers/.abi/librte_pmd_octeontx2_crypto.dump |   28 +
 drivers/.abi/librte_pmd_octeontx_crypto.dump  |   28 +
 drivers/.abi/librte_pmd_openssl.dump          | 1315 ++++++++++++
 drivers/.abi/librte_pmd_qat.dump              |  119 ++
 drivers/.abi/librte_pmd_snow3g.dump           | 1424 +++++++++++++
 drivers/.abi/librte_pmd_virtio_crypto.dump    | 1419 +++++++++++++
 drivers/.abi/librte_pmd_zuc.dump              | 1315 ++++++++++++
 17 files changed, 16015 insertions(+)
 create mode 100644 drivers/.abi/librte_pmd_aesni_gcm.dump
 create mode 100644 drivers/.abi/librte_pmd_aesni_mb.dump
 create mode 100644 drivers/.abi/librte_pmd_caam_jr.dump
 create mode 100644 drivers/.abi/librte_pmd_ccp.dump
 create mode 100644 drivers/.abi/librte_pmd_crypto_scheduler.dump
 create mode 100644 drivers/.abi/librte_pmd_dpaa2_sec.dump
 create mode 100644 drivers/.abi/librte_pmd_dpaa_sec.dump
 create mode 100644 drivers/.abi/librte_pmd_kasumi.dump
 create mode 100644 drivers/.abi/librte_pmd_nitrox.dump
 create mode 100644 drivers/.abi/librte_pmd_null_crypto.dump
 create mode 100644 drivers/.abi/librte_pmd_octeontx2_crypto.dump
 create mode 100644 drivers/.abi/librte_pmd_octeontx_crypto.dump
 create mode 100644 drivers/.abi/librte_pmd_openssl.dump
 create mode 100644 drivers/.abi/librte_pmd_qat.dump
 create mode 100644 drivers/.abi/librte_pmd_snow3g.dump
 create mode 100644 drivers/.abi/librte_pmd_virtio_crypto.dump
 create mode 100644 drivers/.abi/librte_pmd_zuc.dump

diff --git a/drivers/.abi/librte_pmd_aesni_gcm.dump b/drivers/.abi/librte_pmd_aesni_gcm.dump
new file mode 100644
index 000000000..40694eaed
--- /dev/null
+++ b/drivers/.abi/librte_pmd_aesni_gcm.dump
@@ -0,0 +1,1315 @@
+<abi-corpus path='gcc//drivers/librte_pmd_aesni_gcm.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_aesni_gcm.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libIPSec_MB.so.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/crypto/aesni_gcm/aesni_gcm_pmd_ops.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_cryptodev_ops' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='313' column='1' id='type-id-1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_configure' type-id='type-id-2' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='314' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_start' type-id='type-id-3' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='315' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dev_stop' type-id='type-id-4' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='316' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_close' type-id='type-id-5' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='317' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dev_infos_get' type-id='type-id-6' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='319' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='stats_get' type-id='type-id-7' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='321' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='stats_reset' type-id='type-id-8' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='323' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='queue_pair_setup' type-id='type-id-9' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='326' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='queue_pair_release' type-id='type-id-10' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='328' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='queue_pair_count' type-id='type-id-11' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='330' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='sym_session_get_size' type-id='type-id-12' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='333' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='asym_session_get_size' type-id='type-id-13' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='335' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='sym_session_configure' type-id='type-id-14' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='337' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='asym_session_configure' type-id='type-id-15' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='339' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='sym_session_clear' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='341' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='asym_session_clear' type-id='type-id-17' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='343' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='int' size-in-bits='32' id='type-id-18'/>
+    <class-decl name='rte_cryptodev' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='817' column='1' id='type-id-19'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dequeue_burst' type-id='type-id-20' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='818' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='enqueue_burst' type-id='type-id-21' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='820' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data' type-id='type-id-22' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='823' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_ops' type-id='type-id-23' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='825' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='feature_flags' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='827' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-25' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='829' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='driver_id' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='832' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='link_intr_cbs' type-id='type-id-27' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='835' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='security_ctx' type-id='type-id-28' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='attached' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='842' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-29'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-29' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-30'/>
+    <typedef-decl name='uint16_t' type-id='type-id-30' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-31'/>
+    <type-decl name='void' id='type-id-32'/>
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-28'/>
+    <class-decl name='rte_crypto_op' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='78' column='1' id='type-id-33'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-34' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mempool' type-id='type-id-35' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='110' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='phys_addr' type-id='type-id-36' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='113' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='80' column='1' id='type-id-34'>
+      <data-member access='private'>
+        <var-decl name='raw' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-37' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-38'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-38' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-39'/>
+    <typedef-decl name='uint64_t' type-id='type-id-39' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-24'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='83' column='1' id='type-id-37'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='status' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='sess_type' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='reserved' type-id='type-id-40' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='private_data_offset' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='100' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-41'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-41' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-42'/>
+    <typedef-decl name='uint8_t' type-id='type-id-42' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-26'/>
+
+    <array-type-def dimensions='1' type-id='type-id-26' size-in-bits='24' id='type-id-40'>
+      <subrange length='3' type-id='type-id-38' id='type-id-43'/>
+
+    </array-type-def>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-44'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-45' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-46' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-47' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-48' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-18' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-48' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-50' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-51' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-52' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-53' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-54'/>
+
+    <array-type-def dimensions='1' type-id='type-id-54' size-in-bits='256' id='type-id-45'>
+      <subrange length='32' type-id='type-id-38' id='type-id-55'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-46'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-24' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-56'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-45' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-57' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-58' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-24' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-50' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-49' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-57'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-59' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-36' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-24' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-59'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-24' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-36'/>
+    <typedef-decl name='size_t' type-id='type-id-38' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-58'/>
+    <typedef-decl name='__int32_t' type-id='type-id-18' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-60'/>
+    <typedef-decl name='int32_t' type-id='type-id-60' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-50'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-48'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-48' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-61'/>
+    <typedef-decl name='uint32_t' type-id='type-id-61' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-49'/>
+    <qualified-type-def type-id='type-id-56' const='yes' id='type-id-62'/>
+    <pointer-type-def type-id='type-id-62' size-in-bits='64' id='type-id-47'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-63'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-64' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-28' size-in-bits='98304' id='type-id-64'>
+      <subrange length='1536' type-id='type-id-38' id='type-id-65'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-51'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-52'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-66' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-67' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-68'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-69' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-35' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-70' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-69'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-66' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-68' size-in-bits='64' id='type-id-66'/>
+    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-35'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-70'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-36' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-59' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-53'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-71' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-72' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-73'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-74' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-35' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-75' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-58' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-76' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-74'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-71' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-73' size-in-bits='64' id='type-id-71'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-75'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-36' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-59' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-77' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-78'/>
+    <pointer-type-def type-id='type-id-78' size-in-bits='64' id='type-id-76'/>
+    <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-72'/>
+    <pointer-type-def type-id='type-id-33' size-in-bits='64' id='type-id-79'/>
+    <pointer-type-def type-id='type-id-79' size-in-bits='64' id='type-id-80'/>
+    <pointer-type-def type-id='type-id-81' size-in-bits='64' id='type-id-82'/>
+    <typedef-decl name='dequeue_pkt_burst_t' type-id='type-id-82' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='800' column='1' id='type-id-20'/>
+    <typedef-decl name='enqueue_pkt_burst_t' type-id='type-id-82' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='804' column='1' id='type-id-21'/>
+    <class-decl name='rte_cryptodev_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='856' column='1' id='type-id-83'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_id' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='857' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='socket_id' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='859' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='name' type-id='type-id-84' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='861' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='dev_started' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='session_pool' type-id='type-id-35' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='868' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='queue_pairs' type-id='type-id-85' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='870' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='nb_queue_pairs' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='872' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='dev_private' type-id='type-id-28' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='875' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-54' size-in-bits='512' id='type-id-84'>
+      <subrange length='64' type-id='type-id-38' id='type-id-86'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-85'/>
+    <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-22'/>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-23'/>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-87'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-88' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-90' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-91' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-18' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-92' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-88'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-25' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-93' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-87' size-in-bits='64' id='type-id-25'/>
+    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-93'/>
+    <qualified-type-def type-id='type-id-54' const='yes' id='type-id-94'/>
+    <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-89'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-95'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-96' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-96'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-97' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-98' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-95' size-in-bits='64' id='type-id-97'/>
+    <pointer-type-def type-id='type-id-97' size-in-bits='64' id='type-id-98'/>
+    <qualified-type-def type-id='type-id-95' const='yes' id='type-id-99'/>
+    <pointer-type-def type-id='type-id-99' size-in-bits='64' id='type-id-90'/>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-100'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-101' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-102' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-103' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-104' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-105' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-106' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-107' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-108' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-109' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-110' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-111' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-112' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-113' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-114' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-101'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-115' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-116' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-100' size-in-bits='64' id='type-id-115'/>
+    <pointer-type-def type-id='type-id-115' size-in-bits='64' id='type-id-116'/>
+    <pointer-type-def type-id='type-id-117' size-in-bits='64' id='type-id-118'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-118' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-102'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-118' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-103'/>
+    <qualified-type-def type-id='type-id-87' const='yes' id='type-id-119'/>
+    <pointer-type-def type-id='type-id-119' size-in-bits='64' id='type-id-120'/>
+    <pointer-type-def type-id='type-id-121' size-in-bits='64' id='type-id-122'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-122' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-123'/>
+    <pointer-type-def type-id='type-id-124' size-in-bits='64' id='type-id-125'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-125' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-104'/>
+    <pointer-type-def type-id='type-id-126' size-in-bits='64' id='type-id-127'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-127' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-105'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-127' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-106'/>
+    <pointer-type-def type-id='type-id-128' size-in-bits='64' id='type-id-129'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-129' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-107'/>
+    <pointer-type-def type-id='type-id-130' size-in-bits='64' id='type-id-131'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-131' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-108'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-131' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-109'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-110'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-132' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-133'/>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-132'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-134'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-135' size-in-bits='64' id='type-id-136'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-136' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-111'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-137'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-115' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-138' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-25' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-28' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-139'/>
+    <pointer-type-def type-id='type-id-139' size-in-bits='64' id='type-id-138'/>
+    <qualified-type-def type-id='type-id-137' const='yes' id='type-id-140'/>
+    <pointer-type-def type-id='type-id-140' size-in-bits='64' id='type-id-141'/>
+    <pointer-type-def type-id='type-id-142' size-in-bits='64' id='type-id-143'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-143' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-112'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-127' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-113'/>
+    <pointer-type-def type-id='type-id-144' size-in-bits='64' id='type-id-145'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-145' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-114'/>
+    <qualified-type-def type-id='type-id-100' const='yes' id='type-id-146'/>
+    <pointer-type-def type-id='type-id-146' size-in-bits='64' id='type-id-91'/>
+    <class-decl name='rte_devargs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-147'/>
+    <pointer-type-def type-id='type-id-147' size-in-bits='64' id='type-id-92'/>
+    <class-decl name='rte_cryptodev_cb_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='814' column='1' id='type-id-27'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-148' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='814' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-149' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='814' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_callback' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-150'/>
+    <pointer-type-def type-id='type-id-150' size-in-bits='64' id='type-id-148'/>
+    <pointer-type-def type-id='type-id-148' size-in-bits='64' id='type-id-149'/>
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-151'/>
+    <class-decl name='rte_cryptodev_config' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='619' column='1' id='type-id-152'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='socket_id' type-id='type-id-18' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='620' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_queue_pairs' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ff_disable' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='623' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-152' size-in-bits='64' id='type-id-153'/>
+    <pointer-type-def type-id='type-id-154' size-in-bits='64' id='type-id-155'/>
+    <typedef-decl name='cryptodev_configure_t' type-id='type-id-155' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='127' column='1' id='type-id-2'/>
+    <pointer-type-def type-id='type-id-156' size-in-bits='64' id='type-id-157'/>
+    <typedef-decl name='cryptodev_start_t' type-id='type-id-157' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='137' column='1' id='type-id-3'/>
+    <pointer-type-def type-id='type-id-158' size-in-bits='64' id='type-id-159'/>
+    <typedef-decl name='cryptodev_stop_t' type-id='type-id-159' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='144' column='1' id='type-id-4'/>
+    <typedef-decl name='cryptodev_close_t' type-id='type-id-157' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='154' column='1' id='type-id-5'/>
+    <class-decl name='rte_cryptodev_info' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='468' column='1' id='type-id-160'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='driver_name' type-id='type-id-89' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='469' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='driver_id' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='470' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='device' type-id='type-id-25' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='471' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='feature_flags' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='473' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='capabilities' type-id='type-id-161' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='476' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='max_nb_queue_pairs' type-id='type-id-48' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='479' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='min_mbuf_headroom_req' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='482' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='min_mbuf_tailroom_req' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='485' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='sym' type-id='type-id-162' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='494' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_capabilities' size-in-bits='320' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='176' column='1' id='type-id-163'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-164' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='177' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='' type-id='type-id-165' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_op_type' filepath='../lib/librte_cryptodev/rte_crypto.h' line='29' column='1' id='type-id-164'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_OP_TYPE_UNDEFINED' value='0'/>
+      <enumerator name='RTE_CRYPTO_OP_TYPE_SYMMETRIC' value='1'/>
+      <enumerator name='RTE_CRYPTO_OP_TYPE_ASYMMETRIC' value='2'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='288' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='181' column='1' id='type-id-165'>
+      <data-member access='private'>
+        <var-decl name='sym' type-id='type-id-166' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='182' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='asym' type-id='type-id-167' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='184' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_cryptodev_symmetric_capability' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='98' column='1' id='type-id-166'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xform_type' type-id='type-id-168' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='99' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='' type-id='type-id-169' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_sym_xform_type' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='424' column='1' id='type-id-168'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_NOT_SPECIFIED' value='0'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_AUTH' value='1'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_CIPHER' value='2'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_AEAD' value='3'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='102' column='1' id='type-id-169'>
+      <data-member access='private'>
+        <var-decl name='auth' type-id='type-id-170' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='116' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='cipher' type-id='type-id-171' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='127' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='aead' type-id='type-id-172' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='103' column='1' id='type-id-170'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-173' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='104' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='block_size' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='key_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='digest_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='110' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='aad_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='112' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='114' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_auth_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='189' column='1' id='type-id-173'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_AUTH_NULL' value='1'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_CBC_MAC' value='2'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_CMAC' value='3'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_GMAC' value='4'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_XCBC_MAC' value='5'/>
+      <enumerator name='RTE_CRYPTO_AUTH_KASUMI_F9' value='6'/>
+      <enumerator name='RTE_CRYPTO_AUTH_MD5' value='7'/>
+      <enumerator name='RTE_CRYPTO_AUTH_MD5_HMAC' value='8'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA1' value='9'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA1_HMAC' value='10'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA224' value='11'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA224_HMAC' value='12'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA256' value='13'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA256_HMAC' value='14'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA384' value='15'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA384_HMAC' value='16'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA512' value='17'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA512_HMAC' value='18'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SNOW3G_UIA2' value='19'/>
+      <enumerator name='RTE_CRYPTO_AUTH_ZUC_EIA3' value='20'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_224' value='21'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_224_HMAC' value='22'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_256' value='23'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_256_HMAC' value='24'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_384' value='25'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_384_HMAC' value='26'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_512' value='27'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_512_HMAC' value='28'/>
+      <enumerator name='RTE_CRYPTO_AUTH_LIST_END' value='29'/>
+    </enum-decl>
+    <class-decl name='rte_crypto_param_range' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='84' column='1' id='type-id-174'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='min' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='max' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='increment' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='87' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='160' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='118' column='1' id='type-id-171'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-175' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='119' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='block_size' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='121' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='key_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='123' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='iv_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='125' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_cipher_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='30' column='1' id='type-id-175'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_NULL' value='1'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_CBC' value='2'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_CTR' value='3'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_ECB' value='4'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_CBC' value='5'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_CTR' value='6'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_ECB' value='7'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_F8' value='8'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_XTS' value='9'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_ARC4' value='10'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_KASUMI_F8' value='11'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_SNOW3G_UEA2' value='12'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_ZUC_EEA3' value='13'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_DES_CBC' value='14'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_DOCSISBPI' value='15'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_DES_DOCSISBPI' value='16'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_LIST_END' value='17'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='129' column='1' id='type-id-172'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-176' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='130' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='block_size' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='132' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='key_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='134' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='digest_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='136' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='aad_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='140' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_aead_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='346' column='1' id='type-id-176'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_AEAD_AES_CCM' value='1'/>
+      <enumerator name='RTE_CRYPTO_AEAD_AES_GCM' value='2'/>
+      <enumerator name='RTE_CRYPTO_AEAD_LIST_END' value='3'/>
+    </enum-decl>
+    <class-decl name='rte_cryptodev_asymmetric_capability' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='170' column='1' id='type-id-167'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xform_capa' type-id='type-id-177' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_asymmetric_xform_capability' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='150' column='1' id='type-id-177'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xform_type' type-id='type-id-178' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='151' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='op_types' type-id='type-id-49' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-179' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_asym_xform_type' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='53' column='1' id='type-id-178'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_UNSPECIFIED' value='0'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_NONE' value='1'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_RSA' value='2'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_DH' value='3'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_DSA' value='4'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_MODINV' value='5'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_MODEX' value='6'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_TYPE_LIST_END' value='7'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='48' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='158' column='1' id='type-id-179'>
+      <data-member access='private'>
+        <var-decl name='modlen' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='159' column='1'/>
+      </data-member>
+    </union-decl>
+    <qualified-type-def type-id='type-id-163' const='yes' id='type-id-180'/>
+    <pointer-type-def type-id='type-id-180' size-in-bits='64' id='type-id-161'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='488' column='1' id='type-id-162'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max_nb_sessions' type-id='type-id-48' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='489' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-160' size-in-bits='64' id='type-id-181'/>
+    <pointer-type-def type-id='type-id-182' size-in-bits='64' id='type-id-183'/>
+    <typedef-decl name='cryptodev_info_get_t' type-id='type-id-183' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='180' column='1' id='type-id-6'/>
+    <class-decl name='rte_cryptodev_stats' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='530' column='1' id='type-id-184'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='enqueued_count' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='531' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dequeued_count' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='533' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='enqueue_err_count' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='536' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dequeue_err_count' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='538' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-184' size-in-bits='64' id='type-id-185'/>
+    <pointer-type-def type-id='type-id-186' size-in-bits='64' id='type-id-187'/>
+    <typedef-decl name='cryptodev_stats_get_t' type-id='type-id-187' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='163' column='1' id='type-id-7'/>
+    <typedef-decl name='cryptodev_stats_reset_t' type-id='type-id-159' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='172' column='1' id='type-id-8'/>
+    <class-decl name='rte_cryptodev_qp_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='508' column='1' id='type-id-188'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_descriptors' type-id='type-id-49' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='509' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp_session' type-id='type-id-35' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='510' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mp_session_private' type-id='type-id-35' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='512' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-188' const='yes' id='type-id-189'/>
+    <pointer-type-def type-id='type-id-189' size-in-bits='64' id='type-id-190'/>
+    <pointer-type-def type-id='type-id-191' size-in-bits='64' id='type-id-192'/>
+    <typedef-decl name='cryptodev_queue_pair_setup_t' type-id='type-id-192' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='193' column='1' id='type-id-9'/>
+    <pointer-type-def type-id='type-id-193' size-in-bits='64' id='type-id-194'/>
+    <typedef-decl name='cryptodev_queue_pair_release_t' type-id='type-id-194' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='207' column='1' id='type-id-10'/>
+    <pointer-type-def type-id='type-id-195' size-in-bits='64' id='type-id-196'/>
+    <typedef-decl name='cryptodev_queue_pair_count_t' type-id='type-id-196' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='217' column='1' id='type-id-11'/>
+    <pointer-type-def type-id='type-id-197' size-in-bits='64' id='type-id-198'/>
+    <typedef-decl name='cryptodev_sym_get_session_private_size_t' type-id='type-id-198' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='245' column='1' id='type-id-12'/>
+    <typedef-decl name='cryptodev_asym_get_session_private_size_t' type-id='type-id-198' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='256' column='1' id='type-id-13'/>
+    <class-decl name='rte_crypto_sym_xform' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='440' column='1' id='type-id-199'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-200' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='441' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-168' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='443' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-201' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-199' size-in-bits='64' id='type-id-200'/>
+    <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='446' column='1' id='type-id-201'>
+      <data-member access='private'>
+        <var-decl name='auth' type-id='type-id-202' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='447' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='cipher' type-id='type-id-203' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='aead' type-id='type-id-204' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='451' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_crypto_auth_xform' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='278' column='1' id='type-id-202'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-205' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-173' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='281' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-206' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='287' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv' type-id='type-id-207' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='330' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='digest_length' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='332' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_auth_operation' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='262' column='1' id='type-id-205'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_AUTH_OP_VERIFY' value='0'/>
+      <enumerator name='RTE_CRYPTO_AUTH_OP_GENERATE' value='1'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='284' column='1' id='type-id-206'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-208' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='285' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='length' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='286' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-26' const='yes' id='type-id-209'/>
+    <pointer-type-def type-id='type-id-209' size-in-bits='64' id='type-id-208'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='295' column='1' id='type-id-207'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='offset' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='296' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='length' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='312' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_cipher_xform' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='107' column='1' id='type-id-203'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-210' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-175' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='113' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-206' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='119' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv' type-id='type-id-207' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='185' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_cipher_operation' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='90' column='1' id='type-id-210'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_OP_ENCRYPT' value='0'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_OP_DECRYPT' value='1'/>
+    </enum-decl>
+    <class-decl name='rte_crypto_aead_xform' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='370' column='1' id='type-id-204'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-211' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='371' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-176' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='373' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-206' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='379' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv' type-id='type-id-207' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='411' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='digest_length' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='413' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='240'>
+        <var-decl name='aad_length' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='415' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_aead_operation' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='359' column='1' id='type-id-211'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_AEAD_OP_ENCRYPT' value='0'/>
+      <enumerator name='RTE_CRYPTO_AEAD_OP_DECRYPT' value='1'/>
+    </enum-decl>
+    <class-decl name='rte_cryptodev_sym_session' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='974' column='1' id='type-id-212'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='opaque_data' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='975' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='nb_drivers' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='977' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='user_data_sz' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='979' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='sess_data' type-id='type-id-213' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='984' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='981' column='1' id='type-id-214'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-28' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='982' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='refcnt' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='983' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-214' size-in-bits='infinite' id='type-id-213'>
+      <subrange length='infinite' type-id='type-id-38' id='type-id-215'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-212' size-in-bits='64' id='type-id-216'/>
+    <pointer-type-def type-id='type-id-217' size-in-bits='64' id='type-id-218'/>
+    <typedef-decl name='cryptodev_sym_configure_session_t' type-id='type-id-218' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='273' column='1' id='type-id-14'/>
+    <class-decl name='rte_crypto_asym_xform' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='353' column='1' id='type-id-219'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-220' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='354' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='xform_type' type-id='type-id-178' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='356' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-221' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-219' size-in-bits='64' id='type-id-220'/>
+    <union-decl name='__anonymous_union__' size-in-bits='1408' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='360' column='1' id='type-id-221'>
+      <data-member access='private'>
+        <var-decl name='rsa' type-id='type-id-222' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='361' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='modex' type-id='type-id-223' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='364' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='modinv' type-id='type-id-224' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='367' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dh' type-id='type-id-225' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='370' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dsa' type-id='type-id-226' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='373' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_crypto_rsa_xform' size-in-bits='1408' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='192' column='1' id='type-id-222'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='193' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='e' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='199' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='key_type' type-id='type-id-228' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='' type-id='type-id-229' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_param_t' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='30' column='1' id='type-id-230'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-231' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='iova' type-id='type-id-36' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='33' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='length' type-id='type-id-58' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='35' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-231'/>
+    <typedef-decl name='rte_crypto_param' type-id='type-id-230' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='37' column='1' id='type-id-227'/>
+    <enum-decl name='rte_crypto_rsa_priv_key_type' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='133' column='1' id='type-id-228'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_RSA_KEY_TYPE_EXP' value='0'/>
+      <enumerator name='RTE_RSA_KET_TYPE_QT' value='1'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='960' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='208' column='1' id='type-id-229'>
+      <data-member access='private'>
+        <var-decl name='d' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='209' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='qt' type-id='type-id-232' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='216' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_crypto_rsa_priv_key_qt' size-in-bits='960' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='146' column='1' id='type-id-232'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='p' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='147' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='q' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='dP' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='161' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dQ' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='169' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='qInv' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='177' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_modex_xform' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='227' column='1' id='type-id-223'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='modulus' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='exponent' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='237' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_modinv_xform' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='250' column='1' id='type-id-224'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='modulus' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='251' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_dh_xform' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='271' column='1' id='type-id-225'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-233' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='272' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='p' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='275' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='g' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='281' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_asym_op_type' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='91' column='1' id='type-id-233'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_ENCRYPT' value='0'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_DECRYPT' value='1'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_SIGN' value='2'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_VERIFY' value='3'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_PRIVATE_KEY_GENERATE' value='4'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_PUBLIC_KEY_GENERATE' value='5'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_SHARED_SECRET_COMPUTE' value='6'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_LIST_END' value='7'/>
+    </enum-decl>
+    <class-decl name='rte_crypto_dsa_xform' size-in-bits='768' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='295' column='1' id='type-id-226'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='p' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='296' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='q' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='301' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='g' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='307' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='x' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='311' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_asym_session' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='989' column='1' id='type-id-234'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='sess_private_data' type-id='type-id-235' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='990' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-28' size-in-bits='infinite' id='type-id-235'>
+      <subrange length='infinite' type-id='type-id-38' id='type-id-215'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-234' size-in-bits='64' id='type-id-236'/>
+    <pointer-type-def type-id='type-id-237' size-in-bits='64' id='type-id-238'/>
+    <typedef-decl name='cryptodev_asym_configure_session_t' type-id='type-id-238' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='291' column='1' id='type-id-15'/>
+    <pointer-type-def type-id='type-id-239' size-in-bits='64' id='type-id-240'/>
+    <typedef-decl name='cryptodev_sym_free_session_t' type-id='type-id-240' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='301' column='1' id='type-id-16'/>
+    <pointer-type-def type-id='type-id-241' size-in-bits='64' id='type-id-242'/>
+    <typedef-decl name='cryptodev_asym_free_session_t' type-id='type-id-242' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='309' column='1' id='type-id-17'/>
+    <var-decl name='rte_aesni_gcm_pmd_ops' type-id='type-id-23' visibility='default' filepath='../drivers/crypto/aesni_gcm/aesni_gcm_pmd_private.h' line='115' column='1'/>
+    <function-type size-in-bits='64' id='type-id-135'>
+      <return type-id='type-id-134'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-117'>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-128'>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-121'>
+      <parameter type-id='type-id-120'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-156'>
+      <parameter type-id='type-id-151'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-237'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-220'/>
+      <parameter type-id='type-id-236'/>
+      <parameter type-id='type-id-35'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-217'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-200'/>
+      <parameter type-id='type-id-216'/>
+      <parameter type-id='type-id-35'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-154'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-153'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-193'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-31'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-191'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-31'/>
+      <parameter type-id='type-id-190'/>
+      <parameter type-id='type-id-18'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-126'>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-130'>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-24'/>
+      <parameter type-id='type-id-58'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-144'>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-124'>
+      <parameter type-id='type-id-120'/>
+      <parameter type-id='type-id-123'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-25'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-81'>
+      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-80'/>
+      <parameter type-id='type-id-31'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-195'>
+      <parameter type-id='type-id-151'/>
+      <return type-id='type-id-49'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-197'>
+      <parameter type-id='type-id-151'/>
+      <return type-id='type-id-48'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-158'>
+      <parameter type-id='type-id-151'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-241'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-236'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-182'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-181'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-186'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-185'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-239'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-216'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-77'>
+      <parameter type-id='type-id-71'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-142'>
+      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-141'/>
+      <return type-id='type-id-28'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_aesni_mb.dump b/drivers/.abi/librte_pmd_aesni_mb.dump
new file mode 100644
index 000000000..8f75a70c3
--- /dev/null
+++ b/drivers/.abi/librte_pmd_aesni_mb.dump
@@ -0,0 +1,1315 @@
+<abi-corpus path='gcc//drivers/librte_pmd_aesni_mb.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_aesni_mb.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libIPSec_MB.so.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_cryptodev_ops' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='313' column='1' id='type-id-1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_configure' type-id='type-id-2' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='314' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_start' type-id='type-id-3' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='315' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dev_stop' type-id='type-id-4' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='316' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_close' type-id='type-id-5' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='317' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dev_infos_get' type-id='type-id-6' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='319' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='stats_get' type-id='type-id-7' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='321' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='stats_reset' type-id='type-id-8' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='323' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='queue_pair_setup' type-id='type-id-9' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='326' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='queue_pair_release' type-id='type-id-10' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='328' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='queue_pair_count' type-id='type-id-11' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='330' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='sym_session_get_size' type-id='type-id-12' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='333' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='asym_session_get_size' type-id='type-id-13' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='335' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='sym_session_configure' type-id='type-id-14' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='337' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='asym_session_configure' type-id='type-id-15' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='339' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='sym_session_clear' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='341' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='asym_session_clear' type-id='type-id-17' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='343' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='int' size-in-bits='32' id='type-id-18'/>
+    <class-decl name='rte_cryptodev' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='817' column='1' id='type-id-19'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dequeue_burst' type-id='type-id-20' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='818' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='enqueue_burst' type-id='type-id-21' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='820' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data' type-id='type-id-22' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='823' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_ops' type-id='type-id-23' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='825' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='feature_flags' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='827' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-25' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='829' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='driver_id' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='832' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='link_intr_cbs' type-id='type-id-27' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='835' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='security_ctx' type-id='type-id-28' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='attached' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='842' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-29'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-29' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-30'/>
+    <typedef-decl name='uint16_t' type-id='type-id-30' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-31'/>
+    <type-decl name='void' id='type-id-32'/>
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-28'/>
+    <class-decl name='rte_crypto_op' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='78' column='1' id='type-id-33'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-34' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mempool' type-id='type-id-35' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='110' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='phys_addr' type-id='type-id-36' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='113' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='80' column='1' id='type-id-34'>
+      <data-member access='private'>
+        <var-decl name='raw' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-37' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-38'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-38' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-39'/>
+    <typedef-decl name='uint64_t' type-id='type-id-39' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-24'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='83' column='1' id='type-id-37'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='status' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='sess_type' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='reserved' type-id='type-id-40' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='private_data_offset' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='100' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-41'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-41' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-42'/>
+    <typedef-decl name='uint8_t' type-id='type-id-42' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-26'/>
+
+    <array-type-def dimensions='1' type-id='type-id-26' size-in-bits='24' id='type-id-40'>
+      <subrange length='3' type-id='type-id-38' id='type-id-43'/>
+
+    </array-type-def>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-44'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-45' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-46' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-47' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-48' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-18' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-48' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-50' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-51' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-52' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-53' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-54'/>
+
+    <array-type-def dimensions='1' type-id='type-id-54' size-in-bits='256' id='type-id-45'>
+      <subrange length='32' type-id='type-id-38' id='type-id-55'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-46'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-24' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-56'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-45' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-57' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-58' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-24' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-50' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-49' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-57'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-59' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-36' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-24' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-59'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-24' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-36'/>
+    <typedef-decl name='size_t' type-id='type-id-38' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-58'/>
+    <typedef-decl name='__int32_t' type-id='type-id-18' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-60'/>
+    <typedef-decl name='int32_t' type-id='type-id-60' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-50'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-48'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-48' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-61'/>
+    <typedef-decl name='uint32_t' type-id='type-id-61' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-49'/>
+    <qualified-type-def type-id='type-id-56' const='yes' id='type-id-62'/>
+    <pointer-type-def type-id='type-id-62' size-in-bits='64' id='type-id-47'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-63'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-64' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-28' size-in-bits='98304' id='type-id-64'>
+      <subrange length='1536' type-id='type-id-38' id='type-id-65'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-51'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-52'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-66' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-67' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-68'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-69' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-35' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-70' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-69'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-66' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-68' size-in-bits='64' id='type-id-66'/>
+    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-35'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-70'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-36' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-59' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-53'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-71' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-72' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-73'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-74' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-35' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-75' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-58' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-76' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-74'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-71' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-73' size-in-bits='64' id='type-id-71'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-75'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-36' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-59' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-77' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-78'/>
+    <pointer-type-def type-id='type-id-78' size-in-bits='64' id='type-id-76'/>
+    <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-72'/>
+    <pointer-type-def type-id='type-id-33' size-in-bits='64' id='type-id-79'/>
+    <pointer-type-def type-id='type-id-79' size-in-bits='64' id='type-id-80'/>
+    <pointer-type-def type-id='type-id-81' size-in-bits='64' id='type-id-82'/>
+    <typedef-decl name='dequeue_pkt_burst_t' type-id='type-id-82' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='800' column='1' id='type-id-20'/>
+    <typedef-decl name='enqueue_pkt_burst_t' type-id='type-id-82' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='804' column='1' id='type-id-21'/>
+    <class-decl name='rte_cryptodev_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='856' column='1' id='type-id-83'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_id' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='857' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='socket_id' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='859' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='name' type-id='type-id-84' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='861' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='dev_started' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='session_pool' type-id='type-id-35' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='868' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='queue_pairs' type-id='type-id-85' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='870' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='nb_queue_pairs' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='872' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='dev_private' type-id='type-id-28' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='875' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-54' size-in-bits='512' id='type-id-84'>
+      <subrange length='64' type-id='type-id-38' id='type-id-86'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-85'/>
+    <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-22'/>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-23'/>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-87'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-88' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-90' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-91' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-18' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-92' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-88'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-25' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-93' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-87' size-in-bits='64' id='type-id-25'/>
+    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-93'/>
+    <qualified-type-def type-id='type-id-54' const='yes' id='type-id-94'/>
+    <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-89'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-95'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-96' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-96'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-97' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-98' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-95' size-in-bits='64' id='type-id-97'/>
+    <pointer-type-def type-id='type-id-97' size-in-bits='64' id='type-id-98'/>
+    <qualified-type-def type-id='type-id-95' const='yes' id='type-id-99'/>
+    <pointer-type-def type-id='type-id-99' size-in-bits='64' id='type-id-90'/>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-100'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-101' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-102' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-103' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-104' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-105' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-106' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-107' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-108' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-109' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-110' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-111' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-112' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-113' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-114' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-101'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-115' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-116' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-100' size-in-bits='64' id='type-id-115'/>
+    <pointer-type-def type-id='type-id-115' size-in-bits='64' id='type-id-116'/>
+    <pointer-type-def type-id='type-id-117' size-in-bits='64' id='type-id-118'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-118' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-102'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-118' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-103'/>
+    <qualified-type-def type-id='type-id-87' const='yes' id='type-id-119'/>
+    <pointer-type-def type-id='type-id-119' size-in-bits='64' id='type-id-120'/>
+    <pointer-type-def type-id='type-id-121' size-in-bits='64' id='type-id-122'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-122' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-123'/>
+    <pointer-type-def type-id='type-id-124' size-in-bits='64' id='type-id-125'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-125' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-104'/>
+    <pointer-type-def type-id='type-id-126' size-in-bits='64' id='type-id-127'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-127' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-105'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-127' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-106'/>
+    <pointer-type-def type-id='type-id-128' size-in-bits='64' id='type-id-129'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-129' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-107'/>
+    <pointer-type-def type-id='type-id-130' size-in-bits='64' id='type-id-131'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-131' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-108'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-131' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-109'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-110'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-132' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-133'/>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-132'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-134'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-135' size-in-bits='64' id='type-id-136'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-136' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-111'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-137'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-115' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-138' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-25' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-28' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-139'/>
+    <pointer-type-def type-id='type-id-139' size-in-bits='64' id='type-id-138'/>
+    <qualified-type-def type-id='type-id-137' const='yes' id='type-id-140'/>
+    <pointer-type-def type-id='type-id-140' size-in-bits='64' id='type-id-141'/>
+    <pointer-type-def type-id='type-id-142' size-in-bits='64' id='type-id-143'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-143' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-112'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-127' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-113'/>
+    <pointer-type-def type-id='type-id-144' size-in-bits='64' id='type-id-145'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-145' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-114'/>
+    <qualified-type-def type-id='type-id-100' const='yes' id='type-id-146'/>
+    <pointer-type-def type-id='type-id-146' size-in-bits='64' id='type-id-91'/>
+    <class-decl name='rte_devargs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-147'/>
+    <pointer-type-def type-id='type-id-147' size-in-bits='64' id='type-id-92'/>
+    <class-decl name='rte_cryptodev_cb_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='814' column='1' id='type-id-27'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-148' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='814' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-149' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='814' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_callback' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-150'/>
+    <pointer-type-def type-id='type-id-150' size-in-bits='64' id='type-id-148'/>
+    <pointer-type-def type-id='type-id-148' size-in-bits='64' id='type-id-149'/>
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-151'/>
+    <class-decl name='rte_cryptodev_config' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='619' column='1' id='type-id-152'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='socket_id' type-id='type-id-18' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='620' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_queue_pairs' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ff_disable' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='623' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-152' size-in-bits='64' id='type-id-153'/>
+    <pointer-type-def type-id='type-id-154' size-in-bits='64' id='type-id-155'/>
+    <typedef-decl name='cryptodev_configure_t' type-id='type-id-155' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='127' column='1' id='type-id-2'/>
+    <pointer-type-def type-id='type-id-156' size-in-bits='64' id='type-id-157'/>
+    <typedef-decl name='cryptodev_start_t' type-id='type-id-157' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='137' column='1' id='type-id-3'/>
+    <pointer-type-def type-id='type-id-158' size-in-bits='64' id='type-id-159'/>
+    <typedef-decl name='cryptodev_stop_t' type-id='type-id-159' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='144' column='1' id='type-id-4'/>
+    <typedef-decl name='cryptodev_close_t' type-id='type-id-157' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='154' column='1' id='type-id-5'/>
+    <class-decl name='rte_cryptodev_info' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='468' column='1' id='type-id-160'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='driver_name' type-id='type-id-89' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='469' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='driver_id' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='470' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='device' type-id='type-id-25' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='471' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='feature_flags' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='473' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='capabilities' type-id='type-id-161' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='476' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='max_nb_queue_pairs' type-id='type-id-48' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='479' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='min_mbuf_headroom_req' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='482' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='min_mbuf_tailroom_req' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='485' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='sym' type-id='type-id-162' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='494' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_capabilities' size-in-bits='320' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='176' column='1' id='type-id-163'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-164' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='177' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='' type-id='type-id-165' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_op_type' filepath='../lib/librte_cryptodev/rte_crypto.h' line='29' column='1' id='type-id-164'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_OP_TYPE_UNDEFINED' value='0'/>
+      <enumerator name='RTE_CRYPTO_OP_TYPE_SYMMETRIC' value='1'/>
+      <enumerator name='RTE_CRYPTO_OP_TYPE_ASYMMETRIC' value='2'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='288' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='181' column='1' id='type-id-165'>
+      <data-member access='private'>
+        <var-decl name='sym' type-id='type-id-166' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='182' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='asym' type-id='type-id-167' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='184' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_cryptodev_symmetric_capability' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='98' column='1' id='type-id-166'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xform_type' type-id='type-id-168' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='99' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='' type-id='type-id-169' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_sym_xform_type' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='424' column='1' id='type-id-168'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_NOT_SPECIFIED' value='0'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_AUTH' value='1'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_CIPHER' value='2'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_AEAD' value='3'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='102' column='1' id='type-id-169'>
+      <data-member access='private'>
+        <var-decl name='auth' type-id='type-id-170' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='116' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='cipher' type-id='type-id-171' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='127' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='aead' type-id='type-id-172' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='103' column='1' id='type-id-170'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-173' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='104' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='block_size' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='key_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='digest_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='110' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='aad_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='112' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='114' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_auth_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='189' column='1' id='type-id-173'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_AUTH_NULL' value='1'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_CBC_MAC' value='2'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_CMAC' value='3'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_GMAC' value='4'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_XCBC_MAC' value='5'/>
+      <enumerator name='RTE_CRYPTO_AUTH_KASUMI_F9' value='6'/>
+      <enumerator name='RTE_CRYPTO_AUTH_MD5' value='7'/>
+      <enumerator name='RTE_CRYPTO_AUTH_MD5_HMAC' value='8'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA1' value='9'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA1_HMAC' value='10'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA224' value='11'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA224_HMAC' value='12'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA256' value='13'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA256_HMAC' value='14'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA384' value='15'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA384_HMAC' value='16'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA512' value='17'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA512_HMAC' value='18'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SNOW3G_UIA2' value='19'/>
+      <enumerator name='RTE_CRYPTO_AUTH_ZUC_EIA3' value='20'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_224' value='21'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_224_HMAC' value='22'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_256' value='23'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_256_HMAC' value='24'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_384' value='25'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_384_HMAC' value='26'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_512' value='27'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_512_HMAC' value='28'/>
+      <enumerator name='RTE_CRYPTO_AUTH_LIST_END' value='29'/>
+    </enum-decl>
+    <class-decl name='rte_crypto_param_range' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='84' column='1' id='type-id-174'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='min' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='max' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='increment' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='87' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='160' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='118' column='1' id='type-id-171'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-175' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='119' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='block_size' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='121' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='key_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='123' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='iv_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='125' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_cipher_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='30' column='1' id='type-id-175'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_NULL' value='1'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_CBC' value='2'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_CTR' value='3'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_ECB' value='4'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_CBC' value='5'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_CTR' value='6'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_ECB' value='7'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_F8' value='8'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_XTS' value='9'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_ARC4' value='10'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_KASUMI_F8' value='11'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_SNOW3G_UEA2' value='12'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_ZUC_EEA3' value='13'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_DES_CBC' value='14'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_DOCSISBPI' value='15'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_DES_DOCSISBPI' value='16'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_LIST_END' value='17'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='129' column='1' id='type-id-172'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-176' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='130' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='block_size' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='132' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='key_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='134' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='digest_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='136' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='aad_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='140' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_aead_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='346' column='1' id='type-id-176'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_AEAD_AES_CCM' value='1'/>
+      <enumerator name='RTE_CRYPTO_AEAD_AES_GCM' value='2'/>
+      <enumerator name='RTE_CRYPTO_AEAD_LIST_END' value='3'/>
+    </enum-decl>
+    <class-decl name='rte_cryptodev_asymmetric_capability' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='170' column='1' id='type-id-167'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xform_capa' type-id='type-id-177' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_asymmetric_xform_capability' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='150' column='1' id='type-id-177'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xform_type' type-id='type-id-178' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='151' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='op_types' type-id='type-id-49' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-179' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_asym_xform_type' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='53' column='1' id='type-id-178'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_UNSPECIFIED' value='0'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_NONE' value='1'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_RSA' value='2'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_DH' value='3'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_DSA' value='4'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_MODINV' value='5'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_MODEX' value='6'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_TYPE_LIST_END' value='7'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='48' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='158' column='1' id='type-id-179'>
+      <data-member access='private'>
+        <var-decl name='modlen' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='159' column='1'/>
+      </data-member>
+    </union-decl>
+    <qualified-type-def type-id='type-id-163' const='yes' id='type-id-180'/>
+    <pointer-type-def type-id='type-id-180' size-in-bits='64' id='type-id-161'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='488' column='1' id='type-id-162'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max_nb_sessions' type-id='type-id-48' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='489' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-160' size-in-bits='64' id='type-id-181'/>
+    <pointer-type-def type-id='type-id-182' size-in-bits='64' id='type-id-183'/>
+    <typedef-decl name='cryptodev_info_get_t' type-id='type-id-183' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='180' column='1' id='type-id-6'/>
+    <class-decl name='rte_cryptodev_stats' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='530' column='1' id='type-id-184'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='enqueued_count' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='531' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dequeued_count' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='533' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='enqueue_err_count' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='536' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dequeue_err_count' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='538' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-184' size-in-bits='64' id='type-id-185'/>
+    <pointer-type-def type-id='type-id-186' size-in-bits='64' id='type-id-187'/>
+    <typedef-decl name='cryptodev_stats_get_t' type-id='type-id-187' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='163' column='1' id='type-id-7'/>
+    <typedef-decl name='cryptodev_stats_reset_t' type-id='type-id-159' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='172' column='1' id='type-id-8'/>
+    <class-decl name='rte_cryptodev_qp_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='508' column='1' id='type-id-188'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_descriptors' type-id='type-id-49' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='509' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp_session' type-id='type-id-35' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='510' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mp_session_private' type-id='type-id-35' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='512' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-188' const='yes' id='type-id-189'/>
+    <pointer-type-def type-id='type-id-189' size-in-bits='64' id='type-id-190'/>
+    <pointer-type-def type-id='type-id-191' size-in-bits='64' id='type-id-192'/>
+    <typedef-decl name='cryptodev_queue_pair_setup_t' type-id='type-id-192' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='193' column='1' id='type-id-9'/>
+    <pointer-type-def type-id='type-id-193' size-in-bits='64' id='type-id-194'/>
+    <typedef-decl name='cryptodev_queue_pair_release_t' type-id='type-id-194' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='207' column='1' id='type-id-10'/>
+    <pointer-type-def type-id='type-id-195' size-in-bits='64' id='type-id-196'/>
+    <typedef-decl name='cryptodev_queue_pair_count_t' type-id='type-id-196' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='217' column='1' id='type-id-11'/>
+    <pointer-type-def type-id='type-id-197' size-in-bits='64' id='type-id-198'/>
+    <typedef-decl name='cryptodev_sym_get_session_private_size_t' type-id='type-id-198' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='245' column='1' id='type-id-12'/>
+    <typedef-decl name='cryptodev_asym_get_session_private_size_t' type-id='type-id-198' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='256' column='1' id='type-id-13'/>
+    <class-decl name='rte_crypto_sym_xform' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='440' column='1' id='type-id-199'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-200' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='441' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-168' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='443' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-201' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-199' size-in-bits='64' id='type-id-200'/>
+    <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='446' column='1' id='type-id-201'>
+      <data-member access='private'>
+        <var-decl name='auth' type-id='type-id-202' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='447' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='cipher' type-id='type-id-203' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='aead' type-id='type-id-204' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='451' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_crypto_auth_xform' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='278' column='1' id='type-id-202'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-205' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-173' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='281' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-206' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='287' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv' type-id='type-id-207' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='330' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='digest_length' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='332' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_auth_operation' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='262' column='1' id='type-id-205'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_AUTH_OP_VERIFY' value='0'/>
+      <enumerator name='RTE_CRYPTO_AUTH_OP_GENERATE' value='1'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='284' column='1' id='type-id-206'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-208' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='285' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='length' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='286' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-26' const='yes' id='type-id-209'/>
+    <pointer-type-def type-id='type-id-209' size-in-bits='64' id='type-id-208'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='295' column='1' id='type-id-207'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='offset' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='296' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='length' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='312' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_cipher_xform' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='107' column='1' id='type-id-203'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-210' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-175' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='113' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-206' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='119' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv' type-id='type-id-207' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='185' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_cipher_operation' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='90' column='1' id='type-id-210'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_OP_ENCRYPT' value='0'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_OP_DECRYPT' value='1'/>
+    </enum-decl>
+    <class-decl name='rte_crypto_aead_xform' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='370' column='1' id='type-id-204'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-211' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='371' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-176' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='373' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-206' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='379' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv' type-id='type-id-207' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='411' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='digest_length' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='413' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='240'>
+        <var-decl name='aad_length' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='415' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_aead_operation' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='359' column='1' id='type-id-211'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_AEAD_OP_ENCRYPT' value='0'/>
+      <enumerator name='RTE_CRYPTO_AEAD_OP_DECRYPT' value='1'/>
+    </enum-decl>
+    <class-decl name='rte_cryptodev_sym_session' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='974' column='1' id='type-id-212'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='opaque_data' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='975' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='nb_drivers' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='977' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='user_data_sz' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='979' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='sess_data' type-id='type-id-213' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='984' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='981' column='1' id='type-id-214'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-28' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='982' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='refcnt' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='983' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-214' size-in-bits='infinite' id='type-id-213'>
+      <subrange length='infinite' type-id='type-id-38' id='type-id-215'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-212' size-in-bits='64' id='type-id-216'/>
+    <pointer-type-def type-id='type-id-217' size-in-bits='64' id='type-id-218'/>
+    <typedef-decl name='cryptodev_sym_configure_session_t' type-id='type-id-218' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='273' column='1' id='type-id-14'/>
+    <class-decl name='rte_crypto_asym_xform' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='353' column='1' id='type-id-219'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-220' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='354' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='xform_type' type-id='type-id-178' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='356' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-221' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-219' size-in-bits='64' id='type-id-220'/>
+    <union-decl name='__anonymous_union__' size-in-bits='1408' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='360' column='1' id='type-id-221'>
+      <data-member access='private'>
+        <var-decl name='rsa' type-id='type-id-222' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='361' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='modex' type-id='type-id-223' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='364' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='modinv' type-id='type-id-224' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='367' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dh' type-id='type-id-225' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='370' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dsa' type-id='type-id-226' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='373' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_crypto_rsa_xform' size-in-bits='1408' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='192' column='1' id='type-id-222'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='193' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='e' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='199' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='key_type' type-id='type-id-228' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='' type-id='type-id-229' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_param_t' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='30' column='1' id='type-id-230'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-231' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='iova' type-id='type-id-36' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='33' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='length' type-id='type-id-58' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='35' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-231'/>
+    <typedef-decl name='rte_crypto_param' type-id='type-id-230' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='37' column='1' id='type-id-227'/>
+    <enum-decl name='rte_crypto_rsa_priv_key_type' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='133' column='1' id='type-id-228'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_RSA_KEY_TYPE_EXP' value='0'/>
+      <enumerator name='RTE_RSA_KET_TYPE_QT' value='1'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='960' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='208' column='1' id='type-id-229'>
+      <data-member access='private'>
+        <var-decl name='d' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='209' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='qt' type-id='type-id-232' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='216' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_crypto_rsa_priv_key_qt' size-in-bits='960' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='146' column='1' id='type-id-232'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='p' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='147' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='q' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='dP' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='161' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dQ' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='169' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='qInv' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='177' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_modex_xform' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='227' column='1' id='type-id-223'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='modulus' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='exponent' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='237' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_modinv_xform' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='250' column='1' id='type-id-224'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='modulus' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='251' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_dh_xform' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='271' column='1' id='type-id-225'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-233' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='272' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='p' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='275' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='g' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='281' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_asym_op_type' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='91' column='1' id='type-id-233'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_ENCRYPT' value='0'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_DECRYPT' value='1'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_SIGN' value='2'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_VERIFY' value='3'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_PRIVATE_KEY_GENERATE' value='4'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_PUBLIC_KEY_GENERATE' value='5'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_SHARED_SECRET_COMPUTE' value='6'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_LIST_END' value='7'/>
+    </enum-decl>
+    <class-decl name='rte_crypto_dsa_xform' size-in-bits='768' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='295' column='1' id='type-id-226'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='p' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='296' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='q' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='301' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='g' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='307' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='x' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='311' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_asym_session' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='989' column='1' id='type-id-234'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='sess_private_data' type-id='type-id-235' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='990' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-28' size-in-bits='infinite' id='type-id-235'>
+      <subrange length='infinite' type-id='type-id-38' id='type-id-215'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-234' size-in-bits='64' id='type-id-236'/>
+    <pointer-type-def type-id='type-id-237' size-in-bits='64' id='type-id-238'/>
+    <typedef-decl name='cryptodev_asym_configure_session_t' type-id='type-id-238' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='291' column='1' id='type-id-15'/>
+    <pointer-type-def type-id='type-id-239' size-in-bits='64' id='type-id-240'/>
+    <typedef-decl name='cryptodev_sym_free_session_t' type-id='type-id-240' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='301' column='1' id='type-id-16'/>
+    <pointer-type-def type-id='type-id-241' size-in-bits='64' id='type-id-242'/>
+    <typedef-decl name='cryptodev_asym_free_session_t' type-id='type-id-242' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='309' column='1' id='type-id-17'/>
+    <var-decl name='rte_aesni_mb_pmd_ops' type-id='type-id-23' visibility='default' filepath='../drivers/crypto/aesni_mb/aesni_mb_pmd_private.h' line='276' column='1'/>
+    <function-type size-in-bits='64' id='type-id-135'>
+      <return type-id='type-id-134'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-117'>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-128'>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-121'>
+      <parameter type-id='type-id-120'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-156'>
+      <parameter type-id='type-id-151'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-237'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-220'/>
+      <parameter type-id='type-id-236'/>
+      <parameter type-id='type-id-35'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-217'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-200'/>
+      <parameter type-id='type-id-216'/>
+      <parameter type-id='type-id-35'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-154'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-153'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-193'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-31'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-191'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-31'/>
+      <parameter type-id='type-id-190'/>
+      <parameter type-id='type-id-18'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-126'>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-130'>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-24'/>
+      <parameter type-id='type-id-58'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-144'>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-124'>
+      <parameter type-id='type-id-120'/>
+      <parameter type-id='type-id-123'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-25'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-81'>
+      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-80'/>
+      <parameter type-id='type-id-31'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-195'>
+      <parameter type-id='type-id-151'/>
+      <return type-id='type-id-49'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-197'>
+      <parameter type-id='type-id-151'/>
+      <return type-id='type-id-48'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-158'>
+      <parameter type-id='type-id-151'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-241'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-236'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-182'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-181'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-186'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-185'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-239'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-216'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-77'>
+      <parameter type-id='type-id-71'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-142'>
+      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-141'/>
+      <return type-id='type-id-28'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_caam_jr.dump b/drivers/.abi/librte_pmd_caam_jr.dump
new file mode 100644
index 000000000..6a6c212ab
--- /dev/null
+++ b/drivers/.abi/librte_pmd_caam_jr.dump
@@ -0,0 +1,47 @@
+<abi-corpus path='gcc//drivers/librte_pmd_caam_jr.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_caam_jr.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='librte_bus_dpaa.so.20.0'/>
+    <dependency name='librte_common_dpaax.so.20.0'/>
+    <dependency name='librte_eventdev.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='librte_timer.so.20.0'/>
+    <dependency name='librte_security.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/crypto/caam_jr/caam_jr.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='caam_jr_logtype' type-id='type-id-1' visibility='default' filepath='../drivers/crypto/caam_jr/caam_jr_log.h' line='10' column='1'/>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-2'/>
+    <enum-decl name='rta_sec_era' filepath='../drivers/crypto/caam_jr/../../common/dpaax/caamflib/rta/sec_run_time_asm.h' line='29' column='1' id='type-id-3'>
+      <underlying-type type-id='type-id-2'/>
+      <enumerator name='RTA_SEC_ERA_1' value='0'/>
+      <enumerator name='RTA_SEC_ERA_2' value='1'/>
+      <enumerator name='RTA_SEC_ERA_3' value='2'/>
+      <enumerator name='RTA_SEC_ERA_4' value='3'/>
+      <enumerator name='RTA_SEC_ERA_5' value='4'/>
+      <enumerator name='RTA_SEC_ERA_6' value='5'/>
+      <enumerator name='RTA_SEC_ERA_7' value='6'/>
+      <enumerator name='RTA_SEC_ERA_8' value='7'/>
+      <enumerator name='RTA_SEC_ERA_9' value='8'/>
+      <enumerator name='RTA_SEC_ERA_10' value='9'/>
+      <enumerator name='MAX_SEC_ERA' value='9'/>
+    </enum-decl>
+    <var-decl name='rta_sec_era' type-id='type-id-3' visibility='default' filepath='../drivers/crypto/caam_jr/../../common/dpaax/caamflib/desc.h' line='21' column='1'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_ccp.dump b/drivers/.abi/librte_pmd_ccp.dump
new file mode 100644
index 000000000..0bbe29b97
--- /dev/null
+++ b/drivers/.abi/librte_pmd_ccp.dump
@@ -0,0 +1,1870 @@
+<abi-corpus path='gcc//drivers/librte_pmd_ccp.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_ccp.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='libcrypto.so.1.1'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/crypto/ccp/rte_ccp_pmd.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-1'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-2'/>
+    <typedef-decl name='uint8_t' type-id='type-id-2' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-3'/>
+    <var-decl name='ccp_cryptodev_driver_id' type-id='type-id-3' visibility='default' filepath='../drivers/crypto/ccp/ccp_crypto.h' line='319' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/crypto/ccp/ccp_dev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='ccp_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='172' column='1' id='type-id-4'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-5' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='172' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-6' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='172' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ccp_device' size-in-bits='435200' is-struct='yes' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='228' column='1' id='type-id-7'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-8' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='id' type-id='type-id-9' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='cmd_q' type-id='type-id-10' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5952'>
+        <var-decl name='cmd_q_count' type-id='type-id-9' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='234' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6016'>
+        <var-decl name='pci' type-id='type-id-11' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='434752'>
+        <var-decl name='lsbmap' type-id='type-id-12' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='434880'>
+        <var-decl name='lsb_lock' type-id='type-id-13' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='434912'>
+        <var-decl name='qidx' type-id='type-id-9' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='242' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='434944'>
+        <var-decl name='hwrng_retries' type-id='type-id-9' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='244' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='229' column='1' id='type-id-8'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-5' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-6' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='229' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-7' size-in-bits='64' id='type-id-5'/>
+    <pointer-type-def type-id='type-id-5' size-in-bits='64' id='type-id-6'/>
+    <type-decl name='int' size-in-bits='32' id='type-id-9'/>
+    <class-decl name='ccp_queue' size-in-bits='1152' is-struct='yes' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='187' column='1' id='type-id-14'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev' type-id='type-id-5' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='memz_name' type-id='type-id-15' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='189' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_slots' type-id='type-id-16' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='id' type-id='type-id-17' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='qidx' type-id='type-id-17' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='196' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='qsize' type-id='type-id-17' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='197' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='qbase_desc' type-id='type-id-18' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='200' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='qbase_addr' type-id='type-id-19' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='201' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='qbase_phys_addr' type-id='type-id-20' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='202' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='reg_base' type-id='type-id-19' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='204' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='qcontrol' type-id='type-id-21' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='206' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='864'>
+        <var-decl name='lsb' type-id='type-id-9' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='209' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='lsbmask' type-id='type-id-22' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='211' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='lsbmap' type-id='type-id-23' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='213' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='sb_key' type-id='type-id-21' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='215' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1056'>
+        <var-decl name='sb_iv' type-id='type-id-21' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='217' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='sb_sha' type-id='type-id-21' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='219' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1120'>
+        <var-decl name='sb_hmac' type-id='type-id-21' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='221' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-24'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-22'/>
+
+    <array-type-def dimensions='1' type-id='type-id-24' size-in-bits='256' id='type-id-15'>
+      <subrange length='32' type-id='type-id-22' id='type-id-25'/>
+
+    </array-type-def>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='788' column='1' id='type-id-26'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-27' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='789' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='long int' size-in-bits='64' id='type-id-28'/>
+    <typedef-decl name='__int64_t' type-id='type-id-28' filepath='/usr/include/bits/types.h' line='44' column='1' id='type-id-29'/>
+    <typedef-decl name='int64_t' type-id='type-id-29' filepath='/usr/include/bits/stdint-intn.h' line='27' column='1' id='type-id-30'/>
+    <qualified-type-def type-id='type-id-30' volatile='yes' id='type-id-27'/>
+    <typedef-decl name='rte_atomic64_t' type-id='type-id-26' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='790' column='1' id='type-id-16'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-22' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-31'/>
+    <typedef-decl name='uint64_t' type-id='type-id-31' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-17'/>
+    <class-decl name='ccp_desc' size-in-bits='256' is-struct='yes' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='420' column='1' id='type-id-32'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dw0' type-id='type-id-33' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='421' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='length' type-id='type-id-21' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='422' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='src_lo' type-id='type-id-21' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='423' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='dw3' type-id='type-id-34' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='424' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dw4' type-id='type-id-35' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='425' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='dw5' type-id='type-id-36' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='426' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='key_lo' type-id='type-id-21' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='427' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='dw7' type-id='type-id-37' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='428' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='dword0' size-in-bits='32' is-struct='yes' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='378' column='1' id='type-id-33'>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='soc' type-id='type-id-21' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='379' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='ioc' type-id='type-id-21' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='380' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='rsvd1' type-id='type-id-21' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='381' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='28'>
+        <var-decl name='init' type-id='type-id-21' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='382' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='27'>
+        <var-decl name='eom' type-id='type-id-21' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='383' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='12'>
+        <var-decl name='function' type-id='type-id-21' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='384' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='engine' type-id='type-id-21' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='385' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='prot' type-id='type-id-21' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='386' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rsvd2' type-id='type-id-21' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='387' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-38'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-38' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-39'/>
+    <typedef-decl name='uint32_t' type-id='type-id-39' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-21'/>
+    <class-decl name='dword3' size-in-bits='32' is-struct='yes' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='390' column='1' id='type-id-34'>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='src_hi' type-id='type-id-21' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='391' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='14'>
+        <var-decl name='src_mem' type-id='type-id-21' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='392' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='lsb_cxt_id' type-id='type-id-21' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='393' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1'>
+        <var-decl name='rsvd1' type-id='type-id-21' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='394' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fixed' type-id='type-id-21' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='395' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='dword4' size-in-bits='32' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='398' column='1' id='type-id-35'>
+      <data-member access='private'>
+        <var-decl name='dst_lo' type-id='type-id-21' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='399' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='sha_len_lo' type-id='type-id-21' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='400' column='1'/>
+      </data-member>
+    </union-decl>
+    <union-decl name='dword5' size-in-bits='32' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='403' column='1' id='type-id-36'>
+      <data-member access='private'>
+        <var-decl name='fields' type-id='type-id-40' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='410' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='sha_len_hi' type-id='type-id-21' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='411' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='404' column='1' id='type-id-40'>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='dst_hi' type-id='type-id-21' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='405' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='14'>
+        <var-decl name='dst_mem' type-id='type-id-21' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='406' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1'>
+        <var-decl name='rsvd1' type-id='type-id-21' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='407' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fixed' type-id='type-id-21' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='408' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='dword7' size-in-bits='32' is-struct='yes' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='414' column='1' id='type-id-37'>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='key_hi' type-id='type-id-21' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='415' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='14'>
+        <var-decl name='key_mem' type-id='type-id-21' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='416' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rsvd1' type-id='type-id-21' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='417' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-18'/>
+    <type-decl name='void' id='type-id-41'/>
+    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-19'/>
+    <typedef-decl name='phys_addr_t' type-id='type-id-17' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-20'/>
+
+    <array-type-def dimensions='1' type-id='type-id-22' size-in-bits='64' id='type-id-23'>
+      <subrange length='1' type-id='type-id-22' id='type-id-42'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-14' size-in-bits='5760' id='type-id-10'>
+      <subrange length='5' type-id='type-id-22' id='type-id-43'/>
+
+    </array-type-def>
+    <class-decl name='rte_pci_device' size-in-bits='428736' is-struct='yes' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='57' column='1' id='type-id-11'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-44' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='device' type-id='type-id-45' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='addr' type-id='type-id-46' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='60' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='id' type-id='type-id-47' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='mem_resource' type-id='type-id-48' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='intr_handle' type-id='type-id-49' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='215168'>
+        <var-decl name='driver' type-id='type-id-50' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='215232'>
+        <var-decl name='max_vfs' type-id='type-id-51' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='215264'>
+        <var-decl name='kdrv' type-id='type-id-52' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='215296'>
+        <var-decl name='name' type-id='type-id-53' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='215488'>
+        <var-decl name='vfio_req_intr_handle' type-id='type-id-49' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='69' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='58' column='1' id='type-id-44'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-54' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-55' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='58' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-54'/>
+    <pointer-type-def type-id='type-id-54' size-in-bits='64' id='type-id-55'/>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-45'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-56' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-57' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-58' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-59' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-9' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-60' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-56'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-61' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-62' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-61'/>
+    <pointer-type-def type-id='type-id-61' size-in-bits='64' id='type-id-62'/>
+    <qualified-type-def type-id='type-id-24' const='yes' id='type-id-63'/>
+    <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-57'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-64'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-65' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-57' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-57' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-65'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-66' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-67' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-64' size-in-bits='64' id='type-id-66'/>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
+    <qualified-type-def type-id='type-id-64' const='yes' id='type-id-68'/>
+    <pointer-type-def type-id='type-id-68' size-in-bits='64' id='type-id-58'/>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-69'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-70' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-57' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-71' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-72' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-73' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-74' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-75' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-76' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-77' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-78' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-79' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-80' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-81' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-82' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-83' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-70'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-84' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-85' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-69' size-in-bits='64' id='type-id-84'/>
+    <pointer-type-def type-id='type-id-84' size-in-bits='64' id='type-id-85'/>
+    <pointer-type-def type-id='type-id-86' size-in-bits='64' id='type-id-87'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-87' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-71'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-87' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-72'/>
+    <qualified-type-def type-id='type-id-45' const='yes' id='type-id-88'/>
+    <pointer-type-def type-id='type-id-88' size-in-bits='64' id='type-id-89'/>
+    <pointer-type-def type-id='type-id-90' size-in-bits='64' id='type-id-91'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-91' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-92'/>
+    <pointer-type-def type-id='type-id-93' size-in-bits='64' id='type-id-94'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-94' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-73'/>
+    <pointer-type-def type-id='type-id-95' size-in-bits='64' id='type-id-96'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-96' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-74'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-96' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-75'/>
+    <pointer-type-def type-id='type-id-97' size-in-bits='64' id='type-id-98'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-98' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-76'/>
+    <typedef-decl name='size_t' type-id='type-id-22' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-99'/>
+    <pointer-type-def type-id='type-id-100' size-in-bits='64' id='type-id-101'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-101' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-77'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-101' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-78'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-79'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-102' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-103'/>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-102'>
+      <underlying-type type-id='type-id-103'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-104'>
+      <underlying-type type-id='type-id-103'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-105' size-in-bits='64' id='type-id-106'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-106' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-80'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-107'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-57' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-57' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-57' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-84' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-108' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-61' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-109'/>
+    <pointer-type-def type-id='type-id-109' size-in-bits='64' id='type-id-108'/>
+    <qualified-type-def type-id='type-id-107' const='yes' id='type-id-110'/>
+    <pointer-type-def type-id='type-id-110' size-in-bits='64' id='type-id-111'/>
+    <pointer-type-def type-id='type-id-112' size-in-bits='64' id='type-id-113'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-113' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-81'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-96' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-82'/>
+    <pointer-type-def type-id='type-id-114' size-in-bits='64' id='type-id-115'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-115' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-83'/>
+    <qualified-type-def type-id='type-id-69' const='yes' id='type-id-116'/>
+    <pointer-type-def type-id='type-id-116' size-in-bits='64' id='type-id-59'/>
+    <class-decl name='rte_devargs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-117'/>
+    <pointer-type-def type-id='type-id-117' size-in-bits='64' id='type-id-60'/>
+    <class-decl name='rte_pci_addr' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='61' column='1' id='type-id-46'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='domain' type-id='type-id-21' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='bus' type-id='type-id-3' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='devid' type-id='type-id-3' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='function' type-id='type-id-3' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_pci_id' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='50' column='1' id='type-id-47'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='class_id' type-id='type-id-21' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='vendor_id' type-id='type-id-51' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='device_id' type-id='type-id-51' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='subsystem_vendor_id' type-id='type-id-51' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='subsystem_device_id' type-id='type-id-51' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='55' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-118'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-118' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-119'/>
+    <typedef-decl name='uint16_t' type-id='type-id-119' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-51'/>
+    <class-decl name='rte_mem_resource' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='80' column='1' id='type-id-120'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='phys_addr' type-id='type-id-17' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-17' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='82' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-120' size-in-bits='1152' id='type-id-48'>
+      <subrange length='6' type-id='type-id-22' id='type-id-121'/>
+
+    </array-type-def>
+    <class-decl name='rte_intr_handle' size-in-bits='213248' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='69' column='1' id='type-id-49'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-122' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-9' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-123' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='max_intr' type-id='type-id-21' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='nb_efd' type-id='type-id-21' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='efd_counter_size' type-id='type-id-3' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='efds' type-id='type-id-124' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16576'>
+        <var-decl name='elist' type-id='type-id-125' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='213184'>
+        <var-decl name='intr_vec' type-id='type-id-126' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='71' column='1' id='type-id-122'>
+      <data-member access='private'>
+        <var-decl name='vfio_dev_fd' type-id='type-id-9' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='uio_cfg_fd' type-id='type-id-9' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='73' column='1'/>
+      </data-member>
+    </union-decl>
+    <enum-decl name='rte_intr_handle_type' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='27' column='1' id='type-id-123'>
+      <underlying-type type-id='type-id-103'/>
+      <enumerator name='RTE_INTR_HANDLE_UNKNOWN' value='0'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO' value='1'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO_INTX' value='2'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_LEGACY' value='3'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSI' value='4'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSIX' value='5'/>
+      <enumerator name='RTE_INTR_HANDLE_ALARM' value='6'/>
+      <enumerator name='RTE_INTR_HANDLE_EXT' value='7'/>
+      <enumerator name='RTE_INTR_HANDLE_VDEV' value='8'/>
+      <enumerator name='RTE_INTR_HANDLE_DEV_EVENT' value='9'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_REQ' value='10'/>
+      <enumerator name='RTE_INTR_HANDLE_MAX' value='11'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-9' size-in-bits='16384' id='type-id-124'>
+      <subrange length='512' type-id='type-id-22' id='type-id-127'/>
+
+    </array-type-def>
+    <class-decl name='rte_epoll_event' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='61' column='1' id='type-id-128'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='status' type-id='type-id-129' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-9' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='epfd' type-id='type-id-9' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='epdata' type-id='type-id-130' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-21' volatile='yes' id='type-id-129'/>
+    <class-decl name='rte_epoll_data' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='47' column='1' id='type-id-130'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event' type-id='type-id-21' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='data' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cb_fun' type-id='type-id-131' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='cb_arg' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='51' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-132' size-in-bits='64' id='type-id-133'/>
+    <typedef-decl name='rte_intr_event_cb_t' type-id='type-id-133' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='45' column='1' id='type-id-131'/>
+
+    <array-type-def dimensions='1' type-id='type-id-128' size-in-bits='196608' id='type-id-125'>
+      <subrange length='512' type-id='type-id-22' id='type-id-127'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-126'/>
+    <class-decl name='rte_pci_driver' size-in-bits='832' is-struct='yes' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='157' column='1' id='type-id-134'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-135' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='158' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='driver' type-id='type-id-64' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='159' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='bus' type-id='type-id-136' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='160' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='probe' type-id='type-id-137' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='161' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='remove' type-id='type-id-138' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='162' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-139' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='163' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-140' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='164' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='id_table' type-id='type-id-141' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='165' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='drv_flags' type-id='type-id-21' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='166' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='158' column='1' id='type-id-135'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-50' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='158' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-142' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='158' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-134' size-in-bits='64' id='type-id-50'/>
+    <pointer-type-def type-id='type-id-50' size-in-bits='64' id='type-id-142'/>
+    <class-decl name='rte_pci_bus' size-in-bits='1280' is-struct='yes' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='172' column='1' id='type-id-143'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='bus' type-id='type-id-69' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='173' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='device_list' type-id='type-id-144' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='174' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='driver_list' type-id='type-id-145' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='175' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_pci_device_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='41' column='1' id='type-id-144'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-54' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-55' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='41' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_pci_driver_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='43' column='1' id='type-id-145'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-50' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-142' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='43' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-143' size-in-bits='64' id='type-id-136'/>
+    <typedef-decl name='pci_probe_t' type-id='type-id-146' filepath='../drivers/bus/pci/rte_bus_pci.h' line='109' column='1' id='type-id-147'/>
+    <pointer-type-def type-id='type-id-147' size-in-bits='64' id='type-id-137'/>
+    <typedef-decl name='pci_remove_t' type-id='type-id-148' filepath='../drivers/bus/pci/rte_bus_pci.h' line='114' column='1' id='type-id-149'/>
+    <pointer-type-def type-id='type-id-149' size-in-bits='64' id='type-id-138'/>
+    <typedef-decl name='pci_dma_map_t' type-id='type-id-150' filepath='../drivers/bus/pci/rte_bus_pci.h' line='132' column='1' id='type-id-151'/>
+    <pointer-type-def type-id='type-id-151' size-in-bits='64' id='type-id-139'/>
+    <typedef-decl name='pci_dma_unmap_t' type-id='type-id-150' filepath='../drivers/bus/pci/rte_bus_pci.h' line='151' column='1' id='type-id-152'/>
+    <pointer-type-def type-id='type-id-152' size-in-bits='64' id='type-id-140'/>
+    <qualified-type-def type-id='type-id-47' const='yes' id='type-id-153'/>
+    <pointer-type-def type-id='type-id-153' size-in-bits='64' id='type-id-141'/>
+    <enum-decl name='rte_kernel_driver' filepath='../lib/librte_eal/common/include/rte_dev.h' line='60' column='1' id='type-id-52'>
+      <underlying-type type-id='type-id-103'/>
+      <enumerator name='RTE_KDRV_UNKNOWN' value='0'/>
+      <enumerator name='RTE_KDRV_IGB_UIO' value='1'/>
+      <enumerator name='RTE_KDRV_VFIO' value='2'/>
+      <enumerator name='RTE_KDRV_UIO_GENERIC' value='3'/>
+      <enumerator name='RTE_KDRV_NIC_UIO' value='4'/>
+      <enumerator name='RTE_KDRV_NONE' value='5'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-24' size-in-bits='144' id='type-id-53'>
+      <subrange length='18' type-id='type-id-22' id='type-id-154'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-22' size-in-bits='128' id='type-id-12'>
+      <subrange length='2' type-id='type-id-22' id='type-id-155'/>
+
+    </array-type-def>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-13' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_spinlock.h' line='30' column='1' id='type-id-156'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='locked' type-id='type-id-157' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_spinlock.h' line='31' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-9' volatile='yes' id='type-id-157'/>
+    <typedef-decl name='rte_spinlock_t' type-id='type-id-156' filepath='../lib/librte_eal/common/include/generic/rte_spinlock.h' line='32' column='1' id='type-id-13'/>
+    <var-decl name='ccp_list' type-id='type-id-4' visibility='default' filepath='../drivers/crypto/ccp/ccp_dev.h' line='174' column='1'/>
+    <function-type size-in-bits='64' id='type-id-105'>
+      <return type-id='type-id-104'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-86'>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-97'>
+      <parameter type-id='type-id-57'/>
+      <parameter type-id='type-id-19'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-90'>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-19'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-95'>
+      <parameter type-id='type-id-61'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-100'>
+      <parameter type-id='type-id-61'/>
+      <parameter type-id='type-id-19'/>
+      <parameter type-id='type-id-17'/>
+      <parameter type-id='type-id-99'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-148'>
+      <parameter type-id='type-id-54'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-150'>
+      <parameter type-id='type-id-54'/>
+      <parameter type-id='type-id-19'/>
+      <parameter type-id='type-id-17'/>
+      <parameter type-id='type-id-99'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-146'>
+      <parameter type-id='type-id-50'/>
+      <parameter type-id='type-id-54'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-114'>
+      <parameter type-id='type-id-19'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-93'>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-92'/>
+      <parameter type-id='type-id-19'/>
+      <return type-id='type-id-61'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-132'>
+      <parameter type-id='type-id-9'/>
+      <parameter type-id='type-id-19'/>
+      <return type-id='type-id-41'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-112'>
+      <parameter type-id='type-id-19'/>
+      <parameter type-id='type-id-57'/>
+      <parameter type-id='type-id-111'/>
+      <return type-id='type-id-19'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/crypto/ccp/ccp_pmd_ops.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_cryptodev_ops' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='313' column='1' id='type-id-158'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_configure' type-id='type-id-159' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='314' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_start' type-id='type-id-160' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='315' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dev_stop' type-id='type-id-161' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='316' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_close' type-id='type-id-162' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='317' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dev_infos_get' type-id='type-id-163' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='319' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='stats_get' type-id='type-id-164' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='321' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='stats_reset' type-id='type-id-165' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='323' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='queue_pair_setup' type-id='type-id-166' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='326' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='queue_pair_release' type-id='type-id-167' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='328' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='queue_pair_count' type-id='type-id-168' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='330' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='sym_session_get_size' type-id='type-id-169' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='333' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='asym_session_get_size' type-id='type-id-170' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='335' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='sym_session_configure' type-id='type-id-171' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='337' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='asym_session_configure' type-id='type-id-172' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='339' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='sym_session_clear' type-id='type-id-173' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='341' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='asym_session_clear' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='343' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='817' column='1' id='type-id-175'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dequeue_burst' type-id='type-id-176' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='818' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='enqueue_burst' type-id='type-id-177' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='820' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data' type-id='type-id-178' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='823' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_ops' type-id='type-id-179' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='825' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='feature_flags' type-id='type-id-17' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='827' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-61' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='829' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='driver_id' type-id='type-id-3' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='832' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='link_intr_cbs' type-id='type-id-180' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='835' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='security_ctx' type-id='type-id-19' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='attached' type-id='type-id-3' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='842' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_op' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='78' column='1' id='type-id-181'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-182' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mempool' type-id='type-id-183' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='110' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='phys_addr' type-id='type-id-184' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='113' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='80' column='1' id='type-id-182'>
+      <data-member access='private'>
+        <var-decl name='raw' type-id='type-id-17' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-185' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='83' column='1' id='type-id-185'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-3' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='status' type-id='type-id-3' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='sess_type' type-id='type-id-3' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='reserved' type-id='type-id-186' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='private_data_offset' type-id='type-id-51' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='100' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='24' id='type-id-186'>
+      <subrange length='3' type-id='type-id-22' id='type-id-187'/>
+
+    </array-type-def>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-188'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-15' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-189' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-19' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-190' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-38' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-9' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-21' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-21' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-21' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-21' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-21' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-38' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-191' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-192' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-21' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-193' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-21' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-194' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-189'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-19' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-17' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-195'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-15' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-196' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-99' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-17' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-191' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-21' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-196'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-20' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-184' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_iova_t' type-id='type-id-17' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-184'/>
+    <typedef-decl name='__int32_t' type-id='type-id-9' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-197'/>
+    <typedef-decl name='int32_t' type-id='type-id-197' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-191'/>
+    <qualified-type-def type-id='type-id-195' const='yes' id='type-id-198'/>
+    <pointer-type-def type-id='type-id-198' size-in-bits='64' id='type-id-190'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-199'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-21' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-21' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-21' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-200' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-19' size-in-bits='98304' id='type-id-200'>
+      <subrange length='1536' type-id='type-id-22' id='type-id-201'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-199' size-in-bits='64' id='type-id-192'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-193'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-202' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-203' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-204'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-205' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-183' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-206' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-205'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-202' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-204' size-in-bits='64' id='type-id-202'/>
+    <pointer-type-def type-id='type-id-188' size-in-bits='64' id='type-id-183'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-206'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-184' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-20' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-202' size-in-bits='64' id='type-id-203'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-194'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-207' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-208' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-209'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-210' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-183' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-19' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-211' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-99' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-212' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-19' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-210'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-207' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-209' size-in-bits='64' id='type-id-207'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-211'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-184' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-20' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-213' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-214'/>
+    <pointer-type-def type-id='type-id-214' size-in-bits='64' id='type-id-212'/>
+    <pointer-type-def type-id='type-id-207' size-in-bits='64' id='type-id-208'/>
+    <pointer-type-def type-id='type-id-181' size-in-bits='64' id='type-id-215'/>
+    <pointer-type-def type-id='type-id-215' size-in-bits='64' id='type-id-216'/>
+    <pointer-type-def type-id='type-id-217' size-in-bits='64' id='type-id-218'/>
+    <typedef-decl name='dequeue_pkt_burst_t' type-id='type-id-218' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='800' column='1' id='type-id-176'/>
+    <typedef-decl name='enqueue_pkt_burst_t' type-id='type-id-218' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='804' column='1' id='type-id-177'/>
+    <class-decl name='rte_cryptodev_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='856' column='1' id='type-id-219'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_id' type-id='type-id-3' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='857' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='socket_id' type-id='type-id-3' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='859' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='name' type-id='type-id-220' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='861' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='dev_started' type-id='type-id-3' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='session_pool' type-id='type-id-183' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='868' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='queue_pairs' type-id='type-id-221' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='870' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='nb_queue_pairs' type-id='type-id-51' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='872' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='dev_private' type-id='type-id-19' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='875' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-24' size-in-bits='512' id='type-id-220'>
+      <subrange length='64' type-id='type-id-22' id='type-id-222'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-221'/>
+    <pointer-type-def type-id='type-id-219' size-in-bits='64' id='type-id-178'/>
+    <pointer-type-def type-id='type-id-158' size-in-bits='64' id='type-id-179'/>
+    <class-decl name='rte_cryptodev_cb_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='814' column='1' id='type-id-180'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-223' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='814' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-224' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='814' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_callback' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-225'/>
+    <pointer-type-def type-id='type-id-225' size-in-bits='64' id='type-id-223'/>
+    <pointer-type-def type-id='type-id-223' size-in-bits='64' id='type-id-224'/>
+    <pointer-type-def type-id='type-id-175' size-in-bits='64' id='type-id-226'/>
+    <class-decl name='rte_cryptodev_config' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='619' column='1' id='type-id-227'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='socket_id' type-id='type-id-9' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='620' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_queue_pairs' type-id='type-id-51' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ff_disable' type-id='type-id-17' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='623' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-227' size-in-bits='64' id='type-id-228'/>
+    <pointer-type-def type-id='type-id-229' size-in-bits='64' id='type-id-230'/>
+    <typedef-decl name='cryptodev_configure_t' type-id='type-id-230' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='127' column='1' id='type-id-159'/>
+    <pointer-type-def type-id='type-id-231' size-in-bits='64' id='type-id-232'/>
+    <typedef-decl name='cryptodev_start_t' type-id='type-id-232' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='137' column='1' id='type-id-160'/>
+    <pointer-type-def type-id='type-id-233' size-in-bits='64' id='type-id-234'/>
+    <typedef-decl name='cryptodev_stop_t' type-id='type-id-234' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='144' column='1' id='type-id-161'/>
+    <typedef-decl name='cryptodev_close_t' type-id='type-id-232' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='154' column='1' id='type-id-162'/>
+    <class-decl name='rte_cryptodev_info' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='468' column='1' id='type-id-235'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='driver_name' type-id='type-id-57' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='469' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='driver_id' type-id='type-id-3' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='470' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='device' type-id='type-id-61' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='471' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='feature_flags' type-id='type-id-17' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='473' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='capabilities' type-id='type-id-236' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='476' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='max_nb_queue_pairs' type-id='type-id-38' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='479' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='min_mbuf_headroom_req' type-id='type-id-51' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='482' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='min_mbuf_tailroom_req' type-id='type-id-51' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='485' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='sym' type-id='type-id-237' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='494' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_capabilities' size-in-bits='320' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='176' column='1' id='type-id-238'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-239' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='177' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='' type-id='type-id-240' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_op_type' filepath='../lib/librte_cryptodev/rte_crypto.h' line='29' column='1' id='type-id-239'>
+      <underlying-type type-id='type-id-103'/>
+      <enumerator name='RTE_CRYPTO_OP_TYPE_UNDEFINED' value='0'/>
+      <enumerator name='RTE_CRYPTO_OP_TYPE_SYMMETRIC' value='1'/>
+      <enumerator name='RTE_CRYPTO_OP_TYPE_ASYMMETRIC' value='2'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='288' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='181' column='1' id='type-id-240'>
+      <data-member access='private'>
+        <var-decl name='sym' type-id='type-id-241' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='182' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='asym' type-id='type-id-242' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='184' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_cryptodev_symmetric_capability' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='98' column='1' id='type-id-241'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xform_type' type-id='type-id-243' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='99' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='' type-id='type-id-244' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_sym_xform_type' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='424' column='1' id='type-id-243'>
+      <underlying-type type-id='type-id-103'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_NOT_SPECIFIED' value='0'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_AUTH' value='1'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_CIPHER' value='2'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_AEAD' value='3'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='102' column='1' id='type-id-244'>
+      <data-member access='private'>
+        <var-decl name='auth' type-id='type-id-245' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='116' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='cipher' type-id='type-id-246' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='127' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='aead' type-id='type-id-247' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='103' column='1' id='type-id-245'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-248' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='104' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='block_size' type-id='type-id-51' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='key_size' type-id='type-id-249' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='digest_size' type-id='type-id-249' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='110' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='aad_size' type-id='type-id-249' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='112' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv_size' type-id='type-id-249' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='114' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_auth_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='189' column='1' id='type-id-248'>
+      <underlying-type type-id='type-id-103'/>
+      <enumerator name='RTE_CRYPTO_AUTH_NULL' value='1'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_CBC_MAC' value='2'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_CMAC' value='3'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_GMAC' value='4'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_XCBC_MAC' value='5'/>
+      <enumerator name='RTE_CRYPTO_AUTH_KASUMI_F9' value='6'/>
+      <enumerator name='RTE_CRYPTO_AUTH_MD5' value='7'/>
+      <enumerator name='RTE_CRYPTO_AUTH_MD5_HMAC' value='8'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA1' value='9'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA1_HMAC' value='10'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA224' value='11'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA224_HMAC' value='12'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA256' value='13'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA256_HMAC' value='14'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA384' value='15'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA384_HMAC' value='16'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA512' value='17'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA512_HMAC' value='18'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SNOW3G_UIA2' value='19'/>
+      <enumerator name='RTE_CRYPTO_AUTH_ZUC_EIA3' value='20'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_224' value='21'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_224_HMAC' value='22'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_256' value='23'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_256_HMAC' value='24'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_384' value='25'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_384_HMAC' value='26'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_512' value='27'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_512_HMAC' value='28'/>
+      <enumerator name='RTE_CRYPTO_AUTH_LIST_END' value='29'/>
+    </enum-decl>
+    <class-decl name='rte_crypto_param_range' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='84' column='1' id='type-id-249'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='min' type-id='type-id-51' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='max' type-id='type-id-51' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='increment' type-id='type-id-51' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='87' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='160' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='118' column='1' id='type-id-246'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-250' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='119' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='block_size' type-id='type-id-51' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='121' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='key_size' type-id='type-id-249' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='123' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='iv_size' type-id='type-id-249' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='125' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_cipher_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='30' column='1' id='type-id-250'>
+      <underlying-type type-id='type-id-103'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_NULL' value='1'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_CBC' value='2'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_CTR' value='3'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_ECB' value='4'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_CBC' value='5'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_CTR' value='6'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_ECB' value='7'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_F8' value='8'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_XTS' value='9'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_ARC4' value='10'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_KASUMI_F8' value='11'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_SNOW3G_UEA2' value='12'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_ZUC_EEA3' value='13'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_DES_CBC' value='14'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_DOCSISBPI' value='15'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_DES_DOCSISBPI' value='16'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_LIST_END' value='17'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='129' column='1' id='type-id-247'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-251' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='130' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='block_size' type-id='type-id-51' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='132' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='key_size' type-id='type-id-249' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='134' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='digest_size' type-id='type-id-249' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='136' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='aad_size' type-id='type-id-249' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv_size' type-id='type-id-249' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='140' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_aead_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='346' column='1' id='type-id-251'>
+      <underlying-type type-id='type-id-103'/>
+      <enumerator name='RTE_CRYPTO_AEAD_AES_CCM' value='1'/>
+      <enumerator name='RTE_CRYPTO_AEAD_AES_GCM' value='2'/>
+      <enumerator name='RTE_CRYPTO_AEAD_LIST_END' value='3'/>
+    </enum-decl>
+    <class-decl name='rte_cryptodev_asymmetric_capability' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='170' column='1' id='type-id-242'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xform_capa' type-id='type-id-252' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_asymmetric_xform_capability' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='150' column='1' id='type-id-252'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xform_type' type-id='type-id-253' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='151' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='op_types' type-id='type-id-21' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-254' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_asym_xform_type' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='53' column='1' id='type-id-253'>
+      <underlying-type type-id='type-id-103'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_UNSPECIFIED' value='0'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_NONE' value='1'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_RSA' value='2'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_DH' value='3'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_DSA' value='4'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_MODINV' value='5'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_MODEX' value='6'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_TYPE_LIST_END' value='7'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='48' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='158' column='1' id='type-id-254'>
+      <data-member access='private'>
+        <var-decl name='modlen' type-id='type-id-249' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='159' column='1'/>
+      </data-member>
+    </union-decl>
+    <qualified-type-def type-id='type-id-238' const='yes' id='type-id-255'/>
+    <pointer-type-def type-id='type-id-255' size-in-bits='64' id='type-id-236'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='488' column='1' id='type-id-237'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max_nb_sessions' type-id='type-id-38' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='489' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-235' size-in-bits='64' id='type-id-256'/>
+    <pointer-type-def type-id='type-id-257' size-in-bits='64' id='type-id-258'/>
+    <typedef-decl name='cryptodev_info_get_t' type-id='type-id-258' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='180' column='1' id='type-id-163'/>
+    <class-decl name='rte_cryptodev_stats' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='530' column='1' id='type-id-259'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='enqueued_count' type-id='type-id-17' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='531' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dequeued_count' type-id='type-id-17' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='533' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='enqueue_err_count' type-id='type-id-17' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='536' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dequeue_err_count' type-id='type-id-17' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='538' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-259' size-in-bits='64' id='type-id-260'/>
+    <pointer-type-def type-id='type-id-261' size-in-bits='64' id='type-id-262'/>
+    <typedef-decl name='cryptodev_stats_get_t' type-id='type-id-262' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='163' column='1' id='type-id-164'/>
+    <typedef-decl name='cryptodev_stats_reset_t' type-id='type-id-234' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='172' column='1' id='type-id-165'/>
+    <class-decl name='rte_cryptodev_qp_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='508' column='1' id='type-id-263'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_descriptors' type-id='type-id-21' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='509' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp_session' type-id='type-id-183' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='510' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mp_session_private' type-id='type-id-183' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='512' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-263' const='yes' id='type-id-264'/>
+    <pointer-type-def type-id='type-id-264' size-in-bits='64' id='type-id-265'/>
+    <pointer-type-def type-id='type-id-266' size-in-bits='64' id='type-id-267'/>
+    <typedef-decl name='cryptodev_queue_pair_setup_t' type-id='type-id-267' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='193' column='1' id='type-id-166'/>
+    <pointer-type-def type-id='type-id-268' size-in-bits='64' id='type-id-269'/>
+    <typedef-decl name='cryptodev_queue_pair_release_t' type-id='type-id-269' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='207' column='1' id='type-id-167'/>
+    <pointer-type-def type-id='type-id-270' size-in-bits='64' id='type-id-271'/>
+    <typedef-decl name='cryptodev_queue_pair_count_t' type-id='type-id-271' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='217' column='1' id='type-id-168'/>
+    <pointer-type-def type-id='type-id-272' size-in-bits='64' id='type-id-273'/>
+    <typedef-decl name='cryptodev_sym_get_session_private_size_t' type-id='type-id-273' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='245' column='1' id='type-id-169'/>
+    <typedef-decl name='cryptodev_asym_get_session_private_size_t' type-id='type-id-273' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='256' column='1' id='type-id-170'/>
+    <class-decl name='rte_crypto_sym_xform' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='440' column='1' id='type-id-274'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-275' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='441' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-243' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='443' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-276' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-274' size-in-bits='64' id='type-id-275'/>
+    <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='446' column='1' id='type-id-276'>
+      <data-member access='private'>
+        <var-decl name='auth' type-id='type-id-277' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='447' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='cipher' type-id='type-id-278' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='aead' type-id='type-id-279' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='451' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_crypto_auth_xform' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='278' column='1' id='type-id-277'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-280' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-248' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='281' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-281' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='287' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv' type-id='type-id-282' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='330' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='digest_length' type-id='type-id-51' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='332' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_auth_operation' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='262' column='1' id='type-id-280'>
+      <underlying-type type-id='type-id-103'/>
+      <enumerator name='RTE_CRYPTO_AUTH_OP_VERIFY' value='0'/>
+      <enumerator name='RTE_CRYPTO_AUTH_OP_GENERATE' value='1'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='284' column='1' id='type-id-281'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-283' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='285' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='length' type-id='type-id-51' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='286' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-3' const='yes' id='type-id-284'/>
+    <pointer-type-def type-id='type-id-284' size-in-bits='64' id='type-id-283'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='295' column='1' id='type-id-282'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='offset' type-id='type-id-51' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='296' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='length' type-id='type-id-51' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='312' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_cipher_xform' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='107' column='1' id='type-id-278'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-285' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-250' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='113' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-281' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='119' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv' type-id='type-id-282' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='185' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_cipher_operation' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='90' column='1' id='type-id-285'>
+      <underlying-type type-id='type-id-103'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_OP_ENCRYPT' value='0'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_OP_DECRYPT' value='1'/>
+    </enum-decl>
+    <class-decl name='rte_crypto_aead_xform' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='370' column='1' id='type-id-279'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-286' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='371' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-251' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='373' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-281' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='379' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv' type-id='type-id-282' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='411' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='digest_length' type-id='type-id-51' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='413' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='240'>
+        <var-decl name='aad_length' type-id='type-id-51' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='415' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_aead_operation' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='359' column='1' id='type-id-286'>
+      <underlying-type type-id='type-id-103'/>
+      <enumerator name='RTE_CRYPTO_AEAD_OP_ENCRYPT' value='0'/>
+      <enumerator name='RTE_CRYPTO_AEAD_OP_DECRYPT' value='1'/>
+    </enum-decl>
+    <class-decl name='rte_cryptodev_sym_session' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='974' column='1' id='type-id-287'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='opaque_data' type-id='type-id-17' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='975' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='nb_drivers' type-id='type-id-51' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='977' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='user_data_sz' type-id='type-id-51' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='979' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='sess_data' type-id='type-id-288' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='984' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='981' column='1' id='type-id-289'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-19' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='982' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='refcnt' type-id='type-id-51' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='983' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-289' size-in-bits='infinite' id='type-id-288'>
+      <subrange length='infinite' type-id='type-id-22' id='type-id-290'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-287' size-in-bits='64' id='type-id-291'/>
+    <pointer-type-def type-id='type-id-292' size-in-bits='64' id='type-id-293'/>
+    <typedef-decl name='cryptodev_sym_configure_session_t' type-id='type-id-293' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='273' column='1' id='type-id-171'/>
+    <class-decl name='rte_crypto_asym_xform' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='353' column='1' id='type-id-294'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-295' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='354' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='xform_type' type-id='type-id-253' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='356' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-296' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-294' size-in-bits='64' id='type-id-295'/>
+    <union-decl name='__anonymous_union__' size-in-bits='1408' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='360' column='1' id='type-id-296'>
+      <data-member access='private'>
+        <var-decl name='rsa' type-id='type-id-297' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='361' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='modex' type-id='type-id-298' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='364' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='modinv' type-id='type-id-299' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='367' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dh' type-id='type-id-300' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='370' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dsa' type-id='type-id-301' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='373' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_crypto_rsa_xform' size-in-bits='1408' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='192' column='1' id='type-id-297'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n' type-id='type-id-302' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='193' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='e' type-id='type-id-302' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='199' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='key_type' type-id='type-id-303' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='' type-id='type-id-304' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_param_t' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='30' column='1' id='type-id-305'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-306' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='iova' type-id='type-id-184' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='33' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='length' type-id='type-id-99' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='35' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-306'/>
+    <typedef-decl name='rte_crypto_param' type-id='type-id-305' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='37' column='1' id='type-id-302'/>
+    <enum-decl name='rte_crypto_rsa_priv_key_type' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='133' column='1' id='type-id-303'>
+      <underlying-type type-id='type-id-103'/>
+      <enumerator name='RTE_RSA_KEY_TYPE_EXP' value='0'/>
+      <enumerator name='RTE_RSA_KET_TYPE_QT' value='1'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='960' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='208' column='1' id='type-id-304'>
+      <data-member access='private'>
+        <var-decl name='d' type-id='type-id-302' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='209' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='qt' type-id='type-id-307' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='216' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_crypto_rsa_priv_key_qt' size-in-bits='960' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='146' column='1' id='type-id-307'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='p' type-id='type-id-302' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='147' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='q' type-id='type-id-302' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='dP' type-id='type-id-302' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='161' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dQ' type-id='type-id-302' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='169' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='qInv' type-id='type-id-302' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='177' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_modex_xform' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='227' column='1' id='type-id-298'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='modulus' type-id='type-id-302' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='exponent' type-id='type-id-302' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='237' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_modinv_xform' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='250' column='1' id='type-id-299'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='modulus' type-id='type-id-302' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='251' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_dh_xform' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='271' column='1' id='type-id-300'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-308' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='272' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='p' type-id='type-id-302' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='275' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='g' type-id='type-id-302' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='281' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_asym_op_type' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='91' column='1' id='type-id-308'>
+      <underlying-type type-id='type-id-103'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_ENCRYPT' value='0'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_DECRYPT' value='1'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_SIGN' value='2'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_VERIFY' value='3'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_PRIVATE_KEY_GENERATE' value='4'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_PUBLIC_KEY_GENERATE' value='5'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_SHARED_SECRET_COMPUTE' value='6'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_LIST_END' value='7'/>
+    </enum-decl>
+    <class-decl name='rte_crypto_dsa_xform' size-in-bits='768' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='295' column='1' id='type-id-301'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='p' type-id='type-id-302' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='296' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='q' type-id='type-id-302' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='301' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='g' type-id='type-id-302' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='307' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='x' type-id='type-id-302' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='311' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_asym_session' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='989' column='1' id='type-id-309'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='sess_private_data' type-id='type-id-310' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='990' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-19' size-in-bits='infinite' id='type-id-310'>
+      <subrange length='infinite' type-id='type-id-22' id='type-id-290'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-309' size-in-bits='64' id='type-id-311'/>
+    <pointer-type-def type-id='type-id-312' size-in-bits='64' id='type-id-313'/>
+    <typedef-decl name='cryptodev_asym_configure_session_t' type-id='type-id-313' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='291' column='1' id='type-id-172'/>
+    <pointer-type-def type-id='type-id-314' size-in-bits='64' id='type-id-315'/>
+    <typedef-decl name='cryptodev_sym_free_session_t' type-id='type-id-315' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='301' column='1' id='type-id-173'/>
+    <pointer-type-def type-id='type-id-316' size-in-bits='64' id='type-id-317'/>
+    <typedef-decl name='cryptodev_asym_free_session_t' type-id='type-id-317' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='309' column='1' id='type-id-174'/>
+    <var-decl name='ccp_pmd_ops' type-id='type-id-179' visibility='default' filepath='../drivers/crypto/ccp/ccp_pmd_private.h' line='100' column='1'/>
+    <function-type size-in-bits='64' id='type-id-231'>
+      <parameter type-id='type-id-226'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-312'>
+      <parameter type-id='type-id-226'/>
+      <parameter type-id='type-id-295'/>
+      <parameter type-id='type-id-311'/>
+      <parameter type-id='type-id-183'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-292'>
+      <parameter type-id='type-id-226'/>
+      <parameter type-id='type-id-275'/>
+      <parameter type-id='type-id-291'/>
+      <parameter type-id='type-id-183'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-229'>
+      <parameter type-id='type-id-226'/>
+      <parameter type-id='type-id-228'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-268'>
+      <parameter type-id='type-id-226'/>
+      <parameter type-id='type-id-51'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-266'>
+      <parameter type-id='type-id-226'/>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-265'/>
+      <parameter type-id='type-id-9'/>
+      <return type-id='type-id-9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-217'>
+      <parameter type-id='type-id-19'/>
+      <parameter type-id='type-id-216'/>
+      <parameter type-id='type-id-51'/>
+      <return type-id='type-id-51'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-270'>
+      <parameter type-id='type-id-226'/>
+      <return type-id='type-id-21'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-272'>
+      <parameter type-id='type-id-226'/>
+      <return type-id='type-id-38'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-233'>
+      <parameter type-id='type-id-226'/>
+      <return type-id='type-id-41'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-316'>
+      <parameter type-id='type-id-226'/>
+      <parameter type-id='type-id-311'/>
+      <return type-id='type-id-41'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-257'>
+      <parameter type-id='type-id-226'/>
+      <parameter type-id='type-id-256'/>
+      <return type-id='type-id-41'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-261'>
+      <parameter type-id='type-id-226'/>
+      <parameter type-id='type-id-260'/>
+      <return type-id='type-id-41'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-314'>
+      <parameter type-id='type-id-226'/>
+      <parameter type-id='type-id-291'/>
+      <return type-id='type-id-41'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-213'>
+      <parameter type-id='type-id-207'/>
+      <parameter type-id='type-id-19'/>
+      <return type-id='type-id-41'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_crypto_scheduler.dump b/drivers/.abi/librte_pmd_crypto_scheduler.dump
new file mode 100644
index 000000000..c2a084f78
--- /dev/null
+++ b/drivers/.abi/librte_pmd_crypto_scheduler.dump
@@ -0,0 +1,1473 @@
+<abi-corpus path='gcc//drivers/librte_pmd_crypto_scheduler.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_crypto_scheduler.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='librte_reorder.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_cryptodev_scheduler_load_user_scheduler' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_scheduler_mode_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_scheduler_mode_set' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_scheduler_option_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_scheduler_option_set' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_scheduler_ordering_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_scheduler_ordering_set' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_scheduler_slave_attach' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_scheduler_slave_detach' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_cryptodev_scheduler_slaves_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../drivers/crypto/scheduler/rte_cryptodev_scheduler.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='scheduler_logtype_driver' type-id='type-id-1' visibility='default' filepath='../drivers/crypto/scheduler/scheduler_pmd_private.h' line='15' column='1'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-2'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-2' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-3'/>
+    <typedef-decl name='uint8_t' type-id='type-id-3' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-4'/>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-5'/>
+    <enum-decl name='rte_cryptodev_schedule_option_type' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler.h' line='69' column='1' id='type-id-6'>
+      <underlying-type type-id='type-id-5'/>
+      <enumerator name='CDEV_SCHED_OPTION_NOT_SET' value='0'/>
+      <enumerator name='CDEV_SCHED_OPTION_THRESHOLD' value='1'/>
+      <enumerator name='CDEV_SCHED_OPTION_COUNT' value='2'/>
+    </enum-decl>
+    <type-decl name='void' id='type-id-7'/>
+    <pointer-type-def type-id='type-id-7' size-in-bits='64' id='type-id-8'/>
+    <function-decl name='rte_cryptodev_scheduler_option_get' mangled-name='rte_cryptodev_scheduler_option_get' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler.c' line='552' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_scheduler_option_get@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='scheduler_id' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler.c' line='552' column='1'/>
+      <parameter type-id='type-id-6' name='option_type' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler.c' line='553' column='1'/>
+      <parameter type-id='type-id-8' name='option' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler.c' line='554' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_scheduler_option_set' mangled-name='rte_cryptodev_scheduler_option_set' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler.c' line='521' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_scheduler_option_set@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='scheduler_id' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler.c' line='552' column='1'/>
+      <parameter type-id='type-id-6' name='option_type' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler.c' line='553' column='1'/>
+      <parameter type-id='type-id-8' name='option' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler.c' line='554' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-9'/>
+    <function-decl name='rte_cryptodev_scheduler_slaves_get' mangled-name='rte_cryptodev_scheduler_slaves_get' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler.c' line='490' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_scheduler_slaves_get@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='scheduler_id' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler.c' line='490' column='1'/>
+      <parameter type-id='type-id-9' name='slaves' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler.c' line='490' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_cryptodev_scheduler' size-in-bits='256' is-struct='yes' visibility='default' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler.h' line='263' column='1' id='type-id-10'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-11' visibility='default' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler.h' line='264' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='description' type-id='type-id-11' visibility='default' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler.h' line='265' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mode' type-id='type-id-12' visibility='default' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler.h' line='266' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ops' type-id='type-id-13' visibility='default' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler.h' line='269' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-14'/>
+    <qualified-type-def type-id='type-id-14' const='yes' id='type-id-15'/>
+    <pointer-type-def type-id='type-id-15' size-in-bits='64' id='type-id-11'/>
+    <enum-decl name='rte_cryptodev_scheduler_mode' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler.h' line='47' column='1' id='type-id-12'>
+      <underlying-type type-id='type-id-5'/>
+      <enumerator name='CDEV_SCHED_MODE_NOT_SET' value='0'/>
+      <enumerator name='CDEV_SCHED_MODE_USERDEFINED' value='1'/>
+      <enumerator name='CDEV_SCHED_MODE_ROUNDROBIN' value='2'/>
+      <enumerator name='CDEV_SCHED_MODE_PKT_SIZE_DISTR' value='3'/>
+      <enumerator name='CDEV_SCHED_MODE_FAILOVER' value='4'/>
+      <enumerator name='CDEV_SCHED_MODE_MULTICORE' value='5'/>
+      <enumerator name='CDEV_SCHED_MODE_COUNT' value='6'/>
+    </enum-decl>
+    <class-decl name='rte_cryptodev_scheduler_ops' size-in-bits='512' is-struct='yes' visibility='default' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler_operations.h' line='38' column='1' id='type-id-16'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='slave_attach' type-id='type-id-17' visibility='default' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler_operations.h' line='39' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='slave_detach' type-id='type-id-17' visibility='default' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler_operations.h' line='40' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='scheduler_start' type-id='type-id-18' visibility='default' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler_operations.h' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scheduler_stop' type-id='type-id-19' visibility='default' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler_operations.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='config_queue_pair' type-id='type-id-20' visibility='default' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler_operations.h' line='45' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='create_private_ctx' type-id='type-id-21' visibility='default' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler_operations.h' line='47' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='option_set' type-id='type-id-22' visibility='default' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler_operations.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='option_get' type-id='type-id-23' visibility='default' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler_operations.h' line='50' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='817' column='1' id='type-id-24'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dequeue_burst' type-id='type-id-25' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='818' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='enqueue_burst' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='820' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data' type-id='type-id-27' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='823' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_ops' type-id='type-id-28' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='825' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='feature_flags' type-id='type-id-29' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='827' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-30' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='829' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='driver_id' type-id='type-id-4' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='832' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='link_intr_cbs' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='835' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='security_ctx' type-id='type-id-8' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='attached' type-id='type-id-4' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='842' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-32'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-32' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-33'/>
+    <typedef-decl name='uint16_t' type-id='type-id-33' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-34'/>
+    <class-decl name='rte_crypto_op' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='78' column='1' id='type-id-35'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-36' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mempool' type-id='type-id-37' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='110' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='phys_addr' type-id='type-id-38' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='113' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='80' column='1' id='type-id-36'>
+      <data-member access='private'>
+        <var-decl name='raw' type-id='type-id-29' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-39' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-40'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-40' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-41'/>
+    <typedef-decl name='uint64_t' type-id='type-id-41' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-29'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='83' column='1' id='type-id-39'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-4' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='status' type-id='type-id-4' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='sess_type' type-id='type-id-4' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='reserved' type-id='type-id-42' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='private_data_offset' type-id='type-id-34' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='100' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-4' size-in-bits='24' id='type-id-42'>
+      <subrange length='3' type-id='type-id-40' id='type-id-43'/>
+
+    </array-type-def>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-44'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-45' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-46' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-8' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-47' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-48' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-48' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-50' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-51' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-52' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-53' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-14' size-in-bits='256' id='type-id-45'>
+      <subrange length='32' type-id='type-id-40' id='type-id-54'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-46'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-8' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-29' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-55'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-45' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-56' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-57' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-29' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-50' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-49' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-56'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-58' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-38' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-29' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-58'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-29' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-38'/>
+    <typedef-decl name='size_t' type-id='type-id-40' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-57'/>
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-59'/>
+    <typedef-decl name='int32_t' type-id='type-id-59' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-50'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-48'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-48' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-60'/>
+    <typedef-decl name='uint32_t' type-id='type-id-60' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-49'/>
+    <qualified-type-def type-id='type-id-55' const='yes' id='type-id-61'/>
+    <pointer-type-def type-id='type-id-61' size-in-bits='64' id='type-id-47'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-62'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-63' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='98304' id='type-id-63'>
+      <subrange length='1536' type-id='type-id-40' id='type-id-64'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-62' size-in-bits='64' id='type-id-51'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-52'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-65' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-66' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-67'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-68' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-37' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-69' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-68'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-65' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-67' size-in-bits='64' id='type-id-65'/>
+    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-37'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-69'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-38' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-58' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-66'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-53'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-70' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-71' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-72'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-73' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-37' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-8' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-74' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-57' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-75' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-8' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-73'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-70' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-72' size-in-bits='64' id='type-id-70'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-74'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-38' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-58' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-76' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-77'/>
+    <pointer-type-def type-id='type-id-77' size-in-bits='64' id='type-id-75'/>
+    <pointer-type-def type-id='type-id-70' size-in-bits='64' id='type-id-71'/>
+    <pointer-type-def type-id='type-id-35' size-in-bits='64' id='type-id-78'/>
+    <pointer-type-def type-id='type-id-78' size-in-bits='64' id='type-id-79'/>
+    <pointer-type-def type-id='type-id-80' size-in-bits='64' id='type-id-81'/>
+    <typedef-decl name='dequeue_pkt_burst_t' type-id='type-id-81' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='800' column='1' id='type-id-25'/>
+    <typedef-decl name='enqueue_pkt_burst_t' type-id='type-id-81' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='804' column='1' id='type-id-26'/>
+    <class-decl name='rte_cryptodev_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='856' column='1' id='type-id-82'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_id' type-id='type-id-4' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='857' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='socket_id' type-id='type-id-4' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='859' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='name' type-id='type-id-83' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='861' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='dev_started' type-id='type-id-4' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='session_pool' type-id='type-id-37' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='868' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='queue_pairs' type-id='type-id-84' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='870' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='nb_queue_pairs' type-id='type-id-34' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='872' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='dev_private' type-id='type-id-8' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='875' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-14' size-in-bits='512' id='type-id-83'>
+      <subrange length='64' type-id='type-id-40' id='type-id-85'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-84'/>
+    <pointer-type-def type-id='type-id-82' size-in-bits='64' id='type-id-27'/>
+    <class-decl name='rte_cryptodev_ops' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='313' column='1' id='type-id-86'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_configure' type-id='type-id-87' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='314' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_start' type-id='type-id-88' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='315' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dev_stop' type-id='type-id-89' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='316' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_close' type-id='type-id-90' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='317' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dev_infos_get' type-id='type-id-91' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='319' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='stats_get' type-id='type-id-92' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='321' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='stats_reset' type-id='type-id-93' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='323' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='queue_pair_setup' type-id='type-id-94' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='326' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='queue_pair_release' type-id='type-id-95' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='328' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='queue_pair_count' type-id='type-id-96' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='330' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='sym_session_get_size' type-id='type-id-97' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='333' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='asym_session_get_size' type-id='type-id-98' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='335' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='sym_session_configure' type-id='type-id-99' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='337' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='asym_session_configure' type-id='type-id-100' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='339' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='sym_session_clear' type-id='type-id-101' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='341' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='asym_session_clear' type-id='type-id-102' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='343' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-103'/>
+    <class-decl name='rte_cryptodev_config' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='619' column='1' id='type-id-104'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='620' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_queue_pairs' type-id='type-id-34' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ff_disable' type-id='type-id-29' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='623' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-104' size-in-bits='64' id='type-id-105'/>
+    <pointer-type-def type-id='type-id-106' size-in-bits='64' id='type-id-107'/>
+    <typedef-decl name='cryptodev_configure_t' type-id='type-id-107' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='127' column='1' id='type-id-87'/>
+    <pointer-type-def type-id='type-id-108' size-in-bits='64' id='type-id-109'/>
+    <typedef-decl name='cryptodev_start_t' type-id='type-id-109' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='137' column='1' id='type-id-88'/>
+    <pointer-type-def type-id='type-id-110' size-in-bits='64' id='type-id-111'/>
+    <typedef-decl name='cryptodev_stop_t' type-id='type-id-111' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='144' column='1' id='type-id-89'/>
+    <typedef-decl name='cryptodev_close_t' type-id='type-id-109' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='154' column='1' id='type-id-90'/>
+    <class-decl name='rte_cryptodev_info' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='468' column='1' id='type-id-112'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='driver_name' type-id='type-id-11' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='469' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='driver_id' type-id='type-id-4' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='470' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='device' type-id='type-id-30' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='471' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='feature_flags' type-id='type-id-29' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='473' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='capabilities' type-id='type-id-113' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='476' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='max_nb_queue_pairs' type-id='type-id-48' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='479' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='min_mbuf_headroom_req' type-id='type-id-34' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='482' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='min_mbuf_tailroom_req' type-id='type-id-34' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='485' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='sym' type-id='type-id-114' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='494' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-115'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-116' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-11' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-117' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-118' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-119' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-116'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-30' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-120' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-115' size-in-bits='64' id='type-id-30'/>
+    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-120'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-121'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-122' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-11' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-11' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-122'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-123' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-124' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-121' size-in-bits='64' id='type-id-123'/>
+    <pointer-type-def type-id='type-id-123' size-in-bits='64' id='type-id-124'/>
+    <qualified-type-def type-id='type-id-121' const='yes' id='type-id-125'/>
+    <pointer-type-def type-id='type-id-125' size-in-bits='64' id='type-id-117'/>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-126'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-127' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-11' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-128' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-129' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-130' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-131' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-132' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-133' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-134' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-135' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-136' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-137' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-138' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-139' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-140' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-127'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-141' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-142' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-126' size-in-bits='64' id='type-id-141'/>
+    <pointer-type-def type-id='type-id-141' size-in-bits='64' id='type-id-142'/>
+    <pointer-type-def type-id='type-id-143' size-in-bits='64' id='type-id-144'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-144' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-128'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-144' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-129'/>
+    <qualified-type-def type-id='type-id-115' const='yes' id='type-id-145'/>
+    <pointer-type-def type-id='type-id-145' size-in-bits='64' id='type-id-146'/>
+    <pointer-type-def type-id='type-id-147' size-in-bits='64' id='type-id-148'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-148' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-149'/>
+    <pointer-type-def type-id='type-id-150' size-in-bits='64' id='type-id-151'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-151' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-130'/>
+    <pointer-type-def type-id='type-id-152' size-in-bits='64' id='type-id-153'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-153' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-131'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-153' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-132'/>
+    <pointer-type-def type-id='type-id-154' size-in-bits='64' id='type-id-155'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-155' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-133'/>
+    <pointer-type-def type-id='type-id-156' size-in-bits='64' id='type-id-157'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-157' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-134'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-157' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-135'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-136'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-158' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-158'>
+      <underlying-type type-id='type-id-5'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-159'>
+      <underlying-type type-id='type-id-5'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-160' size-in-bits='64' id='type-id-161'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-161' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-137'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-162'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-11' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-11' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-11' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-141' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-163' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-30' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-8' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-164'/>
+    <pointer-type-def type-id='type-id-164' size-in-bits='64' id='type-id-163'/>
+    <qualified-type-def type-id='type-id-162' const='yes' id='type-id-165'/>
+    <pointer-type-def type-id='type-id-165' size-in-bits='64' id='type-id-166'/>
+    <pointer-type-def type-id='type-id-167' size-in-bits='64' id='type-id-168'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-168' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-138'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-153' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-139'/>
+    <pointer-type-def type-id='type-id-169' size-in-bits='64' id='type-id-170'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-170' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-140'/>
+    <qualified-type-def type-id='type-id-126' const='yes' id='type-id-171'/>
+    <pointer-type-def type-id='type-id-171' size-in-bits='64' id='type-id-118'/>
+    <class-decl name='rte_devargs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-172'/>
+    <pointer-type-def type-id='type-id-172' size-in-bits='64' id='type-id-119'/>
+    <class-decl name='rte_cryptodev_capabilities' size-in-bits='320' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='176' column='1' id='type-id-173'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='177' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='' type-id='type-id-175' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_op_type' filepath='../lib/librte_cryptodev/rte_crypto.h' line='29' column='1' id='type-id-174'>
+      <underlying-type type-id='type-id-5'/>
+      <enumerator name='RTE_CRYPTO_OP_TYPE_UNDEFINED' value='0'/>
+      <enumerator name='RTE_CRYPTO_OP_TYPE_SYMMETRIC' value='1'/>
+      <enumerator name='RTE_CRYPTO_OP_TYPE_ASYMMETRIC' value='2'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='288' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='181' column='1' id='type-id-175'>
+      <data-member access='private'>
+        <var-decl name='sym' type-id='type-id-176' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='182' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='asym' type-id='type-id-177' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='184' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_cryptodev_symmetric_capability' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='98' column='1' id='type-id-176'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xform_type' type-id='type-id-178' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='99' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='' type-id='type-id-179' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_sym_xform_type' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='424' column='1' id='type-id-178'>
+      <underlying-type type-id='type-id-5'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_NOT_SPECIFIED' value='0'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_AUTH' value='1'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_CIPHER' value='2'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_AEAD' value='3'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='102' column='1' id='type-id-179'>
+      <data-member access='private'>
+        <var-decl name='auth' type-id='type-id-180' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='116' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='cipher' type-id='type-id-181' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='127' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='aead' type-id='type-id-182' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='103' column='1' id='type-id-180'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-183' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='104' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='block_size' type-id='type-id-34' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='key_size' type-id='type-id-184' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='digest_size' type-id='type-id-184' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='110' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='aad_size' type-id='type-id-184' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='112' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv_size' type-id='type-id-184' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='114' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_auth_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='189' column='1' id='type-id-183'>
+      <underlying-type type-id='type-id-5'/>
+      <enumerator name='RTE_CRYPTO_AUTH_NULL' value='1'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_CBC_MAC' value='2'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_CMAC' value='3'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_GMAC' value='4'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_XCBC_MAC' value='5'/>
+      <enumerator name='RTE_CRYPTO_AUTH_KASUMI_F9' value='6'/>
+      <enumerator name='RTE_CRYPTO_AUTH_MD5' value='7'/>
+      <enumerator name='RTE_CRYPTO_AUTH_MD5_HMAC' value='8'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA1' value='9'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA1_HMAC' value='10'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA224' value='11'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA224_HMAC' value='12'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA256' value='13'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA256_HMAC' value='14'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA384' value='15'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA384_HMAC' value='16'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA512' value='17'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA512_HMAC' value='18'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SNOW3G_UIA2' value='19'/>
+      <enumerator name='RTE_CRYPTO_AUTH_ZUC_EIA3' value='20'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_224' value='21'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_224_HMAC' value='22'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_256' value='23'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_256_HMAC' value='24'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_384' value='25'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_384_HMAC' value='26'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_512' value='27'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_512_HMAC' value='28'/>
+      <enumerator name='RTE_CRYPTO_AUTH_LIST_END' value='29'/>
+    </enum-decl>
+    <class-decl name='rte_crypto_param_range' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='84' column='1' id='type-id-184'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='min' type-id='type-id-34' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='max' type-id='type-id-34' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='increment' type-id='type-id-34' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='87' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='160' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='118' column='1' id='type-id-181'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-185' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='119' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='block_size' type-id='type-id-34' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='121' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='key_size' type-id='type-id-184' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='123' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='iv_size' type-id='type-id-184' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='125' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_cipher_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='30' column='1' id='type-id-185'>
+      <underlying-type type-id='type-id-5'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_NULL' value='1'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_CBC' value='2'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_CTR' value='3'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_ECB' value='4'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_CBC' value='5'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_CTR' value='6'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_ECB' value='7'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_F8' value='8'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_XTS' value='9'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_ARC4' value='10'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_KASUMI_F8' value='11'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_SNOW3G_UEA2' value='12'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_ZUC_EEA3' value='13'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_DES_CBC' value='14'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_DOCSISBPI' value='15'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_DES_DOCSISBPI' value='16'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_LIST_END' value='17'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='129' column='1' id='type-id-182'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-186' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='130' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='block_size' type-id='type-id-34' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='132' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='key_size' type-id='type-id-184' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='134' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='digest_size' type-id='type-id-184' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='136' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='aad_size' type-id='type-id-184' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv_size' type-id='type-id-184' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='140' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_aead_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='346' column='1' id='type-id-186'>
+      <underlying-type type-id='type-id-5'/>
+      <enumerator name='RTE_CRYPTO_AEAD_AES_CCM' value='1'/>
+      <enumerator name='RTE_CRYPTO_AEAD_AES_GCM' value='2'/>
+      <enumerator name='RTE_CRYPTO_AEAD_LIST_END' value='3'/>
+    </enum-decl>
+    <class-decl name='rte_cryptodev_asymmetric_capability' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='170' column='1' id='type-id-177'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xform_capa' type-id='type-id-187' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_asymmetric_xform_capability' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='150' column='1' id='type-id-187'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xform_type' type-id='type-id-188' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='151' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='op_types' type-id='type-id-49' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-189' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_asym_xform_type' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='53' column='1' id='type-id-188'>
+      <underlying-type type-id='type-id-5'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_UNSPECIFIED' value='0'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_NONE' value='1'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_RSA' value='2'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_DH' value='3'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_DSA' value='4'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_MODINV' value='5'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_MODEX' value='6'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_TYPE_LIST_END' value='7'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='48' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='158' column='1' id='type-id-189'>
+      <data-member access='private'>
+        <var-decl name='modlen' type-id='type-id-184' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='159' column='1'/>
+      </data-member>
+    </union-decl>
+    <qualified-type-def type-id='type-id-173' const='yes' id='type-id-190'/>
+    <pointer-type-def type-id='type-id-190' size-in-bits='64' id='type-id-113'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='488' column='1' id='type-id-114'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max_nb_sessions' type-id='type-id-48' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='489' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-112' size-in-bits='64' id='type-id-191'/>
+    <pointer-type-def type-id='type-id-192' size-in-bits='64' id='type-id-193'/>
+    <typedef-decl name='cryptodev_info_get_t' type-id='type-id-193' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='180' column='1' id='type-id-91'/>
+    <class-decl name='rte_cryptodev_stats' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='530' column='1' id='type-id-194'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='enqueued_count' type-id='type-id-29' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='531' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dequeued_count' type-id='type-id-29' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='533' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='enqueue_err_count' type-id='type-id-29' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='536' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dequeue_err_count' type-id='type-id-29' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='538' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-194' size-in-bits='64' id='type-id-195'/>
+    <pointer-type-def type-id='type-id-196' size-in-bits='64' id='type-id-197'/>
+    <typedef-decl name='cryptodev_stats_get_t' type-id='type-id-197' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='163' column='1' id='type-id-92'/>
+    <typedef-decl name='cryptodev_stats_reset_t' type-id='type-id-111' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='172' column='1' id='type-id-93'/>
+    <class-decl name='rte_cryptodev_qp_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='508' column='1' id='type-id-198'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_descriptors' type-id='type-id-49' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='509' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp_session' type-id='type-id-37' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='510' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mp_session_private' type-id='type-id-37' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='512' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-198' const='yes' id='type-id-199'/>
+    <pointer-type-def type-id='type-id-199' size-in-bits='64' id='type-id-200'/>
+    <pointer-type-def type-id='type-id-201' size-in-bits='64' id='type-id-202'/>
+    <typedef-decl name='cryptodev_queue_pair_setup_t' type-id='type-id-202' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='193' column='1' id='type-id-94'/>
+    <pointer-type-def type-id='type-id-203' size-in-bits='64' id='type-id-204'/>
+    <typedef-decl name='cryptodev_queue_pair_release_t' type-id='type-id-204' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='207' column='1' id='type-id-95'/>
+    <pointer-type-def type-id='type-id-205' size-in-bits='64' id='type-id-206'/>
+    <typedef-decl name='cryptodev_queue_pair_count_t' type-id='type-id-206' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='217' column='1' id='type-id-96'/>
+    <pointer-type-def type-id='type-id-207' size-in-bits='64' id='type-id-208'/>
+    <typedef-decl name='cryptodev_sym_get_session_private_size_t' type-id='type-id-208' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='245' column='1' id='type-id-97'/>
+    <typedef-decl name='cryptodev_asym_get_session_private_size_t' type-id='type-id-208' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='256' column='1' id='type-id-98'/>
+    <class-decl name='rte_crypto_sym_xform' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='440' column='1' id='type-id-209'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-210' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='441' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-178' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='443' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-211' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-209' size-in-bits='64' id='type-id-210'/>
+    <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='446' column='1' id='type-id-211'>
+      <data-member access='private'>
+        <var-decl name='auth' type-id='type-id-212' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='447' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='cipher' type-id='type-id-213' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='aead' type-id='type-id-214' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='451' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_crypto_auth_xform' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='278' column='1' id='type-id-212'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-215' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-183' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='281' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-216' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='287' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv' type-id='type-id-217' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='330' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='digest_length' type-id='type-id-34' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='332' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_auth_operation' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='262' column='1' id='type-id-215'>
+      <underlying-type type-id='type-id-5'/>
+      <enumerator name='RTE_CRYPTO_AUTH_OP_VERIFY' value='0'/>
+      <enumerator name='RTE_CRYPTO_AUTH_OP_GENERATE' value='1'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='284' column='1' id='type-id-216'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-218' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='285' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='length' type-id='type-id-34' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='286' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-4' const='yes' id='type-id-219'/>
+    <pointer-type-def type-id='type-id-219' size-in-bits='64' id='type-id-218'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='295' column='1' id='type-id-217'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='offset' type-id='type-id-34' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='296' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='length' type-id='type-id-34' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='312' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_cipher_xform' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='107' column='1' id='type-id-213'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-220' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-185' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='113' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-216' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='119' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv' type-id='type-id-217' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='185' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_cipher_operation' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='90' column='1' id='type-id-220'>
+      <underlying-type type-id='type-id-5'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_OP_ENCRYPT' value='0'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_OP_DECRYPT' value='1'/>
+    </enum-decl>
+    <class-decl name='rte_crypto_aead_xform' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='370' column='1' id='type-id-214'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-221' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='371' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-186' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='373' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-216' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='379' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv' type-id='type-id-217' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='411' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='digest_length' type-id='type-id-34' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='413' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='240'>
+        <var-decl name='aad_length' type-id='type-id-34' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='415' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_aead_operation' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='359' column='1' id='type-id-221'>
+      <underlying-type type-id='type-id-5'/>
+      <enumerator name='RTE_CRYPTO_AEAD_OP_ENCRYPT' value='0'/>
+      <enumerator name='RTE_CRYPTO_AEAD_OP_DECRYPT' value='1'/>
+    </enum-decl>
+    <class-decl name='rte_cryptodev_sym_session' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='974' column='1' id='type-id-222'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='opaque_data' type-id='type-id-29' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='975' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='nb_drivers' type-id='type-id-34' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='977' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='user_data_sz' type-id='type-id-34' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='979' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='sess_data' type-id='type-id-223' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='984' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='981' column='1' id='type-id-224'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-8' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='982' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='refcnt' type-id='type-id-34' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='983' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-224' size-in-bits='infinite' id='type-id-223'>
+      <subrange length='infinite' type-id='type-id-40' id='type-id-225'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-222' size-in-bits='64' id='type-id-226'/>
+    <pointer-type-def type-id='type-id-227' size-in-bits='64' id='type-id-228'/>
+    <typedef-decl name='cryptodev_sym_configure_session_t' type-id='type-id-228' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='273' column='1' id='type-id-99'/>
+    <class-decl name='rte_crypto_asym_xform' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='353' column='1' id='type-id-229'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-230' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='354' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='xform_type' type-id='type-id-188' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='356' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-231' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-229' size-in-bits='64' id='type-id-230'/>
+    <union-decl name='__anonymous_union__' size-in-bits='1408' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='360' column='1' id='type-id-231'>
+      <data-member access='private'>
+        <var-decl name='rsa' type-id='type-id-232' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='361' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='modex' type-id='type-id-233' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='364' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='modinv' type-id='type-id-234' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='367' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dh' type-id='type-id-235' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='370' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dsa' type-id='type-id-236' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='373' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_crypto_rsa_xform' size-in-bits='1408' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='192' column='1' id='type-id-232'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n' type-id='type-id-237' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='193' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='e' type-id='type-id-237' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='199' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='key_type' type-id='type-id-238' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='' type-id='type-id-239' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_param_t' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='30' column='1' id='type-id-240'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-9' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='iova' type-id='type-id-38' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='33' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='length' type-id='type-id-57' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='35' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='rte_crypto_param' type-id='type-id-240' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='37' column='1' id='type-id-237'/>
+    <enum-decl name='rte_crypto_rsa_priv_key_type' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='133' column='1' id='type-id-238'>
+      <underlying-type type-id='type-id-5'/>
+      <enumerator name='RTE_RSA_KEY_TYPE_EXP' value='0'/>
+      <enumerator name='RTE_RSA_KET_TYPE_QT' value='1'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='960' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='208' column='1' id='type-id-239'>
+      <data-member access='private'>
+        <var-decl name='d' type-id='type-id-237' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='209' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='qt' type-id='type-id-241' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='216' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_crypto_rsa_priv_key_qt' size-in-bits='960' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='146' column='1' id='type-id-241'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='p' type-id='type-id-237' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='147' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='q' type-id='type-id-237' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='dP' type-id='type-id-237' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='161' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dQ' type-id='type-id-237' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='169' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='qInv' type-id='type-id-237' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='177' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_modex_xform' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='227' column='1' id='type-id-233'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='modulus' type-id='type-id-237' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='exponent' type-id='type-id-237' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='237' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_modinv_xform' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='250' column='1' id='type-id-234'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='modulus' type-id='type-id-237' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='251' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_dh_xform' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='271' column='1' id='type-id-235'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-242' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='272' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='p' type-id='type-id-237' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='275' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='g' type-id='type-id-237' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='281' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_asym_op_type' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='91' column='1' id='type-id-242'>
+      <underlying-type type-id='type-id-5'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_ENCRYPT' value='0'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_DECRYPT' value='1'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_SIGN' value='2'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_VERIFY' value='3'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_PRIVATE_KEY_GENERATE' value='4'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_PUBLIC_KEY_GENERATE' value='5'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_SHARED_SECRET_COMPUTE' value='6'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_LIST_END' value='7'/>
+    </enum-decl>
+    <class-decl name='rte_crypto_dsa_xform' size-in-bits='768' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='295' column='1' id='type-id-236'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='p' type-id='type-id-237' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='296' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='q' type-id='type-id-237' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='301' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='g' type-id='type-id-237' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='307' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='x' type-id='type-id-237' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='311' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_asym_session' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='989' column='1' id='type-id-243'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='sess_private_data' type-id='type-id-244' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='990' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='infinite' id='type-id-244'>
+      <subrange length='infinite' type-id='type-id-40' id='type-id-225'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-243' size-in-bits='64' id='type-id-245'/>
+    <pointer-type-def type-id='type-id-246' size-in-bits='64' id='type-id-247'/>
+    <typedef-decl name='cryptodev_asym_configure_session_t' type-id='type-id-247' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='291' column='1' id='type-id-100'/>
+    <pointer-type-def type-id='type-id-248' size-in-bits='64' id='type-id-249'/>
+    <typedef-decl name='cryptodev_sym_free_session_t' type-id='type-id-249' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='301' column='1' id='type-id-101'/>
+    <pointer-type-def type-id='type-id-250' size-in-bits='64' id='type-id-251'/>
+    <typedef-decl name='cryptodev_asym_free_session_t' type-id='type-id-251' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='309' column='1' id='type-id-102'/>
+    <pointer-type-def type-id='type-id-86' size-in-bits='64' id='type-id-28'/>
+    <class-decl name='rte_cryptodev_cb_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='814' column='1' id='type-id-31'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-252' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='814' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-253' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='814' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_callback' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-254'/>
+    <pointer-type-def type-id='type-id-254' size-in-bits='64' id='type-id-252'/>
+    <pointer-type-def type-id='type-id-252' size-in-bits='64' id='type-id-253'/>
+    <pointer-type-def type-id='type-id-255' size-in-bits='64' id='type-id-256'/>
+    <typedef-decl name='rte_cryptodev_scheduler_slave_attach_t' type-id='type-id-256' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler_operations.h' line='14' column='1' id='type-id-17'/>
+    <typedef-decl name='rte_cryptodev_scheduler_start_t' type-id='type-id-109' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler_operations.h' line='19' column='1' id='type-id-18'/>
+    <typedef-decl name='rte_cryptodev_scheduler_stop_t' type-id='type-id-109' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler_operations.h' line='20' column='1' id='type-id-19'/>
+    <typedef-decl name='rte_cryptodev_scheduler_config_queue_pair' type-id='type-id-204' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler_operations.h' line='22' column='1' id='type-id-20'/>
+    <typedef-decl name='rte_cryptodev_scheduler_create_private_ctx' type-id='type-id-109' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler_operations.h' line='25' column='1' id='type-id-21'/>
+    <pointer-type-def type-id='type-id-257' size-in-bits='64' id='type-id-258'/>
+    <typedef-decl name='rte_cryptodev_scheduler_config_option_set' type-id='type-id-258' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler_operations.h' line='28' column='1' id='type-id-22'/>
+    <typedef-decl name='rte_cryptodev_scheduler_config_option_get' type-id='type-id-258' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler_operations.h' line='33' column='1' id='type-id-23'/>
+    <pointer-type-def type-id='type-id-16' size-in-bits='64' id='type-id-13'/>
+    <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-259'/>
+    <function-decl name='rte_cryptodev_scheduler_load_user_scheduler' mangled-name='rte_cryptodev_scheduler_load_user_scheduler' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler.c' line='418' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_scheduler_load_user_scheduler@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='scheduler_id' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler.c' line='418' column='1'/>
+      <parameter type-id='type-id-259' name='scheduler' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler.c' line='419' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_scheduler_ordering_get' mangled-name='rte_cryptodev_scheduler_ordering_get' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler.c' line='397' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_scheduler_ordering_get@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='scheduler_id' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler.c' line='397' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_scheduler_ordering_set' mangled-name='rte_cryptodev_scheduler_ordering_set' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler.c' line='368' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_scheduler_ordering_set@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='scheduler_id' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler.c' line='368' column='1'/>
+      <parameter type-id='type-id-49' name='enable_reorder' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler.c' line='369' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_scheduler_mode_get' mangled-name='rte_cryptodev_scheduler_mode_get' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler.c' line='347' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_scheduler_mode_get@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='scheduler_id' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler.c' line='347' column='1'/>
+      <return type-id='type-id-12'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_scheduler_mode_set' mangled-name='rte_cryptodev_scheduler_mode_set' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler.c' line='283' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_scheduler_mode_set@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='scheduler_id' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler.c' line='283' column='1'/>
+      <parameter type-id='type-id-12' name='mode' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler.c' line='284' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_scheduler_slave_detach' mangled-name='rte_cryptodev_scheduler_slave_detach' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler.c' line='226' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_scheduler_slave_detach@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='scheduler_id' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler.c' line='226' column='1'/>
+      <parameter type-id='type-id-4' name='slave_id' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler.c' line='226' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_cryptodev_scheduler_slave_attach' mangled-name='rte_cryptodev_scheduler_slave_attach' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler.c' line='165' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_cryptodev_scheduler_slave_attach@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='scheduler_id' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler.c' line='165' column='1'/>
+      <parameter type-id='type-id-4' name='slave_id' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler.c' line='165' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-160'>
+      <return type-id='type-id-159'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-143'>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-154'>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-8'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-147'>
+      <parameter type-id='type-id-146'/>
+      <parameter type-id='type-id-8'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-108'>
+      <parameter type-id='type-id-103'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-246'>
+      <parameter type-id='type-id-103'/>
+      <parameter type-id='type-id-230'/>
+      <parameter type-id='type-id-245'/>
+      <parameter type-id='type-id-37'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-227'>
+      <parameter type-id='type-id-103'/>
+      <parameter type-id='type-id-210'/>
+      <parameter type-id='type-id-226'/>
+      <parameter type-id='type-id-37'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-106'>
+      <parameter type-id='type-id-103'/>
+      <parameter type-id='type-id-105'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-203'>
+      <parameter type-id='type-id-103'/>
+      <parameter type-id='type-id-34'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-201'>
+      <parameter type-id='type-id-103'/>
+      <parameter type-id='type-id-34'/>
+      <parameter type-id='type-id-200'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-257'>
+      <parameter type-id='type-id-103'/>
+      <parameter type-id='type-id-49'/>
+      <parameter type-id='type-id-8'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-255'>
+      <parameter type-id='type-id-103'/>
+      <parameter type-id='type-id-4'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-152'>
+      <parameter type-id='type-id-30'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-156'>
+      <parameter type-id='type-id-30'/>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-57'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-169'>
+      <parameter type-id='type-id-8'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-150'>
+      <parameter type-id='type-id-146'/>
+      <parameter type-id='type-id-149'/>
+      <parameter type-id='type-id-8'/>
+      <return type-id='type-id-30'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-80'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-79'/>
+      <parameter type-id='type-id-34'/>
+      <return type-id='type-id-34'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-205'>
+      <parameter type-id='type-id-103'/>
+      <return type-id='type-id-49'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-207'>
+      <parameter type-id='type-id-103'/>
+      <return type-id='type-id-48'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-110'>
+      <parameter type-id='type-id-103'/>
+      <return type-id='type-id-7'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-250'>
+      <parameter type-id='type-id-103'/>
+      <parameter type-id='type-id-245'/>
+      <return type-id='type-id-7'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-192'>
+      <parameter type-id='type-id-103'/>
+      <parameter type-id='type-id-191'/>
+      <return type-id='type-id-7'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-196'>
+      <parameter type-id='type-id-103'/>
+      <parameter type-id='type-id-195'/>
+      <return type-id='type-id-7'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-248'>
+      <parameter type-id='type-id-103'/>
+      <parameter type-id='type-id-226'/>
+      <return type-id='type-id-7'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-76'>
+      <parameter type-id='type-id-70'/>
+      <parameter type-id='type-id-8'/>
+      <return type-id='type-id-7'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-167'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-166'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/crypto/scheduler/scheduler_failover.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='crypto_scheduler_failover' type-id='type-id-259' visibility='default' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler.h' line='277' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/crypto/scheduler/scheduler_multicore.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='crypto_scheduler_multicore' type-id='type-id-259' visibility='default' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler.h' line='279' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/crypto/scheduler/scheduler_pkt_size_distr.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='crypto_scheduler_pkt_size_based_distr' type-id='type-id-259' visibility='default' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler.h' line='275' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/crypto/scheduler/scheduler_pmd.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='cryptodev_scheduler_driver_id' type-id='type-id-4' visibility='default' filepath='../drivers/crypto/scheduler/scheduler_pmd_private.h' line='66' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/crypto/scheduler/scheduler_pmd_ops.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='rte_crypto_scheduler_pmd_ops' type-id='type-id-28' visibility='default' filepath='../drivers/crypto/scheduler/scheduler_pmd_private.h' line='114' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/crypto/scheduler/scheduler_roundrobin.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='crypto_scheduler_roundrobin' type-id='type-id-259' visibility='default' filepath='../drivers/crypto/scheduler/rte_cryptodev_scheduler.h' line='273' column='1'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_dpaa2_sec.dump b/drivers/.abi/librte_pmd_dpaa2_sec.dump
new file mode 100644
index 000000000..d7aac9dc5
--- /dev/null
+++ b/drivers/.abi/librte_pmd_dpaa2_sec.dump
@@ -0,0 +1,1511 @@
+<abi-corpus path='gcc//drivers/librte_pmd_dpaa2_sec.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_dpaa2_sec.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_security.so.20.0'/>
+    <dependency name='librte_mempool_dpaa2.so.20.0'/>
+    <dependency name='librte_bus_fslmc.so.20.0'/>
+    <dependency name='librte_common_dpaax.so.20.0'/>
+    <dependency name='librte_eventdev.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='librte_timer.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='dpaa2_sec_eventq_attach' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpaa2_sec_eventq_detach' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-1'/>
+    <enum-decl name='rta_sec_era' filepath='../drivers/crypto/dpaa2_sec/../../common/dpaax/caamflib/rta/sec_run_time_asm.h' line='29' column='1' id='type-id-2'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTA_SEC_ERA_1' value='0'/>
+      <enumerator name='RTA_SEC_ERA_2' value='1'/>
+      <enumerator name='RTA_SEC_ERA_3' value='2'/>
+      <enumerator name='RTA_SEC_ERA_4' value='3'/>
+      <enumerator name='RTA_SEC_ERA_5' value='4'/>
+      <enumerator name='RTA_SEC_ERA_6' value='5'/>
+      <enumerator name='RTA_SEC_ERA_7' value='6'/>
+      <enumerator name='RTA_SEC_ERA_8' value='7'/>
+      <enumerator name='RTA_SEC_ERA_9' value='8'/>
+      <enumerator name='RTA_SEC_ERA_10' value='9'/>
+      <enumerator name='MAX_SEC_ERA' value='9'/>
+    </enum-decl>
+    <var-decl name='rta_sec_era' type-id='type-id-2' visibility='default' filepath='../drivers/crypto/dpaa2_sec/../../common/dpaax/caamflib/desc.h' line='21' column='1'/>
+    <type-decl name='int' size-in-bits='32' id='type-id-3'/>
+    <var-decl name='dpaa2_logtype_sec' type-id='type-id-3' visibility='default' filepath='../drivers/crypto/dpaa2_sec/dpaa2_sec_logs.h' line='11' column='1'/>
+    <class-decl name='rte_cryptodev' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='817' column='1' id='type-id-4'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dequeue_burst' type-id='type-id-5' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='818' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='enqueue_burst' type-id='type-id-6' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='820' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data' type-id='type-id-7' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='823' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_ops' type-id='type-id-8' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='825' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='feature_flags' type-id='type-id-9' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='827' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-10' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='829' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='driver_id' type-id='type-id-11' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='832' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='link_intr_cbs' type-id='type-id-12' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='835' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='security_ctx' type-id='type-id-13' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='attached' type-id='type-id-11' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='842' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-14'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-14' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-15'/>
+    <typedef-decl name='uint16_t' type-id='type-id-15' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-16'/>
+    <type-decl name='void' id='type-id-17'/>
+    <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-13'/>
+    <class-decl name='rte_crypto_op' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='78' column='1' id='type-id-18'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-19' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mempool' type-id='type-id-20' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='110' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='phys_addr' type-id='type-id-21' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='113' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='80' column='1' id='type-id-19'>
+      <data-member access='private'>
+        <var-decl name='raw' type-id='type-id-9' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-22' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-23'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-23' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-24'/>
+    <typedef-decl name='uint64_t' type-id='type-id-24' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-9'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='83' column='1' id='type-id-22'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-11' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='status' type-id='type-id-11' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='sess_type' type-id='type-id-11' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='reserved' type-id='type-id-25' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='private_data_offset' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='100' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-26'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-26' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-27'/>
+    <typedef-decl name='uint8_t' type-id='type-id-27' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-11'/>
+
+    <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='24' id='type-id-25'>
+      <subrange length='3' type-id='type-id-23' id='type-id-28'/>
+
+    </array-type-def>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-29'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-30' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-31' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-13' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-33' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-3' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-34' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-34' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-34' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-34' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-34' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-33' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-35' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-36' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-34' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-37' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-34' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-38' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-39'/>
+
+    <array-type-def dimensions='1' type-id='type-id-39' size-in-bits='256' id='type-id-30'>
+      <subrange length='32' type-id='type-id-23' id='type-id-40'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-31'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-13' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-9' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-41'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-30' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-42' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-43' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-9' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-35' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-34' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-42'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-44' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-21' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-9' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-44'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-9' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-21'/>
+    <typedef-decl name='size_t' type-id='type-id-23' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-43'/>
+    <typedef-decl name='__int32_t' type-id='type-id-3' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-45'/>
+    <typedef-decl name='int32_t' type-id='type-id-45' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-35'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-33'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-33' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-46'/>
+    <typedef-decl name='uint32_t' type-id='type-id-46' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-34'/>
+    <qualified-type-def type-id='type-id-41' const='yes' id='type-id-47'/>
+    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-32'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-48'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-34' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-34' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-34' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-13' size-in-bits='98304' id='type-id-49'>
+      <subrange length='1536' type-id='type-id-23' id='type-id-50'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-36'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-37'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-51' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-52' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-53'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-54' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-20' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-55' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-54'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-51' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-51'/>
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-20'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-55'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-21' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-44' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-51' size-in-bits='64' id='type-id-52'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-38'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-56' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-57' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-58'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-59' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-20' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-13' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-60' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-43' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-61' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-13' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-59'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-56' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-58' size-in-bits='64' id='type-id-56'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-60'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-21' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-44' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-62' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-63'/>
+    <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-61'/>
+    <pointer-type-def type-id='type-id-56' size-in-bits='64' id='type-id-57'/>
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-64'/>
+    <pointer-type-def type-id='type-id-64' size-in-bits='64' id='type-id-65'/>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
+    <typedef-decl name='dequeue_pkt_burst_t' type-id='type-id-67' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='800' column='1' id='type-id-5'/>
+    <typedef-decl name='enqueue_pkt_burst_t' type-id='type-id-67' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='804' column='1' id='type-id-6'/>
+    <class-decl name='rte_cryptodev_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='856' column='1' id='type-id-68'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_id' type-id='type-id-11' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='857' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='socket_id' type-id='type-id-11' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='859' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='name' type-id='type-id-69' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='861' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='dev_started' type-id='type-id-11' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='session_pool' type-id='type-id-20' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='868' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='queue_pairs' type-id='type-id-70' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='870' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='nb_queue_pairs' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='872' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='dev_private' type-id='type-id-13' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='875' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-39' size-in-bits='512' id='type-id-69'>
+      <subrange length='64' type-id='type-id-23' id='type-id-71'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-13' size-in-bits='64' id='type-id-70'/>
+    <pointer-type-def type-id='type-id-68' size-in-bits='64' id='type-id-7'/>
+    <class-decl name='rte_cryptodev_ops' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='313' column='1' id='type-id-72'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_configure' type-id='type-id-73' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='314' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_start' type-id='type-id-74' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='315' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dev_stop' type-id='type-id-75' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='316' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_close' type-id='type-id-76' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='317' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dev_infos_get' type-id='type-id-77' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='319' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='stats_get' type-id='type-id-78' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='321' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='stats_reset' type-id='type-id-79' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='323' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='queue_pair_setup' type-id='type-id-80' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='326' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='queue_pair_release' type-id='type-id-81' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='328' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='queue_pair_count' type-id='type-id-82' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='330' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='sym_session_get_size' type-id='type-id-83' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='333' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='asym_session_get_size' type-id='type-id-84' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='335' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='sym_session_configure' type-id='type-id-85' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='337' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='asym_session_configure' type-id='type-id-86' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='339' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='sym_session_clear' type-id='type-id-87' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='341' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='asym_session_clear' type-id='type-id-88' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='343' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-89'/>
+    <class-decl name='rte_cryptodev_config' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='619' column='1' id='type-id-90'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='socket_id' type-id='type-id-3' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='620' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_queue_pairs' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ff_disable' type-id='type-id-9' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='623' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-90' size-in-bits='64' id='type-id-91'/>
+    <pointer-type-def type-id='type-id-92' size-in-bits='64' id='type-id-93'/>
+    <typedef-decl name='cryptodev_configure_t' type-id='type-id-93' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='127' column='1' id='type-id-73'/>
+    <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-95'/>
+    <typedef-decl name='cryptodev_start_t' type-id='type-id-95' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='137' column='1' id='type-id-74'/>
+    <pointer-type-def type-id='type-id-96' size-in-bits='64' id='type-id-97'/>
+    <typedef-decl name='cryptodev_stop_t' type-id='type-id-97' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='144' column='1' id='type-id-75'/>
+    <typedef-decl name='cryptodev_close_t' type-id='type-id-95' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='154' column='1' id='type-id-76'/>
+    <class-decl name='rte_cryptodev_info' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='468' column='1' id='type-id-98'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='driver_name' type-id='type-id-99' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='469' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='driver_id' type-id='type-id-11' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='470' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='device' type-id='type-id-10' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='471' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='feature_flags' type-id='type-id-9' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='473' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='capabilities' type-id='type-id-100' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='476' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='max_nb_queue_pairs' type-id='type-id-33' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='479' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='min_mbuf_headroom_req' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='482' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='min_mbuf_tailroom_req' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='485' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='sym' type-id='type-id-101' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='494' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-39' const='yes' id='type-id-102'/>
+    <pointer-type-def type-id='type-id-102' size-in-bits='64' id='type-id-99'/>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-103'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-104' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-99' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-105' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-106' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-3' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-107' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-104'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-10' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-108' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-103' size-in-bits='64' id='type-id-10'/>
+    <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-108'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-109'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-110' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-99' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-99' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-110'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-111' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-112' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-109' size-in-bits='64' id='type-id-111'/>
+    <pointer-type-def type-id='type-id-111' size-in-bits='64' id='type-id-112'/>
+    <qualified-type-def type-id='type-id-109' const='yes' id='type-id-113'/>
+    <pointer-type-def type-id='type-id-113' size-in-bits='64' id='type-id-105'/>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-114'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-115' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-99' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-116' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-117' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-118' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-119' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-120' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-121' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-122' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-123' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-124' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-125' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-126' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-127' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-128' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-115'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-129' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-130' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-114' size-in-bits='64' id='type-id-129'/>
+    <pointer-type-def type-id='type-id-129' size-in-bits='64' id='type-id-130'/>
+    <pointer-type-def type-id='type-id-131' size-in-bits='64' id='type-id-132'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-132' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-116'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-132' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-117'/>
+    <qualified-type-def type-id='type-id-103' const='yes' id='type-id-133'/>
+    <pointer-type-def type-id='type-id-133' size-in-bits='64' id='type-id-134'/>
+    <pointer-type-def type-id='type-id-135' size-in-bits='64' id='type-id-136'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-136' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-137'/>
+    <pointer-type-def type-id='type-id-138' size-in-bits='64' id='type-id-139'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-139' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-118'/>
+    <pointer-type-def type-id='type-id-140' size-in-bits='64' id='type-id-141'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-141' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-119'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-141' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-120'/>
+    <pointer-type-def type-id='type-id-142' size-in-bits='64' id='type-id-143'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-143' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-121'/>
+    <pointer-type-def type-id='type-id-144' size-in-bits='64' id='type-id-145'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-145' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-122'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-145' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-123'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-124'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-146' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-146'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-147'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-148' size-in-bits='64' id='type-id-149'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-149' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-125'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-150'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-99' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-99' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-99' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-129' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-151' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-10' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-13' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-152'/>
+    <pointer-type-def type-id='type-id-152' size-in-bits='64' id='type-id-151'/>
+    <qualified-type-def type-id='type-id-150' const='yes' id='type-id-153'/>
+    <pointer-type-def type-id='type-id-153' size-in-bits='64' id='type-id-154'/>
+    <pointer-type-def type-id='type-id-155' size-in-bits='64' id='type-id-156'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-156' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-126'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-141' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-127'/>
+    <pointer-type-def type-id='type-id-157' size-in-bits='64' id='type-id-158'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-158' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-128'/>
+    <qualified-type-def type-id='type-id-114' const='yes' id='type-id-159'/>
+    <pointer-type-def type-id='type-id-159' size-in-bits='64' id='type-id-106'/>
+    <class-decl name='rte_devargs' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='47' column='1' id='type-id-160'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-161' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='type' type-id='type-id-162' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='policy' type-id='type-id-163' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='name' type-id='type-id-69' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='' type-id='type-id-164' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='bus' type-id='type-id-129' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='cls' type-id='type-id-151' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='bus_str' type-id='type-id-99' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='cls_str' type-id='type-id-99' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='data' type-id='type-id-99' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='66' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1' id='type-id-161'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-107' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-165' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-160' size-in-bits='64' id='type-id-107'/>
+    <pointer-type-def type-id='type-id-107' size-in-bits='64' id='type-id-165'/>
+    <enum-decl name='rte_devtype' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='31' column='1' id='type-id-162'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTE_DEVTYPE_WHITELISTED_PCI' value='0'/>
+      <enumerator name='RTE_DEVTYPE_BLACKLISTED_PCI' value='1'/>
+      <enumerator name='RTE_DEVTYPE_VIRTUAL' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_dev_policy' filepath='../lib/librte_eal/common/include/rte_dev.h' line='72' column='1' id='type-id-163'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTE_DEV_WHITELISTED' value='0'/>
+      <enumerator name='RTE_DEV_BLACKLISTED' value='1'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='57' column='1' id='type-id-164'>
+      <data-member access='private'>
+        <var-decl name='args' type-id='type-id-166' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='drv_str' type-id='type-id-99' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='60' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-39' size-in-bits='64' id='type-id-166'/>
+    <class-decl name='rte_cryptodev_capabilities' size-in-bits='320' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='176' column='1' id='type-id-167'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-168' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='177' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='' type-id='type-id-169' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_op_type' filepath='../lib/librte_cryptodev/rte_crypto.h' line='29' column='1' id='type-id-168'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTE_CRYPTO_OP_TYPE_UNDEFINED' value='0'/>
+      <enumerator name='RTE_CRYPTO_OP_TYPE_SYMMETRIC' value='1'/>
+      <enumerator name='RTE_CRYPTO_OP_TYPE_ASYMMETRIC' value='2'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='288' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='181' column='1' id='type-id-169'>
+      <data-member access='private'>
+        <var-decl name='sym' type-id='type-id-170' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='182' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='asym' type-id='type-id-171' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='184' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_cryptodev_symmetric_capability' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='98' column='1' id='type-id-170'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xform_type' type-id='type-id-172' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='99' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='' type-id='type-id-173' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_sym_xform_type' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='424' column='1' id='type-id-172'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_NOT_SPECIFIED' value='0'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_AUTH' value='1'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_CIPHER' value='2'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_AEAD' value='3'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='102' column='1' id='type-id-173'>
+      <data-member access='private'>
+        <var-decl name='auth' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='116' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='cipher' type-id='type-id-175' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='127' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='aead' type-id='type-id-176' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='103' column='1' id='type-id-174'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-177' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='104' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='block_size' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='key_size' type-id='type-id-178' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='digest_size' type-id='type-id-178' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='110' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='aad_size' type-id='type-id-178' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='112' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv_size' type-id='type-id-178' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='114' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_auth_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='189' column='1' id='type-id-177'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTE_CRYPTO_AUTH_NULL' value='1'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_CBC_MAC' value='2'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_CMAC' value='3'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_GMAC' value='4'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_XCBC_MAC' value='5'/>
+      <enumerator name='RTE_CRYPTO_AUTH_KASUMI_F9' value='6'/>
+      <enumerator name='RTE_CRYPTO_AUTH_MD5' value='7'/>
+      <enumerator name='RTE_CRYPTO_AUTH_MD5_HMAC' value='8'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA1' value='9'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA1_HMAC' value='10'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA224' value='11'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA224_HMAC' value='12'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA256' value='13'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA256_HMAC' value='14'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA384' value='15'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA384_HMAC' value='16'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA512' value='17'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA512_HMAC' value='18'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SNOW3G_UIA2' value='19'/>
+      <enumerator name='RTE_CRYPTO_AUTH_ZUC_EIA3' value='20'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_224' value='21'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_224_HMAC' value='22'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_256' value='23'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_256_HMAC' value='24'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_384' value='25'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_384_HMAC' value='26'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_512' value='27'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_512_HMAC' value='28'/>
+      <enumerator name='RTE_CRYPTO_AUTH_LIST_END' value='29'/>
+    </enum-decl>
+    <class-decl name='rte_crypto_param_range' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='84' column='1' id='type-id-178'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='min' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='max' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='increment' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='87' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='160' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='118' column='1' id='type-id-175'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-179' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='119' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='block_size' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='121' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='key_size' type-id='type-id-178' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='123' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='iv_size' type-id='type-id-178' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='125' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_cipher_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='30' column='1' id='type-id-179'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_NULL' value='1'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_CBC' value='2'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_CTR' value='3'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_ECB' value='4'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_CBC' value='5'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_CTR' value='6'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_ECB' value='7'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_F8' value='8'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_XTS' value='9'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_ARC4' value='10'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_KASUMI_F8' value='11'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_SNOW3G_UEA2' value='12'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_ZUC_EEA3' value='13'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_DES_CBC' value='14'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_DOCSISBPI' value='15'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_DES_DOCSISBPI' value='16'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_LIST_END' value='17'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='129' column='1' id='type-id-176'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-180' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='130' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='block_size' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='132' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='key_size' type-id='type-id-178' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='134' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='digest_size' type-id='type-id-178' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='136' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='aad_size' type-id='type-id-178' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv_size' type-id='type-id-178' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='140' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_aead_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='346' column='1' id='type-id-180'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTE_CRYPTO_AEAD_AES_CCM' value='1'/>
+      <enumerator name='RTE_CRYPTO_AEAD_AES_GCM' value='2'/>
+      <enumerator name='RTE_CRYPTO_AEAD_LIST_END' value='3'/>
+    </enum-decl>
+    <class-decl name='rte_cryptodev_asymmetric_capability' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='170' column='1' id='type-id-171'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xform_capa' type-id='type-id-181' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_asymmetric_xform_capability' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='150' column='1' id='type-id-181'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xform_type' type-id='type-id-182' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='151' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='op_types' type-id='type-id-34' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-183' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_asym_xform_type' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='53' column='1' id='type-id-182'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_UNSPECIFIED' value='0'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_NONE' value='1'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_RSA' value='2'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_DH' value='3'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_DSA' value='4'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_MODINV' value='5'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_MODEX' value='6'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_TYPE_LIST_END' value='7'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='48' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='158' column='1' id='type-id-183'>
+      <data-member access='private'>
+        <var-decl name='modlen' type-id='type-id-178' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='159' column='1'/>
+      </data-member>
+    </union-decl>
+    <qualified-type-def type-id='type-id-167' const='yes' id='type-id-184'/>
+    <pointer-type-def type-id='type-id-184' size-in-bits='64' id='type-id-100'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='488' column='1' id='type-id-101'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max_nb_sessions' type-id='type-id-33' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='489' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-98' size-in-bits='64' id='type-id-185'/>
+    <pointer-type-def type-id='type-id-186' size-in-bits='64' id='type-id-187'/>
+    <typedef-decl name='cryptodev_info_get_t' type-id='type-id-187' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='180' column='1' id='type-id-77'/>
+    <class-decl name='rte_cryptodev_stats' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='530' column='1' id='type-id-188'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='enqueued_count' type-id='type-id-9' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='531' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dequeued_count' type-id='type-id-9' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='533' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='enqueue_err_count' type-id='type-id-9' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='536' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dequeue_err_count' type-id='type-id-9' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='538' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-188' size-in-bits='64' id='type-id-189'/>
+    <pointer-type-def type-id='type-id-190' size-in-bits='64' id='type-id-191'/>
+    <typedef-decl name='cryptodev_stats_get_t' type-id='type-id-191' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='163' column='1' id='type-id-78'/>
+    <typedef-decl name='cryptodev_stats_reset_t' type-id='type-id-97' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='172' column='1' id='type-id-79'/>
+    <class-decl name='rte_cryptodev_qp_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='508' column='1' id='type-id-192'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_descriptors' type-id='type-id-34' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='509' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp_session' type-id='type-id-20' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='510' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mp_session_private' type-id='type-id-20' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='512' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-192' const='yes' id='type-id-193'/>
+    <pointer-type-def type-id='type-id-193' size-in-bits='64' id='type-id-194'/>
+    <pointer-type-def type-id='type-id-195' size-in-bits='64' id='type-id-196'/>
+    <typedef-decl name='cryptodev_queue_pair_setup_t' type-id='type-id-196' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='193' column='1' id='type-id-80'/>
+    <pointer-type-def type-id='type-id-197' size-in-bits='64' id='type-id-198'/>
+    <typedef-decl name='cryptodev_queue_pair_release_t' type-id='type-id-198' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='207' column='1' id='type-id-81'/>
+    <pointer-type-def type-id='type-id-199' size-in-bits='64' id='type-id-200'/>
+    <typedef-decl name='cryptodev_queue_pair_count_t' type-id='type-id-200' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='217' column='1' id='type-id-82'/>
+    <pointer-type-def type-id='type-id-201' size-in-bits='64' id='type-id-202'/>
+    <typedef-decl name='cryptodev_sym_get_session_private_size_t' type-id='type-id-202' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='245' column='1' id='type-id-83'/>
+    <typedef-decl name='cryptodev_asym_get_session_private_size_t' type-id='type-id-202' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='256' column='1' id='type-id-84'/>
+    <class-decl name='rte_crypto_sym_xform' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='440' column='1' id='type-id-203'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-204' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='441' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-172' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='443' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-205' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-203' size-in-bits='64' id='type-id-204'/>
+    <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='446' column='1' id='type-id-205'>
+      <data-member access='private'>
+        <var-decl name='auth' type-id='type-id-206' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='447' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='cipher' type-id='type-id-207' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='aead' type-id='type-id-208' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='451' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_crypto_auth_xform' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='278' column='1' id='type-id-206'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-209' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-177' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='281' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-210' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='287' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv' type-id='type-id-211' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='330' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='digest_length' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='332' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_auth_operation' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='262' column='1' id='type-id-209'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTE_CRYPTO_AUTH_OP_VERIFY' value='0'/>
+      <enumerator name='RTE_CRYPTO_AUTH_OP_GENERATE' value='1'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='284' column='1' id='type-id-210'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-212' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='285' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='length' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='286' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-11' const='yes' id='type-id-213'/>
+    <pointer-type-def type-id='type-id-213' size-in-bits='64' id='type-id-212'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='295' column='1' id='type-id-211'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='offset' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='296' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='length' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='312' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_cipher_xform' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='107' column='1' id='type-id-207'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-214' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-179' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='113' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-210' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='119' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv' type-id='type-id-211' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='185' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_cipher_operation' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='90' column='1' id='type-id-214'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_OP_ENCRYPT' value='0'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_OP_DECRYPT' value='1'/>
+    </enum-decl>
+    <class-decl name='rte_crypto_aead_xform' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='370' column='1' id='type-id-208'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-215' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='371' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-180' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='373' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-210' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='379' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv' type-id='type-id-211' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='411' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='digest_length' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='413' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='240'>
+        <var-decl name='aad_length' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='415' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_aead_operation' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='359' column='1' id='type-id-215'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTE_CRYPTO_AEAD_OP_ENCRYPT' value='0'/>
+      <enumerator name='RTE_CRYPTO_AEAD_OP_DECRYPT' value='1'/>
+    </enum-decl>
+    <class-decl name='rte_cryptodev_sym_session' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='974' column='1' id='type-id-216'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='opaque_data' type-id='type-id-9' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='975' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='nb_drivers' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='977' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='user_data_sz' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='979' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='sess_data' type-id='type-id-217' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='984' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='981' column='1' id='type-id-218'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-13' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='982' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='refcnt' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='983' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-218' size-in-bits='infinite' id='type-id-217'>
+      <subrange length='infinite' type-id='type-id-23' id='type-id-219'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-216' size-in-bits='64' id='type-id-220'/>
+    <pointer-type-def type-id='type-id-221' size-in-bits='64' id='type-id-222'/>
+    <typedef-decl name='cryptodev_sym_configure_session_t' type-id='type-id-222' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='273' column='1' id='type-id-85'/>
+    <class-decl name='rte_crypto_asym_xform' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='353' column='1' id='type-id-223'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-224' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='354' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='xform_type' type-id='type-id-182' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='356' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-225' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-223' size-in-bits='64' id='type-id-224'/>
+    <union-decl name='__anonymous_union__' size-in-bits='1408' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='360' column='1' id='type-id-225'>
+      <data-member access='private'>
+        <var-decl name='rsa' type-id='type-id-226' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='361' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='modex' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='364' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='modinv' type-id='type-id-228' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='367' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dh' type-id='type-id-229' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='370' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dsa' type-id='type-id-230' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='373' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_crypto_rsa_xform' size-in-bits='1408' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='192' column='1' id='type-id-226'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n' type-id='type-id-231' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='193' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='e' type-id='type-id-231' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='199' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='key_type' type-id='type-id-232' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='' type-id='type-id-233' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_param_t' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='30' column='1' id='type-id-234'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-235' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='iova' type-id='type-id-21' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='33' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='length' type-id='type-id-43' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='35' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-235'/>
+    <typedef-decl name='rte_crypto_param' type-id='type-id-234' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='37' column='1' id='type-id-231'/>
+    <enum-decl name='rte_crypto_rsa_priv_key_type' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='133' column='1' id='type-id-232'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTE_RSA_KEY_TYPE_EXP' value='0'/>
+      <enumerator name='RTE_RSA_KET_TYPE_QT' value='1'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='960' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='208' column='1' id='type-id-233'>
+      <data-member access='private'>
+        <var-decl name='d' type-id='type-id-231' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='209' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='qt' type-id='type-id-236' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='216' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_crypto_rsa_priv_key_qt' size-in-bits='960' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='146' column='1' id='type-id-236'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='p' type-id='type-id-231' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='147' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='q' type-id='type-id-231' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='dP' type-id='type-id-231' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='161' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dQ' type-id='type-id-231' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='169' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='qInv' type-id='type-id-231' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='177' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_modex_xform' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='227' column='1' id='type-id-227'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='modulus' type-id='type-id-231' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='exponent' type-id='type-id-231' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='237' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_modinv_xform' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='250' column='1' id='type-id-228'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='modulus' type-id='type-id-231' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='251' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_dh_xform' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='271' column='1' id='type-id-229'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-237' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='272' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='p' type-id='type-id-231' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='275' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='g' type-id='type-id-231' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='281' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_asym_op_type' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='91' column='1' id='type-id-237'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_ENCRYPT' value='0'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_DECRYPT' value='1'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_SIGN' value='2'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_VERIFY' value='3'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_PRIVATE_KEY_GENERATE' value='4'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_PUBLIC_KEY_GENERATE' value='5'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_SHARED_SECRET_COMPUTE' value='6'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_LIST_END' value='7'/>
+    </enum-decl>
+    <class-decl name='rte_crypto_dsa_xform' size-in-bits='768' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='295' column='1' id='type-id-230'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='p' type-id='type-id-231' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='296' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='q' type-id='type-id-231' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='301' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='g' type-id='type-id-231' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='307' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='x' type-id='type-id-231' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='311' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_asym_session' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='989' column='1' id='type-id-238'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='sess_private_data' type-id='type-id-239' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='990' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-13' size-in-bits='infinite' id='type-id-239'>
+      <subrange length='infinite' type-id='type-id-23' id='type-id-219'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-238' size-in-bits='64' id='type-id-240'/>
+    <pointer-type-def type-id='type-id-241' size-in-bits='64' id='type-id-242'/>
+    <typedef-decl name='cryptodev_asym_configure_session_t' type-id='type-id-242' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='291' column='1' id='type-id-86'/>
+    <pointer-type-def type-id='type-id-243' size-in-bits='64' id='type-id-244'/>
+    <typedef-decl name='cryptodev_sym_free_session_t' type-id='type-id-244' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='301' column='1' id='type-id-87'/>
+    <pointer-type-def type-id='type-id-245' size-in-bits='64' id='type-id-246'/>
+    <typedef-decl name='cryptodev_asym_free_session_t' type-id='type-id-246' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='309' column='1' id='type-id-88'/>
+    <pointer-type-def type-id='type-id-72' size-in-bits='64' id='type-id-8'/>
+    <class-decl name='rte_cryptodev_cb_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='814' column='1' id='type-id-12'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-247' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='814' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-248' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='814' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_callback' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-249'/>
+    <pointer-type-def type-id='type-id-249' size-in-bits='64' id='type-id-247'/>
+    <pointer-type-def type-id='type-id-247' size-in-bits='64' id='type-id-248'/>
+    <qualified-type-def type-id='type-id-4' const='yes' id='type-id-250'/>
+    <pointer-type-def type-id='type-id-250' size-in-bits='64' id='type-id-251'/>
+    <function-decl name='dpaa2_sec_eventq_detach' mangled-name='dpaa2_sec_eventq_detach' filepath='../drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c' line='3647' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpaa2_sec_eventq_detach@@DPDK_20.0'>
+      <parameter type-id='type-id-251' name='dev' filepath='../drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c' line='3647' column='1'/>
+      <parameter type-id='type-id-3' name='qp_id' filepath='../drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c' line='3648' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <class-decl name='dpaa2_dpcon_dev' size-in-bits='320' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='190' column='1' id='type-id-252'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-253' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dpcon' type-id='type-id-254' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='192' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='token' type-id='type-id-16' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='193' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='208'>
+        <var-decl name='in_use' type-id='type-id-255' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='dpcon_id' type-id='type-id-34' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='qbman_ch_id' type-id='type-id-16' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='196' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='272'>
+        <var-decl name='num_priorities' type-id='type-id-11' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='197' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='280'>
+        <var-decl name='channel_index' type-id='type-id-11' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='198' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='191' column='1' id='type-id-253'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-256' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-257' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='191' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-252' size-in-bits='64' id='type-id-256'/>
+    <pointer-type-def type-id='type-id-256' size-in-bits='64' id='type-id-257'/>
+    <class-decl name='fsl_mc_io' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_mc_sys.h' line='57' column='1' id='type-id-254'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='regs' type-id='type-id-13' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_mc_sys.h' line='58' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-255' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-258'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-259' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-260'/>
+    <typedef-decl name='__int16_t' type-id='type-id-260' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-261'/>
+    <typedef-decl name='int16_t' type-id='type-id-261' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-262'/>
+    <qualified-type-def type-id='type-id-262' volatile='yes' id='type-id-259'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-258' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-255'/>
+    <class-decl name='rte_event' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1006' column='1' id='type-id-263'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-264' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1008' column='1' id='type-id-264'>
+      <data-member access='private'>
+        <var-decl name='event' type-id='type-id-9' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1009' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-265' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1011' column='1' id='type-id-265'>
+      <data-member access='public' layout-offset-in-bits='12'>
+        <var-decl name='flow_id' type-id='type-id-34' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1012' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4'>
+        <var-decl name='sub_event_type' type-id='type-id-34' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1019' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event_type' type-id='type-id-34' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1023' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='op' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1027' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2'>
+        <var-decl name='rsvd' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1033' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='sched_type' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1035' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='queue_id' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1040' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='priority' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1047' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='impl_opaque' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1057' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-263' const='yes' id='type-id-266'/>
+    <pointer-type-def type-id='type-id-266' size-in-bits='64' id='type-id-267'/>
+    <function-decl name='dpaa2_sec_eventq_attach' mangled-name='dpaa2_sec_eventq_attach' filepath='../drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c' line='3600' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpaa2_sec_eventq_attach@@DPDK_20.0'>
+      <parameter type-id='type-id-251' name='dev' filepath='../drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c' line='3600' column='1'/>
+      <parameter type-id='type-id-3' name='qp_id' filepath='../drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c' line='3601' column='1'/>
+      <parameter type-id='type-id-256' name='dpcon' filepath='../drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c' line='3602' column='1'/>
+      <parameter type-id='type-id-267' name='event' filepath='../drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c' line='3603' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-148'>
+      <return type-id='type-id-147'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-131'>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-142'>
+      <parameter type-id='type-id-99'/>
+      <parameter type-id='type-id-13'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-135'>
+      <parameter type-id='type-id-134'/>
+      <parameter type-id='type-id-13'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-94'>
+      <parameter type-id='type-id-89'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-241'>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-224'/>
+      <parameter type-id='type-id-240'/>
+      <parameter type-id='type-id-20'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-221'>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-204'/>
+      <parameter type-id='type-id-220'/>
+      <parameter type-id='type-id-20'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-92'>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-91'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-197'>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-195'>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-194'/>
+      <parameter type-id='type-id-3'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-140'>
+      <parameter type-id='type-id-10'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-144'>
+      <parameter type-id='type-id-10'/>
+      <parameter type-id='type-id-13'/>
+      <parameter type-id='type-id-9'/>
+      <parameter type-id='type-id-43'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-157'>
+      <parameter type-id='type-id-13'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-138'>
+      <parameter type-id='type-id-134'/>
+      <parameter type-id='type-id-137'/>
+      <parameter type-id='type-id-13'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-66'>
+      <parameter type-id='type-id-13'/>
+      <parameter type-id='type-id-65'/>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-199'>
+      <parameter type-id='type-id-89'/>
+      <return type-id='type-id-34'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-201'>
+      <parameter type-id='type-id-89'/>
+      <return type-id='type-id-33'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-96'>
+      <parameter type-id='type-id-89'/>
+      <return type-id='type-id-17'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-245'>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-240'/>
+      <return type-id='type-id-17'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-186'>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-185'/>
+      <return type-id='type-id-17'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-190'>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-189'/>
+      <return type-id='type-id-17'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-243'>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-220'/>
+      <return type-id='type-id-17'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-62'>
+      <parameter type-id='type-id-56'/>
+      <parameter type-id='type-id-13'/>
+      <return type-id='type-id-17'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-155'>
+      <parameter type-id='type-id-13'/>
+      <parameter type-id='type-id-99'/>
+      <parameter type-id='type-id-154'/>
+      <return type-id='type-id-13'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_dpaa_sec.dump b/drivers/.abi/librte_pmd_dpaa_sec.dump
new file mode 100644
index 000000000..cd7226752
--- /dev/null
+++ b/drivers/.abi/librte_pmd_dpaa_sec.dump
@@ -0,0 +1,1459 @@
+<abi-corpus path='gcc//drivers/librte_pmd_dpaa_sec.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_dpaa_sec.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_bus_dpaa.so.20.0'/>
+    <dependency name='librte_common_dpaax.so.20.0'/>
+    <dependency name='librte_eventdev.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='librte_timer.so.20.0'/>
+    <dependency name='librte_security.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='dpaa_sec_eventq_attach' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpaa_sec_eventq_detach' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../drivers/crypto/dpaa_sec/dpaa_sec.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-1'/>
+    <enum-decl name='rta_sec_era' filepath='../drivers/crypto/dpaa_sec/../../common/dpaax/caamflib/rta/sec_run_time_asm.h' line='29' column='1' id='type-id-2'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTA_SEC_ERA_1' value='0'/>
+      <enumerator name='RTA_SEC_ERA_2' value='1'/>
+      <enumerator name='RTA_SEC_ERA_3' value='2'/>
+      <enumerator name='RTA_SEC_ERA_4' value='3'/>
+      <enumerator name='RTA_SEC_ERA_5' value='4'/>
+      <enumerator name='RTA_SEC_ERA_6' value='5'/>
+      <enumerator name='RTA_SEC_ERA_7' value='6'/>
+      <enumerator name='RTA_SEC_ERA_8' value='7'/>
+      <enumerator name='RTA_SEC_ERA_9' value='8'/>
+      <enumerator name='RTA_SEC_ERA_10' value='9'/>
+      <enumerator name='MAX_SEC_ERA' value='9'/>
+    </enum-decl>
+    <var-decl name='rta_sec_era' type-id='type-id-2' visibility='default' filepath='../drivers/crypto/dpaa_sec/../../common/dpaax/caamflib/desc.h' line='21' column='1'/>
+    <type-decl name='int' size-in-bits='32' id='type-id-3'/>
+    <var-decl name='dpaa_logtype_sec' type-id='type-id-3' visibility='default' filepath='../drivers/crypto/dpaa_sec/dpaa_sec_log.h' line='11' column='1'/>
+    <class-decl name='rte_cryptodev' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='817' column='1' id='type-id-4'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dequeue_burst' type-id='type-id-5' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='818' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='enqueue_burst' type-id='type-id-6' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='820' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data' type-id='type-id-7' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='823' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_ops' type-id='type-id-8' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='825' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='feature_flags' type-id='type-id-9' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='827' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-10' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='829' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='driver_id' type-id='type-id-11' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='832' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='link_intr_cbs' type-id='type-id-12' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='835' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='security_ctx' type-id='type-id-13' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='attached' type-id='type-id-11' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='842' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-14'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-14' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-15'/>
+    <typedef-decl name='uint16_t' type-id='type-id-15' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-16'/>
+    <type-decl name='void' id='type-id-17'/>
+    <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-13'/>
+    <class-decl name='rte_crypto_op' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='78' column='1' id='type-id-18'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-19' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mempool' type-id='type-id-20' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='110' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='phys_addr' type-id='type-id-21' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='113' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='80' column='1' id='type-id-19'>
+      <data-member access='private'>
+        <var-decl name='raw' type-id='type-id-9' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-22' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-23'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-23' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-24'/>
+    <typedef-decl name='uint64_t' type-id='type-id-24' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-9'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='83' column='1' id='type-id-22'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-11' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='status' type-id='type-id-11' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='sess_type' type-id='type-id-11' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='reserved' type-id='type-id-25' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='private_data_offset' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='100' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-26'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-26' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-27'/>
+    <typedef-decl name='uint8_t' type-id='type-id-27' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-11'/>
+
+    <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='24' id='type-id-25'>
+      <subrange length='3' type-id='type-id-23' id='type-id-28'/>
+
+    </array-type-def>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-29'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-30' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-31' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-13' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-33' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-3' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-34' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-34' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-34' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-34' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-34' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-33' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-35' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-36' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-34' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-37' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-34' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-38' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-39'/>
+
+    <array-type-def dimensions='1' type-id='type-id-39' size-in-bits='256' id='type-id-30'>
+      <subrange length='32' type-id='type-id-23' id='type-id-40'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-31'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-13' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-9' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-41'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-30' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-42' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-43' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-9' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-35' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-34' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-42'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-44' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-21' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-9' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-44'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-9' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-21'/>
+    <typedef-decl name='size_t' type-id='type-id-23' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-43'/>
+    <typedef-decl name='__int32_t' type-id='type-id-3' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-45'/>
+    <typedef-decl name='int32_t' type-id='type-id-45' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-35'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-33'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-33' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-46'/>
+    <typedef-decl name='uint32_t' type-id='type-id-46' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-34'/>
+    <qualified-type-def type-id='type-id-41' const='yes' id='type-id-47'/>
+    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-32'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-48'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-34' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-34' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-34' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-13' size-in-bits='98304' id='type-id-49'>
+      <subrange length='1536' type-id='type-id-23' id='type-id-50'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-36'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-37'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-51' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-52' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-53'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-54' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-20' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-55' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-54'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-51' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-51'/>
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-20'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-55'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-21' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-44' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-51' size-in-bits='64' id='type-id-52'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-38'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-56' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-57' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-58'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-59' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-20' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-13' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-60' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-43' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-61' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-13' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-59'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-56' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-58' size-in-bits='64' id='type-id-56'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-60'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-21' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-44' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-62' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-63'/>
+    <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-61'/>
+    <pointer-type-def type-id='type-id-56' size-in-bits='64' id='type-id-57'/>
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-64'/>
+    <pointer-type-def type-id='type-id-64' size-in-bits='64' id='type-id-65'/>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
+    <typedef-decl name='dequeue_pkt_burst_t' type-id='type-id-67' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='800' column='1' id='type-id-5'/>
+    <typedef-decl name='enqueue_pkt_burst_t' type-id='type-id-67' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='804' column='1' id='type-id-6'/>
+    <class-decl name='rte_cryptodev_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='856' column='1' id='type-id-68'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_id' type-id='type-id-11' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='857' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='socket_id' type-id='type-id-11' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='859' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='name' type-id='type-id-69' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='861' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='dev_started' type-id='type-id-11' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='session_pool' type-id='type-id-20' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='868' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='queue_pairs' type-id='type-id-70' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='870' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='nb_queue_pairs' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='872' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='dev_private' type-id='type-id-13' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='875' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-39' size-in-bits='512' id='type-id-69'>
+      <subrange length='64' type-id='type-id-23' id='type-id-71'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-13' size-in-bits='64' id='type-id-70'/>
+    <pointer-type-def type-id='type-id-68' size-in-bits='64' id='type-id-7'/>
+    <class-decl name='rte_cryptodev_ops' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='313' column='1' id='type-id-72'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_configure' type-id='type-id-73' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='314' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_start' type-id='type-id-74' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='315' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dev_stop' type-id='type-id-75' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='316' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_close' type-id='type-id-76' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='317' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dev_infos_get' type-id='type-id-77' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='319' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='stats_get' type-id='type-id-78' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='321' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='stats_reset' type-id='type-id-79' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='323' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='queue_pair_setup' type-id='type-id-80' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='326' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='queue_pair_release' type-id='type-id-81' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='328' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='queue_pair_count' type-id='type-id-82' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='330' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='sym_session_get_size' type-id='type-id-83' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='333' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='asym_session_get_size' type-id='type-id-84' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='335' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='sym_session_configure' type-id='type-id-85' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='337' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='asym_session_configure' type-id='type-id-86' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='339' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='sym_session_clear' type-id='type-id-87' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='341' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='asym_session_clear' type-id='type-id-88' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='343' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-89'/>
+    <class-decl name='rte_cryptodev_config' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='619' column='1' id='type-id-90'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='socket_id' type-id='type-id-3' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='620' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_queue_pairs' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ff_disable' type-id='type-id-9' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='623' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-90' size-in-bits='64' id='type-id-91'/>
+    <pointer-type-def type-id='type-id-92' size-in-bits='64' id='type-id-93'/>
+    <typedef-decl name='cryptodev_configure_t' type-id='type-id-93' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='127' column='1' id='type-id-73'/>
+    <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-95'/>
+    <typedef-decl name='cryptodev_start_t' type-id='type-id-95' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='137' column='1' id='type-id-74'/>
+    <pointer-type-def type-id='type-id-96' size-in-bits='64' id='type-id-97'/>
+    <typedef-decl name='cryptodev_stop_t' type-id='type-id-97' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='144' column='1' id='type-id-75'/>
+    <typedef-decl name='cryptodev_close_t' type-id='type-id-95' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='154' column='1' id='type-id-76'/>
+    <class-decl name='rte_cryptodev_info' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='468' column='1' id='type-id-98'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='driver_name' type-id='type-id-99' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='469' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='driver_id' type-id='type-id-11' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='470' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='device' type-id='type-id-10' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='471' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='feature_flags' type-id='type-id-9' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='473' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='capabilities' type-id='type-id-100' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='476' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='max_nb_queue_pairs' type-id='type-id-33' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='479' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='min_mbuf_headroom_req' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='482' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='min_mbuf_tailroom_req' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='485' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='sym' type-id='type-id-101' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='494' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-39' const='yes' id='type-id-102'/>
+    <pointer-type-def type-id='type-id-102' size-in-bits='64' id='type-id-99'/>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-103'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-104' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-99' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-105' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-106' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-3' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-107' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-104'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-10' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-108' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-103' size-in-bits='64' id='type-id-10'/>
+    <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-108'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-109'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-110' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-99' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-99' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-110'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-111' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-112' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-109' size-in-bits='64' id='type-id-111'/>
+    <pointer-type-def type-id='type-id-111' size-in-bits='64' id='type-id-112'/>
+    <qualified-type-def type-id='type-id-109' const='yes' id='type-id-113'/>
+    <pointer-type-def type-id='type-id-113' size-in-bits='64' id='type-id-105'/>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-114'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-115' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-99' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-116' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-117' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-118' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-119' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-120' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-121' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-122' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-123' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-124' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-125' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-126' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-127' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-128' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-115'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-129' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-130' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-114' size-in-bits='64' id='type-id-129'/>
+    <pointer-type-def type-id='type-id-129' size-in-bits='64' id='type-id-130'/>
+    <pointer-type-def type-id='type-id-131' size-in-bits='64' id='type-id-132'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-132' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-116'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-132' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-117'/>
+    <qualified-type-def type-id='type-id-103' const='yes' id='type-id-133'/>
+    <pointer-type-def type-id='type-id-133' size-in-bits='64' id='type-id-134'/>
+    <pointer-type-def type-id='type-id-135' size-in-bits='64' id='type-id-136'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-136' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-137'/>
+    <pointer-type-def type-id='type-id-138' size-in-bits='64' id='type-id-139'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-139' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-118'/>
+    <pointer-type-def type-id='type-id-140' size-in-bits='64' id='type-id-141'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-141' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-119'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-141' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-120'/>
+    <pointer-type-def type-id='type-id-142' size-in-bits='64' id='type-id-143'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-143' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-121'/>
+    <pointer-type-def type-id='type-id-144' size-in-bits='64' id='type-id-145'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-145' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-122'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-145' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-123'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-124'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-146' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-146'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-147'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-148' size-in-bits='64' id='type-id-149'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-149' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-125'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-150'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-99' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-99' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-99' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-129' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-151' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-10' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-13' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-152'/>
+    <pointer-type-def type-id='type-id-152' size-in-bits='64' id='type-id-151'/>
+    <qualified-type-def type-id='type-id-150' const='yes' id='type-id-153'/>
+    <pointer-type-def type-id='type-id-153' size-in-bits='64' id='type-id-154'/>
+    <pointer-type-def type-id='type-id-155' size-in-bits='64' id='type-id-156'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-156' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-126'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-141' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-127'/>
+    <pointer-type-def type-id='type-id-157' size-in-bits='64' id='type-id-158'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-158' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-128'/>
+    <qualified-type-def type-id='type-id-114' const='yes' id='type-id-159'/>
+    <pointer-type-def type-id='type-id-159' size-in-bits='64' id='type-id-106'/>
+    <class-decl name='rte_devargs' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='47' column='1' id='type-id-160'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-161' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='type' type-id='type-id-162' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='policy' type-id='type-id-163' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='name' type-id='type-id-69' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='' type-id='type-id-164' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='bus' type-id='type-id-129' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='cls' type-id='type-id-151' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='bus_str' type-id='type-id-99' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='cls_str' type-id='type-id-99' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='data' type-id='type-id-99' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='66' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1' id='type-id-161'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-107' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-165' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-160' size-in-bits='64' id='type-id-107'/>
+    <pointer-type-def type-id='type-id-107' size-in-bits='64' id='type-id-165'/>
+    <enum-decl name='rte_devtype' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='31' column='1' id='type-id-162'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTE_DEVTYPE_WHITELISTED_PCI' value='0'/>
+      <enumerator name='RTE_DEVTYPE_BLACKLISTED_PCI' value='1'/>
+      <enumerator name='RTE_DEVTYPE_VIRTUAL' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_dev_policy' filepath='../lib/librte_eal/common/include/rte_dev.h' line='72' column='1' id='type-id-163'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTE_DEV_WHITELISTED' value='0'/>
+      <enumerator name='RTE_DEV_BLACKLISTED' value='1'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='57' column='1' id='type-id-164'>
+      <data-member access='private'>
+        <var-decl name='args' type-id='type-id-166' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='drv_str' type-id='type-id-99' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='60' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-39' size-in-bits='64' id='type-id-166'/>
+    <class-decl name='rte_cryptodev_capabilities' size-in-bits='320' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='176' column='1' id='type-id-167'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-168' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='177' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='' type-id='type-id-169' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_op_type' filepath='../lib/librte_cryptodev/rte_crypto.h' line='29' column='1' id='type-id-168'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTE_CRYPTO_OP_TYPE_UNDEFINED' value='0'/>
+      <enumerator name='RTE_CRYPTO_OP_TYPE_SYMMETRIC' value='1'/>
+      <enumerator name='RTE_CRYPTO_OP_TYPE_ASYMMETRIC' value='2'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='288' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='181' column='1' id='type-id-169'>
+      <data-member access='private'>
+        <var-decl name='sym' type-id='type-id-170' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='182' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='asym' type-id='type-id-171' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='184' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_cryptodev_symmetric_capability' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='98' column='1' id='type-id-170'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xform_type' type-id='type-id-172' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='99' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='' type-id='type-id-173' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_sym_xform_type' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='424' column='1' id='type-id-172'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_NOT_SPECIFIED' value='0'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_AUTH' value='1'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_CIPHER' value='2'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_AEAD' value='3'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='102' column='1' id='type-id-173'>
+      <data-member access='private'>
+        <var-decl name='auth' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='116' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='cipher' type-id='type-id-175' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='127' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='aead' type-id='type-id-176' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='103' column='1' id='type-id-174'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-177' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='104' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='block_size' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='key_size' type-id='type-id-178' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='digest_size' type-id='type-id-178' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='110' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='aad_size' type-id='type-id-178' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='112' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv_size' type-id='type-id-178' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='114' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_auth_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='189' column='1' id='type-id-177'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTE_CRYPTO_AUTH_NULL' value='1'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_CBC_MAC' value='2'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_CMAC' value='3'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_GMAC' value='4'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_XCBC_MAC' value='5'/>
+      <enumerator name='RTE_CRYPTO_AUTH_KASUMI_F9' value='6'/>
+      <enumerator name='RTE_CRYPTO_AUTH_MD5' value='7'/>
+      <enumerator name='RTE_CRYPTO_AUTH_MD5_HMAC' value='8'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA1' value='9'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA1_HMAC' value='10'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA224' value='11'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA224_HMAC' value='12'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA256' value='13'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA256_HMAC' value='14'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA384' value='15'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA384_HMAC' value='16'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA512' value='17'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA512_HMAC' value='18'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SNOW3G_UIA2' value='19'/>
+      <enumerator name='RTE_CRYPTO_AUTH_ZUC_EIA3' value='20'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_224' value='21'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_224_HMAC' value='22'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_256' value='23'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_256_HMAC' value='24'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_384' value='25'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_384_HMAC' value='26'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_512' value='27'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_512_HMAC' value='28'/>
+      <enumerator name='RTE_CRYPTO_AUTH_LIST_END' value='29'/>
+    </enum-decl>
+    <class-decl name='rte_crypto_param_range' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='84' column='1' id='type-id-178'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='min' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='max' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='increment' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='87' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='160' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='118' column='1' id='type-id-175'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-179' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='119' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='block_size' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='121' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='key_size' type-id='type-id-178' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='123' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='iv_size' type-id='type-id-178' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='125' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_cipher_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='30' column='1' id='type-id-179'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_NULL' value='1'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_CBC' value='2'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_CTR' value='3'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_ECB' value='4'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_CBC' value='5'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_CTR' value='6'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_ECB' value='7'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_F8' value='8'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_XTS' value='9'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_ARC4' value='10'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_KASUMI_F8' value='11'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_SNOW3G_UEA2' value='12'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_ZUC_EEA3' value='13'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_DES_CBC' value='14'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_DOCSISBPI' value='15'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_DES_DOCSISBPI' value='16'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_LIST_END' value='17'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='129' column='1' id='type-id-176'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-180' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='130' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='block_size' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='132' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='key_size' type-id='type-id-178' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='134' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='digest_size' type-id='type-id-178' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='136' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='aad_size' type-id='type-id-178' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv_size' type-id='type-id-178' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='140' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_aead_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='346' column='1' id='type-id-180'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTE_CRYPTO_AEAD_AES_CCM' value='1'/>
+      <enumerator name='RTE_CRYPTO_AEAD_AES_GCM' value='2'/>
+      <enumerator name='RTE_CRYPTO_AEAD_LIST_END' value='3'/>
+    </enum-decl>
+    <class-decl name='rte_cryptodev_asymmetric_capability' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='170' column='1' id='type-id-171'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xform_capa' type-id='type-id-181' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_asymmetric_xform_capability' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='150' column='1' id='type-id-181'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xform_type' type-id='type-id-182' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='151' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='op_types' type-id='type-id-34' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-183' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_asym_xform_type' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='53' column='1' id='type-id-182'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_UNSPECIFIED' value='0'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_NONE' value='1'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_RSA' value='2'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_DH' value='3'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_DSA' value='4'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_MODINV' value='5'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_MODEX' value='6'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_TYPE_LIST_END' value='7'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='48' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='158' column='1' id='type-id-183'>
+      <data-member access='private'>
+        <var-decl name='modlen' type-id='type-id-178' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='159' column='1'/>
+      </data-member>
+    </union-decl>
+    <qualified-type-def type-id='type-id-167' const='yes' id='type-id-184'/>
+    <pointer-type-def type-id='type-id-184' size-in-bits='64' id='type-id-100'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='488' column='1' id='type-id-101'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max_nb_sessions' type-id='type-id-33' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='489' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-98' size-in-bits='64' id='type-id-185'/>
+    <pointer-type-def type-id='type-id-186' size-in-bits='64' id='type-id-187'/>
+    <typedef-decl name='cryptodev_info_get_t' type-id='type-id-187' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='180' column='1' id='type-id-77'/>
+    <class-decl name='rte_cryptodev_stats' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='530' column='1' id='type-id-188'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='enqueued_count' type-id='type-id-9' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='531' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dequeued_count' type-id='type-id-9' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='533' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='enqueue_err_count' type-id='type-id-9' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='536' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dequeue_err_count' type-id='type-id-9' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='538' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-188' size-in-bits='64' id='type-id-189'/>
+    <pointer-type-def type-id='type-id-190' size-in-bits='64' id='type-id-191'/>
+    <typedef-decl name='cryptodev_stats_get_t' type-id='type-id-191' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='163' column='1' id='type-id-78'/>
+    <typedef-decl name='cryptodev_stats_reset_t' type-id='type-id-97' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='172' column='1' id='type-id-79'/>
+    <class-decl name='rte_cryptodev_qp_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='508' column='1' id='type-id-192'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_descriptors' type-id='type-id-34' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='509' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp_session' type-id='type-id-20' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='510' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mp_session_private' type-id='type-id-20' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='512' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-192' const='yes' id='type-id-193'/>
+    <pointer-type-def type-id='type-id-193' size-in-bits='64' id='type-id-194'/>
+    <pointer-type-def type-id='type-id-195' size-in-bits='64' id='type-id-196'/>
+    <typedef-decl name='cryptodev_queue_pair_setup_t' type-id='type-id-196' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='193' column='1' id='type-id-80'/>
+    <pointer-type-def type-id='type-id-197' size-in-bits='64' id='type-id-198'/>
+    <typedef-decl name='cryptodev_queue_pair_release_t' type-id='type-id-198' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='207' column='1' id='type-id-81'/>
+    <pointer-type-def type-id='type-id-199' size-in-bits='64' id='type-id-200'/>
+    <typedef-decl name='cryptodev_queue_pair_count_t' type-id='type-id-200' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='217' column='1' id='type-id-82'/>
+    <pointer-type-def type-id='type-id-201' size-in-bits='64' id='type-id-202'/>
+    <typedef-decl name='cryptodev_sym_get_session_private_size_t' type-id='type-id-202' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='245' column='1' id='type-id-83'/>
+    <typedef-decl name='cryptodev_asym_get_session_private_size_t' type-id='type-id-202' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='256' column='1' id='type-id-84'/>
+    <class-decl name='rte_crypto_sym_xform' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='440' column='1' id='type-id-203'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-204' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='441' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-172' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='443' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-205' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-203' size-in-bits='64' id='type-id-204'/>
+    <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='446' column='1' id='type-id-205'>
+      <data-member access='private'>
+        <var-decl name='auth' type-id='type-id-206' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='447' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='cipher' type-id='type-id-207' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='aead' type-id='type-id-208' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='451' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_crypto_auth_xform' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='278' column='1' id='type-id-206'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-209' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-177' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='281' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-210' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='287' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv' type-id='type-id-211' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='330' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='digest_length' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='332' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_auth_operation' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='262' column='1' id='type-id-209'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTE_CRYPTO_AUTH_OP_VERIFY' value='0'/>
+      <enumerator name='RTE_CRYPTO_AUTH_OP_GENERATE' value='1'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='284' column='1' id='type-id-210'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-212' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='285' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='length' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='286' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-11' const='yes' id='type-id-213'/>
+    <pointer-type-def type-id='type-id-213' size-in-bits='64' id='type-id-212'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='295' column='1' id='type-id-211'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='offset' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='296' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='length' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='312' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_cipher_xform' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='107' column='1' id='type-id-207'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-214' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-179' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='113' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-210' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='119' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv' type-id='type-id-211' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='185' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_cipher_operation' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='90' column='1' id='type-id-214'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_OP_ENCRYPT' value='0'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_OP_DECRYPT' value='1'/>
+    </enum-decl>
+    <class-decl name='rte_crypto_aead_xform' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='370' column='1' id='type-id-208'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-215' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='371' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-180' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='373' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-210' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='379' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv' type-id='type-id-211' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='411' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='digest_length' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='413' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='240'>
+        <var-decl name='aad_length' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='415' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_aead_operation' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='359' column='1' id='type-id-215'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTE_CRYPTO_AEAD_OP_ENCRYPT' value='0'/>
+      <enumerator name='RTE_CRYPTO_AEAD_OP_DECRYPT' value='1'/>
+    </enum-decl>
+    <class-decl name='rte_cryptodev_sym_session' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='974' column='1' id='type-id-216'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='opaque_data' type-id='type-id-9' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='975' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='nb_drivers' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='977' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='user_data_sz' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='979' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='sess_data' type-id='type-id-217' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='984' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='981' column='1' id='type-id-218'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-13' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='982' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='refcnt' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='983' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-218' size-in-bits='infinite' id='type-id-217'>
+      <subrange length='infinite' type-id='type-id-23' id='type-id-219'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-216' size-in-bits='64' id='type-id-220'/>
+    <pointer-type-def type-id='type-id-221' size-in-bits='64' id='type-id-222'/>
+    <typedef-decl name='cryptodev_sym_configure_session_t' type-id='type-id-222' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='273' column='1' id='type-id-85'/>
+    <class-decl name='rte_crypto_asym_xform' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='353' column='1' id='type-id-223'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-224' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='354' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='xform_type' type-id='type-id-182' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='356' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-225' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-223' size-in-bits='64' id='type-id-224'/>
+    <union-decl name='__anonymous_union__' size-in-bits='1408' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='360' column='1' id='type-id-225'>
+      <data-member access='private'>
+        <var-decl name='rsa' type-id='type-id-226' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='361' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='modex' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='364' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='modinv' type-id='type-id-228' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='367' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dh' type-id='type-id-229' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='370' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dsa' type-id='type-id-230' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='373' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_crypto_rsa_xform' size-in-bits='1408' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='192' column='1' id='type-id-226'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n' type-id='type-id-231' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='193' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='e' type-id='type-id-231' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='199' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='key_type' type-id='type-id-232' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='' type-id='type-id-233' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_param_t' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='30' column='1' id='type-id-234'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-235' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='iova' type-id='type-id-21' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='33' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='length' type-id='type-id-43' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='35' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-235'/>
+    <typedef-decl name='rte_crypto_param' type-id='type-id-234' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='37' column='1' id='type-id-231'/>
+    <enum-decl name='rte_crypto_rsa_priv_key_type' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='133' column='1' id='type-id-232'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTE_RSA_KEY_TYPE_EXP' value='0'/>
+      <enumerator name='RTE_RSA_KET_TYPE_QT' value='1'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='960' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='208' column='1' id='type-id-233'>
+      <data-member access='private'>
+        <var-decl name='d' type-id='type-id-231' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='209' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='qt' type-id='type-id-236' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='216' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_crypto_rsa_priv_key_qt' size-in-bits='960' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='146' column='1' id='type-id-236'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='p' type-id='type-id-231' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='147' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='q' type-id='type-id-231' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='dP' type-id='type-id-231' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='161' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dQ' type-id='type-id-231' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='169' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='qInv' type-id='type-id-231' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='177' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_modex_xform' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='227' column='1' id='type-id-227'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='modulus' type-id='type-id-231' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='exponent' type-id='type-id-231' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='237' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_modinv_xform' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='250' column='1' id='type-id-228'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='modulus' type-id='type-id-231' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='251' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_dh_xform' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='271' column='1' id='type-id-229'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-237' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='272' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='p' type-id='type-id-231' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='275' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='g' type-id='type-id-231' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='281' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_asym_op_type' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='91' column='1' id='type-id-237'>
+      <underlying-type type-id='type-id-1'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_ENCRYPT' value='0'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_DECRYPT' value='1'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_SIGN' value='2'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_VERIFY' value='3'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_PRIVATE_KEY_GENERATE' value='4'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_PUBLIC_KEY_GENERATE' value='5'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_SHARED_SECRET_COMPUTE' value='6'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_LIST_END' value='7'/>
+    </enum-decl>
+    <class-decl name='rte_crypto_dsa_xform' size-in-bits='768' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='295' column='1' id='type-id-230'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='p' type-id='type-id-231' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='296' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='q' type-id='type-id-231' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='301' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='g' type-id='type-id-231' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='307' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='x' type-id='type-id-231' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='311' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_asym_session' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='989' column='1' id='type-id-238'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='sess_private_data' type-id='type-id-239' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='990' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-13' size-in-bits='infinite' id='type-id-239'>
+      <subrange length='infinite' type-id='type-id-23' id='type-id-219'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-238' size-in-bits='64' id='type-id-240'/>
+    <pointer-type-def type-id='type-id-241' size-in-bits='64' id='type-id-242'/>
+    <typedef-decl name='cryptodev_asym_configure_session_t' type-id='type-id-242' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='291' column='1' id='type-id-86'/>
+    <pointer-type-def type-id='type-id-243' size-in-bits='64' id='type-id-244'/>
+    <typedef-decl name='cryptodev_sym_free_session_t' type-id='type-id-244' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='301' column='1' id='type-id-87'/>
+    <pointer-type-def type-id='type-id-245' size-in-bits='64' id='type-id-246'/>
+    <typedef-decl name='cryptodev_asym_free_session_t' type-id='type-id-246' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='309' column='1' id='type-id-88'/>
+    <pointer-type-def type-id='type-id-72' size-in-bits='64' id='type-id-8'/>
+    <class-decl name='rte_cryptodev_cb_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='814' column='1' id='type-id-12'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-247' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='814' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-248' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='814' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_callback' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-249'/>
+    <pointer-type-def type-id='type-id-249' size-in-bits='64' id='type-id-247'/>
+    <pointer-type-def type-id='type-id-247' size-in-bits='64' id='type-id-248'/>
+    <qualified-type-def type-id='type-id-4' const='yes' id='type-id-250'/>
+    <pointer-type-def type-id='type-id-250' size-in-bits='64' id='type-id-251'/>
+    <function-decl name='dpaa_sec_eventq_detach' mangled-name='dpaa_sec_eventq_detach' filepath='../drivers/crypto/dpaa_sec/dpaa_sec.c' line='3295' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpaa_sec_eventq_detach@@DPDK_20.0'>
+      <parameter type-id='type-id-251' name='dev' filepath='../drivers/crypto/dpaa_sec/dpaa_sec.c' line='3295' column='1'/>
+      <parameter type-id='type-id-3' name='qp_id' filepath='../drivers/crypto/dpaa_sec/dpaa_sec.c' line='3296' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <class-decl name='rte_event' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1006' column='1' id='type-id-252'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-253' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1008' column='1' id='type-id-253'>
+      <data-member access='private'>
+        <var-decl name='event' type-id='type-id-9' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1009' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-254' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1011' column='1' id='type-id-254'>
+      <data-member access='public' layout-offset-in-bits='12'>
+        <var-decl name='flow_id' type-id='type-id-34' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1012' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4'>
+        <var-decl name='sub_event_type' type-id='type-id-34' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1019' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event_type' type-id='type-id-34' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1023' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='op' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1027' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2'>
+        <var-decl name='rsvd' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1033' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='sched_type' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1035' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='queue_id' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1040' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='priority' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1047' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='impl_opaque' type-id='type-id-11' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1057' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-252' const='yes' id='type-id-255'/>
+    <pointer-type-def type-id='type-id-255' size-in-bits='64' id='type-id-256'/>
+    <function-decl name='dpaa_sec_eventq_attach' mangled-name='dpaa_sec_eventq_attach' filepath='../drivers/crypto/dpaa_sec/dpaa_sec.c' line='3251' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpaa_sec_eventq_attach@@DPDK_20.0'>
+      <parameter type-id='type-id-251' name='dev' filepath='../drivers/crypto/dpaa_sec/dpaa_sec.c' line='3251' column='1'/>
+      <parameter type-id='type-id-3' name='qp_id' filepath='../drivers/crypto/dpaa_sec/dpaa_sec.c' line='3252' column='1'/>
+      <parameter type-id='type-id-16' name='ch_id' filepath='../drivers/crypto/dpaa_sec/dpaa_sec.c' line='3253' column='1'/>
+      <parameter type-id='type-id-256' name='event' filepath='../drivers/crypto/dpaa_sec/dpaa_sec.c' line='3254' column='1'/>
+      <return type-id='type-id-3'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-148'>
+      <return type-id='type-id-147'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-131'>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-142'>
+      <parameter type-id='type-id-99'/>
+      <parameter type-id='type-id-13'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-135'>
+      <parameter type-id='type-id-134'/>
+      <parameter type-id='type-id-13'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-94'>
+      <parameter type-id='type-id-89'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-241'>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-224'/>
+      <parameter type-id='type-id-240'/>
+      <parameter type-id='type-id-20'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-221'>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-204'/>
+      <parameter type-id='type-id-220'/>
+      <parameter type-id='type-id-20'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-92'>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-91'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-197'>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-195'>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-194'/>
+      <parameter type-id='type-id-3'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-140'>
+      <parameter type-id='type-id-10'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-144'>
+      <parameter type-id='type-id-10'/>
+      <parameter type-id='type-id-13'/>
+      <parameter type-id='type-id-9'/>
+      <parameter type-id='type-id-43'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-157'>
+      <parameter type-id='type-id-13'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-138'>
+      <parameter type-id='type-id-134'/>
+      <parameter type-id='type-id-137'/>
+      <parameter type-id='type-id-13'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-66'>
+      <parameter type-id='type-id-13'/>
+      <parameter type-id='type-id-65'/>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-199'>
+      <parameter type-id='type-id-89'/>
+      <return type-id='type-id-34'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-201'>
+      <parameter type-id='type-id-89'/>
+      <return type-id='type-id-33'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-96'>
+      <parameter type-id='type-id-89'/>
+      <return type-id='type-id-17'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-245'>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-240'/>
+      <return type-id='type-id-17'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-186'>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-185'/>
+      <return type-id='type-id-17'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-190'>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-189'/>
+      <return type-id='type-id-17'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-243'>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-220'/>
+      <return type-id='type-id-17'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-62'>
+      <parameter type-id='type-id-56'/>
+      <parameter type-id='type-id-13'/>
+      <return type-id='type-id-17'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-155'>
+      <parameter type-id='type-id-13'/>
+      <parameter type-id='type-id-99'/>
+      <parameter type-id='type-id-154'/>
+      <return type-id='type-id-13'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_kasumi.dump b/drivers/.abi/librte_pmd_kasumi.dump
new file mode 100644
index 000000000..f9e23ffaa
--- /dev/null
+++ b/drivers/.abi/librte_pmd_kasumi.dump
@@ -0,0 +1,41 @@
+<abi-corpus path='gcc//drivers/librte_pmd_kasumi.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_kasumi.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='kasumi/sso_kasumi_f8.c' comp-dir-path='/home/bruce/public_home/crypto/libsso_kasumi/src' language='LANG_C99'>
+    <type-decl name='void' id='type-id-1'/>
+    <function-decl name='sso_kasumi_2_blocks' mangled-name='sso_kasumi_2_blocks' filepath='../include/sso_kasumi_internal.h' line='94' column='1' visibility='default' binding='global' size-in-bits='64'>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='sso_kasumi_1_block' mangled-name='sso_kasumi_1_block' filepath='../include/sso_kasumi_internal.h' line='81' column='1' visibility='default' binding='global' size-in-bits='64'>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='sso_kasumi_4_blocks' mangled-name='sso_kasumi_4_blocks' filepath='../include/sso_kasumi_internal.h' line='120' column='1' visibility='default' binding='global' size-in-bits='64'>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='sso_kasumi_3_blocks' mangled-name='sso_kasumi_3_blocks' filepath='../include/sso_kasumi_internal.h' line='108' column='1' visibility='default' binding='global' size-in-bits='64'>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='kasumi/sso_kasumi_f8_multi_pkt.c' comp-dir-path='/home/bruce/public_home/crypto/libsso_kasumi/src' language='LANG_C99'>
+    <function-decl name='__builtin_memcpy' mangled-name='memcpy' visibility='default' binding='global' size-in-bits='64'>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='sso_kasumi_8_blocks' mangled-name='sso_kasumi_8_blocks' filepath='../include/sso_kasumi_internal.h' line='132' column='1' visibility='default' binding='global' size-in-bits='64'>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_nitrox.dump b/drivers/.abi/librte_pmd_nitrox.dump
new file mode 100644
index 000000000..6d6ca0b66
--- /dev/null
+++ b/drivers/.abi/librte_pmd_nitrox.dump
@@ -0,0 +1,19 @@
+<abi-corpus path='gcc//drivers/librte_pmd_nitrox.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_nitrox.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_null_crypto.dump b/drivers/.abi/librte_pmd_null_crypto.dump
new file mode 100644
index 000000000..b69020114
--- /dev/null
+++ b/drivers/.abi/librte_pmd_null_crypto.dump
@@ -0,0 +1,1317 @@
+<abi-corpus path='gcc//drivers/librte_pmd_null_crypto.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_null_crypto.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/crypto/null/null_crypto_pmd.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='null_logtype_driver' type-id='type-id-1' visibility='default' filepath='../drivers/crypto/null/null_crypto_pmd_private.h' line='11' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/crypto/null/null_crypto_pmd_ops.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_cryptodev_ops' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='313' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_configure' type-id='type-id-3' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='314' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_start' type-id='type-id-4' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='315' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dev_stop' type-id='type-id-5' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='316' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_close' type-id='type-id-6' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='317' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dev_infos_get' type-id='type-id-7' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='319' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='stats_get' type-id='type-id-8' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='321' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='stats_reset' type-id='type-id-9' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='323' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='queue_pair_setup' type-id='type-id-10' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='326' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='queue_pair_release' type-id='type-id-11' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='328' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='queue_pair_count' type-id='type-id-12' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='330' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='sym_session_get_size' type-id='type-id-13' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='333' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='asym_session_get_size' type-id='type-id-14' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='335' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='sym_session_configure' type-id='type-id-15' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='337' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='asym_session_configure' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='339' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='sym_session_clear' type-id='type-id-17' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='341' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='asym_session_clear' type-id='type-id-18' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='343' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='817' column='1' id='type-id-19'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dequeue_burst' type-id='type-id-20' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='818' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='enqueue_burst' type-id='type-id-21' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='820' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data' type-id='type-id-22' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='823' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_ops' type-id='type-id-23' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='825' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='feature_flags' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='827' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-25' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='829' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='driver_id' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='832' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='link_intr_cbs' type-id='type-id-27' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='835' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='security_ctx' type-id='type-id-28' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='attached' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='842' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-29'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-29' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-30'/>
+    <typedef-decl name='uint16_t' type-id='type-id-30' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-31'/>
+    <type-decl name='void' id='type-id-32'/>
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-28'/>
+    <class-decl name='rte_crypto_op' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='78' column='1' id='type-id-33'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-34' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mempool' type-id='type-id-35' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='110' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='phys_addr' type-id='type-id-36' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='113' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='80' column='1' id='type-id-34'>
+      <data-member access='private'>
+        <var-decl name='raw' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-37' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-38'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-38' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-39'/>
+    <typedef-decl name='uint64_t' type-id='type-id-39' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-24'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='83' column='1' id='type-id-37'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='status' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='sess_type' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='reserved' type-id='type-id-40' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='private_data_offset' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='100' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-41'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-41' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-42'/>
+    <typedef-decl name='uint8_t' type-id='type-id-42' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-26'/>
+
+    <array-type-def dimensions='1' type-id='type-id-26' size-in-bits='24' id='type-id-40'>
+      <subrange length='3' type-id='type-id-38' id='type-id-43'/>
+
+    </array-type-def>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-44'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-45' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-46' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-47' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-48' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-48' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-50' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-51' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-52' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-53' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-54'/>
+
+    <array-type-def dimensions='1' type-id='type-id-54' size-in-bits='256' id='type-id-45'>
+      <subrange length='32' type-id='type-id-38' id='type-id-55'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-46'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-24' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-56'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-45' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-57' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-58' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-24' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-50' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-49' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-57'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-59' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-36' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-24' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-59'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-24' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-36'/>
+    <typedef-decl name='size_t' type-id='type-id-38' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-58'/>
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-60'/>
+    <typedef-decl name='int32_t' type-id='type-id-60' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-50'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-48'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-48' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-61'/>
+    <typedef-decl name='uint32_t' type-id='type-id-61' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-49'/>
+    <qualified-type-def type-id='type-id-56' const='yes' id='type-id-62'/>
+    <pointer-type-def type-id='type-id-62' size-in-bits='64' id='type-id-47'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-63'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-64' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-28' size-in-bits='98304' id='type-id-64'>
+      <subrange length='1536' type-id='type-id-38' id='type-id-65'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-51'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-52'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-66' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-67' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-68'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-69' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-35' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-70' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-69'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-66' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-68' size-in-bits='64' id='type-id-66'/>
+    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-35'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-70'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-36' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-59' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-53'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-71' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-72' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-73'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-74' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-35' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-75' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-58' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-76' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-74'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-71' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-73' size-in-bits='64' id='type-id-71'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-75'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-36' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-59' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-77' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-78'/>
+    <pointer-type-def type-id='type-id-78' size-in-bits='64' id='type-id-76'/>
+    <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-72'/>
+    <pointer-type-def type-id='type-id-33' size-in-bits='64' id='type-id-79'/>
+    <pointer-type-def type-id='type-id-79' size-in-bits='64' id='type-id-80'/>
+    <pointer-type-def type-id='type-id-81' size-in-bits='64' id='type-id-82'/>
+    <typedef-decl name='dequeue_pkt_burst_t' type-id='type-id-82' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='800' column='1' id='type-id-20'/>
+    <typedef-decl name='enqueue_pkt_burst_t' type-id='type-id-82' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='804' column='1' id='type-id-21'/>
+    <class-decl name='rte_cryptodev_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='856' column='1' id='type-id-83'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_id' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='857' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='socket_id' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='859' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='name' type-id='type-id-84' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='861' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='dev_started' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='session_pool' type-id='type-id-35' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='868' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='queue_pairs' type-id='type-id-85' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='870' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='nb_queue_pairs' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='872' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='dev_private' type-id='type-id-28' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='875' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-54' size-in-bits='512' id='type-id-84'>
+      <subrange length='64' type-id='type-id-38' id='type-id-86'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-85'/>
+    <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-22'/>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-23'/>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-87'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-88' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-90' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-91' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-92' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-88'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-25' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-93' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-87' size-in-bits='64' id='type-id-25'/>
+    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-93'/>
+    <qualified-type-def type-id='type-id-54' const='yes' id='type-id-94'/>
+    <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-89'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-95'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-96' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-96'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-97' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-98' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-95' size-in-bits='64' id='type-id-97'/>
+    <pointer-type-def type-id='type-id-97' size-in-bits='64' id='type-id-98'/>
+    <qualified-type-def type-id='type-id-95' const='yes' id='type-id-99'/>
+    <pointer-type-def type-id='type-id-99' size-in-bits='64' id='type-id-90'/>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-100'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-101' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-102' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-103' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-104' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-105' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-106' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-107' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-108' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-109' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-110' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-111' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-112' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-113' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-114' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-101'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-115' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-116' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-100' size-in-bits='64' id='type-id-115'/>
+    <pointer-type-def type-id='type-id-115' size-in-bits='64' id='type-id-116'/>
+    <pointer-type-def type-id='type-id-117' size-in-bits='64' id='type-id-118'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-118' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-102'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-118' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-103'/>
+    <qualified-type-def type-id='type-id-87' const='yes' id='type-id-119'/>
+    <pointer-type-def type-id='type-id-119' size-in-bits='64' id='type-id-120'/>
+    <pointer-type-def type-id='type-id-121' size-in-bits='64' id='type-id-122'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-122' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-123'/>
+    <pointer-type-def type-id='type-id-124' size-in-bits='64' id='type-id-125'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-125' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-104'/>
+    <pointer-type-def type-id='type-id-126' size-in-bits='64' id='type-id-127'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-127' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-105'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-127' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-106'/>
+    <pointer-type-def type-id='type-id-128' size-in-bits='64' id='type-id-129'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-129' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-107'/>
+    <pointer-type-def type-id='type-id-130' size-in-bits='64' id='type-id-131'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-131' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-108'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-131' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-109'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-110'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-132' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-133'/>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-132'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-134'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-135' size-in-bits='64' id='type-id-136'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-136' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-111'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-137'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-115' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-138' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-25' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-28' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-139'/>
+    <pointer-type-def type-id='type-id-139' size-in-bits='64' id='type-id-138'/>
+    <qualified-type-def type-id='type-id-137' const='yes' id='type-id-140'/>
+    <pointer-type-def type-id='type-id-140' size-in-bits='64' id='type-id-141'/>
+    <pointer-type-def type-id='type-id-142' size-in-bits='64' id='type-id-143'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-143' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-112'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-127' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-113'/>
+    <pointer-type-def type-id='type-id-144' size-in-bits='64' id='type-id-145'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-145' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-114'/>
+    <qualified-type-def type-id='type-id-100' const='yes' id='type-id-146'/>
+    <pointer-type-def type-id='type-id-146' size-in-bits='64' id='type-id-91'/>
+    <class-decl name='rte_devargs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-147'/>
+    <pointer-type-def type-id='type-id-147' size-in-bits='64' id='type-id-92'/>
+    <class-decl name='rte_cryptodev_cb_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='814' column='1' id='type-id-27'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-148' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='814' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-149' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='814' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_callback' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-150'/>
+    <pointer-type-def type-id='type-id-150' size-in-bits='64' id='type-id-148'/>
+    <pointer-type-def type-id='type-id-148' size-in-bits='64' id='type-id-149'/>
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-151'/>
+    <class-decl name='rte_cryptodev_config' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='619' column='1' id='type-id-152'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='620' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_queue_pairs' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ff_disable' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='623' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-152' size-in-bits='64' id='type-id-153'/>
+    <pointer-type-def type-id='type-id-154' size-in-bits='64' id='type-id-155'/>
+    <typedef-decl name='cryptodev_configure_t' type-id='type-id-155' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='127' column='1' id='type-id-3'/>
+    <pointer-type-def type-id='type-id-156' size-in-bits='64' id='type-id-157'/>
+    <typedef-decl name='cryptodev_start_t' type-id='type-id-157' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='137' column='1' id='type-id-4'/>
+    <pointer-type-def type-id='type-id-158' size-in-bits='64' id='type-id-159'/>
+    <typedef-decl name='cryptodev_stop_t' type-id='type-id-159' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='144' column='1' id='type-id-5'/>
+    <typedef-decl name='cryptodev_close_t' type-id='type-id-157' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='154' column='1' id='type-id-6'/>
+    <class-decl name='rte_cryptodev_info' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='468' column='1' id='type-id-160'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='driver_name' type-id='type-id-89' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='469' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='driver_id' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='470' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='device' type-id='type-id-25' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='471' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='feature_flags' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='473' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='capabilities' type-id='type-id-161' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='476' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='max_nb_queue_pairs' type-id='type-id-48' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='479' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='min_mbuf_headroom_req' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='482' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='min_mbuf_tailroom_req' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='485' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='sym' type-id='type-id-162' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='494' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_capabilities' size-in-bits='320' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='176' column='1' id='type-id-163'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-164' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='177' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='' type-id='type-id-165' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_op_type' filepath='../lib/librte_cryptodev/rte_crypto.h' line='29' column='1' id='type-id-164'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_OP_TYPE_UNDEFINED' value='0'/>
+      <enumerator name='RTE_CRYPTO_OP_TYPE_SYMMETRIC' value='1'/>
+      <enumerator name='RTE_CRYPTO_OP_TYPE_ASYMMETRIC' value='2'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='288' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='181' column='1' id='type-id-165'>
+      <data-member access='private'>
+        <var-decl name='sym' type-id='type-id-166' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='182' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='asym' type-id='type-id-167' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='184' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_cryptodev_symmetric_capability' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='98' column='1' id='type-id-166'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xform_type' type-id='type-id-168' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='99' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='' type-id='type-id-169' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_sym_xform_type' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='424' column='1' id='type-id-168'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_NOT_SPECIFIED' value='0'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_AUTH' value='1'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_CIPHER' value='2'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_AEAD' value='3'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='102' column='1' id='type-id-169'>
+      <data-member access='private'>
+        <var-decl name='auth' type-id='type-id-170' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='116' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='cipher' type-id='type-id-171' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='127' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='aead' type-id='type-id-172' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='103' column='1' id='type-id-170'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-173' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='104' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='block_size' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='key_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='digest_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='110' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='aad_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='112' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='114' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_auth_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='189' column='1' id='type-id-173'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_AUTH_NULL' value='1'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_CBC_MAC' value='2'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_CMAC' value='3'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_GMAC' value='4'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_XCBC_MAC' value='5'/>
+      <enumerator name='RTE_CRYPTO_AUTH_KASUMI_F9' value='6'/>
+      <enumerator name='RTE_CRYPTO_AUTH_MD5' value='7'/>
+      <enumerator name='RTE_CRYPTO_AUTH_MD5_HMAC' value='8'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA1' value='9'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA1_HMAC' value='10'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA224' value='11'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA224_HMAC' value='12'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA256' value='13'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA256_HMAC' value='14'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA384' value='15'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA384_HMAC' value='16'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA512' value='17'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA512_HMAC' value='18'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SNOW3G_UIA2' value='19'/>
+      <enumerator name='RTE_CRYPTO_AUTH_ZUC_EIA3' value='20'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_224' value='21'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_224_HMAC' value='22'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_256' value='23'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_256_HMAC' value='24'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_384' value='25'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_384_HMAC' value='26'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_512' value='27'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_512_HMAC' value='28'/>
+      <enumerator name='RTE_CRYPTO_AUTH_LIST_END' value='29'/>
+    </enum-decl>
+    <class-decl name='rte_crypto_param_range' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='84' column='1' id='type-id-174'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='min' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='max' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='increment' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='87' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='160' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='118' column='1' id='type-id-171'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-175' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='119' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='block_size' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='121' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='key_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='123' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='iv_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='125' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_cipher_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='30' column='1' id='type-id-175'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_NULL' value='1'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_CBC' value='2'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_CTR' value='3'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_ECB' value='4'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_CBC' value='5'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_CTR' value='6'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_ECB' value='7'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_F8' value='8'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_XTS' value='9'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_ARC4' value='10'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_KASUMI_F8' value='11'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_SNOW3G_UEA2' value='12'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_ZUC_EEA3' value='13'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_DES_CBC' value='14'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_DOCSISBPI' value='15'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_DES_DOCSISBPI' value='16'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_LIST_END' value='17'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='129' column='1' id='type-id-172'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-176' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='130' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='block_size' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='132' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='key_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='134' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='digest_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='136' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='aad_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='140' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_aead_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='346' column='1' id='type-id-176'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_AEAD_AES_CCM' value='1'/>
+      <enumerator name='RTE_CRYPTO_AEAD_AES_GCM' value='2'/>
+      <enumerator name='RTE_CRYPTO_AEAD_LIST_END' value='3'/>
+    </enum-decl>
+    <class-decl name='rte_cryptodev_asymmetric_capability' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='170' column='1' id='type-id-167'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xform_capa' type-id='type-id-177' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_asymmetric_xform_capability' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='150' column='1' id='type-id-177'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xform_type' type-id='type-id-178' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='151' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='op_types' type-id='type-id-49' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-179' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_asym_xform_type' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='53' column='1' id='type-id-178'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_UNSPECIFIED' value='0'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_NONE' value='1'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_RSA' value='2'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_DH' value='3'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_DSA' value='4'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_MODINV' value='5'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_MODEX' value='6'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_TYPE_LIST_END' value='7'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='48' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='158' column='1' id='type-id-179'>
+      <data-member access='private'>
+        <var-decl name='modlen' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='159' column='1'/>
+      </data-member>
+    </union-decl>
+    <qualified-type-def type-id='type-id-163' const='yes' id='type-id-180'/>
+    <pointer-type-def type-id='type-id-180' size-in-bits='64' id='type-id-161'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='488' column='1' id='type-id-162'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max_nb_sessions' type-id='type-id-48' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='489' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-160' size-in-bits='64' id='type-id-181'/>
+    <pointer-type-def type-id='type-id-182' size-in-bits='64' id='type-id-183'/>
+    <typedef-decl name='cryptodev_info_get_t' type-id='type-id-183' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='180' column='1' id='type-id-7'/>
+    <class-decl name='rte_cryptodev_stats' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='530' column='1' id='type-id-184'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='enqueued_count' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='531' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dequeued_count' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='533' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='enqueue_err_count' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='536' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dequeue_err_count' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='538' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-184' size-in-bits='64' id='type-id-185'/>
+    <pointer-type-def type-id='type-id-186' size-in-bits='64' id='type-id-187'/>
+    <typedef-decl name='cryptodev_stats_get_t' type-id='type-id-187' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='163' column='1' id='type-id-8'/>
+    <typedef-decl name='cryptodev_stats_reset_t' type-id='type-id-159' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='172' column='1' id='type-id-9'/>
+    <class-decl name='rte_cryptodev_qp_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='508' column='1' id='type-id-188'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_descriptors' type-id='type-id-49' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='509' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp_session' type-id='type-id-35' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='510' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mp_session_private' type-id='type-id-35' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='512' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-188' const='yes' id='type-id-189'/>
+    <pointer-type-def type-id='type-id-189' size-in-bits='64' id='type-id-190'/>
+    <pointer-type-def type-id='type-id-191' size-in-bits='64' id='type-id-192'/>
+    <typedef-decl name='cryptodev_queue_pair_setup_t' type-id='type-id-192' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='193' column='1' id='type-id-10'/>
+    <pointer-type-def type-id='type-id-193' size-in-bits='64' id='type-id-194'/>
+    <typedef-decl name='cryptodev_queue_pair_release_t' type-id='type-id-194' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='207' column='1' id='type-id-11'/>
+    <pointer-type-def type-id='type-id-195' size-in-bits='64' id='type-id-196'/>
+    <typedef-decl name='cryptodev_queue_pair_count_t' type-id='type-id-196' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='217' column='1' id='type-id-12'/>
+    <pointer-type-def type-id='type-id-197' size-in-bits='64' id='type-id-198'/>
+    <typedef-decl name='cryptodev_sym_get_session_private_size_t' type-id='type-id-198' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='245' column='1' id='type-id-13'/>
+    <typedef-decl name='cryptodev_asym_get_session_private_size_t' type-id='type-id-198' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='256' column='1' id='type-id-14'/>
+    <class-decl name='rte_crypto_sym_xform' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='440' column='1' id='type-id-199'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-200' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='441' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-168' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='443' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-201' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-199' size-in-bits='64' id='type-id-200'/>
+    <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='446' column='1' id='type-id-201'>
+      <data-member access='private'>
+        <var-decl name='auth' type-id='type-id-202' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='447' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='cipher' type-id='type-id-203' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='aead' type-id='type-id-204' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='451' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_crypto_auth_xform' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='278' column='1' id='type-id-202'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-205' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-173' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='281' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-206' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='287' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv' type-id='type-id-207' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='330' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='digest_length' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='332' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_auth_operation' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='262' column='1' id='type-id-205'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_AUTH_OP_VERIFY' value='0'/>
+      <enumerator name='RTE_CRYPTO_AUTH_OP_GENERATE' value='1'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='284' column='1' id='type-id-206'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-208' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='285' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='length' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='286' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-26' const='yes' id='type-id-209'/>
+    <pointer-type-def type-id='type-id-209' size-in-bits='64' id='type-id-208'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='295' column='1' id='type-id-207'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='offset' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='296' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='length' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='312' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_cipher_xform' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='107' column='1' id='type-id-203'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-210' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-175' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='113' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-206' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='119' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv' type-id='type-id-207' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='185' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_cipher_operation' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='90' column='1' id='type-id-210'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_OP_ENCRYPT' value='0'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_OP_DECRYPT' value='1'/>
+    </enum-decl>
+    <class-decl name='rte_crypto_aead_xform' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='370' column='1' id='type-id-204'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-211' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='371' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-176' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='373' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-206' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='379' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv' type-id='type-id-207' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='411' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='digest_length' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='413' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='240'>
+        <var-decl name='aad_length' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='415' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_aead_operation' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='359' column='1' id='type-id-211'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_AEAD_OP_ENCRYPT' value='0'/>
+      <enumerator name='RTE_CRYPTO_AEAD_OP_DECRYPT' value='1'/>
+    </enum-decl>
+    <class-decl name='rte_cryptodev_sym_session' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='974' column='1' id='type-id-212'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='opaque_data' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='975' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='nb_drivers' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='977' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='user_data_sz' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='979' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='sess_data' type-id='type-id-213' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='984' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='981' column='1' id='type-id-214'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-28' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='982' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='refcnt' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='983' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-214' size-in-bits='infinite' id='type-id-213'>
+      <subrange length='infinite' type-id='type-id-38' id='type-id-215'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-212' size-in-bits='64' id='type-id-216'/>
+    <pointer-type-def type-id='type-id-217' size-in-bits='64' id='type-id-218'/>
+    <typedef-decl name='cryptodev_sym_configure_session_t' type-id='type-id-218' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='273' column='1' id='type-id-15'/>
+    <class-decl name='rte_crypto_asym_xform' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='353' column='1' id='type-id-219'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-220' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='354' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='xform_type' type-id='type-id-178' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='356' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-221' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-219' size-in-bits='64' id='type-id-220'/>
+    <union-decl name='__anonymous_union__' size-in-bits='1408' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='360' column='1' id='type-id-221'>
+      <data-member access='private'>
+        <var-decl name='rsa' type-id='type-id-222' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='361' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='modex' type-id='type-id-223' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='364' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='modinv' type-id='type-id-224' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='367' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dh' type-id='type-id-225' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='370' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dsa' type-id='type-id-226' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='373' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_crypto_rsa_xform' size-in-bits='1408' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='192' column='1' id='type-id-222'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='193' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='e' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='199' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='key_type' type-id='type-id-228' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='' type-id='type-id-229' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_param_t' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='30' column='1' id='type-id-230'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-231' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='iova' type-id='type-id-36' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='33' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='length' type-id='type-id-58' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='35' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-231'/>
+    <typedef-decl name='rte_crypto_param' type-id='type-id-230' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='37' column='1' id='type-id-227'/>
+    <enum-decl name='rte_crypto_rsa_priv_key_type' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='133' column='1' id='type-id-228'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_RSA_KEY_TYPE_EXP' value='0'/>
+      <enumerator name='RTE_RSA_KET_TYPE_QT' value='1'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='960' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='208' column='1' id='type-id-229'>
+      <data-member access='private'>
+        <var-decl name='d' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='209' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='qt' type-id='type-id-232' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='216' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_crypto_rsa_priv_key_qt' size-in-bits='960' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='146' column='1' id='type-id-232'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='p' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='147' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='q' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='dP' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='161' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dQ' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='169' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='qInv' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='177' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_modex_xform' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='227' column='1' id='type-id-223'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='modulus' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='exponent' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='237' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_modinv_xform' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='250' column='1' id='type-id-224'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='modulus' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='251' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_dh_xform' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='271' column='1' id='type-id-225'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-233' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='272' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='p' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='275' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='g' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='281' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_asym_op_type' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='91' column='1' id='type-id-233'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_ENCRYPT' value='0'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_DECRYPT' value='1'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_SIGN' value='2'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_VERIFY' value='3'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_PRIVATE_KEY_GENERATE' value='4'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_PUBLIC_KEY_GENERATE' value='5'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_SHARED_SECRET_COMPUTE' value='6'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_LIST_END' value='7'/>
+    </enum-decl>
+    <class-decl name='rte_crypto_dsa_xform' size-in-bits='768' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='295' column='1' id='type-id-226'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='p' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='296' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='q' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='301' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='g' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='307' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='x' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='311' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_asym_session' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='989' column='1' id='type-id-234'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='sess_private_data' type-id='type-id-235' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='990' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-28' size-in-bits='infinite' id='type-id-235'>
+      <subrange length='infinite' type-id='type-id-38' id='type-id-215'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-234' size-in-bits='64' id='type-id-236'/>
+    <pointer-type-def type-id='type-id-237' size-in-bits='64' id='type-id-238'/>
+    <typedef-decl name='cryptodev_asym_configure_session_t' type-id='type-id-238' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='291' column='1' id='type-id-16'/>
+    <pointer-type-def type-id='type-id-239' size-in-bits='64' id='type-id-240'/>
+    <typedef-decl name='cryptodev_sym_free_session_t' type-id='type-id-240' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='301' column='1' id='type-id-17'/>
+    <pointer-type-def type-id='type-id-241' size-in-bits='64' id='type-id-242'/>
+    <typedef-decl name='cryptodev_asym_free_session_t' type-id='type-id-242' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='309' column='1' id='type-id-18'/>
+    <var-decl name='null_crypto_pmd_ops' type-id='type-id-23' visibility='default' filepath='../drivers/crypto/null/null_crypto_pmd_private.h' line='52' column='1'/>
+    <function-type size-in-bits='64' id='type-id-135'>
+      <return type-id='type-id-134'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-117'>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-128'>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-121'>
+      <parameter type-id='type-id-120'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-156'>
+      <parameter type-id='type-id-151'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-237'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-220'/>
+      <parameter type-id='type-id-236'/>
+      <parameter type-id='type-id-35'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-217'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-200'/>
+      <parameter type-id='type-id-216'/>
+      <parameter type-id='type-id-35'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-154'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-153'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-193'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-31'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-191'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-31'/>
+      <parameter type-id='type-id-190'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-126'>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-130'>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-24'/>
+      <parameter type-id='type-id-58'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-144'>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-124'>
+      <parameter type-id='type-id-120'/>
+      <parameter type-id='type-id-123'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-25'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-81'>
+      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-80'/>
+      <parameter type-id='type-id-31'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-195'>
+      <parameter type-id='type-id-151'/>
+      <return type-id='type-id-49'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-197'>
+      <parameter type-id='type-id-151'/>
+      <return type-id='type-id-48'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-158'>
+      <parameter type-id='type-id-151'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-241'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-236'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-182'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-181'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-186'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-185'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-239'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-216'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-77'>
+      <parameter type-id='type-id-71'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-142'>
+      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-141'/>
+      <return type-id='type-id-28'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_octeontx2_crypto.dump b/drivers/.abi/librte_pmd_octeontx2_crypto.dump
new file mode 100644
index 000000000..bbba82d39
--- /dev/null
+++ b/drivers/.abi/librte_pmd_octeontx2_crypto.dump
@@ -0,0 +1,28 @@
+<abi-corpus path='gcc//drivers/librte_pmd_octeontx2_crypto.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_octeontx2_crypto.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_common_cpt.so.20.0'/>
+    <dependency name='librte_common_octeontx2.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/crypto/octeontx2/otx2_cryptodev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='otx2_cpt_logtype' type-id='type-id-1' visibility='default' filepath='../drivers/crypto/octeontx2/otx2_cryptodev.h' line='36' column='1'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_octeontx_crypto.dump b/drivers/.abi/librte_pmd_octeontx_crypto.dump
new file mode 100644
index 000000000..b0e8321ac
--- /dev/null
+++ b/drivers/.abi/librte_pmd_octeontx_crypto.dump
@@ -0,0 +1,28 @@
+<abi-corpus path='gcc//drivers/librte_pmd_octeontx_crypto.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_octeontx_crypto.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_common_cpt.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/crypto/octeontx/otx_cryptodev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-1'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-2'/>
+    <typedef-decl name='uint8_t' type-id='type-id-2' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-3'/>
+    <var-decl name='otx_cryptodev_driver_id' type-id='type-id-3' visibility='default' filepath='../drivers/crypto/octeontx/otx_cryptodev.h' line='22' column='1'/>
+    <type-decl name='int' size-in-bits='32' id='type-id-4'/>
+    <var-decl name='otx_cpt_logtype' type-id='type-id-4' visibility='default' filepath='../drivers/crypto/octeontx/otx_cryptodev.h' line='17' column='1'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_openssl.dump b/drivers/.abi/librte_pmd_openssl.dump
new file mode 100644
index 000000000..575feef50
--- /dev/null
+++ b/drivers/.abi/librte_pmd_openssl.dump
@@ -0,0 +1,1315 @@
+<abi-corpus path='gcc//drivers/librte_pmd_openssl.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_openssl.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libcrypto.so.1.1'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/crypto/openssl/rte_openssl_pmd_ops.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_cryptodev_ops' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='313' column='1' id='type-id-1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_configure' type-id='type-id-2' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='314' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_start' type-id='type-id-3' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='315' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dev_stop' type-id='type-id-4' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='316' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_close' type-id='type-id-5' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='317' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dev_infos_get' type-id='type-id-6' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='319' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='stats_get' type-id='type-id-7' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='321' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='stats_reset' type-id='type-id-8' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='323' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='queue_pair_setup' type-id='type-id-9' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='326' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='queue_pair_release' type-id='type-id-10' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='328' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='queue_pair_count' type-id='type-id-11' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='330' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='sym_session_get_size' type-id='type-id-12' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='333' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='asym_session_get_size' type-id='type-id-13' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='335' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='sym_session_configure' type-id='type-id-14' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='337' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='asym_session_configure' type-id='type-id-15' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='339' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='sym_session_clear' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='341' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='asym_session_clear' type-id='type-id-17' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='343' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='int' size-in-bits='32' id='type-id-18'/>
+    <class-decl name='rte_cryptodev' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='817' column='1' id='type-id-19'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dequeue_burst' type-id='type-id-20' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='818' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='enqueue_burst' type-id='type-id-21' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='820' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data' type-id='type-id-22' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='823' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_ops' type-id='type-id-23' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='825' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='feature_flags' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='827' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-25' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='829' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='driver_id' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='832' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='link_intr_cbs' type-id='type-id-27' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='835' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='security_ctx' type-id='type-id-28' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='attached' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='842' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-29'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-29' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-30'/>
+    <typedef-decl name='uint16_t' type-id='type-id-30' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-31'/>
+    <type-decl name='void' id='type-id-32'/>
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-28'/>
+    <class-decl name='rte_crypto_op' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='78' column='1' id='type-id-33'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-34' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mempool' type-id='type-id-35' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='110' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='phys_addr' type-id='type-id-36' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='113' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='80' column='1' id='type-id-34'>
+      <data-member access='private'>
+        <var-decl name='raw' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-37' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-38'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-38' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-39'/>
+    <typedef-decl name='uint64_t' type-id='type-id-39' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-24'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='83' column='1' id='type-id-37'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='status' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='sess_type' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='reserved' type-id='type-id-40' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='private_data_offset' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='100' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-41'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-41' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-42'/>
+    <typedef-decl name='uint8_t' type-id='type-id-42' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-26'/>
+
+    <array-type-def dimensions='1' type-id='type-id-26' size-in-bits='24' id='type-id-40'>
+      <subrange length='3' type-id='type-id-38' id='type-id-43'/>
+
+    </array-type-def>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-44'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-45' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-46' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-47' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-48' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-18' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-48' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-50' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-51' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-52' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-53' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-54'/>
+
+    <array-type-def dimensions='1' type-id='type-id-54' size-in-bits='256' id='type-id-45'>
+      <subrange length='32' type-id='type-id-38' id='type-id-55'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-46'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-24' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-56'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-45' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-57' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-58' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-24' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-50' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-49' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-57'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-59' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-36' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-24' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-59'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-24' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-36'/>
+    <typedef-decl name='size_t' type-id='type-id-38' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-58'/>
+    <typedef-decl name='__int32_t' type-id='type-id-18' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-60'/>
+    <typedef-decl name='int32_t' type-id='type-id-60' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-50'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-48'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-48' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-61'/>
+    <typedef-decl name='uint32_t' type-id='type-id-61' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-49'/>
+    <qualified-type-def type-id='type-id-56' const='yes' id='type-id-62'/>
+    <pointer-type-def type-id='type-id-62' size-in-bits='64' id='type-id-47'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-63'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-64' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-28' size-in-bits='98304' id='type-id-64'>
+      <subrange length='1536' type-id='type-id-38' id='type-id-65'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-51'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-52'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-66' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-67' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-68'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-69' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-35' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-70' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-69'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-66' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-68' size-in-bits='64' id='type-id-66'/>
+    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-35'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-70'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-36' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-59' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-53'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-71' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-72' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-73'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-74' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-35' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-75' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-58' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-76' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-74'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-71' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-73' size-in-bits='64' id='type-id-71'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-75'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-36' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-59' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-77' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-78'/>
+    <pointer-type-def type-id='type-id-78' size-in-bits='64' id='type-id-76'/>
+    <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-72'/>
+    <pointer-type-def type-id='type-id-33' size-in-bits='64' id='type-id-79'/>
+    <pointer-type-def type-id='type-id-79' size-in-bits='64' id='type-id-80'/>
+    <pointer-type-def type-id='type-id-81' size-in-bits='64' id='type-id-82'/>
+    <typedef-decl name='dequeue_pkt_burst_t' type-id='type-id-82' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='800' column='1' id='type-id-20'/>
+    <typedef-decl name='enqueue_pkt_burst_t' type-id='type-id-82' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='804' column='1' id='type-id-21'/>
+    <class-decl name='rte_cryptodev_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='856' column='1' id='type-id-83'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_id' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='857' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='socket_id' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='859' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='name' type-id='type-id-84' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='861' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='dev_started' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='session_pool' type-id='type-id-35' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='868' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='queue_pairs' type-id='type-id-85' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='870' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='nb_queue_pairs' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='872' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='dev_private' type-id='type-id-28' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='875' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-54' size-in-bits='512' id='type-id-84'>
+      <subrange length='64' type-id='type-id-38' id='type-id-86'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-85'/>
+    <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-22'/>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-23'/>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-87'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-88' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-90' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-91' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-18' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-92' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-88'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-25' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-93' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-87' size-in-bits='64' id='type-id-25'/>
+    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-93'/>
+    <qualified-type-def type-id='type-id-54' const='yes' id='type-id-94'/>
+    <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-89'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-95'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-96' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-96'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-97' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-98' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-95' size-in-bits='64' id='type-id-97'/>
+    <pointer-type-def type-id='type-id-97' size-in-bits='64' id='type-id-98'/>
+    <qualified-type-def type-id='type-id-95' const='yes' id='type-id-99'/>
+    <pointer-type-def type-id='type-id-99' size-in-bits='64' id='type-id-90'/>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-100'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-101' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-102' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-103' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-104' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-105' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-106' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-107' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-108' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-109' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-110' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-111' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-112' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-113' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-114' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-101'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-115' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-116' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-100' size-in-bits='64' id='type-id-115'/>
+    <pointer-type-def type-id='type-id-115' size-in-bits='64' id='type-id-116'/>
+    <pointer-type-def type-id='type-id-117' size-in-bits='64' id='type-id-118'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-118' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-102'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-118' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-103'/>
+    <qualified-type-def type-id='type-id-87' const='yes' id='type-id-119'/>
+    <pointer-type-def type-id='type-id-119' size-in-bits='64' id='type-id-120'/>
+    <pointer-type-def type-id='type-id-121' size-in-bits='64' id='type-id-122'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-122' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-123'/>
+    <pointer-type-def type-id='type-id-124' size-in-bits='64' id='type-id-125'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-125' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-104'/>
+    <pointer-type-def type-id='type-id-126' size-in-bits='64' id='type-id-127'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-127' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-105'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-127' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-106'/>
+    <pointer-type-def type-id='type-id-128' size-in-bits='64' id='type-id-129'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-129' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-107'/>
+    <pointer-type-def type-id='type-id-130' size-in-bits='64' id='type-id-131'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-131' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-108'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-131' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-109'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-110'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-132' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-133'/>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-132'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-134'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-135' size-in-bits='64' id='type-id-136'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-136' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-111'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-137'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-115' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-138' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-25' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-28' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-139'/>
+    <pointer-type-def type-id='type-id-139' size-in-bits='64' id='type-id-138'/>
+    <qualified-type-def type-id='type-id-137' const='yes' id='type-id-140'/>
+    <pointer-type-def type-id='type-id-140' size-in-bits='64' id='type-id-141'/>
+    <pointer-type-def type-id='type-id-142' size-in-bits='64' id='type-id-143'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-143' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-112'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-127' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-113'/>
+    <pointer-type-def type-id='type-id-144' size-in-bits='64' id='type-id-145'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-145' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-114'/>
+    <qualified-type-def type-id='type-id-100' const='yes' id='type-id-146'/>
+    <pointer-type-def type-id='type-id-146' size-in-bits='64' id='type-id-91'/>
+    <class-decl name='rte_devargs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-147'/>
+    <pointer-type-def type-id='type-id-147' size-in-bits='64' id='type-id-92'/>
+    <class-decl name='rte_cryptodev_cb_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='814' column='1' id='type-id-27'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-148' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='814' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-149' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='814' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_callback' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-150'/>
+    <pointer-type-def type-id='type-id-150' size-in-bits='64' id='type-id-148'/>
+    <pointer-type-def type-id='type-id-148' size-in-bits='64' id='type-id-149'/>
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-151'/>
+    <class-decl name='rte_cryptodev_config' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='619' column='1' id='type-id-152'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='socket_id' type-id='type-id-18' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='620' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_queue_pairs' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ff_disable' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='623' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-152' size-in-bits='64' id='type-id-153'/>
+    <pointer-type-def type-id='type-id-154' size-in-bits='64' id='type-id-155'/>
+    <typedef-decl name='cryptodev_configure_t' type-id='type-id-155' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='127' column='1' id='type-id-2'/>
+    <pointer-type-def type-id='type-id-156' size-in-bits='64' id='type-id-157'/>
+    <typedef-decl name='cryptodev_start_t' type-id='type-id-157' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='137' column='1' id='type-id-3'/>
+    <pointer-type-def type-id='type-id-158' size-in-bits='64' id='type-id-159'/>
+    <typedef-decl name='cryptodev_stop_t' type-id='type-id-159' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='144' column='1' id='type-id-4'/>
+    <typedef-decl name='cryptodev_close_t' type-id='type-id-157' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='154' column='1' id='type-id-5'/>
+    <class-decl name='rte_cryptodev_info' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='468' column='1' id='type-id-160'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='driver_name' type-id='type-id-89' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='469' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='driver_id' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='470' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='device' type-id='type-id-25' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='471' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='feature_flags' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='473' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='capabilities' type-id='type-id-161' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='476' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='max_nb_queue_pairs' type-id='type-id-48' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='479' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='min_mbuf_headroom_req' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='482' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='min_mbuf_tailroom_req' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='485' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='sym' type-id='type-id-162' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='494' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_capabilities' size-in-bits='320' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='176' column='1' id='type-id-163'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-164' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='177' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='' type-id='type-id-165' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_op_type' filepath='../lib/librte_cryptodev/rte_crypto.h' line='29' column='1' id='type-id-164'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_OP_TYPE_UNDEFINED' value='0'/>
+      <enumerator name='RTE_CRYPTO_OP_TYPE_SYMMETRIC' value='1'/>
+      <enumerator name='RTE_CRYPTO_OP_TYPE_ASYMMETRIC' value='2'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='288' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='181' column='1' id='type-id-165'>
+      <data-member access='private'>
+        <var-decl name='sym' type-id='type-id-166' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='182' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='asym' type-id='type-id-167' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='184' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_cryptodev_symmetric_capability' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='98' column='1' id='type-id-166'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xform_type' type-id='type-id-168' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='99' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='' type-id='type-id-169' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_sym_xform_type' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='424' column='1' id='type-id-168'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_NOT_SPECIFIED' value='0'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_AUTH' value='1'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_CIPHER' value='2'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_AEAD' value='3'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='102' column='1' id='type-id-169'>
+      <data-member access='private'>
+        <var-decl name='auth' type-id='type-id-170' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='116' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='cipher' type-id='type-id-171' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='127' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='aead' type-id='type-id-172' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='103' column='1' id='type-id-170'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-173' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='104' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='block_size' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='key_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='digest_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='110' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='aad_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='112' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='114' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_auth_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='189' column='1' id='type-id-173'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_AUTH_NULL' value='1'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_CBC_MAC' value='2'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_CMAC' value='3'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_GMAC' value='4'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_XCBC_MAC' value='5'/>
+      <enumerator name='RTE_CRYPTO_AUTH_KASUMI_F9' value='6'/>
+      <enumerator name='RTE_CRYPTO_AUTH_MD5' value='7'/>
+      <enumerator name='RTE_CRYPTO_AUTH_MD5_HMAC' value='8'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA1' value='9'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA1_HMAC' value='10'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA224' value='11'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA224_HMAC' value='12'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA256' value='13'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA256_HMAC' value='14'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA384' value='15'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA384_HMAC' value='16'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA512' value='17'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA512_HMAC' value='18'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SNOW3G_UIA2' value='19'/>
+      <enumerator name='RTE_CRYPTO_AUTH_ZUC_EIA3' value='20'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_224' value='21'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_224_HMAC' value='22'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_256' value='23'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_256_HMAC' value='24'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_384' value='25'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_384_HMAC' value='26'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_512' value='27'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_512_HMAC' value='28'/>
+      <enumerator name='RTE_CRYPTO_AUTH_LIST_END' value='29'/>
+    </enum-decl>
+    <class-decl name='rte_crypto_param_range' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='84' column='1' id='type-id-174'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='min' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='max' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='increment' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='87' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='160' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='118' column='1' id='type-id-171'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-175' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='119' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='block_size' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='121' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='key_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='123' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='iv_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='125' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_cipher_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='30' column='1' id='type-id-175'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_NULL' value='1'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_CBC' value='2'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_CTR' value='3'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_ECB' value='4'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_CBC' value='5'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_CTR' value='6'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_ECB' value='7'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_F8' value='8'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_XTS' value='9'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_ARC4' value='10'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_KASUMI_F8' value='11'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_SNOW3G_UEA2' value='12'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_ZUC_EEA3' value='13'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_DES_CBC' value='14'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_DOCSISBPI' value='15'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_DES_DOCSISBPI' value='16'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_LIST_END' value='17'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='129' column='1' id='type-id-172'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-176' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='130' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='block_size' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='132' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='key_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='134' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='digest_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='136' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='aad_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='140' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_aead_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='346' column='1' id='type-id-176'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_AEAD_AES_CCM' value='1'/>
+      <enumerator name='RTE_CRYPTO_AEAD_AES_GCM' value='2'/>
+      <enumerator name='RTE_CRYPTO_AEAD_LIST_END' value='3'/>
+    </enum-decl>
+    <class-decl name='rte_cryptodev_asymmetric_capability' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='170' column='1' id='type-id-167'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xform_capa' type-id='type-id-177' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_asymmetric_xform_capability' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='150' column='1' id='type-id-177'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xform_type' type-id='type-id-178' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='151' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='op_types' type-id='type-id-49' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-179' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_asym_xform_type' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='53' column='1' id='type-id-178'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_UNSPECIFIED' value='0'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_NONE' value='1'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_RSA' value='2'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_DH' value='3'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_DSA' value='4'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_MODINV' value='5'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_MODEX' value='6'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_TYPE_LIST_END' value='7'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='48' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='158' column='1' id='type-id-179'>
+      <data-member access='private'>
+        <var-decl name='modlen' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='159' column='1'/>
+      </data-member>
+    </union-decl>
+    <qualified-type-def type-id='type-id-163' const='yes' id='type-id-180'/>
+    <pointer-type-def type-id='type-id-180' size-in-bits='64' id='type-id-161'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='488' column='1' id='type-id-162'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max_nb_sessions' type-id='type-id-48' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='489' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-160' size-in-bits='64' id='type-id-181'/>
+    <pointer-type-def type-id='type-id-182' size-in-bits='64' id='type-id-183'/>
+    <typedef-decl name='cryptodev_info_get_t' type-id='type-id-183' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='180' column='1' id='type-id-6'/>
+    <class-decl name='rte_cryptodev_stats' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='530' column='1' id='type-id-184'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='enqueued_count' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='531' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dequeued_count' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='533' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='enqueue_err_count' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='536' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dequeue_err_count' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='538' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-184' size-in-bits='64' id='type-id-185'/>
+    <pointer-type-def type-id='type-id-186' size-in-bits='64' id='type-id-187'/>
+    <typedef-decl name='cryptodev_stats_get_t' type-id='type-id-187' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='163' column='1' id='type-id-7'/>
+    <typedef-decl name='cryptodev_stats_reset_t' type-id='type-id-159' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='172' column='1' id='type-id-8'/>
+    <class-decl name='rte_cryptodev_qp_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='508' column='1' id='type-id-188'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_descriptors' type-id='type-id-49' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='509' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp_session' type-id='type-id-35' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='510' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mp_session_private' type-id='type-id-35' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='512' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-188' const='yes' id='type-id-189'/>
+    <pointer-type-def type-id='type-id-189' size-in-bits='64' id='type-id-190'/>
+    <pointer-type-def type-id='type-id-191' size-in-bits='64' id='type-id-192'/>
+    <typedef-decl name='cryptodev_queue_pair_setup_t' type-id='type-id-192' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='193' column='1' id='type-id-9'/>
+    <pointer-type-def type-id='type-id-193' size-in-bits='64' id='type-id-194'/>
+    <typedef-decl name='cryptodev_queue_pair_release_t' type-id='type-id-194' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='207' column='1' id='type-id-10'/>
+    <pointer-type-def type-id='type-id-195' size-in-bits='64' id='type-id-196'/>
+    <typedef-decl name='cryptodev_queue_pair_count_t' type-id='type-id-196' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='217' column='1' id='type-id-11'/>
+    <pointer-type-def type-id='type-id-197' size-in-bits='64' id='type-id-198'/>
+    <typedef-decl name='cryptodev_sym_get_session_private_size_t' type-id='type-id-198' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='245' column='1' id='type-id-12'/>
+    <typedef-decl name='cryptodev_asym_get_session_private_size_t' type-id='type-id-198' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='256' column='1' id='type-id-13'/>
+    <class-decl name='rte_crypto_sym_xform' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='440' column='1' id='type-id-199'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-200' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='441' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-168' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='443' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-201' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-199' size-in-bits='64' id='type-id-200'/>
+    <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='446' column='1' id='type-id-201'>
+      <data-member access='private'>
+        <var-decl name='auth' type-id='type-id-202' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='447' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='cipher' type-id='type-id-203' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='aead' type-id='type-id-204' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='451' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_crypto_auth_xform' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='278' column='1' id='type-id-202'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-205' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-173' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='281' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-206' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='287' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv' type-id='type-id-207' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='330' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='digest_length' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='332' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_auth_operation' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='262' column='1' id='type-id-205'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_AUTH_OP_VERIFY' value='0'/>
+      <enumerator name='RTE_CRYPTO_AUTH_OP_GENERATE' value='1'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='284' column='1' id='type-id-206'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-208' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='285' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='length' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='286' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-26' const='yes' id='type-id-209'/>
+    <pointer-type-def type-id='type-id-209' size-in-bits='64' id='type-id-208'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='295' column='1' id='type-id-207'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='offset' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='296' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='length' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='312' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_cipher_xform' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='107' column='1' id='type-id-203'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-210' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-175' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='113' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-206' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='119' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv' type-id='type-id-207' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='185' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_cipher_operation' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='90' column='1' id='type-id-210'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_OP_ENCRYPT' value='0'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_OP_DECRYPT' value='1'/>
+    </enum-decl>
+    <class-decl name='rte_crypto_aead_xform' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='370' column='1' id='type-id-204'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-211' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='371' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-176' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='373' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-206' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='379' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv' type-id='type-id-207' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='411' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='digest_length' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='413' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='240'>
+        <var-decl name='aad_length' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='415' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_aead_operation' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='359' column='1' id='type-id-211'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_AEAD_OP_ENCRYPT' value='0'/>
+      <enumerator name='RTE_CRYPTO_AEAD_OP_DECRYPT' value='1'/>
+    </enum-decl>
+    <class-decl name='rte_cryptodev_sym_session' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='974' column='1' id='type-id-212'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='opaque_data' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='975' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='nb_drivers' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='977' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='user_data_sz' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='979' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='sess_data' type-id='type-id-213' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='984' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='981' column='1' id='type-id-214'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-28' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='982' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='refcnt' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='983' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-214' size-in-bits='infinite' id='type-id-213'>
+      <subrange length='infinite' type-id='type-id-38' id='type-id-215'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-212' size-in-bits='64' id='type-id-216'/>
+    <pointer-type-def type-id='type-id-217' size-in-bits='64' id='type-id-218'/>
+    <typedef-decl name='cryptodev_sym_configure_session_t' type-id='type-id-218' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='273' column='1' id='type-id-14'/>
+    <class-decl name='rte_crypto_asym_xform' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='353' column='1' id='type-id-219'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-220' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='354' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='xform_type' type-id='type-id-178' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='356' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-221' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-219' size-in-bits='64' id='type-id-220'/>
+    <union-decl name='__anonymous_union__' size-in-bits='1408' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='360' column='1' id='type-id-221'>
+      <data-member access='private'>
+        <var-decl name='rsa' type-id='type-id-222' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='361' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='modex' type-id='type-id-223' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='364' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='modinv' type-id='type-id-224' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='367' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dh' type-id='type-id-225' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='370' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dsa' type-id='type-id-226' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='373' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_crypto_rsa_xform' size-in-bits='1408' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='192' column='1' id='type-id-222'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='193' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='e' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='199' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='key_type' type-id='type-id-228' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='' type-id='type-id-229' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_param_t' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='30' column='1' id='type-id-230'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-231' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='iova' type-id='type-id-36' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='33' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='length' type-id='type-id-58' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='35' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-231'/>
+    <typedef-decl name='rte_crypto_param' type-id='type-id-230' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='37' column='1' id='type-id-227'/>
+    <enum-decl name='rte_crypto_rsa_priv_key_type' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='133' column='1' id='type-id-228'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_RSA_KEY_TYPE_EXP' value='0'/>
+      <enumerator name='RTE_RSA_KET_TYPE_QT' value='1'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='960' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='208' column='1' id='type-id-229'>
+      <data-member access='private'>
+        <var-decl name='d' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='209' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='qt' type-id='type-id-232' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='216' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_crypto_rsa_priv_key_qt' size-in-bits='960' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='146' column='1' id='type-id-232'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='p' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='147' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='q' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='dP' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='161' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dQ' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='169' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='qInv' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='177' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_modex_xform' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='227' column='1' id='type-id-223'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='modulus' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='exponent' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='237' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_modinv_xform' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='250' column='1' id='type-id-224'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='modulus' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='251' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_dh_xform' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='271' column='1' id='type-id-225'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-233' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='272' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='p' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='275' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='g' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='281' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_asym_op_type' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='91' column='1' id='type-id-233'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_ENCRYPT' value='0'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_DECRYPT' value='1'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_SIGN' value='2'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_VERIFY' value='3'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_PRIVATE_KEY_GENERATE' value='4'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_PUBLIC_KEY_GENERATE' value='5'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_SHARED_SECRET_COMPUTE' value='6'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_LIST_END' value='7'/>
+    </enum-decl>
+    <class-decl name='rte_crypto_dsa_xform' size-in-bits='768' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='295' column='1' id='type-id-226'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='p' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='296' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='q' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='301' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='g' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='307' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='x' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='311' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_asym_session' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='989' column='1' id='type-id-234'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='sess_private_data' type-id='type-id-235' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='990' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-28' size-in-bits='infinite' id='type-id-235'>
+      <subrange length='infinite' type-id='type-id-38' id='type-id-215'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-234' size-in-bits='64' id='type-id-236'/>
+    <pointer-type-def type-id='type-id-237' size-in-bits='64' id='type-id-238'/>
+    <typedef-decl name='cryptodev_asym_configure_session_t' type-id='type-id-238' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='291' column='1' id='type-id-15'/>
+    <pointer-type-def type-id='type-id-239' size-in-bits='64' id='type-id-240'/>
+    <typedef-decl name='cryptodev_sym_free_session_t' type-id='type-id-240' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='301' column='1' id='type-id-16'/>
+    <pointer-type-def type-id='type-id-241' size-in-bits='64' id='type-id-242'/>
+    <typedef-decl name='cryptodev_asym_free_session_t' type-id='type-id-242' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='309' column='1' id='type-id-17'/>
+    <var-decl name='rte_openssl_pmd_ops' type-id='type-id-23' visibility='default' filepath='../drivers/crypto/openssl/openssl_pmd_private.h' line='185' column='1'/>
+    <function-type size-in-bits='64' id='type-id-135'>
+      <return type-id='type-id-134'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-117'>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-128'>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-121'>
+      <parameter type-id='type-id-120'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-156'>
+      <parameter type-id='type-id-151'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-237'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-220'/>
+      <parameter type-id='type-id-236'/>
+      <parameter type-id='type-id-35'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-217'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-200'/>
+      <parameter type-id='type-id-216'/>
+      <parameter type-id='type-id-35'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-154'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-153'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-193'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-31'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-191'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-31'/>
+      <parameter type-id='type-id-190'/>
+      <parameter type-id='type-id-18'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-126'>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-130'>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-24'/>
+      <parameter type-id='type-id-58'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-144'>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-124'>
+      <parameter type-id='type-id-120'/>
+      <parameter type-id='type-id-123'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-25'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-81'>
+      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-80'/>
+      <parameter type-id='type-id-31'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-195'>
+      <parameter type-id='type-id-151'/>
+      <return type-id='type-id-49'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-197'>
+      <parameter type-id='type-id-151'/>
+      <return type-id='type-id-48'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-158'>
+      <parameter type-id='type-id-151'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-241'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-236'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-182'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-181'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-186'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-185'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-239'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-216'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-77'>
+      <parameter type-id='type-id-71'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-142'>
+      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-141'/>
+      <return type-id='type-id-28'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_qat.dump b/drivers/.abi/librte_pmd_qat.dump
new file mode 100644
index 000000000..c1b6a683d
--- /dev/null
+++ b/drivers/.abi/librte_pmd_qat.dump
@@ -0,0 +1,119 @@
+<abi-corpus path='gcc//drivers/librte_pmd_qat.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_qat.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_compressdev.so.0.200'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='libcrypto.so.1.1'/>
+    <dependency name='libisal.so.2'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/common/qat/qat_qp.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='qat_qp_hw_data' size-in-bits='96' is-struct='yes' visibility='default' filepath='../drivers/common/qat/qat_qp.h' line='27' column='1' id='type-id-1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='service_type' type-id='type-id-2' visibility='default' filepath='../drivers/common/qat/qat_qp.h' line='28' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='hw_bundle_num' type-id='type-id-3' visibility='default' filepath='../drivers/common/qat/qat_qp.h' line='29' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='tx_ring_num' type-id='type-id-3' visibility='default' filepath='../drivers/common/qat/qat_qp.h' line='30' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='rx_ring_num' type-id='type-id-3' visibility='default' filepath='../drivers/common/qat/qat_qp.h' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tx_msg_size' type-id='type-id-4' visibility='default' filepath='../drivers/common/qat/qat_qp.h' line='32' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='rx_msg_size' type-id='type-id-4' visibility='default' filepath='../drivers/common/qat/qat_qp.h' line='33' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-5'/>
+    <enum-decl name='qat_service_type' filepath='../drivers/common/qat/qat_common.h' line='24' column='1' id='type-id-2'>
+      <underlying-type type-id='type-id-5'/>
+      <enumerator name='QAT_SERVICE_ASYMMETRIC' value='0'/>
+      <enumerator name='QAT_SERVICE_SYMMETRIC' value='1'/>
+      <enumerator name='QAT_SERVICE_COMPRESSION' value='2'/>
+      <enumerator name='QAT_SERVICE_INVALID' value='3'/>
+    </enum-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-6'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-7'/>
+    <typedef-decl name='uint8_t' type-id='type-id-7' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-3'/>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-8'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-8' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-9'/>
+    <typedef-decl name='uint16_t' type-id='type-id-9' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-4'/>
+    <qualified-type-def type-id='type-id-1' const='yes' id='type-id-10'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-11'/>
+
+
+    <array-type-def dimensions='2' type-id='type-id-10' size-in-bits='infinite' id='type-id-12'>
+      <subrange length='infinite' id='type-id-13'/>
+
+      <subrange length='2' type-id='type-id-11' id='type-id-14'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-12' const='yes' id='type-id-15'/>
+    <var-decl name='qat_gen1_qps' type-id='type-id-15' visibility='default' filepath='../drivers/common/qat/qat_qp.h' line='87' column='1'/>
+    <var-decl name='qat_gen3_qps' type-id='type-id-15' visibility='default' filepath='../drivers/common/qat/qat_qp.h' line='88' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/common/qat/qat_device.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='qat_gen_hw_data' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/common/qat/qat_device.h' line='88' column='1' id='type-id-16'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_gen' type-id='type-id-17' visibility='default' filepath='../drivers/common/qat/qat_device.h' line='89' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='qp_hw_data' type-id='type-id-18' visibility='default' filepath='../drivers/common/qat/qat_device.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='comp_num_im_bufs_required' type-id='type-id-19' visibility='default' filepath='../drivers/common/qat/qat_device.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='qat_device_gen' filepath='../drivers/common/qat/qat_common.h' line='18' column='1' id='type-id-17'>
+      <underlying-type type-id='type-id-5'/>
+      <enumerator name='QAT_GEN1' value='1'/>
+      <enumerator name='QAT_GEN2' value='2'/>
+      <enumerator name='QAT_GEN3' value='3'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='192' id='type-id-20'>
+      <subrange length='2' type-id='type-id-11' id='type-id-14'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-18'/>
+    <enum-decl name='qat_comp_num_im_buffers' filepath='../drivers/common/qat/qat_device.h' line='19' column='1' id='type-id-19'>
+      <underlying-type type-id='type-id-5'/>
+      <enumerator name='QAT_NUM_INTERM_BUFS_GEN1' value='12'/>
+      <enumerator name='QAT_NUM_INTERM_BUFS_GEN2' value='20'/>
+      <enumerator name='QAT_NUM_INTERM_BUFS_GEN3' value='20'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='infinite' id='type-id-21'>
+      <subrange length='infinite' id='type-id-13'/>
+
+    </array-type-def>
+    <var-decl name='qat_gen_config' type-id='type-id-21' visibility='default' filepath='../drivers/common/qat/qat_device.h' line='94' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/common/qat/qat_logs.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-22'/>
+    <var-decl name='qat_gen_logtype' type-id='type-id-22' visibility='default' filepath='../drivers/common/qat/qat_logs.h' line='8' column='1'/>
+    <var-decl name='qat_dp_logtype' type-id='type-id-22' visibility='default' filepath='../drivers/common/qat/qat_logs.h' line='9' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/crypto/qat/qat_sym_pmd.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='cryptodev_qat_driver_id' type-id='type-id-3' visibility='default' filepath='../drivers/crypto/qat/qat_sym_pmd.h' line='18' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/crypto/qat/qat_asym_pmd.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='cryptodev_qat_asym_driver_id' type-id='type-id-3' visibility='default' filepath='../drivers/crypto/qat/qat_asym_pmd.h' line='16' column='1'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_snow3g.dump b/drivers/.abi/librte_pmd_snow3g.dump
new file mode 100644
index 000000000..570718e05
--- /dev/null
+++ b/drivers/.abi/librte_pmd_snow3g.dump
@@ -0,0 +1,1424 @@
+<abi-corpus path='gcc//drivers/librte_pmd_snow3g.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_snow3g.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/crypto/snow3g/rte_snow3g_pmd_ops.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_cryptodev_ops' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='313' column='1' id='type-id-1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_configure' type-id='type-id-2' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='314' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_start' type-id='type-id-3' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='315' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dev_stop' type-id='type-id-4' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='316' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_close' type-id='type-id-5' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='317' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dev_infos_get' type-id='type-id-6' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='319' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='stats_get' type-id='type-id-7' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='321' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='stats_reset' type-id='type-id-8' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='323' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='queue_pair_setup' type-id='type-id-9' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='326' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='queue_pair_release' type-id='type-id-10' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='328' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='queue_pair_count' type-id='type-id-11' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='330' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='sym_session_get_size' type-id='type-id-12' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='333' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='asym_session_get_size' type-id='type-id-13' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='335' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='sym_session_configure' type-id='type-id-14' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='337' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='asym_session_configure' type-id='type-id-15' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='339' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='sym_session_clear' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='341' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='asym_session_clear' type-id='type-id-17' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='343' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='int' size-in-bits='32' id='type-id-18'/>
+    <class-decl name='rte_cryptodev' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='817' column='1' id='type-id-19'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dequeue_burst' type-id='type-id-20' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='818' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='enqueue_burst' type-id='type-id-21' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='820' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data' type-id='type-id-22' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='823' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_ops' type-id='type-id-23' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='825' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='feature_flags' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='827' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-25' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='829' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='driver_id' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='832' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='link_intr_cbs' type-id='type-id-27' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='835' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='security_ctx' type-id='type-id-28' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='attached' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='842' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-29'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-29' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-30'/>
+    <typedef-decl name='uint16_t' type-id='type-id-30' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-31'/>
+    <type-decl name='void' id='type-id-32'/>
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-28'/>
+    <class-decl name='rte_crypto_op' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='78' column='1' id='type-id-33'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-34' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mempool' type-id='type-id-35' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='110' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='phys_addr' type-id='type-id-36' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='113' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='80' column='1' id='type-id-34'>
+      <data-member access='private'>
+        <var-decl name='raw' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-37' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-38'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-38' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-39'/>
+    <typedef-decl name='uint64_t' type-id='type-id-39' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-24'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='83' column='1' id='type-id-37'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='status' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='sess_type' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='reserved' type-id='type-id-40' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='private_data_offset' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='100' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-41'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-41' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-42'/>
+    <typedef-decl name='uint8_t' type-id='type-id-42' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-26'/>
+
+    <array-type-def dimensions='1' type-id='type-id-26' size-in-bits='24' id='type-id-40'>
+      <subrange length='3' type-id='type-id-38' id='type-id-43'/>
+
+    </array-type-def>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-44'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-45' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-46' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-47' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-48' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-18' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-48' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-50' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-51' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-52' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-53' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-54'/>
+
+    <array-type-def dimensions='1' type-id='type-id-54' size-in-bits='256' id='type-id-45'>
+      <subrange length='32' type-id='type-id-38' id='type-id-55'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-46'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-24' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-56'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-45' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-57' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-58' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-24' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-50' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-49' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-57'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-59' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-36' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-24' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-59'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-24' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-36'/>
+    <typedef-decl name='size_t' type-id='type-id-38' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-58'/>
+    <typedef-decl name='__int32_t' type-id='type-id-18' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-60'/>
+    <typedef-decl name='int32_t' type-id='type-id-60' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-50'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-48'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-48' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-61'/>
+    <typedef-decl name='uint32_t' type-id='type-id-61' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-49'/>
+    <qualified-type-def type-id='type-id-56' const='yes' id='type-id-62'/>
+    <pointer-type-def type-id='type-id-62' size-in-bits='64' id='type-id-47'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-63'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-64' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-28' size-in-bits='98304' id='type-id-64'>
+      <subrange length='1536' type-id='type-id-38' id='type-id-65'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-51'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-52'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-66' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-67' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-68'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-69' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-35' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-70' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-69'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-66' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-68' size-in-bits='64' id='type-id-66'/>
+    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-35'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-70'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-36' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-59' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-53'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-71' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-72' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-73'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-74' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-35' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-75' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-58' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-76' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-74'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-71' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-73' size-in-bits='64' id='type-id-71'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-75'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-36' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-59' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-77' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-78'/>
+    <pointer-type-def type-id='type-id-78' size-in-bits='64' id='type-id-76'/>
+    <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-72'/>
+    <pointer-type-def type-id='type-id-33' size-in-bits='64' id='type-id-79'/>
+    <pointer-type-def type-id='type-id-79' size-in-bits='64' id='type-id-80'/>
+    <pointer-type-def type-id='type-id-81' size-in-bits='64' id='type-id-82'/>
+    <typedef-decl name='dequeue_pkt_burst_t' type-id='type-id-82' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='800' column='1' id='type-id-20'/>
+    <typedef-decl name='enqueue_pkt_burst_t' type-id='type-id-82' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='804' column='1' id='type-id-21'/>
+    <class-decl name='rte_cryptodev_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='856' column='1' id='type-id-83'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_id' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='857' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='socket_id' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='859' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='name' type-id='type-id-84' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='861' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='dev_started' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='session_pool' type-id='type-id-35' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='868' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='queue_pairs' type-id='type-id-85' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='870' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='nb_queue_pairs' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='872' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='dev_private' type-id='type-id-28' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='875' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-54' size-in-bits='512' id='type-id-84'>
+      <subrange length='64' type-id='type-id-38' id='type-id-86'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-85'/>
+    <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-22'/>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-23'/>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-87'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-88' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-90' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-91' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-18' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-92' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-88'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-25' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-93' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-87' size-in-bits='64' id='type-id-25'/>
+    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-93'/>
+    <qualified-type-def type-id='type-id-54' const='yes' id='type-id-94'/>
+    <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-89'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-95'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-96' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-96'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-97' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-98' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-95' size-in-bits='64' id='type-id-97'/>
+    <pointer-type-def type-id='type-id-97' size-in-bits='64' id='type-id-98'/>
+    <qualified-type-def type-id='type-id-95' const='yes' id='type-id-99'/>
+    <pointer-type-def type-id='type-id-99' size-in-bits='64' id='type-id-90'/>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-100'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-101' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-102' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-103' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-104' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-105' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-106' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-107' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-108' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-109' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-110' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-111' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-112' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-113' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-114' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-101'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-115' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-116' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-100' size-in-bits='64' id='type-id-115'/>
+    <pointer-type-def type-id='type-id-115' size-in-bits='64' id='type-id-116'/>
+    <pointer-type-def type-id='type-id-117' size-in-bits='64' id='type-id-118'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-118' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-102'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-118' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-103'/>
+    <qualified-type-def type-id='type-id-87' const='yes' id='type-id-119'/>
+    <pointer-type-def type-id='type-id-119' size-in-bits='64' id='type-id-120'/>
+    <pointer-type-def type-id='type-id-121' size-in-bits='64' id='type-id-122'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-122' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-123'/>
+    <pointer-type-def type-id='type-id-124' size-in-bits='64' id='type-id-125'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-125' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-104'/>
+    <pointer-type-def type-id='type-id-126' size-in-bits='64' id='type-id-127'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-127' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-105'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-127' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-106'/>
+    <pointer-type-def type-id='type-id-128' size-in-bits='64' id='type-id-129'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-129' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-107'/>
+    <pointer-type-def type-id='type-id-130' size-in-bits='64' id='type-id-131'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-131' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-108'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-131' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-109'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-110'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-132' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-133'/>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-132'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-134'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-135' size-in-bits='64' id='type-id-136'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-136' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-111'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-137'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-115' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-138' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-25' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-28' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-139'/>
+    <pointer-type-def type-id='type-id-139' size-in-bits='64' id='type-id-138'/>
+    <qualified-type-def type-id='type-id-137' const='yes' id='type-id-140'/>
+    <pointer-type-def type-id='type-id-140' size-in-bits='64' id='type-id-141'/>
+    <pointer-type-def type-id='type-id-142' size-in-bits='64' id='type-id-143'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-143' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-112'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-127' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-113'/>
+    <pointer-type-def type-id='type-id-144' size-in-bits='64' id='type-id-145'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-145' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-114'/>
+    <qualified-type-def type-id='type-id-100' const='yes' id='type-id-146'/>
+    <pointer-type-def type-id='type-id-146' size-in-bits='64' id='type-id-91'/>
+    <class-decl name='rte_devargs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-147'/>
+    <pointer-type-def type-id='type-id-147' size-in-bits='64' id='type-id-92'/>
+    <class-decl name='rte_cryptodev_cb_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='814' column='1' id='type-id-27'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-148' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='814' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-149' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='814' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_callback' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-150'/>
+    <pointer-type-def type-id='type-id-150' size-in-bits='64' id='type-id-148'/>
+    <pointer-type-def type-id='type-id-148' size-in-bits='64' id='type-id-149'/>
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-151'/>
+    <class-decl name='rte_cryptodev_config' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='619' column='1' id='type-id-152'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='socket_id' type-id='type-id-18' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='620' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_queue_pairs' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ff_disable' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='623' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-152' size-in-bits='64' id='type-id-153'/>
+    <pointer-type-def type-id='type-id-154' size-in-bits='64' id='type-id-155'/>
+    <typedef-decl name='cryptodev_configure_t' type-id='type-id-155' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='127' column='1' id='type-id-2'/>
+    <pointer-type-def type-id='type-id-156' size-in-bits='64' id='type-id-157'/>
+    <typedef-decl name='cryptodev_start_t' type-id='type-id-157' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='137' column='1' id='type-id-3'/>
+    <pointer-type-def type-id='type-id-158' size-in-bits='64' id='type-id-159'/>
+    <typedef-decl name='cryptodev_stop_t' type-id='type-id-159' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='144' column='1' id='type-id-4'/>
+    <typedef-decl name='cryptodev_close_t' type-id='type-id-157' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='154' column='1' id='type-id-5'/>
+    <class-decl name='rte_cryptodev_info' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='468' column='1' id='type-id-160'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='driver_name' type-id='type-id-89' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='469' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='driver_id' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='470' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='device' type-id='type-id-25' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='471' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='feature_flags' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='473' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='capabilities' type-id='type-id-161' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='476' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='max_nb_queue_pairs' type-id='type-id-48' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='479' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='min_mbuf_headroom_req' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='482' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='min_mbuf_tailroom_req' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='485' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='sym' type-id='type-id-162' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='494' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_capabilities' size-in-bits='320' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='176' column='1' id='type-id-163'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-164' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='177' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='' type-id='type-id-165' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_op_type' filepath='../lib/librte_cryptodev/rte_crypto.h' line='29' column='1' id='type-id-164'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_OP_TYPE_UNDEFINED' value='0'/>
+      <enumerator name='RTE_CRYPTO_OP_TYPE_SYMMETRIC' value='1'/>
+      <enumerator name='RTE_CRYPTO_OP_TYPE_ASYMMETRIC' value='2'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='288' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='181' column='1' id='type-id-165'>
+      <data-member access='private'>
+        <var-decl name='sym' type-id='type-id-166' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='182' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='asym' type-id='type-id-167' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='184' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_cryptodev_symmetric_capability' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='98' column='1' id='type-id-166'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xform_type' type-id='type-id-168' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='99' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='' type-id='type-id-169' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_sym_xform_type' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='424' column='1' id='type-id-168'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_NOT_SPECIFIED' value='0'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_AUTH' value='1'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_CIPHER' value='2'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_AEAD' value='3'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='102' column='1' id='type-id-169'>
+      <data-member access='private'>
+        <var-decl name='auth' type-id='type-id-170' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='116' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='cipher' type-id='type-id-171' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='127' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='aead' type-id='type-id-172' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='103' column='1' id='type-id-170'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-173' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='104' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='block_size' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='key_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='digest_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='110' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='aad_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='112' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='114' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_auth_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='189' column='1' id='type-id-173'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_AUTH_NULL' value='1'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_CBC_MAC' value='2'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_CMAC' value='3'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_GMAC' value='4'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_XCBC_MAC' value='5'/>
+      <enumerator name='RTE_CRYPTO_AUTH_KASUMI_F9' value='6'/>
+      <enumerator name='RTE_CRYPTO_AUTH_MD5' value='7'/>
+      <enumerator name='RTE_CRYPTO_AUTH_MD5_HMAC' value='8'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA1' value='9'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA1_HMAC' value='10'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA224' value='11'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA224_HMAC' value='12'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA256' value='13'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA256_HMAC' value='14'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA384' value='15'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA384_HMAC' value='16'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA512' value='17'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA512_HMAC' value='18'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SNOW3G_UIA2' value='19'/>
+      <enumerator name='RTE_CRYPTO_AUTH_ZUC_EIA3' value='20'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_224' value='21'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_224_HMAC' value='22'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_256' value='23'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_256_HMAC' value='24'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_384' value='25'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_384_HMAC' value='26'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_512' value='27'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_512_HMAC' value='28'/>
+      <enumerator name='RTE_CRYPTO_AUTH_LIST_END' value='29'/>
+    </enum-decl>
+    <class-decl name='rte_crypto_param_range' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='84' column='1' id='type-id-174'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='min' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='max' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='increment' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='87' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='160' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='118' column='1' id='type-id-171'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-175' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='119' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='block_size' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='121' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='key_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='123' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='iv_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='125' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_cipher_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='30' column='1' id='type-id-175'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_NULL' value='1'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_CBC' value='2'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_CTR' value='3'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_ECB' value='4'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_CBC' value='5'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_CTR' value='6'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_ECB' value='7'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_F8' value='8'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_XTS' value='9'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_ARC4' value='10'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_KASUMI_F8' value='11'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_SNOW3G_UEA2' value='12'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_ZUC_EEA3' value='13'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_DES_CBC' value='14'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_DOCSISBPI' value='15'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_DES_DOCSISBPI' value='16'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_LIST_END' value='17'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='129' column='1' id='type-id-172'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-176' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='130' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='block_size' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='132' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='key_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='134' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='digest_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='136' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='aad_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='140' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_aead_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='346' column='1' id='type-id-176'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_AEAD_AES_CCM' value='1'/>
+      <enumerator name='RTE_CRYPTO_AEAD_AES_GCM' value='2'/>
+      <enumerator name='RTE_CRYPTO_AEAD_LIST_END' value='3'/>
+    </enum-decl>
+    <class-decl name='rte_cryptodev_asymmetric_capability' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='170' column='1' id='type-id-167'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xform_capa' type-id='type-id-177' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_asymmetric_xform_capability' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='150' column='1' id='type-id-177'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xform_type' type-id='type-id-178' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='151' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='op_types' type-id='type-id-49' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-179' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_asym_xform_type' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='53' column='1' id='type-id-178'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_UNSPECIFIED' value='0'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_NONE' value='1'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_RSA' value='2'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_DH' value='3'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_DSA' value='4'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_MODINV' value='5'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_MODEX' value='6'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_TYPE_LIST_END' value='7'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='48' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='158' column='1' id='type-id-179'>
+      <data-member access='private'>
+        <var-decl name='modlen' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='159' column='1'/>
+      </data-member>
+    </union-decl>
+    <qualified-type-def type-id='type-id-163' const='yes' id='type-id-180'/>
+    <pointer-type-def type-id='type-id-180' size-in-bits='64' id='type-id-161'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='488' column='1' id='type-id-162'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max_nb_sessions' type-id='type-id-48' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='489' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-160' size-in-bits='64' id='type-id-181'/>
+    <pointer-type-def type-id='type-id-182' size-in-bits='64' id='type-id-183'/>
+    <typedef-decl name='cryptodev_info_get_t' type-id='type-id-183' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='180' column='1' id='type-id-6'/>
+    <class-decl name='rte_cryptodev_stats' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='530' column='1' id='type-id-184'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='enqueued_count' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='531' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dequeued_count' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='533' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='enqueue_err_count' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='536' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dequeue_err_count' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='538' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-184' size-in-bits='64' id='type-id-185'/>
+    <pointer-type-def type-id='type-id-186' size-in-bits='64' id='type-id-187'/>
+    <typedef-decl name='cryptodev_stats_get_t' type-id='type-id-187' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='163' column='1' id='type-id-7'/>
+    <typedef-decl name='cryptodev_stats_reset_t' type-id='type-id-159' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='172' column='1' id='type-id-8'/>
+    <class-decl name='rte_cryptodev_qp_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='508' column='1' id='type-id-188'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_descriptors' type-id='type-id-49' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='509' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp_session' type-id='type-id-35' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='510' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mp_session_private' type-id='type-id-35' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='512' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-188' const='yes' id='type-id-189'/>
+    <pointer-type-def type-id='type-id-189' size-in-bits='64' id='type-id-190'/>
+    <pointer-type-def type-id='type-id-191' size-in-bits='64' id='type-id-192'/>
+    <typedef-decl name='cryptodev_queue_pair_setup_t' type-id='type-id-192' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='193' column='1' id='type-id-9'/>
+    <pointer-type-def type-id='type-id-193' size-in-bits='64' id='type-id-194'/>
+    <typedef-decl name='cryptodev_queue_pair_release_t' type-id='type-id-194' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='207' column='1' id='type-id-10'/>
+    <pointer-type-def type-id='type-id-195' size-in-bits='64' id='type-id-196'/>
+    <typedef-decl name='cryptodev_queue_pair_count_t' type-id='type-id-196' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='217' column='1' id='type-id-11'/>
+    <pointer-type-def type-id='type-id-197' size-in-bits='64' id='type-id-198'/>
+    <typedef-decl name='cryptodev_sym_get_session_private_size_t' type-id='type-id-198' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='245' column='1' id='type-id-12'/>
+    <typedef-decl name='cryptodev_asym_get_session_private_size_t' type-id='type-id-198' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='256' column='1' id='type-id-13'/>
+    <class-decl name='rte_crypto_sym_xform' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='440' column='1' id='type-id-199'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-200' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='441' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-168' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='443' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-201' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-199' size-in-bits='64' id='type-id-200'/>
+    <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='446' column='1' id='type-id-201'>
+      <data-member access='private'>
+        <var-decl name='auth' type-id='type-id-202' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='447' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='cipher' type-id='type-id-203' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='aead' type-id='type-id-204' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='451' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_crypto_auth_xform' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='278' column='1' id='type-id-202'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-205' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-173' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='281' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-206' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='287' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv' type-id='type-id-207' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='330' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='digest_length' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='332' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_auth_operation' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='262' column='1' id='type-id-205'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_AUTH_OP_VERIFY' value='0'/>
+      <enumerator name='RTE_CRYPTO_AUTH_OP_GENERATE' value='1'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='284' column='1' id='type-id-206'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-208' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='285' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='length' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='286' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-26' const='yes' id='type-id-209'/>
+    <pointer-type-def type-id='type-id-209' size-in-bits='64' id='type-id-208'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='295' column='1' id='type-id-207'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='offset' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='296' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='length' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='312' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_cipher_xform' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='107' column='1' id='type-id-203'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-210' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-175' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='113' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-206' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='119' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv' type-id='type-id-207' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='185' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_cipher_operation' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='90' column='1' id='type-id-210'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_OP_ENCRYPT' value='0'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_OP_DECRYPT' value='1'/>
+    </enum-decl>
+    <class-decl name='rte_crypto_aead_xform' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='370' column='1' id='type-id-204'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-211' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='371' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-176' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='373' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-206' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='379' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv' type-id='type-id-207' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='411' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='digest_length' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='413' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='240'>
+        <var-decl name='aad_length' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='415' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_aead_operation' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='359' column='1' id='type-id-211'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_AEAD_OP_ENCRYPT' value='0'/>
+      <enumerator name='RTE_CRYPTO_AEAD_OP_DECRYPT' value='1'/>
+    </enum-decl>
+    <class-decl name='rte_cryptodev_sym_session' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='974' column='1' id='type-id-212'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='opaque_data' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='975' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='nb_drivers' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='977' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='user_data_sz' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='979' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='sess_data' type-id='type-id-213' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='984' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='981' column='1' id='type-id-214'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-28' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='982' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='refcnt' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='983' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-214' size-in-bits='infinite' id='type-id-213'>
+      <subrange length='infinite' type-id='type-id-38' id='type-id-215'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-212' size-in-bits='64' id='type-id-216'/>
+    <pointer-type-def type-id='type-id-217' size-in-bits='64' id='type-id-218'/>
+    <typedef-decl name='cryptodev_sym_configure_session_t' type-id='type-id-218' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='273' column='1' id='type-id-14'/>
+    <class-decl name='rte_crypto_asym_xform' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='353' column='1' id='type-id-219'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-220' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='354' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='xform_type' type-id='type-id-178' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='356' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-221' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-219' size-in-bits='64' id='type-id-220'/>
+    <union-decl name='__anonymous_union__' size-in-bits='1408' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='360' column='1' id='type-id-221'>
+      <data-member access='private'>
+        <var-decl name='rsa' type-id='type-id-222' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='361' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='modex' type-id='type-id-223' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='364' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='modinv' type-id='type-id-224' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='367' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dh' type-id='type-id-225' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='370' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dsa' type-id='type-id-226' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='373' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_crypto_rsa_xform' size-in-bits='1408' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='192' column='1' id='type-id-222'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='193' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='e' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='199' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='key_type' type-id='type-id-228' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='' type-id='type-id-229' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_param_t' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='30' column='1' id='type-id-230'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-231' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='iova' type-id='type-id-36' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='33' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='length' type-id='type-id-58' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='35' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-231'/>
+    <typedef-decl name='rte_crypto_param' type-id='type-id-230' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='37' column='1' id='type-id-227'/>
+    <enum-decl name='rte_crypto_rsa_priv_key_type' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='133' column='1' id='type-id-228'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_RSA_KEY_TYPE_EXP' value='0'/>
+      <enumerator name='RTE_RSA_KET_TYPE_QT' value='1'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='960' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='208' column='1' id='type-id-229'>
+      <data-member access='private'>
+        <var-decl name='d' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='209' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='qt' type-id='type-id-232' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='216' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_crypto_rsa_priv_key_qt' size-in-bits='960' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='146' column='1' id='type-id-232'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='p' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='147' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='q' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='dP' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='161' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dQ' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='169' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='qInv' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='177' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_modex_xform' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='227' column='1' id='type-id-223'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='modulus' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='exponent' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='237' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_modinv_xform' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='250' column='1' id='type-id-224'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='modulus' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='251' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_dh_xform' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='271' column='1' id='type-id-225'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-233' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='272' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='p' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='275' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='g' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='281' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_asym_op_type' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='91' column='1' id='type-id-233'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_ENCRYPT' value='0'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_DECRYPT' value='1'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_SIGN' value='2'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_VERIFY' value='3'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_PRIVATE_KEY_GENERATE' value='4'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_PUBLIC_KEY_GENERATE' value='5'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_SHARED_SECRET_COMPUTE' value='6'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_LIST_END' value='7'/>
+    </enum-decl>
+    <class-decl name='rte_crypto_dsa_xform' size-in-bits='768' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='295' column='1' id='type-id-226'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='p' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='296' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='q' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='301' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='g' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='307' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='x' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='311' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_asym_session' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='989' column='1' id='type-id-234'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='sess_private_data' type-id='type-id-235' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='990' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-28' size-in-bits='infinite' id='type-id-235'>
+      <subrange length='infinite' type-id='type-id-38' id='type-id-215'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-234' size-in-bits='64' id='type-id-236'/>
+    <pointer-type-def type-id='type-id-237' size-in-bits='64' id='type-id-238'/>
+    <typedef-decl name='cryptodev_asym_configure_session_t' type-id='type-id-238' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='291' column='1' id='type-id-15'/>
+    <pointer-type-def type-id='type-id-239' size-in-bits='64' id='type-id-240'/>
+    <typedef-decl name='cryptodev_sym_free_session_t' type-id='type-id-240' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='301' column='1' id='type-id-16'/>
+    <pointer-type-def type-id='type-id-241' size-in-bits='64' id='type-id-242'/>
+    <typedef-decl name='cryptodev_asym_free_session_t' type-id='type-id-242' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='309' column='1' id='type-id-17'/>
+    <var-decl name='rte_snow3g_pmd_ops' type-id='type-id-23' visibility='default' filepath='../drivers/crypto/snow3g/snow3g_pmd_private.h' line='76' column='1'/>
+    <function-type size-in-bits='64' id='type-id-135'>
+      <return type-id='type-id-134'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-117'>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-128'>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-121'>
+      <parameter type-id='type-id-120'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-156'>
+      <parameter type-id='type-id-151'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-237'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-220'/>
+      <parameter type-id='type-id-236'/>
+      <parameter type-id='type-id-35'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-217'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-200'/>
+      <parameter type-id='type-id-216'/>
+      <parameter type-id='type-id-35'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-154'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-153'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-193'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-31'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-191'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-31'/>
+      <parameter type-id='type-id-190'/>
+      <parameter type-id='type-id-18'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-126'>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-130'>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-24'/>
+      <parameter type-id='type-id-58'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-144'>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-124'>
+      <parameter type-id='type-id-120'/>
+      <parameter type-id='type-id-123'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-25'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-81'>
+      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-80'/>
+      <parameter type-id='type-id-31'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-195'>
+      <parameter type-id='type-id-151'/>
+      <return type-id='type-id-49'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-197'>
+      <parameter type-id='type-id-151'/>
+      <return type-id='type-id-48'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-158'>
+      <parameter type-id='type-id-151'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-241'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-236'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-182'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-181'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-186'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-185'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-239'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-216'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-77'>
+      <parameter type-id='type-id-71'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-142'>
+      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-141'/>
+      <return type-id='type-id-28'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='snow3g/sso_snow3g_f9.c' comp-dir-path='/home/bruce/public_home/crypto/snow3g/src' language='LANG_C99'>
+    <function-decl name='__builtin_memmove' mangled-name='memmove' visibility='default' binding='global' size-in-bits='64'>
+      <return type-id='type-id-32'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='snow3g/sso_snow3g_f8_multi_pkt.c' comp-dir-path='/home/bruce/public_home/crypto/snow3g/src' language='LANG_C99'>
+    <function-decl name='sso_snow3g_f8_8_buffer' mangled-name='sso_snow3g_f8_8_buffer' filepath='../include/sso_snow3g.h' line='155' column='1' visibility='default' binding='global' size-in-bits='64'>
+      <return type-id='type-id-32'/>
+    </function-decl>
+    <function-decl name='sso_snow3g_f8_4_buffer' mangled-name='sso_snow3g_f8_4_buffer' filepath='../include/sso_snow3g.h' line='109' column='1' visibility='default' binding='global' size-in-bits='64'>
+      <return type-id='type-id-32'/>
+    </function-decl>
+    <function-decl name='sso_snow3g_f8_2_buffer' mangled-name='sso_snow3g_f8_2_buffer' filepath='../include/sso_snow3g.h' line='80' column='1' visibility='default' binding='global' size-in-bits='64'>
+      <return type-id='type-id-32'/>
+    </function-decl>
+    <function-decl name='sso_snow3g_f8_1_buffer' mangled-name='sso_snow3g_f8_1_buffer' filepath='../include/sso_snow3g.h' line='61' column='1' visibility='default' binding='global' size-in-bits='64'>
+      <return type-id='type-id-32'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='snow3g/sso_snow3g_tables.c' comp-dir-path='/home/bruce/public_home/crypto/snow3g/src' language='LANG_C99'>
+    <qualified-type-def type-id='type-id-18' const='yes' id='type-id-243'/>
+
+    <array-type-def dimensions='1' type-id='type-id-243' size-in-bits='8192' id='type-id-244'>
+      <subrange length='256' type-id='type-id-38' id='type-id-245'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-244' const='yes' id='type-id-246'/>
+    <var-decl name='sso_snow3g_table_A_mul' type-id='type-id-246' visibility='default' filepath='../include/sso_snow3g_internal.h' line='77' column='1'/>
+    <var-decl name='sso_snow3g_table_A_div' type-id='type-id-246' visibility='default' filepath='../include/sso_snow3g_internal.h' line='78' column='1'/>
+    <union-decl name='snow3gTableEntry_u' size-in-bits='64' visibility='default' filepath='../include/sso_snow3g_internal.h' line='43' column='1' id='type-id-247'>
+      <data-member access='private'>
+        <var-decl name='v' type-id='type-id-24' visibility='default' filepath='../include/sso_snow3g_internal.h' line='44' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='w3' type-id='type-id-248' visibility='default' filepath='../include/sso_snow3g_internal.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='w2' type-id='type-id-249' visibility='default' filepath='../include/sso_snow3g_internal.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='w1' type-id='type-id-250' visibility='default' filepath='../include/sso_snow3g_internal.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='w0' type-id='type-id-251' visibility='default' filepath='../include/sso_snow3g_internal.h' line='60' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='56' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../include/sso_snow3g_internal.h' line='45' column='1' id='type-id-248'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='shift' type-id='type-id-40' visibility='default' filepath='../include/sso_snow3g_internal.h' line='46' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='v' type-id='type-id-49' visibility='default' filepath='../include/sso_snow3g_internal.h' line='47' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='48' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../include/sso_snow3g_internal.h' line='49' column='1' id='type-id-249'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='shift' type-id='type-id-252' visibility='default' filepath='../include/sso_snow3g_internal.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='v' type-id='type-id-49' visibility='default' filepath='../include/sso_snow3g_internal.h' line='51' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-26' size-in-bits='16' id='type-id-252'>
+      <subrange length='2' type-id='type-id-38' id='type-id-253'/>
+
+    </array-type-def>
+    <class-decl name='__anonymous_struct__' size-in-bits='40' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../include/sso_snow3g_internal.h' line='53' column='1' id='type-id-250'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='shift' type-id='type-id-254' visibility='default' filepath='../include/sso_snow3g_internal.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='v' type-id='type-id-49' visibility='default' filepath='../include/sso_snow3g_internal.h' line='55' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-26' size-in-bits='8' id='type-id-254'>
+      <subrange length='1' type-id='type-id-38' id='type-id-255'/>
+
+    </array-type-def>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../include/sso_snow3g_internal.h' line='57' column='1' id='type-id-251'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='shift' type-id='type-id-256' visibility='default' filepath='../include/sso_snow3g_internal.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='v' type-id='type-id-49' visibility='default' filepath='../include/sso_snow3g_internal.h' line='59' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-26' size-in-bits='32' id='type-id-256'>
+      <subrange length='4' type-id='type-id-38' id='type-id-257'/>
+
+    </array-type-def>
+    <typedef-decl name='sso_snow3gTableEntry_t' type-id='type-id-247' filepath='../include/sso_snow3g_internal.h' line='61' column='1' id='type-id-258'/>
+
+    <array-type-def dimensions='1' type-id='type-id-258' size-in-bits='16384' id='type-id-259'>
+      <subrange length='256' type-id='type-id-38' id='type-id-245'/>
+
+    </array-type-def>
+    <var-decl name='sso_snow3g_table_S1' type-id='type-id-259' visibility='default' filepath='../include/sso_snow3g_internal.h' line='79' column='1'/>
+    <var-decl name='sso_snow3g_table_S2' type-id='type-id-259' visibility='default' filepath='../include/sso_snow3g_internal.h' line='80' column='1'/>
+    <var-decl name='S1_T0' type-id='type-id-246' visibility='default' filepath='../include/sso_snow3g_internal.h' line='81' column='1'/>
+    <var-decl name='S1_T1' type-id='type-id-246' visibility='default' filepath='../include/sso_snow3g_internal.h' line='82' column='1'/>
+    <var-decl name='S1_T2' type-id='type-id-246' visibility='default' filepath='../include/sso_snow3g_internal.h' line='83' column='1'/>
+    <var-decl name='S1_T3' type-id='type-id-246' visibility='default' filepath='../include/sso_snow3g_internal.h' line='84' column='1'/>
+    <var-decl name='S2_T0' type-id='type-id-246' visibility='default' filepath='../include/sso_snow3g_internal.h' line='85' column='1'/>
+    <var-decl name='S2_T1' type-id='type-id-246' visibility='default' filepath='../include/sso_snow3g_internal.h' line='86' column='1'/>
+    <var-decl name='S2_T2' type-id='type-id-246' visibility='default' filepath='../include/sso_snow3g_internal.h' line='87' column='1'/>
+    <var-decl name='S2_T3' type-id='type-id-246' visibility='default' filepath='../include/sso_snow3g_internal.h' line='88' column='1'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_virtio_crypto.dump b/drivers/.abi/librte_pmd_virtio_crypto.dump
new file mode 100644
index 000000000..4cccae0db
--- /dev/null
+++ b/drivers/.abi/librte_pmd_virtio_crypto.dump
@@ -0,0 +1,1419 @@
+<abi-corpus path='gcc//drivers/librte_pmd_virtio_crypto.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_virtio_crypto.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/crypto/virtio/virtio_cryptodev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='virtio_crypto_logtype_init' type-id='type-id-1' visibility='default' filepath='../drivers/crypto/virtio/virtio_logs.h' line='10' column='1'/>
+    <var-decl name='virtio_crypto_logtype_session' type-id='type-id-1' visibility='default' filepath='../drivers/crypto/virtio/virtio_logs.h' line='33' column='1'/>
+    <var-decl name='virtio_crypto_logtype_rx' type-id='type-id-1' visibility='default' filepath='../drivers/crypto/virtio/virtio_logs.h' line='48' column='1'/>
+    <var-decl name='virtio_crypto_logtype_tx' type-id='type-id-1' visibility='default' filepath='../drivers/crypto/virtio/virtio_logs.h' line='63' column='1'/>
+    <var-decl name='virtio_crypto_logtype_driver' type-id='type-id-1' visibility='default' filepath='../drivers/crypto/virtio/virtio_logs.h' line='78' column='1'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-2'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-2' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-3'/>
+    <typedef-decl name='uint8_t' type-id='type-id-3' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-4'/>
+    <var-decl name='cryptodev_virtio_driver_id' type-id='type-id-4' visibility='default' filepath='../drivers/crypto/virtio/virtio_cryptodev.h' line='23' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/crypto/virtio/virtio_pci.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='virtio_hw_internal' size-in-bits='256' is-struct='yes' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='199' column='1' id='type-id-5'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vtpci_ops' type-id='type-id-6' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='200' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='io' type-id='type-id-7' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='201' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='virtio_pci_ops' size-in-bits='896' is-struct='yes' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='150' column='1' id='type-id-8'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='read_dev_cfg' type-id='type-id-9' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='151' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='write_dev_cfg' type-id='type-id-9' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='153' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='reset' type-id='type-id-10' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='155' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='get_status' type-id='type-id-11' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='157' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='set_status' type-id='type-id-12' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='158' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='get_features' type-id='type-id-13' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='160' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='set_features' type-id='type-id-14' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='161' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='get_isr' type-id='type-id-11' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='163' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='set_config_irq' type-id='type-id-15' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='165' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='set_queue_irq' type-id='type-id-16' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='167' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='get_queue_num' type-id='type-id-15' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='170' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='setup_queue' type-id='type-id-17' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='172' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='del_queue' type-id='type-id-18' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='173' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='notify_queue' type-id='type-id-18' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='174' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='void' id='type-id-19'/>
+    <class-decl name='virtio_crypto_hw' size-in-bits='640' is-struct='yes' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='177' column='1' id='type-id-20'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cvq' type-id='type-id-21' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='179' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_id' type-id='type-id-22' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='180' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='max_dataqueues' type-id='type-id-22' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='181' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='req_guest_features' type-id='type-id-23' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='182' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='guest_features' type-id='type-id-23' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='183' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='use_msix' type-id='type-id-4' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='184' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='264'>
+        <var-decl name='modern' type-id='type-id-4' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='185' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='notify_off_multiplier' type-id='type-id-24' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='isr' type-id='type-id-25' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='notify_base' type-id='type-id-26' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='common_cfg' type-id='type-id-27' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='189' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='dev_cfg' type-id='type-id-28' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='190' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='virtio_dev_capabilities' type-id='type-id-29' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='191' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='virtqueue' size-in-bits='1152' is-struct='yes' visibility='default' filepath='../drivers/crypto/virtio/virtqueue.h' line='51' column='1' id='type-id-30'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='hw' type-id='type-id-31' visibility='default' filepath='../drivers/crypto/virtio/virtqueue.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mz' type-id='type-id-32' visibility='default' filepath='../drivers/crypto/virtio/virtqueue.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mpool' type-id='type-id-33' visibility='default' filepath='../drivers/crypto/virtio/virtqueue.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_id' type-id='type-id-4' visibility='default' filepath='../drivers/crypto/virtio/virtqueue.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='208'>
+        <var-decl name='vq_queue_index' type-id='type-id-22' visibility='default' filepath='../drivers/crypto/virtio/virtqueue.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='vq_ring_virt_mem' type-id='type-id-34' visibility='default' filepath='../drivers/crypto/virtio/virtqueue.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='vq_ring_size' type-id='type-id-35' visibility='default' filepath='../drivers/crypto/virtio/virtqueue.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='vq_ring_mem' type-id='type-id-36' visibility='default' filepath='../drivers/crypto/virtio/virtqueue.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='vq_ring' type-id='type-id-37' visibility='default' filepath='../drivers/crypto/virtio/virtqueue.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='vq_free_cnt' type-id='type-id-22' visibility='default' filepath='../drivers/crypto/virtio/virtqueue.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='720'>
+        <var-decl name='vq_nentries' type-id='type-id-22' visibility='default' filepath='../drivers/crypto/virtio/virtqueue.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='736'>
+        <var-decl name='vq_desc_head_idx' type-id='type-id-22' visibility='default' filepath='../drivers/crypto/virtio/virtqueue.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='752'>
+        <var-decl name='vq_desc_tail_idx' type-id='type-id-22' visibility='default' filepath='../drivers/crypto/virtio/virtqueue.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='vq_used_cons_idx' type-id='type-id-22' visibility='default' filepath='../drivers/crypto/virtio/virtqueue.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='vq_avail_idx' type-id='type-id-22' visibility='default' filepath='../drivers/crypto/virtio/virtqueue.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='packets_sent_total' type-id='type-id-23' visibility='default' filepath='../drivers/crypto/virtio/virtqueue.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='packets_sent_failed' type-id='type-id-23' visibility='default' filepath='../drivers/crypto/virtio/virtqueue.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='packets_received_total' type-id='type-id-23' visibility='default' filepath='../drivers/crypto/virtio/virtqueue.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='packets_received_failed' type-id='type-id-23' visibility='default' filepath='../drivers/crypto/virtio/virtqueue.h' line='87' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='notify_addr' type-id='type-id-26' visibility='default' filepath='../drivers/crypto/virtio/virtqueue.h' line='89' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='vq_descx' type-id='type-id-38' visibility='default' filepath='../drivers/crypto/virtio/virtqueue.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-31'/>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-39'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-40' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-41' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-42' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-23' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-43' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-24' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-44'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-45'/>
+
+    <array-type-def dimensions='1' type-id='type-id-44' size-in-bits='256' id='type-id-40'>
+      <subrange length='32' type-id='type-id-45' id='type-id-46'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-41'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-36' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-47' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='__uint64_t' type-id='type-id-45' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-48'/>
+    <typedef-decl name='uint64_t' type-id='type-id-48' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-23'/>
+    <typedef-decl name='phys_addr_t' type-id='type-id-23' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-36'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-23' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-47'/>
+    <typedef-decl name='size_t' type-id='type-id-45' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-42'/>
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-49'/>
+    <typedef-decl name='int32_t' type-id='type-id-49' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-43'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-35'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-35' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-50'/>
+    <typedef-decl name='uint32_t' type-id='type-id-50' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-24'/>
+    <qualified-type-def type-id='type-id-39' const='yes' id='type-id-51'/>
+    <pointer-type-def type-id='type-id-51' size-in-bits='64' id='type-id-32'/>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-52'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-40' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-53' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-34' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-35' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-24' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-24' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-24' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-24' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-24' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-35' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-43' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-54' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-24' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-55' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-24' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-56' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-53'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-34' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-23' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-34'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-57'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-24' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-24' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-24' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-58' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-34' size-in-bits='98304' id='type-id-58'>
+      <subrange length='1536' type-id='type-id-45' id='type-id-59'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-57' size-in-bits='64' id='type-id-54'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-55'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-60' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-61' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-62'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-63' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-33' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-64' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-63'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-60' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-62' size-in-bits='64' id='type-id-60'/>
+    <pointer-type-def type-id='type-id-52' size-in-bits='64' id='type-id-33'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-64'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-47' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-36' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-61'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-56'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-65' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-66' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-67'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-68' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-33' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-34' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-69' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-42' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-70' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-34' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-68'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-65' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-67' size-in-bits='64' id='type-id-65'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-69'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-47' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-36' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-71' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-72'/>
+    <pointer-type-def type-id='type-id-72' size-in-bits='64' id='type-id-70'/>
+    <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-66'/>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-73'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-73' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-74'/>
+    <typedef-decl name='uint16_t' type-id='type-id-74' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-22'/>
+    <class-decl name='vring' size-in-bits='256' is-struct='yes' visibility='default' filepath='../drivers/crypto/virtio/virtio_ring.h' line='60' column='1' id='type-id-37'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='num' type-id='type-id-35' visibility='default' filepath='../drivers/crypto/virtio/virtio_ring.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='desc' type-id='type-id-75' visibility='default' filepath='../drivers/crypto/virtio/virtio_ring.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='avail' type-id='type-id-76' visibility='default' filepath='../drivers/crypto/virtio/virtio_ring.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='used' type-id='type-id-77' visibility='default' filepath='../drivers/crypto/virtio/virtio_ring.h' line='64' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='vring_desc' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/crypto/virtio/virtio_ring.h' line='33' column='1' id='type-id-78'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr' type-id='type-id-23' visibility='default' filepath='../drivers/crypto/virtio/virtio_ring.h' line='34' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-24' visibility='default' filepath='../drivers/crypto/virtio/virtio_ring.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='flags' type-id='type-id-22' visibility='default' filepath='../drivers/crypto/virtio/virtio_ring.h' line='36' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='112'>
+        <var-decl name='next' type-id='type-id-22' visibility='default' filepath='../drivers/crypto/virtio/virtio_ring.h' line='37' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-78' size-in-bits='64' id='type-id-75'/>
+    <class-decl name='vring_avail' size-in-bits='32' is-struct='yes' visibility='default' filepath='../drivers/crypto/virtio/virtio_ring.h' line='40' column='1' id='type-id-79'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-22' visibility='default' filepath='../drivers/crypto/virtio/virtio_ring.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='idx' type-id='type-id-22' visibility='default' filepath='../drivers/crypto/virtio/virtio_ring.h' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ring' type-id='type-id-80' visibility='default' filepath='../drivers/crypto/virtio/virtio_ring.h' line='43' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-22' size-in-bits='infinite' id='type-id-80'>
+      <subrange length='infinite' type-id='type-id-45' id='type-id-81'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-79' size-in-bits='64' id='type-id-76'/>
+    <class-decl name='vring_used' size-in-bits='32' is-struct='yes' visibility='default' filepath='../drivers/crypto/virtio/virtio_ring.h' line='54' column='1' id='type-id-82'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-22' visibility='default' filepath='../drivers/crypto/virtio/virtio_ring.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='idx' type-id='type-id-83' visibility='default' filepath='../drivers/crypto/virtio/virtio_ring.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ring' type-id='type-id-84' visibility='default' filepath='../drivers/crypto/virtio/virtio_ring.h' line='57' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-22' volatile='yes' id='type-id-83'/>
+    <class-decl name='vring_used_elem' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/crypto/virtio/virtio_ring.h' line='47' column='1' id='type-id-85'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-24' visibility='default' filepath='../drivers/crypto/virtio/virtio_ring.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='len' type-id='type-id-24' visibility='default' filepath='../drivers/crypto/virtio/virtio_ring.h' line='51' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-85' size-in-bits='infinite' id='type-id-84'>
+      <subrange length='infinite' type-id='type-id-45' id='type-id-81'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-82' size-in-bits='64' id='type-id-77'/>
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-26'/>
+    <class-decl name='vq_desc_extra' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/crypto/virtio/virtqueue.h' line='45' column='1' id='type-id-86'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='crypto_op' type-id='type-id-34' visibility='default' filepath='../drivers/crypto/virtio/virtqueue.h' line='46' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='cookie' type-id='type-id-34' visibility='default' filepath='../drivers/crypto/virtio/virtqueue.h' line='47' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ndescs' type-id='type-id-22' visibility='default' filepath='../drivers/crypto/virtio/virtqueue.h' line='48' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-86' size-in-bits='infinite' id='type-id-38'>
+      <subrange length='infinite' type-id='type-id-45' id='type-id-81'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-21'/>
+    <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-25'/>
+    <class-decl name='virtio_pci_common_cfg' size-in-bits='448' is-struct='yes' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='123' column='1' id='type-id-87'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='device_feature_select' type-id='type-id-24' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='125' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='device_feature' type-id='type-id-24' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='126' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='guest_feature_select' type-id='type-id-24' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='127' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='guest_feature' type-id='type-id-24' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='128' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='msix_config' type-id='type-id-22' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='129' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='num_queues' type-id='type-id-22' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='130' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='device_status' type-id='type-id-4' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='131' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='168'>
+        <var-decl name='config_generation' type-id='type-id-4' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='132' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='queue_select' type-id='type-id-22' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='135' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='queue_size' type-id='type-id-22' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='136' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='208'>
+        <var-decl name='queue_msix_vector' type-id='type-id-22' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='queue_enable' type-id='type-id-22' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='240'>
+        <var-decl name='queue_notify_off' type-id='type-id-22' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='139' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='queue_desc_lo' type-id='type-id-24' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='140' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='queue_desc_hi' type-id='type-id-24' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='queue_avail_lo' type-id='type-id-24' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='142' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='queue_avail_hi' type-id='type-id-24' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='143' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='queue_used_lo' type-id='type-id-24' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='144' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='queue_used_hi' type-id='type-id-24' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='145' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-87' size-in-bits='64' id='type-id-27'/>
+    <class-decl name='virtio_crypto_config' size-in-bits='448' is-struct='yes' visibility='default' filepath='../drivers/crypto/virtio/../../../lib/librte_vhost/virtio_crypto.h' line='387' column='1' id='type-id-88'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='status' type-id='type-id-24' visibility='default' filepath='../drivers/crypto/virtio/../../../lib/librte_vhost/virtio_crypto.h' line='389' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_dataqueues' type-id='type-id-24' visibility='default' filepath='../drivers/crypto/virtio/../../../lib/librte_vhost/virtio_crypto.h' line='394' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='crypto_services' type-id='type-id-24' visibility='default' filepath='../drivers/crypto/virtio/../../../lib/librte_vhost/virtio_crypto.h' line='400' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='cipher_algo_l' type-id='type-id-24' visibility='default' filepath='../drivers/crypto/virtio/../../../lib/librte_vhost/virtio_crypto.h' line='403' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cipher_algo_h' type-id='type-id-24' visibility='default' filepath='../drivers/crypto/virtio/../../../lib/librte_vhost/virtio_crypto.h' line='404' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='hash_algo' type-id='type-id-24' visibility='default' filepath='../drivers/crypto/virtio/../../../lib/librte_vhost/virtio_crypto.h' line='405' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='mac_algo_l' type-id='type-id-24' visibility='default' filepath='../drivers/crypto/virtio/../../../lib/librte_vhost/virtio_crypto.h' line='406' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='mac_algo_h' type-id='type-id-24' visibility='default' filepath='../drivers/crypto/virtio/../../../lib/librte_vhost/virtio_crypto.h' line='407' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='aead_algo' type-id='type-id-24' visibility='default' filepath='../drivers/crypto/virtio/../../../lib/librte_vhost/virtio_crypto.h' line='408' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='max_cipher_key_len' type-id='type-id-24' visibility='default' filepath='../drivers/crypto/virtio/../../../lib/librte_vhost/virtio_crypto.h' line='410' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='max_auth_key_len' type-id='type-id-24' visibility='default' filepath='../drivers/crypto/virtio/../../../lib/librte_vhost/virtio_crypto.h' line='412' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='reserve' type-id='type-id-24' visibility='default' filepath='../drivers/crypto/virtio/../../../lib/librte_vhost/virtio_crypto.h' line='413' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='max_size' type-id='type-id-23' visibility='default' filepath='../drivers/crypto/virtio/../../../lib/librte_vhost/virtio_crypto.h' line='415' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-88' size-in-bits='64' id='type-id-28'/>
+    <class-decl name='rte_cryptodev_capabilities' size-in-bits='320' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='176' column='1' id='type-id-89'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-90' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='177' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='' type-id='type-id-91' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-92'/>
+    <enum-decl name='rte_crypto_op_type' filepath='../lib/librte_cryptodev/rte_crypto.h' line='29' column='1' id='type-id-90'>
+      <underlying-type type-id='type-id-92'/>
+      <enumerator name='RTE_CRYPTO_OP_TYPE_UNDEFINED' value='0'/>
+      <enumerator name='RTE_CRYPTO_OP_TYPE_SYMMETRIC' value='1'/>
+      <enumerator name='RTE_CRYPTO_OP_TYPE_ASYMMETRIC' value='2'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='288' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='181' column='1' id='type-id-91'>
+      <data-member access='private'>
+        <var-decl name='sym' type-id='type-id-93' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='182' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='asym' type-id='type-id-94' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='184' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_cryptodev_symmetric_capability' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='98' column='1' id='type-id-93'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xform_type' type-id='type-id-95' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='99' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='' type-id='type-id-96' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_sym_xform_type' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='424' column='1' id='type-id-95'>
+      <underlying-type type-id='type-id-92'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_NOT_SPECIFIED' value='0'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_AUTH' value='1'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_CIPHER' value='2'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_AEAD' value='3'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='102' column='1' id='type-id-96'>
+      <data-member access='private'>
+        <var-decl name='auth' type-id='type-id-97' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='116' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='cipher' type-id='type-id-98' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='127' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='aead' type-id='type-id-99' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='103' column='1' id='type-id-97'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-100' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='104' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='block_size' type-id='type-id-22' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='key_size' type-id='type-id-101' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='digest_size' type-id='type-id-101' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='110' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='aad_size' type-id='type-id-101' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='112' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv_size' type-id='type-id-101' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='114' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_auth_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='189' column='1' id='type-id-100'>
+      <underlying-type type-id='type-id-92'/>
+      <enumerator name='RTE_CRYPTO_AUTH_NULL' value='1'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_CBC_MAC' value='2'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_CMAC' value='3'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_GMAC' value='4'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_XCBC_MAC' value='5'/>
+      <enumerator name='RTE_CRYPTO_AUTH_KASUMI_F9' value='6'/>
+      <enumerator name='RTE_CRYPTO_AUTH_MD5' value='7'/>
+      <enumerator name='RTE_CRYPTO_AUTH_MD5_HMAC' value='8'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA1' value='9'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA1_HMAC' value='10'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA224' value='11'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA224_HMAC' value='12'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA256' value='13'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA256_HMAC' value='14'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA384' value='15'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA384_HMAC' value='16'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA512' value='17'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA512_HMAC' value='18'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SNOW3G_UIA2' value='19'/>
+      <enumerator name='RTE_CRYPTO_AUTH_ZUC_EIA3' value='20'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_224' value='21'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_224_HMAC' value='22'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_256' value='23'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_256_HMAC' value='24'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_384' value='25'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_384_HMAC' value='26'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_512' value='27'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_512_HMAC' value='28'/>
+      <enumerator name='RTE_CRYPTO_AUTH_LIST_END' value='29'/>
+    </enum-decl>
+    <class-decl name='rte_crypto_param_range' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='84' column='1' id='type-id-101'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='min' type-id='type-id-22' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='max' type-id='type-id-22' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='increment' type-id='type-id-22' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='87' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='160' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='118' column='1' id='type-id-98'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-102' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='119' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='block_size' type-id='type-id-22' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='121' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='key_size' type-id='type-id-101' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='123' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='iv_size' type-id='type-id-101' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='125' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_cipher_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='30' column='1' id='type-id-102'>
+      <underlying-type type-id='type-id-92'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_NULL' value='1'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_CBC' value='2'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_CTR' value='3'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_ECB' value='4'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_CBC' value='5'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_CTR' value='6'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_ECB' value='7'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_F8' value='8'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_XTS' value='9'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_ARC4' value='10'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_KASUMI_F8' value='11'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_SNOW3G_UEA2' value='12'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_ZUC_EEA3' value='13'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_DES_CBC' value='14'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_DOCSISBPI' value='15'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_DES_DOCSISBPI' value='16'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_LIST_END' value='17'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='129' column='1' id='type-id-99'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-103' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='130' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='block_size' type-id='type-id-22' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='132' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='key_size' type-id='type-id-101' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='134' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='digest_size' type-id='type-id-101' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='136' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='aad_size' type-id='type-id-101' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv_size' type-id='type-id-101' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='140' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_aead_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='346' column='1' id='type-id-103'>
+      <underlying-type type-id='type-id-92'/>
+      <enumerator name='RTE_CRYPTO_AEAD_AES_CCM' value='1'/>
+      <enumerator name='RTE_CRYPTO_AEAD_AES_GCM' value='2'/>
+      <enumerator name='RTE_CRYPTO_AEAD_LIST_END' value='3'/>
+    </enum-decl>
+    <class-decl name='rte_cryptodev_asymmetric_capability' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='170' column='1' id='type-id-94'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xform_capa' type-id='type-id-104' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_asymmetric_xform_capability' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='150' column='1' id='type-id-104'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xform_type' type-id='type-id-105' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='151' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='op_types' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-106' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_asym_xform_type' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='53' column='1' id='type-id-105'>
+      <underlying-type type-id='type-id-92'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_UNSPECIFIED' value='0'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_NONE' value='1'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_RSA' value='2'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_DH' value='3'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_DSA' value='4'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_MODINV' value='5'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_MODEX' value='6'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_TYPE_LIST_END' value='7'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='48' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='158' column='1' id='type-id-106'>
+      <data-member access='private'>
+        <var-decl name='modlen' type-id='type-id-101' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='159' column='1'/>
+      </data-member>
+    </union-decl>
+    <qualified-type-def type-id='type-id-89' const='yes' id='type-id-107'/>
+    <pointer-type-def type-id='type-id-107' size-in-bits='64' id='type-id-29'/>
+    <pointer-type-def type-id='type-id-108' size-in-bits='64' id='type-id-9'/>
+    <pointer-type-def type-id='type-id-109' size-in-bits='64' id='type-id-10'/>
+    <pointer-type-def type-id='type-id-110' size-in-bits='64' id='type-id-11'/>
+    <pointer-type-def type-id='type-id-111' size-in-bits='64' id='type-id-12'/>
+    <pointer-type-def type-id='type-id-112' size-in-bits='64' id='type-id-13'/>
+    <pointer-type-def type-id='type-id-113' size-in-bits='64' id='type-id-14'/>
+    <pointer-type-def type-id='type-id-114' size-in-bits='64' id='type-id-15'/>
+    <pointer-type-def type-id='type-id-115' size-in-bits='64' id='type-id-16'/>
+    <pointer-type-def type-id='type-id-116' size-in-bits='64' id='type-id-17'/>
+    <pointer-type-def type-id='type-id-117' size-in-bits='64' id='type-id-18'/>
+    <qualified-type-def type-id='type-id-8' const='yes' id='type-id-118'/>
+    <pointer-type-def type-id='type-id-118' size-in-bits='64' id='type-id-6'/>
+    <class-decl name='rte_pci_ioport' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='293' column='1' id='type-id-7'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev' type-id='type-id-119' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='294' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='base' type-id='type-id-23' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='295' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='len' type-id='type-id-23' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='296' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_pci_device' size-in-bits='428736' is-struct='yes' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='57' column='1' id='type-id-120'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-121' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='device' type-id='type-id-122' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='addr' type-id='type-id-123' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='60' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='id' type-id='type-id-124' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='mem_resource' type-id='type-id-125' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='intr_handle' type-id='type-id-126' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='215168'>
+        <var-decl name='driver' type-id='type-id-127' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='215232'>
+        <var-decl name='max_vfs' type-id='type-id-22' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='215264'>
+        <var-decl name='kdrv' type-id='type-id-128' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='215296'>
+        <var-decl name='name' type-id='type-id-129' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='215488'>
+        <var-decl name='vfio_req_intr_handle' type-id='type-id-126' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='69' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='58' column='1' id='type-id-121'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-119' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-130' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='58' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-120' size-in-bits='64' id='type-id-119'/>
+    <pointer-type-def type-id='type-id-119' size-in-bits='64' id='type-id-130'/>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-122'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-131' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-132' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-133' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-134' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-135' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-131'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-136' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-137' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-122' size-in-bits='64' id='type-id-136'/>
+    <pointer-type-def type-id='type-id-136' size-in-bits='64' id='type-id-137'/>
+    <qualified-type-def type-id='type-id-44' const='yes' id='type-id-138'/>
+    <pointer-type-def type-id='type-id-138' size-in-bits='64' id='type-id-132'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-139'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-140' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-132' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-132' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-140'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-141' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-142' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-139' size-in-bits='64' id='type-id-141'/>
+    <pointer-type-def type-id='type-id-141' size-in-bits='64' id='type-id-142'/>
+    <qualified-type-def type-id='type-id-139' const='yes' id='type-id-143'/>
+    <pointer-type-def type-id='type-id-143' size-in-bits='64' id='type-id-133'/>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-144'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-145' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-132' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-146' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-147' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-148' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-149' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-150' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-151' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-152' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-153' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-154' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-155' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-156' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-157' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-158' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-145'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-159' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-160' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-144' size-in-bits='64' id='type-id-159'/>
+    <pointer-type-def type-id='type-id-159' size-in-bits='64' id='type-id-160'/>
+    <pointer-type-def type-id='type-id-161' size-in-bits='64' id='type-id-162'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-162' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-146'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-162' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-147'/>
+    <qualified-type-def type-id='type-id-122' const='yes' id='type-id-163'/>
+    <pointer-type-def type-id='type-id-163' size-in-bits='64' id='type-id-164'/>
+    <pointer-type-def type-id='type-id-165' size-in-bits='64' id='type-id-166'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-166' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-167'/>
+    <pointer-type-def type-id='type-id-168' size-in-bits='64' id='type-id-169'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-169' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-148'/>
+    <pointer-type-def type-id='type-id-170' size-in-bits='64' id='type-id-171'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-171' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-149'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-171' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-150'/>
+    <pointer-type-def type-id='type-id-172' size-in-bits='64' id='type-id-173'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-173' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-151'/>
+    <pointer-type-def type-id='type-id-174' size-in-bits='64' id='type-id-175'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-175' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-152'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-175' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-153'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-154'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-176' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-176'>
+      <underlying-type type-id='type-id-92'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-177'>
+      <underlying-type type-id='type-id-92'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-178' size-in-bits='64' id='type-id-179'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-179' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-155'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-180'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-132' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-132' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-132' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-159' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-181' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-136' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-34' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-182'/>
+    <pointer-type-def type-id='type-id-182' size-in-bits='64' id='type-id-181'/>
+    <qualified-type-def type-id='type-id-180' const='yes' id='type-id-183'/>
+    <pointer-type-def type-id='type-id-183' size-in-bits='64' id='type-id-184'/>
+    <pointer-type-def type-id='type-id-185' size-in-bits='64' id='type-id-186'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-186' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-156'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-171' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-157'/>
+    <pointer-type-def type-id='type-id-187' size-in-bits='64' id='type-id-188'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-188' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-158'/>
+    <qualified-type-def type-id='type-id-144' const='yes' id='type-id-189'/>
+    <pointer-type-def type-id='type-id-189' size-in-bits='64' id='type-id-134'/>
+    <class-decl name='rte_devargs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-190'/>
+    <pointer-type-def type-id='type-id-190' size-in-bits='64' id='type-id-135'/>
+    <class-decl name='rte_pci_addr' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='61' column='1' id='type-id-123'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='domain' type-id='type-id-24' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='bus' type-id='type-id-4' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='devid' type-id='type-id-4' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='function' type-id='type-id-4' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_pci_id' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='50' column='1' id='type-id-124'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='class_id' type-id='type-id-24' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='vendor_id' type-id='type-id-22' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='device_id' type-id='type-id-22' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='subsystem_vendor_id' type-id='type-id-22' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='subsystem_device_id' type-id='type-id-22' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='55' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mem_resource' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='80' column='1' id='type-id-191'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='phys_addr' type-id='type-id-23' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-23' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='82' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-34' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-191' size-in-bits='1152' id='type-id-125'>
+      <subrange length='6' type-id='type-id-45' id='type-id-192'/>
+
+    </array-type-def>
+    <class-decl name='rte_intr_handle' size-in-bits='213248' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='69' column='1' id='type-id-126'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-193' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-194' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='max_intr' type-id='type-id-24' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='nb_efd' type-id='type-id-24' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='efd_counter_size' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='efds' type-id='type-id-195' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16576'>
+        <var-decl name='elist' type-id='type-id-196' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='213184'>
+        <var-decl name='intr_vec' type-id='type-id-197' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='71' column='1' id='type-id-193'>
+      <data-member access='private'>
+        <var-decl name='vfio_dev_fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='uio_cfg_fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='73' column='1'/>
+      </data-member>
+    </union-decl>
+    <enum-decl name='rte_intr_handle_type' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='27' column='1' id='type-id-194'>
+      <underlying-type type-id='type-id-92'/>
+      <enumerator name='RTE_INTR_HANDLE_UNKNOWN' value='0'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO' value='1'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO_INTX' value='2'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_LEGACY' value='3'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSI' value='4'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSIX' value='5'/>
+      <enumerator name='RTE_INTR_HANDLE_ALARM' value='6'/>
+      <enumerator name='RTE_INTR_HANDLE_EXT' value='7'/>
+      <enumerator name='RTE_INTR_HANDLE_VDEV' value='8'/>
+      <enumerator name='RTE_INTR_HANDLE_DEV_EVENT' value='9'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_REQ' value='10'/>
+      <enumerator name='RTE_INTR_HANDLE_MAX' value='11'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='16384' id='type-id-195'>
+      <subrange length='512' type-id='type-id-45' id='type-id-198'/>
+
+    </array-type-def>
+    <class-decl name='rte_epoll_event' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='61' column='1' id='type-id-199'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='status' type-id='type-id-200' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='epfd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='epdata' type-id='type-id-201' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-24' volatile='yes' id='type-id-200'/>
+    <class-decl name='rte_epoll_data' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='47' column='1' id='type-id-201'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event' type-id='type-id-24' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='data' type-id='type-id-34' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cb_fun' type-id='type-id-202' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='cb_arg' type-id='type-id-34' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='51' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-203' size-in-bits='64' id='type-id-204'/>
+    <typedef-decl name='rte_intr_event_cb_t' type-id='type-id-204' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='45' column='1' id='type-id-202'/>
+
+    <array-type-def dimensions='1' type-id='type-id-199' size-in-bits='196608' id='type-id-196'>
+      <subrange length='512' type-id='type-id-45' id='type-id-198'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-197'/>
+    <class-decl name='rte_pci_driver' size-in-bits='832' is-struct='yes' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='157' column='1' id='type-id-205'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-206' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='158' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='driver' type-id='type-id-139' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='159' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='bus' type-id='type-id-207' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='160' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='probe' type-id='type-id-208' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='161' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='remove' type-id='type-id-209' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='162' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-210' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='163' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-211' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='164' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='id_table' type-id='type-id-212' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='165' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='drv_flags' type-id='type-id-24' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='166' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='158' column='1' id='type-id-206'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-127' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='158' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-213' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='158' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-205' size-in-bits='64' id='type-id-127'/>
+    <pointer-type-def type-id='type-id-127' size-in-bits='64' id='type-id-213'/>
+    <class-decl name='rte_pci_bus' size-in-bits='1280' is-struct='yes' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='172' column='1' id='type-id-214'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='bus' type-id='type-id-144' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='173' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='device_list' type-id='type-id-215' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='174' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='driver_list' type-id='type-id-216' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='175' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_pci_device_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='41' column='1' id='type-id-215'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-119' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-130' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='41' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_pci_driver_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='43' column='1' id='type-id-216'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-127' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-213' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='43' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-214' size-in-bits='64' id='type-id-207'/>
+    <typedef-decl name='pci_probe_t' type-id='type-id-217' filepath='../drivers/bus/pci/rte_bus_pci.h' line='109' column='1' id='type-id-218'/>
+    <pointer-type-def type-id='type-id-218' size-in-bits='64' id='type-id-208'/>
+    <typedef-decl name='pci_remove_t' type-id='type-id-219' filepath='../drivers/bus/pci/rte_bus_pci.h' line='114' column='1' id='type-id-220'/>
+    <pointer-type-def type-id='type-id-220' size-in-bits='64' id='type-id-209'/>
+    <typedef-decl name='pci_dma_map_t' type-id='type-id-221' filepath='../drivers/bus/pci/rte_bus_pci.h' line='132' column='1' id='type-id-222'/>
+    <pointer-type-def type-id='type-id-222' size-in-bits='64' id='type-id-210'/>
+    <typedef-decl name='pci_dma_unmap_t' type-id='type-id-221' filepath='../drivers/bus/pci/rte_bus_pci.h' line='151' column='1' id='type-id-223'/>
+    <pointer-type-def type-id='type-id-223' size-in-bits='64' id='type-id-211'/>
+    <qualified-type-def type-id='type-id-124' const='yes' id='type-id-224'/>
+    <pointer-type-def type-id='type-id-224' size-in-bits='64' id='type-id-212'/>
+    <enum-decl name='rte_kernel_driver' filepath='../lib/librte_eal/common/include/rte_dev.h' line='60' column='1' id='type-id-128'>
+      <underlying-type type-id='type-id-92'/>
+      <enumerator name='RTE_KDRV_UNKNOWN' value='0'/>
+      <enumerator name='RTE_KDRV_IGB_UIO' value='1'/>
+      <enumerator name='RTE_KDRV_VFIO' value='2'/>
+      <enumerator name='RTE_KDRV_UIO_GENERIC' value='3'/>
+      <enumerator name='RTE_KDRV_NIC_UIO' value='4'/>
+      <enumerator name='RTE_KDRV_NONE' value='5'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-44' size-in-bits='144' id='type-id-129'>
+      <subrange length='18' type-id='type-id-45' id='type-id-225'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-5' size-in-bits='8192' id='type-id-226'>
+      <subrange length='32' type-id='type-id-45' id='type-id-46'/>
+
+    </array-type-def>
+    <var-decl name='crypto_virtio_hw_internal' type-id='type-id-226' visibility='default' filepath='../drivers/crypto/virtio/virtio_pci.h' line='207' column='1'/>
+    <function-type size-in-bits='64' id='type-id-178'>
+      <return type-id='type-id-177'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-161'>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-172'>
+      <parameter type-id='type-id-132'/>
+      <parameter type-id='type-id-34'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-165'>
+      <parameter type-id='type-id-164'/>
+      <parameter type-id='type-id-34'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-170'>
+      <parameter type-id='type-id-136'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-174'>
+      <parameter type-id='type-id-136'/>
+      <parameter type-id='type-id-34'/>
+      <parameter type-id='type-id-23'/>
+      <parameter type-id='type-id-42'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-219'>
+      <parameter type-id='type-id-119'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-221'>
+      <parameter type-id='type-id-119'/>
+      <parameter type-id='type-id-34'/>
+      <parameter type-id='type-id-23'/>
+      <parameter type-id='type-id-42'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-217'>
+      <parameter type-id='type-id-127'/>
+      <parameter type-id='type-id-119'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-116'>
+      <parameter type-id='type-id-31'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-187'>
+      <parameter type-id='type-id-34'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-168'>
+      <parameter type-id='type-id-164'/>
+      <parameter type-id='type-id-167'/>
+      <parameter type-id='type-id-34'/>
+      <return type-id='type-id-136'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-114'>
+      <parameter type-id='type-id-31'/>
+      <parameter type-id='type-id-22'/>
+      <return type-id='type-id-22'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-115'>
+      <parameter type-id='type-id-31'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-22'/>
+      <return type-id='type-id-22'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-112'>
+      <parameter type-id='type-id-31'/>
+      <return type-id='type-id-23'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-110'>
+      <parameter type-id='type-id-31'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-203'>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-34'/>
+      <return type-id='type-id-19'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-71'>
+      <parameter type-id='type-id-65'/>
+      <parameter type-id='type-id-34'/>
+      <return type-id='type-id-19'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-109'>
+      <parameter type-id='type-id-31'/>
+      <return type-id='type-id-19'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-108'>
+      <parameter type-id='type-id-31'/>
+      <parameter type-id='type-id-42'/>
+      <parameter type-id='type-id-34'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-19'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-113'>
+      <parameter type-id='type-id-31'/>
+      <parameter type-id='type-id-23'/>
+      <return type-id='type-id-19'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-111'>
+      <parameter type-id='type-id-31'/>
+      <parameter type-id='type-id-4'/>
+      <return type-id='type-id-19'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-117'>
+      <parameter type-id='type-id-31'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-19'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-185'>
+      <parameter type-id='type-id-34'/>
+      <parameter type-id='type-id-132'/>
+      <parameter type-id='type-id-184'/>
+      <return type-id='type-id-34'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_zuc.dump b/drivers/.abi/librte_pmd_zuc.dump
new file mode 100644
index 000000000..db0ed51ff
--- /dev/null
+++ b/drivers/.abi/librte_pmd_zuc.dump
@@ -0,0 +1,1315 @@
+<abi-corpus path='gcc//drivers/librte_pmd_zuc.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_zuc.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libsso_zuc.so'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/crypto/zuc/rte_zuc_pmd_ops.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_cryptodev_ops' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='313' column='1' id='type-id-1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_configure' type-id='type-id-2' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='314' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_start' type-id='type-id-3' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='315' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dev_stop' type-id='type-id-4' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='316' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_close' type-id='type-id-5' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='317' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dev_infos_get' type-id='type-id-6' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='319' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='stats_get' type-id='type-id-7' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='321' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='stats_reset' type-id='type-id-8' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='323' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='queue_pair_setup' type-id='type-id-9' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='326' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='queue_pair_release' type-id='type-id-10' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='328' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='queue_pair_count' type-id='type-id-11' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='330' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='sym_session_get_size' type-id='type-id-12' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='333' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='asym_session_get_size' type-id='type-id-13' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='335' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='sym_session_configure' type-id='type-id-14' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='337' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='asym_session_configure' type-id='type-id-15' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='339' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='sym_session_clear' type-id='type-id-16' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='341' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='asym_session_clear' type-id='type-id-17' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='343' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='int' size-in-bits='32' id='type-id-18'/>
+    <class-decl name='rte_cryptodev' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='817' column='1' id='type-id-19'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dequeue_burst' type-id='type-id-20' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='818' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='enqueue_burst' type-id='type-id-21' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='820' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data' type-id='type-id-22' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='823' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_ops' type-id='type-id-23' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='825' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='feature_flags' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='827' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-25' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='829' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='driver_id' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='832' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='link_intr_cbs' type-id='type-id-27' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='835' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='security_ctx' type-id='type-id-28' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='attached' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='842' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-29'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-29' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-30'/>
+    <typedef-decl name='uint16_t' type-id='type-id-30' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-31'/>
+    <type-decl name='void' id='type-id-32'/>
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-28'/>
+    <class-decl name='rte_crypto_op' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='78' column='1' id='type-id-33'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-34' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mempool' type-id='type-id-35' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='110' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='phys_addr' type-id='type-id-36' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='113' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='80' column='1' id='type-id-34'>
+      <data-member access='private'>
+        <var-decl name='raw' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-37' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-38'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-38' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-39'/>
+    <typedef-decl name='uint64_t' type-id='type-id-39' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-24'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='83' column='1' id='type-id-37'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='status' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='sess_type' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='reserved' type-id='type-id-40' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='private_data_offset' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto.h' line='100' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-41'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-41' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-42'/>
+    <typedef-decl name='uint8_t' type-id='type-id-42' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-26'/>
+
+    <array-type-def dimensions='1' type-id='type-id-26' size-in-bits='24' id='type-id-40'>
+      <subrange length='3' type-id='type-id-38' id='type-id-43'/>
+
+    </array-type-def>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-44'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-45' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-46' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-47' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-48' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-18' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-48' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-50' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-51' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-52' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-53' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-54'/>
+
+    <array-type-def dimensions='1' type-id='type-id-54' size-in-bits='256' id='type-id-45'>
+      <subrange length='32' type-id='type-id-38' id='type-id-55'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-46'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-24' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-56'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-45' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-57' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-58' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-24' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-50' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-49' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-57'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-59' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-36' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-24' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-59'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-24' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-36'/>
+    <typedef-decl name='size_t' type-id='type-id-38' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-58'/>
+    <typedef-decl name='__int32_t' type-id='type-id-18' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-60'/>
+    <typedef-decl name='int32_t' type-id='type-id-60' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-50'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-48'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-48' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-61'/>
+    <typedef-decl name='uint32_t' type-id='type-id-61' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-49'/>
+    <qualified-type-def type-id='type-id-56' const='yes' id='type-id-62'/>
+    <pointer-type-def type-id='type-id-62' size-in-bits='64' id='type-id-47'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-63'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-64' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-28' size-in-bits='98304' id='type-id-64'>
+      <subrange length='1536' type-id='type-id-38' id='type-id-65'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-51'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-52'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-66' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-67' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-68'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-69' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-35' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-70' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-69'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-66' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-68' size-in-bits='64' id='type-id-66'/>
+    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-35'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-70'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-36' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-59' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-53'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-71' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-72' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-73'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-74' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-35' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-75' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-58' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-76' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-74'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-71' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-73' size-in-bits='64' id='type-id-71'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-75'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-36' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-59' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-77' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-78'/>
+    <pointer-type-def type-id='type-id-78' size-in-bits='64' id='type-id-76'/>
+    <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-72'/>
+    <pointer-type-def type-id='type-id-33' size-in-bits='64' id='type-id-79'/>
+    <pointer-type-def type-id='type-id-79' size-in-bits='64' id='type-id-80'/>
+    <pointer-type-def type-id='type-id-81' size-in-bits='64' id='type-id-82'/>
+    <typedef-decl name='dequeue_pkt_burst_t' type-id='type-id-82' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='800' column='1' id='type-id-20'/>
+    <typedef-decl name='enqueue_pkt_burst_t' type-id='type-id-82' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='804' column='1' id='type-id-21'/>
+    <class-decl name='rte_cryptodev_data' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='856' column='1' id='type-id-83'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_id' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='857' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='socket_id' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='859' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='name' type-id='type-id-84' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='861' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='dev_started' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='session_pool' type-id='type-id-35' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='868' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='queue_pairs' type-id='type-id-85' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='870' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='nb_queue_pairs' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='872' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='dev_private' type-id='type-id-28' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='875' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-54' size-in-bits='512' id='type-id-84'>
+      <subrange length='64' type-id='type-id-38' id='type-id-86'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-85'/>
+    <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-22'/>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-23'/>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-87'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-88' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-90' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-91' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-18' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-92' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-88'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-25' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-93' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-87' size-in-bits='64' id='type-id-25'/>
+    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-93'/>
+    <qualified-type-def type-id='type-id-54' const='yes' id='type-id-94'/>
+    <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-89'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-95'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-96' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-96'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-97' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-98' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-95' size-in-bits='64' id='type-id-97'/>
+    <pointer-type-def type-id='type-id-97' size-in-bits='64' id='type-id-98'/>
+    <qualified-type-def type-id='type-id-95' const='yes' id='type-id-99'/>
+    <pointer-type-def type-id='type-id-99' size-in-bits='64' id='type-id-90'/>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-100'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-101' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-102' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-103' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-104' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-105' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-106' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-107' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-108' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-109' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-110' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-111' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-112' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-113' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-114' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-101'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-115' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-116' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-100' size-in-bits='64' id='type-id-115'/>
+    <pointer-type-def type-id='type-id-115' size-in-bits='64' id='type-id-116'/>
+    <pointer-type-def type-id='type-id-117' size-in-bits='64' id='type-id-118'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-118' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-102'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-118' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-103'/>
+    <qualified-type-def type-id='type-id-87' const='yes' id='type-id-119'/>
+    <pointer-type-def type-id='type-id-119' size-in-bits='64' id='type-id-120'/>
+    <pointer-type-def type-id='type-id-121' size-in-bits='64' id='type-id-122'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-122' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-123'/>
+    <pointer-type-def type-id='type-id-124' size-in-bits='64' id='type-id-125'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-125' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-104'/>
+    <pointer-type-def type-id='type-id-126' size-in-bits='64' id='type-id-127'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-127' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-105'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-127' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-106'/>
+    <pointer-type-def type-id='type-id-128' size-in-bits='64' id='type-id-129'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-129' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-107'/>
+    <pointer-type-def type-id='type-id-130' size-in-bits='64' id='type-id-131'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-131' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-108'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-131' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-109'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-110'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-132' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-133'/>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-132'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-134'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-135' size-in-bits='64' id='type-id-136'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-136' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-111'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-137'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-115' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-138' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-25' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-28' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-139'/>
+    <pointer-type-def type-id='type-id-139' size-in-bits='64' id='type-id-138'/>
+    <qualified-type-def type-id='type-id-137' const='yes' id='type-id-140'/>
+    <pointer-type-def type-id='type-id-140' size-in-bits='64' id='type-id-141'/>
+    <pointer-type-def type-id='type-id-142' size-in-bits='64' id='type-id-143'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-143' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-112'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-127' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-113'/>
+    <pointer-type-def type-id='type-id-144' size-in-bits='64' id='type-id-145'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-145' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-114'/>
+    <qualified-type-def type-id='type-id-100' const='yes' id='type-id-146'/>
+    <pointer-type-def type-id='type-id-146' size-in-bits='64' id='type-id-91'/>
+    <class-decl name='rte_devargs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-147'/>
+    <pointer-type-def type-id='type-id-147' size-in-bits='64' id='type-id-92'/>
+    <class-decl name='rte_cryptodev_cb_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='814' column='1' id='type-id-27'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-148' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='814' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-149' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='814' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_callback' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-150'/>
+    <pointer-type-def type-id='type-id-150' size-in-bits='64' id='type-id-148'/>
+    <pointer-type-def type-id='type-id-148' size-in-bits='64' id='type-id-149'/>
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-151'/>
+    <class-decl name='rte_cryptodev_config' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='619' column='1' id='type-id-152'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='socket_id' type-id='type-id-18' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='620' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_queue_pairs' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ff_disable' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='623' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-152' size-in-bits='64' id='type-id-153'/>
+    <pointer-type-def type-id='type-id-154' size-in-bits='64' id='type-id-155'/>
+    <typedef-decl name='cryptodev_configure_t' type-id='type-id-155' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='127' column='1' id='type-id-2'/>
+    <pointer-type-def type-id='type-id-156' size-in-bits='64' id='type-id-157'/>
+    <typedef-decl name='cryptodev_start_t' type-id='type-id-157' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='137' column='1' id='type-id-3'/>
+    <pointer-type-def type-id='type-id-158' size-in-bits='64' id='type-id-159'/>
+    <typedef-decl name='cryptodev_stop_t' type-id='type-id-159' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='144' column='1' id='type-id-4'/>
+    <typedef-decl name='cryptodev_close_t' type-id='type-id-157' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='154' column='1' id='type-id-5'/>
+    <class-decl name='rte_cryptodev_info' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='468' column='1' id='type-id-160'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='driver_name' type-id='type-id-89' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='469' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='driver_id' type-id='type-id-26' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='470' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='device' type-id='type-id-25' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='471' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='feature_flags' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='473' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='capabilities' type-id='type-id-161' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='476' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='max_nb_queue_pairs' type-id='type-id-48' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='479' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='min_mbuf_headroom_req' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='482' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='min_mbuf_tailroom_req' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='485' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='sym' type-id='type-id-162' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='494' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_capabilities' size-in-bits='320' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='176' column='1' id='type-id-163'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-164' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='177' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='' type-id='type-id-165' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_op_type' filepath='../lib/librte_cryptodev/rte_crypto.h' line='29' column='1' id='type-id-164'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_OP_TYPE_UNDEFINED' value='0'/>
+      <enumerator name='RTE_CRYPTO_OP_TYPE_SYMMETRIC' value='1'/>
+      <enumerator name='RTE_CRYPTO_OP_TYPE_ASYMMETRIC' value='2'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='288' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='181' column='1' id='type-id-165'>
+      <data-member access='private'>
+        <var-decl name='sym' type-id='type-id-166' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='182' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='asym' type-id='type-id-167' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='184' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_cryptodev_symmetric_capability' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='98' column='1' id='type-id-166'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xform_type' type-id='type-id-168' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='99' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='' type-id='type-id-169' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_sym_xform_type' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='424' column='1' id='type-id-168'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_NOT_SPECIFIED' value='0'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_AUTH' value='1'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_CIPHER' value='2'/>
+      <enumerator name='RTE_CRYPTO_SYM_XFORM_AEAD' value='3'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='102' column='1' id='type-id-169'>
+      <data-member access='private'>
+        <var-decl name='auth' type-id='type-id-170' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='116' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='cipher' type-id='type-id-171' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='127' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='aead' type-id='type-id-172' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='103' column='1' id='type-id-170'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-173' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='104' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='block_size' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='key_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='digest_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='110' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='aad_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='112' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='114' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_auth_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='189' column='1' id='type-id-173'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_AUTH_NULL' value='1'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_CBC_MAC' value='2'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_CMAC' value='3'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_GMAC' value='4'/>
+      <enumerator name='RTE_CRYPTO_AUTH_AES_XCBC_MAC' value='5'/>
+      <enumerator name='RTE_CRYPTO_AUTH_KASUMI_F9' value='6'/>
+      <enumerator name='RTE_CRYPTO_AUTH_MD5' value='7'/>
+      <enumerator name='RTE_CRYPTO_AUTH_MD5_HMAC' value='8'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA1' value='9'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA1_HMAC' value='10'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA224' value='11'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA224_HMAC' value='12'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA256' value='13'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA256_HMAC' value='14'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA384' value='15'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA384_HMAC' value='16'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA512' value='17'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA512_HMAC' value='18'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SNOW3G_UIA2' value='19'/>
+      <enumerator name='RTE_CRYPTO_AUTH_ZUC_EIA3' value='20'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_224' value='21'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_224_HMAC' value='22'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_256' value='23'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_256_HMAC' value='24'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_384' value='25'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_384_HMAC' value='26'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_512' value='27'/>
+      <enumerator name='RTE_CRYPTO_AUTH_SHA3_512_HMAC' value='28'/>
+      <enumerator name='RTE_CRYPTO_AUTH_LIST_END' value='29'/>
+    </enum-decl>
+    <class-decl name='rte_crypto_param_range' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='84' column='1' id='type-id-174'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='min' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='max' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='increment' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='87' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='160' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='118' column='1' id='type-id-171'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-175' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='119' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='block_size' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='121' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='key_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='123' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='iv_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='125' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_cipher_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='30' column='1' id='type-id-175'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_NULL' value='1'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_CBC' value='2'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_CTR' value='3'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_3DES_ECB' value='4'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_CBC' value='5'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_CTR' value='6'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_ECB' value='7'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_F8' value='8'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_XTS' value='9'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_ARC4' value='10'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_KASUMI_F8' value='11'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_SNOW3G_UEA2' value='12'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_ZUC_EEA3' value='13'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_DES_CBC' value='14'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_AES_DOCSISBPI' value='15'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_DES_DOCSISBPI' value='16'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_LIST_END' value='17'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='129' column='1' id='type-id-172'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='algo' type-id='type-id-176' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='130' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='block_size' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='132' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='key_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='134' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='digest_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='136' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='aad_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv_size' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='140' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_aead_algorithm' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='346' column='1' id='type-id-176'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_AEAD_AES_CCM' value='1'/>
+      <enumerator name='RTE_CRYPTO_AEAD_AES_GCM' value='2'/>
+      <enumerator name='RTE_CRYPTO_AEAD_LIST_END' value='3'/>
+    </enum-decl>
+    <class-decl name='rte_cryptodev_asymmetric_capability' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='170' column='1' id='type-id-167'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xform_capa' type-id='type-id-177' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_asymmetric_xform_capability' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='150' column='1' id='type-id-177'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xform_type' type-id='type-id-178' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='151' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='op_types' type-id='type-id-49' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-179' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_asym_xform_type' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='53' column='1' id='type-id-178'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_UNSPECIFIED' value='0'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_NONE' value='1'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_RSA' value='2'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_DH' value='3'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_DSA' value='4'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_MODINV' value='5'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_MODEX' value='6'/>
+      <enumerator name='RTE_CRYPTO_ASYM_XFORM_TYPE_LIST_END' value='7'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='48' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='158' column='1' id='type-id-179'>
+      <data-member access='private'>
+        <var-decl name='modlen' type-id='type-id-174' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='159' column='1'/>
+      </data-member>
+    </union-decl>
+    <qualified-type-def type-id='type-id-163' const='yes' id='type-id-180'/>
+    <pointer-type-def type-id='type-id-180' size-in-bits='64' id='type-id-161'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='488' column='1' id='type-id-162'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max_nb_sessions' type-id='type-id-48' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='489' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-160' size-in-bits='64' id='type-id-181'/>
+    <pointer-type-def type-id='type-id-182' size-in-bits='64' id='type-id-183'/>
+    <typedef-decl name='cryptodev_info_get_t' type-id='type-id-183' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='180' column='1' id='type-id-6'/>
+    <class-decl name='rte_cryptodev_stats' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='530' column='1' id='type-id-184'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='enqueued_count' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='531' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dequeued_count' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='533' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='enqueue_err_count' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='536' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dequeue_err_count' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='538' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-184' size-in-bits='64' id='type-id-185'/>
+    <pointer-type-def type-id='type-id-186' size-in-bits='64' id='type-id-187'/>
+    <typedef-decl name='cryptodev_stats_get_t' type-id='type-id-187' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='163' column='1' id='type-id-7'/>
+    <typedef-decl name='cryptodev_stats_reset_t' type-id='type-id-159' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='172' column='1' id='type-id-8'/>
+    <class-decl name='rte_cryptodev_qp_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='508' column='1' id='type-id-188'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_descriptors' type-id='type-id-49' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='509' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp_session' type-id='type-id-35' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='510' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mp_session_private' type-id='type-id-35' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='512' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-188' const='yes' id='type-id-189'/>
+    <pointer-type-def type-id='type-id-189' size-in-bits='64' id='type-id-190'/>
+    <pointer-type-def type-id='type-id-191' size-in-bits='64' id='type-id-192'/>
+    <typedef-decl name='cryptodev_queue_pair_setup_t' type-id='type-id-192' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='193' column='1' id='type-id-9'/>
+    <pointer-type-def type-id='type-id-193' size-in-bits='64' id='type-id-194'/>
+    <typedef-decl name='cryptodev_queue_pair_release_t' type-id='type-id-194' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='207' column='1' id='type-id-10'/>
+    <pointer-type-def type-id='type-id-195' size-in-bits='64' id='type-id-196'/>
+    <typedef-decl name='cryptodev_queue_pair_count_t' type-id='type-id-196' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='217' column='1' id='type-id-11'/>
+    <pointer-type-def type-id='type-id-197' size-in-bits='64' id='type-id-198'/>
+    <typedef-decl name='cryptodev_sym_get_session_private_size_t' type-id='type-id-198' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='245' column='1' id='type-id-12'/>
+    <typedef-decl name='cryptodev_asym_get_session_private_size_t' type-id='type-id-198' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='256' column='1' id='type-id-13'/>
+    <class-decl name='rte_crypto_sym_xform' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='440' column='1' id='type-id-199'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-200' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='441' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-168' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='443' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-201' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-199' size-in-bits='64' id='type-id-200'/>
+    <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='446' column='1' id='type-id-201'>
+      <data-member access='private'>
+        <var-decl name='auth' type-id='type-id-202' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='447' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='cipher' type-id='type-id-203' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='aead' type-id='type-id-204' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='451' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_crypto_auth_xform' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='278' column='1' id='type-id-202'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-205' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-173' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='281' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-206' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='287' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv' type-id='type-id-207' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='330' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='digest_length' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='332' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_auth_operation' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='262' column='1' id='type-id-205'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_AUTH_OP_VERIFY' value='0'/>
+      <enumerator name='RTE_CRYPTO_AUTH_OP_GENERATE' value='1'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='284' column='1' id='type-id-206'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-208' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='285' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='length' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='286' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-26' const='yes' id='type-id-209'/>
+    <pointer-type-def type-id='type-id-209' size-in-bits='64' id='type-id-208'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='295' column='1' id='type-id-207'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='offset' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='296' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='length' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='312' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_cipher_xform' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='107' column='1' id='type-id-203'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-210' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-175' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='113' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-206' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='119' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv' type-id='type-id-207' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='185' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_cipher_operation' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='90' column='1' id='type-id-210'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_OP_ENCRYPT' value='0'/>
+      <enumerator name='RTE_CRYPTO_CIPHER_OP_DECRYPT' value='1'/>
+    </enum-decl>
+    <class-decl name='rte_crypto_aead_xform' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='370' column='1' id='type-id-204'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='op' type-id='type-id-211' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='371' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='algo' type-id='type-id-176' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='373' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-206' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='379' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='iv' type-id='type-id-207' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='411' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='digest_length' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='413' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='240'>
+        <var-decl name='aad_length' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='415' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_aead_operation' filepath='../lib/librte_cryptodev/rte_crypto_sym.h' line='359' column='1' id='type-id-211'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_AEAD_OP_ENCRYPT' value='0'/>
+      <enumerator name='RTE_CRYPTO_AEAD_OP_DECRYPT' value='1'/>
+    </enum-decl>
+    <class-decl name='rte_cryptodev_sym_session' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='974' column='1' id='type-id-212'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='opaque_data' type-id='type-id-24' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='975' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='nb_drivers' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='977' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='user_data_sz' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='979' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='sess_data' type-id='type-id-213' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='984' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='981' column='1' id='type-id-214'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-28' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='982' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='refcnt' type-id='type-id-31' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='983' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-214' size-in-bits='infinite' id='type-id-213'>
+      <subrange length='infinite' type-id='type-id-38' id='type-id-215'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-212' size-in-bits='64' id='type-id-216'/>
+    <pointer-type-def type-id='type-id-217' size-in-bits='64' id='type-id-218'/>
+    <typedef-decl name='cryptodev_sym_configure_session_t' type-id='type-id-218' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='273' column='1' id='type-id-14'/>
+    <class-decl name='rte_crypto_asym_xform' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='353' column='1' id='type-id-219'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-220' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='354' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='xform_type' type-id='type-id-178' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='356' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-221' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-219' size-in-bits='64' id='type-id-220'/>
+    <union-decl name='__anonymous_union__' size-in-bits='1408' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='360' column='1' id='type-id-221'>
+      <data-member access='private'>
+        <var-decl name='rsa' type-id='type-id-222' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='361' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='modex' type-id='type-id-223' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='364' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='modinv' type-id='type-id-224' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='367' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dh' type-id='type-id-225' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='370' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dsa' type-id='type-id-226' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='373' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_crypto_rsa_xform' size-in-bits='1408' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='192' column='1' id='type-id-222'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='193' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='e' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='199' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='key_type' type-id='type-id-228' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='' type-id='type-id-229' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_param_t' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='30' column='1' id='type-id-230'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-231' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='iova' type-id='type-id-36' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='33' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='length' type-id='type-id-58' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='35' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-231'/>
+    <typedef-decl name='rte_crypto_param' type-id='type-id-230' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='37' column='1' id='type-id-227'/>
+    <enum-decl name='rte_crypto_rsa_priv_key_type' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='133' column='1' id='type-id-228'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_RSA_KEY_TYPE_EXP' value='0'/>
+      <enumerator name='RTE_RSA_KET_TYPE_QT' value='1'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='960' is-anonymous='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='208' column='1' id='type-id-229'>
+      <data-member access='private'>
+        <var-decl name='d' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='209' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='qt' type-id='type-id-232' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='216' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_crypto_rsa_priv_key_qt' size-in-bits='960' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='146' column='1' id='type-id-232'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='p' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='147' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='q' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='dP' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='161' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dQ' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='169' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='qInv' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='177' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_modex_xform' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='227' column='1' id='type-id-223'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='modulus' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='exponent' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='237' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_modinv_xform' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='250' column='1' id='type-id-224'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='modulus' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='251' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_dh_xform' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='271' column='1' id='type-id-225'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-233' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='272' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='p' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='275' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='g' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='281' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_crypto_asym_op_type' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='91' column='1' id='type-id-233'>
+      <underlying-type type-id='type-id-133'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_ENCRYPT' value='0'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_DECRYPT' value='1'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_SIGN' value='2'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_VERIFY' value='3'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_PRIVATE_KEY_GENERATE' value='4'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_PUBLIC_KEY_GENERATE' value='5'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_SHARED_SECRET_COMPUTE' value='6'/>
+      <enumerator name='RTE_CRYPTO_ASYM_OP_LIST_END' value='7'/>
+    </enum-decl>
+    <class-decl name='rte_crypto_dsa_xform' size-in-bits='768' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='295' column='1' id='type-id-226'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='p' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='296' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='q' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='301' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='g' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='307' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='x' type-id='type-id-227' visibility='default' filepath='../lib/librte_cryptodev/rte_crypto_asym.h' line='311' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_cryptodev_asym_session' is-struct='yes' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='989' column='1' id='type-id-234'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='sess_private_data' type-id='type-id-235' visibility='default' filepath='../lib/librte_cryptodev/rte_cryptodev.h' line='990' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-28' size-in-bits='infinite' id='type-id-235'>
+      <subrange length='infinite' type-id='type-id-38' id='type-id-215'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-234' size-in-bits='64' id='type-id-236'/>
+    <pointer-type-def type-id='type-id-237' size-in-bits='64' id='type-id-238'/>
+    <typedef-decl name='cryptodev_asym_configure_session_t' type-id='type-id-238' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='291' column='1' id='type-id-15'/>
+    <pointer-type-def type-id='type-id-239' size-in-bits='64' id='type-id-240'/>
+    <typedef-decl name='cryptodev_sym_free_session_t' type-id='type-id-240' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='301' column='1' id='type-id-16'/>
+    <pointer-type-def type-id='type-id-241' size-in-bits='64' id='type-id-242'/>
+    <typedef-decl name='cryptodev_asym_free_session_t' type-id='type-id-242' filepath='../lib/librte_cryptodev/rte_cryptodev_pmd.h' line='309' column='1' id='type-id-17'/>
+    <var-decl name='rte_zuc_pmd_ops' type-id='type-id-23' visibility='default' filepath='../drivers/crypto/zuc/zuc_pmd_private.h' line='75' column='1'/>
+    <function-type size-in-bits='64' id='type-id-135'>
+      <return type-id='type-id-134'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-117'>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-128'>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-121'>
+      <parameter type-id='type-id-120'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-156'>
+      <parameter type-id='type-id-151'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-237'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-220'/>
+      <parameter type-id='type-id-236'/>
+      <parameter type-id='type-id-35'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-217'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-200'/>
+      <parameter type-id='type-id-216'/>
+      <parameter type-id='type-id-35'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-154'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-153'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-193'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-31'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-191'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-31'/>
+      <parameter type-id='type-id-190'/>
+      <parameter type-id='type-id-18'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-126'>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-130'>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-24'/>
+      <parameter type-id='type-id-58'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-144'>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-124'>
+      <parameter type-id='type-id-120'/>
+      <parameter type-id='type-id-123'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-25'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-81'>
+      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-80'/>
+      <parameter type-id='type-id-31'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-195'>
+      <parameter type-id='type-id-151'/>
+      <return type-id='type-id-49'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-197'>
+      <parameter type-id='type-id-151'/>
+      <return type-id='type-id-48'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-158'>
+      <parameter type-id='type-id-151'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-241'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-236'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-182'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-181'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-186'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-185'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-239'>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-216'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-77'>
+      <parameter type-id='type-id-71'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-142'>
+      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-89'/>
+      <parameter type-id='type-id-141'/>
+      <return type-id='type-id-28'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
-- 
2.17.1


^ permalink raw reply	[relevance 6%]

* [dpdk-dev] [PATCH v6 08/11] drivers/net: add dump files for v20.0 ABI
  2019-12-13 16:40  8%       ` [dpdk-dev] [PATCH v6 00/11] Add ABI compatibility checks to the meson build Kevin Laatz
                           ` (6 preceding siblings ...)
  2019-12-13 16:41  8%         ` [dpdk-dev] [PATCH v6 07/11] drivers/compress: " Kevin Laatz
@ 2019-12-13 16:41  7%         ` Kevin Laatz
  2019-12-13 16:41  3%         ` [dpdk-dev] [PATCH v6 09/11] drivers/net/intel: " Kevin Laatz
                           ` (3 subsequent siblings)
  11 siblings, 0 replies; 200+ results
From: Kevin Laatz @ 2019-12-13 16:41 UTC (permalink / raw)
  To: dev
  Cc: thomas, david.marchand, bruce.richardson, ray.kinsella, tdu, zr,
	cernay, Kevin Laatz

This patch adds the drivers/net .dump files generated for the v20.0
ABI. These files will be used to compare the ABI during the meson build
when the compat_checks meson is enabled. If there is a mismatch between the
.dump files (the baseline, ie. current stable ABI version) and the code
being compiled, then abidiff will report an error and the build will fail.

The .dump files are stored in the drivers/.abi directory.  The directory is
hidden to reduce clutter and also to discourage changing these files since
they should not be modified.

Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
---
 drivers/.abi/librte_pmd_af_packet.dump        |   22 +
 drivers/.abi/librte_pmd_af_xdp.dump           |   23 +
 drivers/.abi/librte_pmd_ark.dump              |   26 +
 drivers/.abi/librte_pmd_atlantic.dump         | 1296 ++++
 drivers/.abi/librte_pmd_avp.dump              |   26 +
 drivers/.abi/librte_pmd_axgbe.dump            |   27 +
 .../.abi/librte_pmd_bbdev_fpga_lte_fec.dump   |   74 +
 drivers/.abi/librte_pmd_bbdev_null.dump       |   17 +
 drivers/.abi/librte_pmd_bbdev_turbo_sw.dump   |   17 +
 drivers/.abi/librte_pmd_bnx2x.dump            |   28 +
 drivers/.abi/librte_pmd_bnxt.dump             | 3499 +++++++++++
 drivers/.abi/librte_pmd_bond.dump             | 3586 +++++++++++
 drivers/.abi/librte_pmd_cxgbe.dump            |   27 +
 drivers/.abi/librte_pmd_dpaa.dump             | 2929 +++++++++
 drivers/.abi/librte_pmd_dpaa2.dump            | 3319 ++++++++++
 drivers/.abi/librte_pmd_dpaa2_event.dump      |   36 +
 drivers/.abi/librte_pmd_dpaa_event.dump       |   32 +
 drivers/.abi/librte_pmd_dsw_event.dump        |   23 +
 drivers/.abi/librte_pmd_ena.dump              |   32 +
 drivers/.abi/librte_pmd_enetc.dump            |   27 +
 drivers/.abi/librte_pmd_enic.dump             | 3282 ++++++++++
 drivers/.abi/librte_pmd_failsafe.dump         | 3162 ++++++++++
 drivers/.abi/librte_pmd_hinic.dump            | 3110 ++++++++++
 drivers/.abi/librte_pmd_hns3.dump             |   28 +
 drivers/.abi/librte_pmd_iavf.dump             |   71 +
 drivers/.abi/librte_pmd_ifc.dump              |   24 +
 drivers/.abi/librte_pmd_kni.dump              |   22 +
 drivers/.abi/librte_pmd_lio.dump              |   11 +
 drivers/.abi/librte_pmd_liquidio.dump         |   27 +
 drivers/.abi/librte_pmd_memif.dump            |   27 +
 drivers/.abi/librte_pmd_mlx4.dump             | 2207 +++++++
 drivers/.abi/librte_pmd_mlx5.dump             | 2155 +++++++
 drivers/.abi/librte_pmd_netvsc.dump           |   28 +
 drivers/.abi/librte_pmd_nfp.dump              |   27 +
 drivers/.abi/librte_pmd_null.dump             |   22 +
 drivers/.abi/librte_pmd_octeontx.dump         |   49 +
 drivers/.abi/librte_pmd_octeontx2.dump        | 3140 ++++++++++
 drivers/.abi/librte_pmd_octeontx2_event.dump  |   29 +
 drivers/.abi/librte_pmd_octeontx_event.dump   |   36 +
 drivers/.abi/librte_pmd_octeontx_ssovf.dump   |   16 +
 drivers/.abi/librte_pmd_octeontx_zip.dump     |   12 +
 drivers/.abi/librte_pmd_opdl_event.dump       |   28 +
 drivers/.abi/librte_pmd_pcap.dump             |   23 +
 drivers/.abi/librte_pmd_pfe.dump              |   41 +
 drivers/.abi/librte_pmd_qede.dump             |   46 +
 drivers/.abi/librte_pmd_ring.dump             |  142 +
 drivers/.abi/librte_pmd_sfc.dump              | 3910 ++++++++++++
 drivers/.abi/librte_pmd_sfc_efx.dump          |   12 +
 drivers/.abi/librte_pmd_skeleton_event.dump   |   25 +
 drivers/.abi/librte_pmd_softnic.dump          | 5523 +++++++++++++++++
 drivers/.abi/librte_pmd_sw_event.dump         |   28 +
 drivers/.abi/librte_pmd_szedata2.dump         |   28 +
 drivers/.abi/librte_pmd_tap.dump              |   26 +
 drivers/.abi/librte_pmd_thunderx.dump         |   28 +
 drivers/.abi/librte_pmd_thunderx_nicvf.dump   |   12 +
 drivers/.abi/librte_pmd_vdev_netvsc.dump      |   22 +
 drivers/.abi/librte_pmd_vhost.dump            |   57 +
 drivers/.abi/librte_pmd_virtio.dump           | 3808 ++++++++++++
 drivers/.abi/librte_pmd_vmxnet3.dump          |   27 +
 drivers/.abi/librte_pmd_vmxnet3_uio.dump      |   11 +
 60 files changed, 46348 insertions(+)
 create mode 100644 drivers/.abi/librte_pmd_af_packet.dump
 create mode 100644 drivers/.abi/librte_pmd_af_xdp.dump
 create mode 100644 drivers/.abi/librte_pmd_ark.dump
 create mode 100644 drivers/.abi/librte_pmd_atlantic.dump
 create mode 100644 drivers/.abi/librte_pmd_avp.dump
 create mode 100644 drivers/.abi/librte_pmd_axgbe.dump
 create mode 100644 drivers/.abi/librte_pmd_bbdev_fpga_lte_fec.dump
 create mode 100644 drivers/.abi/librte_pmd_bbdev_null.dump
 create mode 100644 drivers/.abi/librte_pmd_bbdev_turbo_sw.dump
 create mode 100644 drivers/.abi/librte_pmd_bnx2x.dump
 create mode 100644 drivers/.abi/librte_pmd_bnxt.dump
 create mode 100644 drivers/.abi/librte_pmd_bond.dump
 create mode 100644 drivers/.abi/librte_pmd_cxgbe.dump
 create mode 100644 drivers/.abi/librte_pmd_dpaa.dump
 create mode 100644 drivers/.abi/librte_pmd_dpaa2.dump
 create mode 100644 drivers/.abi/librte_pmd_dpaa2_event.dump
 create mode 100644 drivers/.abi/librte_pmd_dpaa_event.dump
 create mode 100644 drivers/.abi/librte_pmd_dsw_event.dump
 create mode 100644 drivers/.abi/librte_pmd_ena.dump
 create mode 100644 drivers/.abi/librte_pmd_enetc.dump
 create mode 100644 drivers/.abi/librte_pmd_enic.dump
 create mode 100644 drivers/.abi/librte_pmd_failsafe.dump
 create mode 100644 drivers/.abi/librte_pmd_hinic.dump
 create mode 100644 drivers/.abi/librte_pmd_hns3.dump
 create mode 100644 drivers/.abi/librte_pmd_iavf.dump
 create mode 100644 drivers/.abi/librte_pmd_ifc.dump
 create mode 100644 drivers/.abi/librte_pmd_kni.dump
 create mode 100644 drivers/.abi/librte_pmd_lio.dump
 create mode 100644 drivers/.abi/librte_pmd_liquidio.dump
 create mode 100644 drivers/.abi/librte_pmd_memif.dump
 create mode 100644 drivers/.abi/librte_pmd_mlx4.dump
 create mode 100644 drivers/.abi/librte_pmd_mlx5.dump
 create mode 100644 drivers/.abi/librte_pmd_netvsc.dump
 create mode 100644 drivers/.abi/librte_pmd_nfp.dump
 create mode 100644 drivers/.abi/librte_pmd_null.dump
 create mode 100644 drivers/.abi/librte_pmd_octeontx.dump
 create mode 100644 drivers/.abi/librte_pmd_octeontx2.dump
 create mode 100644 drivers/.abi/librte_pmd_octeontx2_event.dump
 create mode 100644 drivers/.abi/librte_pmd_octeontx_event.dump
 create mode 100644 drivers/.abi/librte_pmd_octeontx_ssovf.dump
 create mode 100644 drivers/.abi/librte_pmd_octeontx_zip.dump
 create mode 100644 drivers/.abi/librte_pmd_opdl_event.dump
 create mode 100644 drivers/.abi/librte_pmd_pcap.dump
 create mode 100644 drivers/.abi/librte_pmd_pfe.dump
 create mode 100644 drivers/.abi/librte_pmd_qede.dump
 create mode 100644 drivers/.abi/librte_pmd_ring.dump
 create mode 100644 drivers/.abi/librte_pmd_sfc.dump
 create mode 100644 drivers/.abi/librte_pmd_sfc_efx.dump
 create mode 100644 drivers/.abi/librte_pmd_skeleton_event.dump
 create mode 100644 drivers/.abi/librte_pmd_softnic.dump
 create mode 100644 drivers/.abi/librte_pmd_sw_event.dump
 create mode 100644 drivers/.abi/librte_pmd_szedata2.dump
 create mode 100644 drivers/.abi/librte_pmd_tap.dump
 create mode 100644 drivers/.abi/librte_pmd_thunderx.dump
 create mode 100644 drivers/.abi/librte_pmd_thunderx_nicvf.dump
 create mode 100644 drivers/.abi/librte_pmd_vdev_netvsc.dump
 create mode 100644 drivers/.abi/librte_pmd_vhost.dump
 create mode 100644 drivers/.abi/librte_pmd_virtio.dump
 create mode 100644 drivers/.abi/librte_pmd_vmxnet3.dump
 create mode 100644 drivers/.abi/librte_pmd_vmxnet3_uio.dump

diff --git a/drivers/.abi/librte_pmd_af_packet.dump b/drivers/.abi/librte_pmd_af_packet.dump
new file mode 100644
index 000000000..d7416cee6
--- /dev/null
+++ b/drivers/.abi/librte_pmd_af_packet.dump
@@ -0,0 +1,22 @@
+<abi-corpus path='gcc//drivers/librte_pmd_af_packet.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_af_packet.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_af_xdp.dump b/drivers/.abi/librte_pmd_af_xdp.dump
new file mode 100644
index 000000000..82c71f7a7
--- /dev/null
+++ b/drivers/.abi/librte_pmd_af_xdp.dump
@@ -0,0 +1,23 @@
+<abi-corpus path='gcc//drivers/librte_pmd_af_xdp.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_af_xdp.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libbpf.so.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_ark.dump b/drivers/.abi/librte_pmd_ark.dump
new file mode 100644
index 000000000..6dddc8423
--- /dev/null
+++ b/drivers/.abi/librte_pmd_ark.dump
@@ -0,0 +1,26 @@
+<abi-corpus path='gcc//drivers/librte_pmd_ark.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_ark.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/ark/ark_ethdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='ark_logtype' type-id='type-id-1' visibility='default' filepath='../drivers/net/ark/ark_logs.h' line='29' column='1'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_atlantic.dump b/drivers/.abi/librte_pmd_atlantic.dump
new file mode 100644
index 000000000..52943cebc
--- /dev/null
+++ b/drivers/.abi/librte_pmd_atlantic.dump
@@ -0,0 +1,1296 @@
+<abi-corpus path='gcc//drivers/librte_pmd_atlantic.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_atlantic.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_pmd_atl_macsec_config_rxsc' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_atl_macsec_config_txsc' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_atl_macsec_disable' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_atl_macsec_enable' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_atl_macsec_select_rxsa' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_atl_macsec_select_txsa' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/atlantic/atl_ethdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='atl_logtype_init' type-id='type-id-1' visibility='default' filepath='../drivers/net/atlantic/atl_logs.h' line='9' column='1'/>
+    <var-decl name='atl_logtype_driver' type-id='type-id-1' visibility='default' filepath='../drivers/net/atlantic/atl_logs.h' line='23' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/atlantic/hw_atl/hw_atl_utils_fw2x.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='aq_fw_ops' size-in-bits='1216' is-struct='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='145' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='init' type-id='type-id-3' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='146' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='deinit' type-id='type-id-3' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='148' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='reset' type-id='type-id-3' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='150' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='get_mac_permanent' type-id='type-id-4' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='set_link_speed' type-id='type-id-5' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='set_state' type-id='type-id-6' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='156' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='update_link_status' type-id='type-id-3' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='159' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='update_stats' type-id='type-id-3' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='161' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='set_power' type-id='type-id-7' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='163' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='get_temp' type-id='type-id-8' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='166' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='get_cable_len' type-id='type-id-8' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='168' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='set_eee_rate' type-id='type-id-5' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='170' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_eee_rate' type-id='type-id-9' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='172' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='get_flow_control' type-id='type-id-10' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='175' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='set_flow_control' type-id='type-id-3' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='176' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='led_control' type-id='type-id-5' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='178' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='get_eeprom' type-id='type-id-11' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='180' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='set_eeprom' type-id='type-id-11' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='183' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='send_macsec_req' type-id='type-id-12' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='aq_hw_s' size-in-bits='15936' is-struct='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='115' column='1' id='type-id-13'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='device_id' type-id='type-id-14' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='116' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='vendor_id' type-id='type-id-14' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='117' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='adapter_stopped' type-id='type-id-15' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='118' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='rbl_enabled' type-id='type-id-16' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='120' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='aq_nic_cfg' type-id='type-id-17' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='121' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='aq_fw_ops' type-id='type-id-18' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='122' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='mmio' type-id='type-id-19' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='123' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='aq_link_status' type-id='type-id-20' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='125' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='is_autoneg' type-id='type-id-15' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='126' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='296'>
+        <var-decl name='mbox' type-id='type-id-21' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='128' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1416'>
+        <var-decl name='last_stats' type-id='type-id-22' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='129' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='curr_stats' type-id='type-id-23' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='130' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3136'>
+        <var-decl name='caps_lo' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='132' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3200'>
+        <var-decl name='speed' type-id='type-id-25' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='134' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3264'>
+        <var-decl name='chip_features' type-id='type-id-26' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='135' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3296'>
+        <var-decl name='fw_ver_actual' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='136' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3328'>
+        <var-decl name='mbox_addr' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3360'>
+        <var-decl name='rpc_addr' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3392'>
+        <var-decl name='rpc_tid' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='139' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3424'>
+        <var-decl name='rpc' type-id='type-id-27' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='140' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='15616'>
+        <var-decl name='mbox_mutex' type-id='type-id-28' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='142' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-29'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-29' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-30'/>
+    <typedef-decl name='uint16_t' type-id='type-id-30' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-31'/>
+    <typedef-decl name='u16' type-id='type-id-31' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='17' column='1' id='type-id-14'/>
+    <type-decl name='bool' size-in-bits='8' id='type-id-15'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-32'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-32' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-33'/>
+    <typedef-decl name='uint8_t' type-id='type-id-33' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-34'/>
+    <typedef-decl name='u8' type-id='type-id-34' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='15' column='1' id='type-id-16'/>
+    <class-decl name='aq_hw_cfg_s' size-in-bits='3392' is-struct='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='96' column='1' id='type-id-35'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='is_lro' type-id='type-id-15' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='97' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='is_rss' type-id='type-id-15' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='98' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='num_rss_queues' type-id='type-id-26' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='99' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='wol' type-id='type-id-1' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='100' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='link_speed_msk' type-id='type-id-1' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='102' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='irq_type' type-id='type-id-1' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='103' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='irq_mask' type-id='type-id-1' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='104' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='vecs' type-id='type-id-26' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='vlan_strip' type-id='type-id-15' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='vlan_filter' type-id='type-id-36' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='flow_control' type-id='type-id-37' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='aq_rss' type-id='type-id-38' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='111' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2656'>
+        <var-decl name='aq_macsec' type-id='type-id-39' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='112' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-26'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-26' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-40'/>
+    <typedef-decl name='uint32_t' type-id='type-id-40' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-37'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-41'/>
+
+    <array-type-def dimensions='1' type-id='type-id-37' size-in-bits='512' id='type-id-36'>
+      <subrange length='16' type-id='type-id-41' id='type-id-42'/>
+
+    </array-type-def>
+    <class-decl name='aq_rss_parameters' size-in-bits='1856' is-struct='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='55' column='1' id='type-id-38'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='base_cpu_number' type-id='type-id-14' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='indirection_table_size' type-id='type-id-14' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='hash_secret_key_size' type-id='type-id-14' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='hash_secret_key' type-id='type-id-43' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='indirection_table' type-id='type-id-44' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='60' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='u32' type-id='type-id-37' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='19' column='1' id='type-id-24'/>
+
+    <array-type-def dimensions='1' type-id='type-id-24' size-in-bits='1280' id='type-id-43'>
+      <subrange length='40' type-id='type-id-41' id='type-id-45'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='512' id='type-id-44'>
+      <subrange length='64' type-id='type-id-41' id='type-id-46'/>
+
+    </array-type-def>
+    <class-decl name='aq_macsec_config' size-in-bits='736' is-struct='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='64' column='1' id='type-id-39'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='common' type-id='type-id-47' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='txsc' type-id='type-id-48' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='txsa' type-id='type-id-49' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='rxsc' type-id='type-id-50' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rxsa' type-id='type-id-49' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='93' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='96' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='65' column='1' id='type-id-47'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='macsec_enabled' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='encryption_enabled' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='replay_protection_enabled' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='68' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='96' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='71' column='1' id='type-id-48'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='idx' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='mac' type-id='type-id-51' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='73' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-24' size-in-bits='64' id='type-id-51'>
+      <subrange length='2' type-id='type-id-41' id='type-id-52'/>
+
+    </array-type-def>
+    <class-decl name='__anonymous_struct__' size-in-bits='224' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='76' column='1' id='type-id-49'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='idx' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='an' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pn' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='key' type-id='type-id-53' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='80' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-24' size-in-bits='128' id='type-id-53'>
+      <subrange length='4' type-id='type-id-41' id='type-id-54'/>
+
+    </array-type-def>
+    <class-decl name='__anonymous_struct__' size-in-bits='96' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='83' column='1' id='type-id-50'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mac' type-id='type-id-51' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pi' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='85' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-35' size-in-bits='64' id='type-id-17'/>
+    <qualified-type-def type-id='type-id-2' const='yes' id='type-id-55'/>
+    <pointer-type-def type-id='type-id-55' size-in-bits='64' id='type-id-18'/>
+    <type-decl name='void' id='type-id-56'/>
+    <pointer-type-def type-id='type-id-56' size-in-bits='64' id='type-id-19'/>
+    <class-decl name='aq_hw_link_status_s' size-in-bits='32' is-struct='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='29' column='1' id='type-id-20'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mbps' type-id='type-id-26' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='30' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='hw_aq_atl_utils_mbox' size-in-bits='1120' is-struct='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='249' column='1' id='type-id-21'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='header' type-id='type-id-57' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='stats' type-id='type-id-22' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='info' type-id='type-id-58' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='252' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='hw_aq_atl_utils_mbox_header' size-in-bits='96' is-struct='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='231' column='1' id='type-id-57'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='version' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='transaction_id' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='error' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='234' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='hw_atl_stats_s' size-in-bits='480' is-struct='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='94' column='1' id='type-id-22'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='uprc' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='95' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='mprc' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bprc' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='97' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='erpt' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='98' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='uptc' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='99' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='mptc' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='100' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bptc' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='101' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='erpr' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='102' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='mbtc' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='103' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='bbtc' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='104' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='mbrc' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='bbrc' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='ubrc' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='ubtc' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='dpc' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='109' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='hw_aq_info' size-in-bits='544' is-struct='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='237' column='1' id='type-id-58'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='reserved' type-id='type-id-59' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='phy_fault_code' type-id='type-id-14' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='239' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='phy_temperature' type-id='type-id-14' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='cable_len' type-id='type-id-16' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='241' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='88'>
+        <var-decl name='reserved1' type-id='type-id-16' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='242' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='cable_diag_data' type-id='type-id-53' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='243' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='reserved2' type-id='type-id-60' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='caps_lo' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='caps_hi' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='246' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='48' id='type-id-59'>
+      <subrange length='6' type-id='type-id-41' id='type-id-61'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='256' id='type-id-60'>
+      <subrange length='32' type-id='type-id-41' id='type-id-62'/>
+
+    </array-type-def>
+    <class-decl name='aq_stats_s' size-in-bits='1216' is-struct='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='33' column='1' id='type-id-23'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='uprc' type-id='type-id-25' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='34' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mprc' type-id='type-id-25' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='bprc' type-id='type-id-25' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='36' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='erpt' type-id='type-id-25' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='37' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='uptc' type-id='type-id-25' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='38' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='mptc' type-id='type-id-25' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='39' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='bptc' type-id='type-id-25' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='40' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='erpr' type-id='type-id-25' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='mbtc' type-id='type-id-25' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='bbtc' type-id='type-id-25' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='mbrc' type-id='type-id-25' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='44' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='bbrc' type-id='type-id-25' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='45' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='ubrc' type-id='type-id-25' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='46' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='ubtc' type-id='type-id-25' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='47' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dpc' type-id='type-id-25' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='dma_pkt_rc' type-id='type-id-25' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='dma_pkt_tc' type-id='type-id-25' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='dma_oct_rc' type-id='type-id-25' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='dma_oct_tc' type-id='type-id-25' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='52' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='__uint64_t' type-id='type-id-41' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-63'/>
+    <typedef-decl name='uint64_t' type-id='type-id-63' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-64'/>
+    <typedef-decl name='u64' type-id='type-id-64' filepath='../drivers/net/atlantic/hw_atl/../atl_types.h' line='21' column='1' id='type-id-25'/>
+    <class-decl name='hw_aq_atl_utils_fw_rpc' size-in-bits='12192' is-struct='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='122' column='1' id='type-id-27'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='msg_id' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='123' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='' type-id='type-id-65' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='12160' is-anonymous='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='125' column='1' id='type-id-65'>
+      <data-member access='private'>
+        <var-decl name='msg_ping' type-id='type-id-66' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='128' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='msg_arp' type-id='type-id-67' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='msg_inject' type-id='type-id-68' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='143' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='msg_wol' type-id='type-id-69' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='183' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='msg_msm_pfc_quantas' type-id='type-id-70' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='msg_enable_wakeup' type-id='type-id-71' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='206' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='msg_offload' type-id='type-id-72' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='msg_del_id' type-id='type-id-73' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='126' column='1' id='type-id-66'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pong' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='127' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='352' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='130' column='1' id='type-id-67'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mac_addr' type-id='type-id-59' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='131' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ip_addr_cnt' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='132' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='ip' type-id='type-id-74' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='134' column='1' id='type-id-75'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr' type-id='type-id-76' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='135' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mask' type-id='type-id-76' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='136' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='ip_addr' size-in-bits='128' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='112' column='1' id='type-id-76'>
+      <data-member access='private'>
+        <var-decl name='v6' type-id='type-id-77' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='115' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='v4' type-id='type-id-78' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='119' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='113' column='1' id='type-id-77'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr' type-id='type-id-79' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='114' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='128' id='type-id-79'>
+      <subrange length='16' type-id='type-id-41' id='type-id-42'/>
+
+    </array-type-def>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='116' column='1' id='type-id-78'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='padding' type-id='type-id-80' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='117' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='addr' type-id='type-id-81' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='118' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='96' id='type-id-80'>
+      <subrange length='12' type-id='type-id-41' id='type-id-82'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='32' id='type-id-81'>
+      <subrange length='4' type-id='type-id-41' id='type-id-54'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-75' size-in-bits='256' id='type-id-74'>
+      <subrange length='1' type-id='type-id-41' id='type-id-83'/>
+
+    </array-type-def>
+    <class-decl name='__anonymous_struct__' size-in-bits='12160' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='140' column='1' id='type-id-68'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='len' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='packet' type-id='type-id-84' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='142' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='12112' id='type-id-84'>
+      <subrange length='1514' type-id='type-id-41' id='type-id-85'/>
+
+    </array-type-def>
+    <class-decl name='__anonymous_struct__' size-in-bits='448' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='145' column='1' id='type-id-69'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='priority' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='146' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='wol_packet_type' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='147' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pattern_id' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='148' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='next_wol_pattern_offset' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='149' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='wol_pattern' type-id='type-id-86' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='182' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='150' column='1' id='type-id-86'>
+      <data-member access='private'>
+        <var-decl name='ipv4_tcp_syn_parameters' type-id='type-id-87' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='157' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='ipv6_tcp_syn_parameters' type-id='type-id-88' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='165' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='eapol_request_id_message_parameters' type-id='type-id-89' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='169' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='wol_bit_map_pattern' type-id='type-id-90' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='177' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='wol_magic_packet_pattern' type-id='type-id-91' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='180' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='151' column='1' id='type-id-87'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ipv4_source_address' type-id='type-id-81' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='153' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ipv4_dest_address' type-id='type-id-81' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='tcp_source_port_number' type-id='type-id-14' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='155' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='112'>
+        <var-decl name='tcp_dest_port_number' type-id='type-id-14' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='156' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='159' column='1' id='type-id-88'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='160' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ipv6_source_address' type-id='type-id-79' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='161' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='ipv6_dest_address' type-id='type-id-79' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='162' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='tcp_source_port_number' type-id='type-id-14' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='163' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='304'>
+        <var-decl name='tcp_dest_port_number' type-id='type-id-14' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='164' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='167' column='1' id='type-id-89'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='168' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='160' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='171' column='1' id='type-id-90'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='172' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='mask_offset' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='173' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mask_size' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='174' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='pattern_offset' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='175' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pattern_size' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='176' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='48' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='178' column='1' id='type-id-91'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mac_addr' type-id='type-id-59' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='179' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='185' column='1' id='type-id-70'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tc_quanta' type-id='type-id-92' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tc_threshold' type-id='type-id-92' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='187' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-14' size-in-bits='128' id='type-id-92'>
+      <subrange length='8' type-id='type-id-41' id='type-id-93'/>
+
+    </array-type-def>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='190' column='1' id='type-id-71'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-94' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='191' column='1' id='type-id-94'>
+      <data-member access='private'>
+        <var-decl name='pattern_mask' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='192' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-95' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='193' column='1' id='type-id-95'>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='aq_pm_wol_reason_arp_v4_pkt' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='aq_pm_wol_reason_ipv4_ping_pkt' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='aq_pm_wol_reason_ipv6_ns_pkt' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='196' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='28'>
+        <var-decl name='aq_pm_wol_reason_ipv6_ping_pkt' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='197' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='27'>
+        <var-decl name='aq_pm_wol_reason_link_up' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='198' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='26'>
+        <var-decl name='aq_pm_wol_reason_link_down' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='199' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25'>
+        <var-decl name='aq_pm_wol_reason_maximum' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='200' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='288' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='208' column='1' id='type-id-72'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='priority' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='209' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='protocol_offload_type' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='210' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='protocol_offload_id' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='211' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='next_protocol_offload_offset' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='212' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-96' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='160' is-anonymous='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='214' column='1' id='type-id-96'>
+      <data-member access='private'>
+        <var-decl name='ipv4_arp_params' type-id='type-id-97' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='220' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='160' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='215' column='1' id='type-id-97'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='216' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='remote_ipv4_addr' type-id='type-id-81' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='217' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='host_ipv4_addr' type-id='type-id-81' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='218' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='mac_addr' type-id='type-id-59' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='219' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='224' column='1' id='type-id-73'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-24' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='225' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='67' column='1' id='type-id-98'>
+      <data-member access='private'>
+        <var-decl name='__data' type-id='type-id-99' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='__size' type-id='type-id-100' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='__align' type-id='type-id-101' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='71' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='118' column='1' id='type-id-99'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__lock' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='120' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='__count' type-id='type-id-26' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='121' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='__owner' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='122' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='__nusers' type-id='type-id-26' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='124' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='__kind' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='148' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='__spins' type-id='type-id-102' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='__elision' type-id='type-id-102' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='__list' type-id='type-id-103' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='155' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-102'/>
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='82' column='1' id='type-id-104'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__prev' type-id='type-id-105' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='__next' type-id='type-id-105' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='85' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-104' size-in-bits='64' id='type-id-105'/>
+    <typedef-decl name='__pthread_list_t' type-id='type-id-104' filepath='/usr/include/bits/thread-shared-types.h' line='86' column='1' id='type-id-103'/>
+    <type-decl name='char' size-in-bits='8' id='type-id-106'/>
+
+    <array-type-def dimensions='1' type-id='type-id-106' size-in-bits='320' id='type-id-100'>
+      <subrange length='40' type-id='type-id-41' id='type-id-45'/>
+
+    </array-type-def>
+    <type-decl name='long int' size-in-bits='64' id='type-id-101'/>
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-98' filepath='/usr/include/bits/pthreadtypes.h' line='72' column='1' id='type-id-28'/>
+    <pointer-type-def type-id='type-id-13' size-in-bits='64' id='type-id-107'/>
+    <pointer-type-def type-id='type-id-108' size-in-bits='64' id='type-id-3'/>
+    <pointer-type-def type-id='type-id-16' size-in-bits='64' id='type-id-109'/>
+    <pointer-type-def type-id='type-id-110' size-in-bits='64' id='type-id-4'/>
+    <pointer-type-def type-id='type-id-111' size-in-bits='64' id='type-id-5'/>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-112'/>
+    <enum-decl name='hal_atl_utils_fw_state_e' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='507' column='1' id='type-id-113'>
+      <underlying-type type-id='type-id-112'/>
+      <enumerator name='MPI_DEINIT' value='0'/>
+      <enumerator name='MPI_RESET' value='1'/>
+      <enumerator name='MPI_INIT' value='2'/>
+      <enumerator name='MPI_POWER' value='4'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-114' size-in-bits='64' id='type-id-6'/>
+    <pointer-type-def type-id='type-id-115' size-in-bits='64' id='type-id-7'/>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-116'/>
+    <pointer-type-def type-id='type-id-117' size-in-bits='64' id='type-id-8'/>
+    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-118'/>
+    <pointer-type-def type-id='type-id-119' size-in-bits='64' id='type-id-9'/>
+    <pointer-type-def type-id='type-id-120' size-in-bits='64' id='type-id-10'/>
+    <pointer-type-def type-id='type-id-121' size-in-bits='64' id='type-id-11'/>
+    <class-decl name='macsec_msg_fw_request' size-in-bits='608' is-struct='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='476' column='1' id='type-id-122'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='offset' type-id='type-id-37' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='477' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='msg_type' type-id='type-id-37' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='478' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-123' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='544' is-anonymous='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='480' column='1' id='type-id-123'>
+      <data-member access='private'>
+        <var-decl name='cfg' type-id='type-id-124' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='rxsc' type-id='type-id-125' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='482' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='txsc' type-id='type-id-126' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='rxsa' type-id='type-id-127' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='484' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='txsa' type-id='type-id-128' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='485' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='stats' type-id='type-id-129' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='486' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='macsec_cfg' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='356' column='1' id='type-id-124'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='enabled' type-id='type-id-37' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='357' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='egress_threshold' type-id='type-id-37' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='358' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ingress_threshold' type-id='type-id-37' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='359' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='interrupts_enabled' type-id='type-id-37' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='360' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='add_rx_sc' size-in-bits='544' is-struct='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='363' column='1' id='type-id-125'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='index' type-id='type-id-37' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='364' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='pi' type-id='type-id-37' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='365' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='sci' type-id='type-id-130' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='366' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='sci_mask' type-id='type-id-37' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='367' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='tci' type-id='type-id-37' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='368' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='tci_mask' type-id='type-id-37' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='369' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='mac_sa' type-id='type-id-130' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='370' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='sa_mask' type-id='type-id-37' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='371' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='mac_da' type-id='type-id-130' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='372' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='da_mask' type-id='type-id-37' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='373' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='validate_frames' type-id='type-id-37' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='374' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='replay_protect' type-id='type-id-37' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='375' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='anti_replay_window' type-id='type-id-37' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='376' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='an_rol' type-id='type-id-37' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='378' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-37' size-in-bits='64' id='type-id-130'>
+      <subrange length='2' type-id='type-id-41' id='type-id-52'/>
+
+    </array-type-def>
+    <class-decl name='add_tx_sc' size-in-bits='480' is-struct='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='381' column='1' id='type-id-126'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='index' type-id='type-id-37' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='382' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='pi' type-id='type-id-37' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='383' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='sci' type-id='type-id-130' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='384' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='sci_mask' type-id='type-id-37' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='385' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='tci' type-id='type-id-37' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='386' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='tci_mask' type-id='type-id-37' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='387' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='mac_sa' type-id='type-id-130' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='388' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='sa_mask' type-id='type-id-37' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='389' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='mac_da' type-id='type-id-130' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='390' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='da_mask' type-id='type-id-37' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='391' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='protect' type-id='type-id-37' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='392' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='curr_an' type-id='type-id-37' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='393' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='add_rx_sa' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='396' column='1' id='type-id-127'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='index' type-id='type-id-37' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='397' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='next_pn' type-id='type-id-37' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='398' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-131' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='399' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-37' size-in-bits='128' id='type-id-131'>
+      <subrange length='4' type-id='type-id-41' id='type-id-54'/>
+
+    </array-type-def>
+    <class-decl name='add_tx_sa' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='402' column='1' id='type-id-128'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='index' type-id='type-id-37' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='403' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='next_pn' type-id='type-id-37' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='404' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-131' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='405' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='get_stats' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='408' column='1' id='type-id-129'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='version_only' type-id='type-id-37' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='409' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ingress_sa_index' type-id='type-id-37' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='410' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='egress_sa_index' type-id='type-id-37' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='411' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='egress_sc_index' type-id='type-id-37' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='412' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-122' size-in-bits='64' id='type-id-132'/>
+    <class-decl name='macsec_msg_fw_response' size-in-bits='2880' is-struct='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='490' column='1' id='type-id-133'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='result' type-id='type-id-37' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='491' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='stats' type-id='type-id-134' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='492' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='macsec_stats' size-in-bits='2848' is-struct='yes' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='415' column='1' id='type-id-134'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='api_version' type-id='type-id-37' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='416' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='in_ctl_pkts' type-id='type-id-64' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='418' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='in_tagged_miss_pkts' type-id='type-id-64' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='419' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='in_untagged_miss_pkts' type-id='type-id-64' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='420' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='in_notag_pkts' type-id='type-id-64' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='421' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='in_untagged_pkts' type-id='type-id-64' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='422' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='in_bad_tag_pkts' type-id='type-id-64' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='423' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='in_no_sci_pkts' type-id='type-id-64' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='424' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='in_unknown_sci_pkts' type-id='type-id-64' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='425' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='in_ctrl_prt_pass_pkts' type-id='type-id-64' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='426' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='in_unctrl_prt_pass_pkts' type-id='type-id-64' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='427' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='in_ctrl_prt_fail_pkts' type-id='type-id-64' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='428' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='736'>
+        <var-decl name='in_unctrl_prt_fail_pkts' type-id='type-id-64' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='429' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='in_too_long_pkts' type-id='type-id-64' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='430' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='864'>
+        <var-decl name='in_igpoc_ctl_pkts' type-id='type-id-64' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='431' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='928'>
+        <var-decl name='in_ecc_error_pkts' type-id='type-id-64' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='432' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='992'>
+        <var-decl name='in_unctrl_hit_drop_redir' type-id='type-id-64' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='433' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1056'>
+        <var-decl name='out_ctl_pkts' type-id='type-id-64' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='436' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1120'>
+        <var-decl name='out_unknown_sa_pkts' type-id='type-id-64' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='437' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1184'>
+        <var-decl name='out_untagged_pkts' type-id='type-id-64' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='438' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1248'>
+        <var-decl name='out_too_long' type-id='type-id-64' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='439' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1312'>
+        <var-decl name='out_ecc_error_pkts' type-id='type-id-64' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='440' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1376'>
+        <var-decl name='out_unctrl_hit_drop_redir' type-id='type-id-64' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='441' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1440'>
+        <var-decl name='in_untagged_hit_pkts' type-id='type-id-64' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='444' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1504'>
+        <var-decl name='in_ctrl_hit_drop_redir_pkts' type-id='type-id-64' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='445' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1568'>
+        <var-decl name='in_not_using_sa' type-id='type-id-64' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='446' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1632'>
+        <var-decl name='in_unused_sa' type-id='type-id-64' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='447' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1696'>
+        <var-decl name='in_not_valid_pkts' type-id='type-id-64' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='448' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1760'>
+        <var-decl name='in_invalid_pkts' type-id='type-id-64' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1824'>
+        <var-decl name='in_ok_pkts' type-id='type-id-64' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1888'>
+        <var-decl name='in_late_pkts' type-id='type-id-64' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='451' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1952'>
+        <var-decl name='in_delayed_pkts' type-id='type-id-64' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='452' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2016'>
+        <var-decl name='in_unchecked_pkts' type-id='type-id-64' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='453' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2080'>
+        <var-decl name='in_validated_octets' type-id='type-id-64' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='454' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2144'>
+        <var-decl name='in_decrypted_octets' type-id='type-id-64' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='455' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2208'>
+        <var-decl name='out_sa_hit_drop_redirect' type-id='type-id-64' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='458' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2272'>
+        <var-decl name='out_sa_protected2_pkts' type-id='type-id-64' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='459' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2336'>
+        <var-decl name='out_sa_protected_pkts' type-id='type-id-64' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='460' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2400'>
+        <var-decl name='out_sa_encrypted_pkts' type-id='type-id-64' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='461' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2464'>
+        <var-decl name='out_sc_protected_pkts' type-id='type-id-64' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='464' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2528'>
+        <var-decl name='out_sc_encrypted_pkts' type-id='type-id-64' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='465' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2592'>
+        <var-decl name='out_sc_protected_octets' type-id='type-id-64' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='466' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2656'>
+        <var-decl name='out_sc_encrypted_octets' type-id='type-id-64' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='467' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2720'>
+        <var-decl name='egress_threshold_expired' type-id='type-id-37' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='470' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2752'>
+        <var-decl name='ingress_threshold_expired' type-id='type-id-37' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='471' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2784'>
+        <var-decl name='egress_expired' type-id='type-id-37' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='472' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2816'>
+        <var-decl name='ingress_expired' type-id='type-id-37' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='473' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-133' size-in-bits='64' id='type-id-135'/>
+    <pointer-type-def type-id='type-id-136' size-in-bits='64' id='type-id-12'/>
+    <var-decl name='aq_fw_2x_ops' type-id='type-id-55' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='652' column='1'/>
+    <function-type size-in-bits='64' id='type-id-108'>
+      <parameter type-id='type-id-107'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-114'>
+      <parameter type-id='type-id-107'/>
+      <parameter type-id='type-id-113'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-117'>
+      <parameter type-id='type-id-107'/>
+      <parameter type-id='type-id-116'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-121'>
+      <parameter type-id='type-id-107'/>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-118'/>
+      <parameter type-id='type-id-24'/>
+      <parameter type-id='type-id-24'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-136'>
+      <parameter type-id='type-id-107'/>
+      <parameter type-id='type-id-132'/>
+      <parameter type-id='type-id-135'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-111'>
+      <parameter type-id='type-id-107'/>
+      <parameter type-id='type-id-24'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-120'>
+      <parameter type-id='type-id-107'/>
+      <parameter type-id='type-id-118'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-119'>
+      <parameter type-id='type-id-107'/>
+      <parameter type-id='type-id-118'/>
+      <parameter type-id='type-id-118'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-110'>
+      <parameter type-id='type-id-107'/>
+      <parameter type-id='type-id-109'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-115'>
+      <parameter type-id='type-id-107'/>
+      <parameter type-id='type-id-26'/>
+      <parameter type-id='type-id-109'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/atlantic/hw_atl/hw_atl_utils.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='aq_fw_1x_ops' type-id='type-id-55' visibility='default' filepath='../drivers/net/atlantic/hw_atl/../hw_atl/hw_atl_utils.h' line='651' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/atlantic/rte_pmd_atlantic.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-137'/>
+    <function-decl name='rte_pmd_atl_macsec_select_rxsa' mangled-name='rte_pmd_atl_macsec_select_rxsa' filepath='../drivers/net/atlantic/rte_pmd_atlantic.c' line='89' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_atl_macsec_select_rxsa@@EXPERIMENTAL'>
+      <parameter type-id='type-id-31' name='port' filepath='../drivers/net/atlantic/rte_pmd_atlantic.c' line='89' column='1'/>
+      <parameter type-id='type-id-34' name='idx' filepath='../drivers/net/atlantic/rte_pmd_atlantic.c' line='89' column='1'/>
+      <parameter type-id='type-id-34' name='an' filepath='../drivers/net/atlantic/rte_pmd_atlantic.c' line='89' column='1'/>
+      <parameter type-id='type-id-37' name='pn' filepath='../drivers/net/atlantic/rte_pmd_atlantic.c' line='90' column='1'/>
+      <parameter type-id='type-id-137' name='key' filepath='../drivers/net/atlantic/rte_pmd_atlantic.c' line='90' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_atl_macsec_select_txsa' mangled-name='rte_pmd_atl_macsec_select_txsa' filepath='../drivers/net/atlantic/rte_pmd_atlantic.c' line='73' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_atl_macsec_select_txsa@@EXPERIMENTAL'>
+      <parameter type-id='type-id-31' name='port' filepath='../drivers/net/atlantic/rte_pmd_atlantic.c' line='89' column='1'/>
+      <parameter type-id='type-id-34' name='idx' filepath='../drivers/net/atlantic/rte_pmd_atlantic.c' line='89' column='1'/>
+      <parameter type-id='type-id-34' name='an' filepath='../drivers/net/atlantic/rte_pmd_atlantic.c' line='89' column='1'/>
+      <parameter type-id='type-id-37' name='pn' filepath='../drivers/net/atlantic/rte_pmd_atlantic.c' line='90' column='1'/>
+      <parameter type-id='type-id-137' name='key' filepath='../drivers/net/atlantic/rte_pmd_atlantic.c' line='90' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_atl_macsec_config_rxsc' mangled-name='rte_pmd_atl_macsec_config_rxsc' filepath='../drivers/net/atlantic/rte_pmd_atlantic.c' line='58' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_atl_macsec_config_rxsc@@EXPERIMENTAL'>
+      <parameter type-id='type-id-31' name='port' filepath='../drivers/net/atlantic/rte_pmd_atlantic.c' line='58' column='1'/>
+      <parameter type-id='type-id-137' name='mac' filepath='../drivers/net/atlantic/rte_pmd_atlantic.c' line='58' column='1'/>
+      <parameter type-id='type-id-31' name='pi' filepath='../drivers/net/atlantic/rte_pmd_atlantic.c' line='58' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_atl_macsec_config_txsc' mangled-name='rte_pmd_atl_macsec_config_txsc' filepath='../drivers/net/atlantic/rte_pmd_atlantic.c' line='43' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_atl_macsec_config_txsc@@EXPERIMENTAL'>
+      <parameter type-id='type-id-31' name='port' filepath='../drivers/net/atlantic/rte_pmd_atlantic.c' line='43' column='1'/>
+      <parameter type-id='type-id-137' name='mac' filepath='../drivers/net/atlantic/rte_pmd_atlantic.c' line='43' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_atl_macsec_disable' mangled-name='rte_pmd_atl_macsec_disable' filepath='../drivers/net/atlantic/rte_pmd_atlantic.c' line='28' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_atl_macsec_disable@@EXPERIMENTAL'>
+      <parameter type-id='type-id-31' name='port' filepath='../drivers/net/atlantic/rte_pmd_atlantic.c' line='28' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_atl_macsec_enable' mangled-name='rte_pmd_atl_macsec_enable' filepath='../drivers/net/atlantic/rte_pmd_atlantic.c' line='12' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_atl_macsec_enable@@EXPERIMENTAL'>
+      <parameter type-id='type-id-31' name='port' filepath='../drivers/net/atlantic/rte_pmd_atlantic.c' line='12' column='1'/>
+      <parameter type-id='type-id-34' name='encr' filepath='../drivers/net/atlantic/rte_pmd_atlantic.c' line='13' column='1'/>
+      <parameter type-id='type-id-34' name='repl_prot' filepath='../drivers/net/atlantic/rte_pmd_atlantic.c' line='13' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_avp.dump b/drivers/.abi/librte_pmd_avp.dump
new file mode 100644
index 000000000..94bea855c
--- /dev/null
+++ b/drivers/.abi/librte_pmd_avp.dump
@@ -0,0 +1,26 @@
+<abi-corpus path='gcc//drivers/librte_pmd_avp.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_avp.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/avp/avp_ethdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='avp_logtype_driver' type-id='type-id-1' visibility='default' filepath='../drivers/net/avp/avp_logs.h' line='24' column='1'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_axgbe.dump b/drivers/.abi/librte_pmd_axgbe.dump
new file mode 100644
index 000000000..ffe3b3fec
--- /dev/null
+++ b/drivers/.abi/librte_pmd_axgbe.dump
@@ -0,0 +1,27 @@
+<abi-corpus path='gcc//drivers/librte_pmd_axgbe.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_axgbe.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/axgbe/axgbe_ethdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='axgbe_logtype_init' type-id='type-id-1' visibility='default' filepath='../drivers/net/axgbe/axgbe_logs.h' line='10' column='1'/>
+    <var-decl name='axgbe_logtype_driver' type-id='type-id-1' visibility='default' filepath='../drivers/net/axgbe/axgbe_logs.h' line='21' column='1'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_bbdev_fpga_lte_fec.dump b/drivers/.abi/librte_pmd_bbdev_fpga_lte_fec.dump
new file mode 100644
index 000000000..2b0e9ddf2
--- /dev/null
+++ b/drivers/.abi/librte_pmd_bbdev_fpga_lte_fec.dump
@@ -0,0 +1,74 @@
+<abi-corpus path='gcc//drivers/librte_pmd_bbdev_fpga_lte_fec.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_bbdev_fpga_lte_fec.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_bbdev.so.0.200'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='fpga_lte_fec_configure' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../drivers/baseband/fpga_lte_fec/fpga_lte_fec.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <type-decl name='char' size-in-bits='8' id='type-id-2'/>
+    <qualified-type-def type-id='type-id-2' const='yes' id='type-id-3'/>
+    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-4'/>
+    <class-decl name='fpga_lte_fec_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/baseband/fpga_lte_fec/fpga_lte_fec.h' line='33' column='1' id='type-id-5'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pf_mode_en' type-id='type-id-6' visibility='default' filepath='../drivers/baseband/fpga_lte_fec/fpga_lte_fec.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='vf_ul_queues_number' type-id='type-id-7' visibility='default' filepath='../drivers/baseband/fpga_lte_fec/fpga_lte_fec.h' line='37' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='vf_dl_queues_number' type-id='type-id-7' visibility='default' filepath='../drivers/baseband/fpga_lte_fec/fpga_lte_fec.h' line='39' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='ul_bandwidth' type-id='type-id-8' visibility='default' filepath='../drivers/baseband/fpga_lte_fec/fpga_lte_fec.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='dl_bandwidth' type-id='type-id-8' visibility='default' filepath='../drivers/baseband/fpga_lte_fec/fpga_lte_fec.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='152'>
+        <var-decl name='ul_load_balance' type-id='type-id-8' visibility='default' filepath='../drivers/baseband/fpga_lte_fec/fpga_lte_fec.h' line='45' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='dl_load_balance' type-id='type-id-8' visibility='default' filepath='../drivers/baseband/fpga_lte_fec/fpga_lte_fec.h' line='47' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='flr_time_out' type-id='type-id-9' visibility='default' filepath='../drivers/baseband/fpga_lte_fec/fpga_lte_fec.h' line='49' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='bool' size-in-bits='8' id='type-id-6'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-10'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-10' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-11'/>
+    <typedef-decl name='uint8_t' type-id='type-id-11' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-8'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-12'/>
+
+    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='64' id='type-id-7'>
+      <subrange length='8' type-id='type-id-12' id='type-id-13'/>
+
+    </array-type-def>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-14'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-14' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-15'/>
+    <typedef-decl name='uint16_t' type-id='type-id-15' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-9'/>
+    <qualified-type-def type-id='type-id-5' const='yes' id='type-id-16'/>
+    <pointer-type-def type-id='type-id-16' size-in-bits='64' id='type-id-17'/>
+    <function-decl name='fpga_lte_fec_configure' mangled-name='fpga_lte_fec_configure' filepath='../drivers/baseband/fpga_lte_fec/fpga_lte_fec.c' line='2450' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fpga_lte_fec_configure@@EXPERIMENTAL'>
+      <parameter type-id='type-id-4' name='dev_name' filepath='../drivers/baseband/fpga_lte_fec/fpga_lte_fec.c' line='2450' column='1'/>
+      <parameter type-id='type-id-17' name='conf' filepath='../drivers/baseband/fpga_lte_fec/fpga_lte_fec.c' line='2451' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_bbdev_null.dump b/drivers/.abi/librte_pmd_bbdev_null.dump
new file mode 100644
index 000000000..0c395b1ca
--- /dev/null
+++ b/drivers/.abi/librte_pmd_bbdev_null.dump
@@ -0,0 +1,17 @@
+<abi-corpus path='gcc//drivers/librte_pmd_bbdev_null.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_bbdev_null.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_bbdev.so.0.200'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+  </elf-needed>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_bbdev_turbo_sw.dump b/drivers/.abi/librte_pmd_bbdev_turbo_sw.dump
new file mode 100644
index 000000000..3296b41fd
--- /dev/null
+++ b/drivers/.abi/librte_pmd_bbdev_turbo_sw.dump
@@ -0,0 +1,17 @@
+<abi-corpus path='gcc//drivers/librte_pmd_bbdev_turbo_sw.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_bbdev_turbo_sw.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_bbdev.so.0.200'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+  </elf-needed>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_bnx2x.dump b/drivers/.abi/librte_pmd_bnx2x.dump
new file mode 100644
index 000000000..802e64376
--- /dev/null
+++ b/drivers/.abi/librte_pmd_bnx2x.dump
@@ -0,0 +1,28 @@
+<abi-corpus path='gcc//drivers/librte_pmd_bnx2x.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_bnx2x.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libz.so.1'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/bnx2x/bnx2x_ethdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='bnx2x_logtype_init' type-id='type-id-1' visibility='default' filepath='../drivers/net/bnx2x/bnx2x_logs.h' line='11' column='1'/>
+    <var-decl name='bnx2x_logtype_driver' type-id='type-id-1' visibility='default' filepath='../drivers/net/bnx2x/bnx2x_logs.h' line='18' column='1'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_bnxt.dump b/drivers/.abi/librte_pmd_bnxt.dump
new file mode 100644
index 000000000..2a5fed4a5
--- /dev/null
+++ b/drivers/.abi/librte_pmd_bnxt.dump
@@ -0,0 +1,3499 @@
+<abi-corpus path='gcc//drivers/librte_pmd_bnxt.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_bnxt.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_pmd_bnxt_get_vf_rx_status' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_bnxt_get_vf_stats' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_bnxt_get_vf_tx_drop_count' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_bnxt_mac_addr_add' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_bnxt_reset_vf_stats' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_bnxt_set_all_queues_drop_en' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_bnxt_set_tx_loopback' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_bnxt_set_vf_mac_addr' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_bnxt_set_vf_mac_anti_spoof' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_bnxt_set_vf_persist_stats' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_bnxt_set_vf_rate_limit' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_bnxt_set_vf_rxmode' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_bnxt_set_vf_vlan_anti_spoof' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_bnxt_set_vf_vlan_filter' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_bnxt_set_vf_vlan_insert' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_bnxt_set_vf_vlan_stripq' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/bnxt/bnxt_ethdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='bnxt_logtype_driver' type-id='type-id-1' visibility='default' filepath='../drivers/net/bnxt/bnxt.h' line='674' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/bnxt/bnxt_flow.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_flow_ops' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='63' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='validate' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='create' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='destroy' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='flush' type-id='type-id-6' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='query' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='isolate' type-id='type-id-8' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='95' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev' size-in-bits='132608' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='777' column='1' id='type-id-9'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_pkt_burst' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='778' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tx_pkt_burst' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tx_pkt_prepare' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='data' type-id='type-id-13' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='786' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='process_private' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='787' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_ops' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='788' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='device' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='789' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='intr_handle' type-id='type-id-17' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='790' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='link_intr_cbs' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='792' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='post_rx_burst_cbs' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='797' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='66176'>
+        <var-decl name='pre_tx_burst_cbs' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131712'>
+        <var-decl name='state' type-id='type-id-20' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='803' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131776'>
+        <var-decl name='security_ctx' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131840'>
+        <var-decl name='reserved_64s' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='806' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='132096'>
+        <var-decl name='reserved_ptrs' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='807' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-23'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-23' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-24'/>
+    <typedef-decl name='uint16_t' type-id='type-id-24' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-25'/>
+    <type-decl name='void' id='type-id-26'/>
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-14'/>
+    <class-decl name='rte_mbuf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='480' column='1' id='type-id-27'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheline0' type-id='type-id-28' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-14' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-29' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rearm_data' type-id='type-id-30' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='497' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_off' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_segs' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='port' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ol_flags' type-id='type-id-31' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_descriptor_fields1' type-id='type-id-28' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='pkt_len' type-id='type-id-32' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data_len' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='vlan_tci' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vlan_tci_outer' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='buf_len' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='timestamp' type-id='type-id-31' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cacheline1' type-id='type-id-28' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='pool' type-id='type-id-33' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='next' type-id='type-id-34' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='timesync' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='seqn' type-id='type-id-32' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='shinfo' type-id='type-id-35' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dynfield1' type-id='type-id-36' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-37'/>
+
+    <array-type-def dimensions='1' type-id='type-id-14' size-in-bits='infinite' id='type-id-38'>
+      <subrange length='infinite' type-id='type-id-37' id='type-id-39'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER' type-id='type-id-38' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='414' column='1' id='type-id-28'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='491' column='1' id='type-id-29'>
+      <data-member access='private'>
+        <var-decl name='buf_iova' type-id='type-id-40' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='buf_physaddr' type-id='type-id-40' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='__uint64_t' type-id='type-id-37' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-41'/>
+    <typedef-decl name='uint64_t' type-id='type-id-41' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-31'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-31' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-40'/>
+
+    <array-type-def dimensions='1' type-id='type-id-31' size-in-bits='infinite' id='type-id-42'>
+      <subrange length='infinite' type-id='type-id-37' id='type-id-39'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER64' type-id='type-id-42' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='420' column='1' id='type-id-30'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-43'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-43' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-44'/>
+    <typedef-decl name='uint32_t' type-id='type-id-44' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-32'/>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-45'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-46' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-47' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-14' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-48' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-43' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-43' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-50' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-51' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-52' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-53'/>
+
+    <array-type-def dimensions='1' type-id='type-id-53' size-in-bits='256' id='type-id-46'>
+      <subrange length='32' type-id='type-id-37' id='type-id-54'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-47'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-14' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-31' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-55'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-46' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-56' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-57' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-31' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-49' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-32' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-56'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-58' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-40' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-31' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-58'/>
+    <typedef-decl name='size_t' type-id='type-id-37' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-57'/>
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-59'/>
+    <typedef-decl name='int32_t' type-id='type-id-59' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-49'/>
+    <qualified-type-def type-id='type-id-55' const='yes' id='type-id-60'/>
+    <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-48'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-61'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-62' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-14' size-in-bits='98304' id='type-id-62'>
+      <subrange length='1536' type-id='type-id-37' id='type-id-63'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-61' size-in-bits='64' id='type-id-50'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-51'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-64' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-65' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-66'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-67' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-33' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-68' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-67'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-64' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-64'/>
+    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-33'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-68'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-40' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-58' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-64' size-in-bits='64' id='type-id-65'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-52'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-69' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-70' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-71'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-72' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-33' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-14' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-73' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-57' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-74' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-14' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-72'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-69' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-69'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-73'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-40' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-58' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-75' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-76'/>
+    <pointer-type-def type-id='type-id-76' size-in-bits='64' id='type-id-74'/>
+    <pointer-type-def type-id='type-id-69' size-in-bits='64' id='type-id-70'/>
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-34'/>
+    <class-decl name='rte_mbuf_ext_shared_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='689' column='1' id='type-id-77'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_cb' type-id='type-id-78' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcb_opaque' type-id='type-id-14' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt_atomic' type-id='type-id-79' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-80' size-in-bits='64' id='type-id-81'/>
+    <typedef-decl name='rte_mbuf_extbuf_free_callback_t' type-id='type-id-81' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='684' column='1' id='type-id-78'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-79' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-82'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-83' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-84'/>
+    <typedef-decl name='__int16_t' type-id='type-id-84' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-85'/>
+    <typedef-decl name='int16_t' type-id='type-id-85' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-86'/>
+    <qualified-type-def type-id='type-id-86' volatile='yes' id='type-id-83'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-82' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-79'/>
+    <pointer-type-def type-id='type-id-77' size-in-bits='64' id='type-id-35'/>
+
+    <array-type-def dimensions='1' type-id='type-id-31' size-in-bits='128' id='type-id-36'>
+      <subrange length='2' type-id='type-id-37' id='type-id-87'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-88'/>
+    <pointer-type-def type-id='type-id-89' size-in-bits='64' id='type-id-90'/>
+    <typedef-decl name='eth_rx_burst_t' type-id='type-id-90' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='340' column='1' id='type-id-10'/>
+    <typedef-decl name='eth_tx_burst_t' type-id='type-id-90' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='345' column='1' id='type-id-11'/>
+    <typedef-decl name='eth_tx_prep_t' type-id='type-id-90' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='350' column='1' id='type-id-12'/>
+    <class-decl name='rte_eth_dev_data' size-in-bits='55808' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='820' column='1' id='type-id-91'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='821' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_queues' type-id='type-id-93' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='823' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_queues' type-id='type-id-93' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='824' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='nb_rx_queues' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='825' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='656'>
+        <var-decl name='nb_tx_queues' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='826' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='sriov' type-id='type-id-94' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='dev_private' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='830' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_link' type-id='type-id-95' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='835' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dev_conf' type-id='type-id-96' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='836' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25536'>
+        <var-decl name='mtu' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='837' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25568'>
+        <var-decl name='min_rx_buf_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25600'>
+        <var-decl name='rx_mbuf_alloc_failed' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='841' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25664'>
+        <var-decl name='mac_addrs' type-id='type-id-97' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='842' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25728'>
+        <var-decl name='mac_pool_sel' type-id='type-id-98' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='846' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='33920'>
+        <var-decl name='hash_mac_addrs' type-id='type-id-97' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='848' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='33984'>
+        <var-decl name='port_id' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='852' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='promiscuous' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='855' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='scattered_rx' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='856' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='all_multicast' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='857' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4'>
+        <var-decl name='dev_started' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='858' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3'>
+        <var-decl name='lro' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='859' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='34008'>
+        <var-decl name='rx_queue_state' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='860' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='42200'>
+        <var-decl name='tx_queue_state' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='862' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50400'>
+        <var-decl name='dev_flags' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='864' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50432'>
+        <var-decl name='kdrv' type-id='type-id-101' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50464'>
+        <var-decl name='numa_node' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='866' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50496'>
+        <var-decl name='vlan_filter_conf' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='867' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='54592'>
+        <var-decl name='owner' type-id='type-id-103' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='869' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55168'>
+        <var-decl name='representor_id' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='870' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55232'>
+        <var-decl name='reserved_64s' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='875' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55488'>
+        <var-decl name='reserved_ptrs' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='876' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-53' size-in-bits='512' id='type-id-92'>
+      <subrange length='64' type-id='type-id-37' id='type-id-104'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-93'/>
+    <class-decl name='rte_eth_dev_sriov' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1476' column='1' id='type-id-94'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='active' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1477' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='nb_q_per_pool' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1478' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='def_vmdq_idx' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1479' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='def_pool_q_idx' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1480' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-105'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-105' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-106'/>
+    <typedef-decl name='uint8_t' type-id='type-id-106' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-99'/>
+    <class-decl name='rte_eth_link' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='308' column='1' id='type-id-95'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_speed' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='309' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='15'>
+        <var-decl name='link_duplex' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='310' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='14'>
+        <var-decl name='link_autoneg' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='311' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='13'>
+        <var-decl name='link_status' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='312' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_conf' size-in-bits='24640' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1045' column='1' id='type-id-96'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_speeds' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1046' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rxmode' type-id='type-id-107' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1053' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='txmode' type-id='type-id-108' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1054' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='lpbk_mode' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1055' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='rx_adv_conf' type-id='type-id-109' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1068' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='17984'>
+        <var-decl name='tx_adv_conf' type-id='type-id-110' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1076' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18080'>
+        <var-decl name='dcb_capability_en' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1079' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18112'>
+        <var-decl name='fdir_conf' type-id='type-id-111' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1080' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24576'>
+        <var-decl name='intr_conf' type-id='type-id-112' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1081' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rxmode' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='394' column='1' id='type-id-107'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mq_mode' type-id='type-id-113' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='396' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_rx_pkt_len' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='397' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='max_lro_pkt_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='399' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='split_hdr_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='400' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='offloads' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='406' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='408' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='409' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-115'/>
+    <enum-decl name='rte_eth_rx_mq_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='344' column='1' id='type-id-113'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='ETH_MQ_RX_NONE' value='0'/>
+      <enumerator name='ETH_MQ_RX_RSS' value='1'/>
+      <enumerator name='ETH_MQ_RX_DCB' value='2'/>
+      <enumerator name='ETH_MQ_RX_DCB_RSS' value='3'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_ONLY' value='4'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_RSS' value='5'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_DCB' value='6'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_DCB_RSS' value='7'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-14' size-in-bits='128' id='type-id-114'>
+      <subrange length='2' type-id='type-id-37' id='type-id-87'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_txmode' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='792' column='1' id='type-id-108'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mq_mode' type-id='type-id-116' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='793' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offloads' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='799' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pvid' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='hw_vlan_reject_tagged' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='hw_vlan_reject_untagged' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='806' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='hw_vlan_insert_pvid' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='808' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='811' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='812' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_tx_mq_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='377' column='1' id='type-id-116'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='ETH_MQ_TX_NONE' value='0'/>
+      <enumerator name='ETH_MQ_TX_DCB' value='1'/>
+      <enumerator name='ETH_MQ_TX_VMDQ_DCB' value='2'/>
+      <enumerator name='ETH_MQ_TX_VMDQ_ONLY' value='3'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16960' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1060' column='1' id='type-id-109'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rss_conf' type-id='type-id-117' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1061' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='vmdq_dcb_conf' type-id='type-id-118' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1062' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8512'>
+        <var-decl name='dcb_rx_conf' type-id='type-id-119' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1064' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8640'>
+        <var-decl name='vmdq_rx_conf' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1066' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rss_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='448' column='1' id='type-id-117'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rss_key' type-id='type-id-121' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rss_key_len' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rss_hf' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='451' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-99' size-in-bits='64' id='type-id-121'/>
+    <class-decl name='rte_eth_vmdq_dcb_conf' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='745' column='1' id='type-id-118'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='746' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='enable_default_pool' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='default_pool' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='748' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='nb_pool_maps' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='749' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pool_map' type-id='type-id-123' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8256'>
+        <var-decl name='dcb_tc' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='754' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_nb_pools' filepath='../lib/librte_ethdev/rte_ethdev.h' line='704' column='1' id='type-id-122'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='ETH_8_POOLS' value='8'/>
+      <enumerator name='ETH_16_POOLS' value='16'/>
+      <enumerator name='ETH_32_POOLS' value='32'/>
+      <enumerator name='ETH_64_POOLS' value='64'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='750' column='1' id='type-id-125'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_id' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='751' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pools' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='752' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-125' size-in-bits='8192' id='type-id-123'>
+      <subrange length='64' type-id='type-id-37' id='type-id-104'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-99' size-in-bits='64' id='type-id-124'>
+      <subrange length='8' type-id='type-id-37' id='type-id-126'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_dcb_rx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='712' column='1' id='type-id-119'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-127' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='715' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_nb_tcs' filepath='../lib/librte_ethdev/rte_ethdev.h' line='695' column='1' id='type-id-127'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='ETH_4_TCS' value='4'/>
+      <enumerator name='ETH_8_TCS' value='8'/>
+    </enum-decl>
+    <class-decl name='rte_eth_vmdq_rx_conf' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='776' column='1' id='type-id-120'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='777' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='enable_default_pool' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='778' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='default_pool' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='enable_loop_back' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='nb_pool_maps' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='781' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rx_mode' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='782' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pool_map' type-id='type-id-123' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='786' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <union-decl name='__anonymous_union__' size-in-bits='96' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1069' column='1' id='type-id-110'>
+      <data-member access='private'>
+        <var-decl name='vmdq_dcb_tx_conf' type-id='type-id-128' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1070' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dcb_tx_conf' type-id='type-id-129' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1072' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='vmdq_tx_conf' type-id='type-id-130' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1074' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_eth_vmdq_dcb_tx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='718' column='1' id='type-id-128'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='721' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dcb_tx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='724' column='1' id='type-id-129'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-127' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='727' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vmdq_tx_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='730' column='1' id='type-id-130'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='731' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_fdir_conf' size-in-bits='6464' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1005' column='1' id='type-id-111'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mode' type-id='type-id-131' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1006' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='pballoc' type-id='type-id-132' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1007' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='status' type-id='type-id-133' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1008' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='drop_queue' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1010' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mask' type-id='type-id-134' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1011' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='flex_conf' type-id='type-id-135' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1012' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_fdir_mode' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='603' column='1' id='type-id-131'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_FDIR_MODE_NONE' value='0'/>
+      <enumerator name='RTE_FDIR_MODE_SIGNATURE' value='1'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT' value='2'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT_MAC_VLAN' value='3'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT_TUNNEL' value='4'/>
+    </enum-decl>
+    <enum-decl name='rte_fdir_pballoc_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='984' column='1' id='type-id-132'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_FDIR_PBALLOC_64K' value='0'/>
+      <enumerator name='RTE_FDIR_PBALLOC_128K' value='1'/>
+      <enumerator name='RTE_FDIR_PBALLOC_256K' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_fdir_status_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='993' column='1' id='type-id-133'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_FDIR_NO_REPORT_STATUS' value='0'/>
+      <enumerator name='RTE_FDIR_REPORT_STATUS' value='1'/>
+      <enumerator name='RTE_FDIR_REPORT_STATUS_ALWAYS' value='2'/>
+    </enum-decl>
+    <class-decl name='rte_eth_fdir_masks' size-in-bits='544' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='533' column='1' id='type-id-134'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_tci_mask' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='534' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ipv4_mask' type-id='type-id-136' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='536' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ipv6_mask' type-id='type-id-137' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='538' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='src_port_mask' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='540' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='dst_port_mask' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='542' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='mac_addr_byte_mask' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='545' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='tunnel_id_mask' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='547' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='tunnel_type_mask' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='548' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_ipv4_flow' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='342' column='1' id='type-id-136'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='343' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dst_ip' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='344' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tos' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='345' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='ttl' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='346' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='proto' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='347' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_ipv6_flow' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='381' column='1' id='type-id-137'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-138' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='382' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dst_ip' type-id='type-id-138' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='383' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='tc' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='384' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='264'>
+        <var-decl name='proto' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='385' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='272'>
+        <var-decl name='hop_limits' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='386' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-32' size-in-bits='128' id='type-id-138'>
+      <subrange length='4' type-id='type-id-37' id='type-id-139'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_fdir_flex_conf' size-in-bits='5792' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='591' column='1' id='type-id-135'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_payloads' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='592' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='nb_flexmasks' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='593' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flex_set' type-id='type-id-140' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='594' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2336'>
+        <var-decl name='flex_mask' type-id='type-id-141' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='596' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_flex_payload_cfg' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='568' column='1' id='type-id-142'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-143' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='569' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='src_offset' type-id='type-id-144' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='570' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_payload_type' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='555' column='1' id='type-id-143'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_ETH_PAYLOAD_UNKNOWN' value='0'/>
+      <enumerator name='RTE_ETH_RAW_PAYLOAD' value='1'/>
+      <enumerator name='RTE_ETH_L2_PAYLOAD' value='2'/>
+      <enumerator name='RTE_ETH_L3_PAYLOAD' value='3'/>
+      <enumerator name='RTE_ETH_L4_PAYLOAD' value='4'/>
+      <enumerator name='RTE_ETH_PAYLOAD_MAX' value='8'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-25' size-in-bits='256' id='type-id-144'>
+      <subrange length='16' type-id='type-id-37' id='type-id-145'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-142' size-in-bits='2304' id='type-id-140'>
+      <subrange length='8' type-id='type-id-37' id='type-id-126'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_fdir_flex_mask' size-in-bits='144' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='581' column='1' id='type-id-146'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flow_type' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='582' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='mask' type-id='type-id-147' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='583' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-99' size-in-bits='128' id='type-id-147'>
+      <subrange length='16' type-id='type-id-37' id='type-id-145'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-146' size-in-bits='3456' id='type-id-141'>
+      <subrange length='24' type-id='type-id-37' id='type-id-148'/>
+
+    </array-type-def>
+    <class-decl name='rte_intr_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1031' column='1' id='type-id-112'>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='lsc' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1033' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='rxq' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1035' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='rmv' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1037' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_ether_addr' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='60' column='1' id='type-id-149'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr_bytes' type-id='type-id-150' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='61' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-99' size-in-bits='48' id='type-id-150'>
+      <subrange length='6' type-id='type-id-37' id='type-id-151'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-149' size-in-bits='64' id='type-id-97'/>
+
+    <array-type-def dimensions='1' type-id='type-id-31' size-in-bits='8192' id='type-id-98'>
+      <subrange length='128' type-id='type-id-37' id='type-id-152'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-99' size-in-bits='8192' id='type-id-100'>
+      <subrange length='1024' type-id='type-id-37' id='type-id-153'/>
+
+    </array-type-def>
+    <enum-decl name='rte_kernel_driver' filepath='../lib/librte_eal/common/include/rte_dev.h' line='60' column='1' id='type-id-101'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_KDRV_UNKNOWN' value='0'/>
+      <enumerator name='RTE_KDRV_IGB_UIO' value='1'/>
+      <enumerator name='RTE_KDRV_VFIO' value='2'/>
+      <enumerator name='RTE_KDRV_UIO_GENERIC' value='3'/>
+      <enumerator name='RTE_KDRV_NIC_UIO' value='4'/>
+      <enumerator name='RTE_KDRV_NONE' value='5'/>
+    </enum-decl>
+    <class-decl name='rte_vlan_filter_conf' size-in-bits='4096' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='427' column='1' id='type-id-102'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ids' type-id='type-id-154' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='428' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-31' size-in-bits='4096' id='type-id-154'>
+      <subrange length='64' type-id='type-id-37' id='type-id-104'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_dev_owner' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1490' column='1' id='type-id-103'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1491' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='name' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1492' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-31' size-in-bits='256' id='type-id-21'>
+      <subrange length='4' type-id='type-id-37' id='type-id-139'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-14' size-in-bits='256' id='type-id-22'>
+      <subrange length='4' type-id='type-id-37' id='type-id-139'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-91' size-in-bits='64' id='type-id-13'/>
+    <class-decl name='eth_dev_ops' size-in-bits='6016' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='609' column='1' id='type-id-155'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_configure' type-id='type-id-156' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_start' type-id='type-id-157' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='611' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dev_stop' type-id='type-id-158' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='612' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_set_link_up' type-id='type-id-159' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dev_set_link_down' type-id='type-id-160' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='614' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_close' type-id='type-id-161' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='615' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='dev_reset' type-id='type-id-162' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='616' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='link_update' type-id='type-id-163' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='617' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='is_removed' type-id='type-id-164' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='618' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='promiscuous_enable' type-id='type-id-165' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='promiscuous_disable' type-id='type-id-166' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='allmulticast_enable' type-id='type-id-167' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='623' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='allmulticast_disable' type-id='type-id-168' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='624' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='mac_addr_remove' type-id='type-id-169' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='625' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='mac_addr_add' type-id='type-id-170' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='626' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='mac_addr_set' type-id='type-id-171' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='627' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='set_mc_addr_list' type-id='type-id-172' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='628' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mtu_set' type-id='type-id-173' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='629' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='stats_get' type-id='type-id-174' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='631' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='stats_reset' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='632' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='xstats_get' type-id='type-id-176' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='633' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='xstats_reset' type-id='type-id-177' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='634' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='xstats_get_names' type-id='type-id-178' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='635' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='queue_stats_mapping_set' type-id='type-id-179' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='637' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='dev_infos_get' type-id='type-id-180' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='640' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='rxq_info_get' type-id='type-id-181' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='641' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='txq_info_get' type-id='type-id-182' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='642' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='rx_burst_mode_get' type-id='type-id-183' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='643' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='tx_burst_mode_get' type-id='type-id-183' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='644' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='fw_version_get' type-id='type-id-184' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='645' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='dev_supported_ptypes_get' type-id='type-id-185' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='646' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='dev_ptypes_set' type-id='type-id-186' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='648' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='vlan_filter_set' type-id='type-id-187' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='651' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='vlan_tpid_set' type-id='type-id-188' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='652' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='vlan_strip_queue_set' type-id='type-id-189' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='653' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='vlan_offload_set' type-id='type-id-190' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='654' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='vlan_pvid_set' type-id='type-id-191' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='655' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='rx_queue_start' type-id='type-id-192' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='657' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='rx_queue_stop' type-id='type-id-193' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='658' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2496'>
+        <var-decl name='tx_queue_start' type-id='type-id-192' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='659' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='tx_queue_stop' type-id='type-id-193' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='660' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='rx_queue_setup' type-id='type-id-194' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='661' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2688'>
+        <var-decl name='rx_queue_release' type-id='type-id-195' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2752'>
+        <var-decl name='rx_queue_count' type-id='type-id-196' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='663' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2816'>
+        <var-decl name='rx_descriptor_done' type-id='type-id-197' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2880'>
+        <var-decl name='rx_descriptor_status' type-id='type-id-198' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='666' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2944'>
+        <var-decl name='tx_descriptor_status' type-id='type-id-199' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3008'>
+        <var-decl name='rx_queue_intr_enable' type-id='type-id-200' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='670' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3072'>
+        <var-decl name='rx_queue_intr_disable' type-id='type-id-201' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3136'>
+        <var-decl name='tx_queue_setup' type-id='type-id-202' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='672' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3200'>
+        <var-decl name='tx_queue_release' type-id='type-id-195' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3264'>
+        <var-decl name='tx_done_cleanup' type-id='type-id-203' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='674' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3328'>
+        <var-decl name='dev_led_on' type-id='type-id-204' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3392'>
+        <var-decl name='dev_led_off' type-id='type-id-205' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='677' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3456'>
+        <var-decl name='flow_ctrl_get' type-id='type-id-206' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='679' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3520'>
+        <var-decl name='flow_ctrl_set' type-id='type-id-207' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='680' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='priority_flow_ctrl_set' type-id='type-id-208' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='681' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3648'>
+        <var-decl name='uc_hash_table_set' type-id='type-id-209' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='683' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3712'>
+        <var-decl name='uc_all_hash_table_set' type-id='type-id-210' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='684' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3776'>
+        <var-decl name='mirror_rule_set' type-id='type-id-211' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='686' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3840'>
+        <var-decl name='mirror_rule_reset' type-id='type-id-212' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='687' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3904'>
+        <var-decl name='udp_tunnel_port_add' type-id='type-id-213' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='689' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3968'>
+        <var-decl name='udp_tunnel_port_del' type-id='type-id-214' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4032'>
+        <var-decl name='l2_tunnel_eth_type_conf' type-id='type-id-215' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4096'>
+        <var-decl name='l2_tunnel_offload_set' type-id='type-id-216' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='693' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4160'>
+        <var-decl name='set_queue_rate_limit' type-id='type-id-217' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='696' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4224'>
+        <var-decl name='rss_hash_update' type-id='type-id-218' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='698' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4288'>
+        <var-decl name='rss_hash_conf_get' type-id='type-id-219' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='699' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4352'>
+        <var-decl name='reta_update' type-id='type-id-220' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='700' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4416'>
+        <var-decl name='reta_query' type-id='type-id-221' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='701' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4480'>
+        <var-decl name='get_reg' type-id='type-id-222' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='703' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4544'>
+        <var-decl name='get_eeprom_length' type-id='type-id-223' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='704' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4608'>
+        <var-decl name='get_eeprom' type-id='type-id-224' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='705' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4672'>
+        <var-decl name='set_eeprom' type-id='type-id-225' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='706' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4736'>
+        <var-decl name='get_module_info' type-id='type-id-226' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='708' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4800'>
+        <var-decl name='get_module_eeprom' type-id='type-id-227' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='710' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4864'>
+        <var-decl name='filter_ctrl' type-id='type-id-228' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4928'>
+        <var-decl name='get_dcb_info' type-id='type-id-229' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='715' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4992'>
+        <var-decl name='timesync_enable' type-id='type-id-230' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='717' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5056'>
+        <var-decl name='timesync_disable' type-id='type-id-231' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5120'>
+        <var-decl name='timesync_read_rx_timestamp' type-id='type-id-232' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='721' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5184'>
+        <var-decl name='timesync_read_tx_timestamp' type-id='type-id-233' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='723' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5248'>
+        <var-decl name='timesync_adjust_time' type-id='type-id-234' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5312'>
+        <var-decl name='timesync_read_time' type-id='type-id-235' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='726' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5376'>
+        <var-decl name='timesync_write_time' type-id='type-id-236' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='727' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5440'>
+        <var-decl name='read_clock' type-id='type-id-237' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='729' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5504'>
+        <var-decl name='xstats_get_by_id' type-id='type-id-238' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='731' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5568'>
+        <var-decl name='xstats_get_names_by_id' type-id='type-id-239' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='733' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5632'>
+        <var-decl name='tm_ops_get' type-id='type-id-240' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='736' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5696'>
+        <var-decl name='mtr_ops_get' type-id='type-id-241' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='739' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5760'>
+        <var-decl name='pool_ops_supported' type-id='type-id-242' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='742' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5824'>
+        <var-decl name='hairpin_cap_get' type-id='type-id-243' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='745' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5888'>
+        <var-decl name='rx_hairpin_queue_setup' type-id='type-id-244' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5952'>
+        <var-decl name='tx_hairpin_queue_setup' type-id='type-id-245' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='749' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-246'/>
+    <pointer-type-def type-id='type-id-247' size-in-bits='64' id='type-id-248'/>
+    <typedef-decl name='eth_dev_configure_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='31' column='1' id='type-id-156'/>
+    <typedef-decl name='eth_dev_start_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='34' column='1' id='type-id-157'/>
+    <pointer-type-def type-id='type-id-249' size-in-bits='64' id='type-id-250'/>
+    <typedef-decl name='eth_dev_stop_t' type-id='type-id-250' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='37' column='1' id='type-id-158'/>
+    <typedef-decl name='eth_dev_set_link_up_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='40' column='1' id='type-id-159'/>
+    <typedef-decl name='eth_dev_set_link_down_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='43' column='1' id='type-id-160'/>
+    <typedef-decl name='eth_dev_close_t' type-id='type-id-250' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='46' column='1' id='type-id-161'/>
+    <typedef-decl name='eth_dev_reset_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='49' column='1' id='type-id-162'/>
+    <pointer-type-def type-id='type-id-251' size-in-bits='64' id='type-id-252'/>
+    <typedef-decl name='eth_link_update_t' type-id='type-id-252' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='155' column='1' id='type-id-163'/>
+    <typedef-decl name='eth_is_removed_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='52' column='1' id='type-id-164'/>
+    <typedef-decl name='eth_promiscuous_enable_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='78' column='1' id='type-id-165'/>
+    <typedef-decl name='eth_promiscuous_disable_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='103' column='1' id='type-id-166'/>
+    <typedef-decl name='eth_allmulticast_enable_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='128' column='1' id='type-id-167'/>
+    <typedef-decl name='eth_allmulticast_disable_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='153' column='1' id='type-id-168'/>
+    <pointer-type-def type-id='type-id-253' size-in-bits='64' id='type-id-254'/>
+    <typedef-decl name='eth_mac_addr_remove_t' type-id='type-id-254' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='391' column='1' id='type-id-169'/>
+    <pointer-type-def type-id='type-id-255' size-in-bits='64' id='type-id-256'/>
+    <typedef-decl name='eth_mac_addr_add_t' type-id='type-id-256' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='394' column='1' id='type-id-170'/>
+    <pointer-type-def type-id='type-id-257' size-in-bits='64' id='type-id-258'/>
+    <typedef-decl name='eth_mac_addr_set_t' type-id='type-id-258' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='400' column='1' id='type-id-171'/>
+    <pointer-type-def type-id='type-id-259' size-in-bits='64' id='type-id-260'/>
+    <typedef-decl name='eth_set_mc_addr_list_t' type-id='type-id-260' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='436' column='1' id='type-id-172'/>
+    <pointer-type-def type-id='type-id-261' size-in-bits='64' id='type-id-262'/>
+    <typedef-decl name='mtu_set_t' type-id='type-id-262' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='315' column='1' id='type-id-173'/>
+    <class-decl name='rte_eth_stats' size-in-bits='5632' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='243' column='1' id='type-id-263'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ipackets' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='opackets' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ibytes' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='246' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='obytes' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='imissed' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='ierrors' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='oerrors' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='rx_nombuf' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='q_ipackets' type-id='type-id-264' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='q_opackets' type-id='type-id-264' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='q_ibytes' type-id='type-id-264' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='q_obytes' type-id='type-id-264' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4608'>
+        <var-decl name='q_errors' type-id='type-id-264' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='263' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-31' size-in-bits='1024' id='type-id-264'>
+      <subrange length='16' type-id='type-id-37' id='type-id-145'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-263' size-in-bits='64' id='type-id-265'/>
+    <pointer-type-def type-id='type-id-266' size-in-bits='64' id='type-id-267'/>
+    <typedef-decl name='eth_stats_get_t' type-id='type-id-267' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='159' column='1' id='type-id-174'/>
+    <typedef-decl name='eth_stats_reset_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='182' column='1' id='type-id-175'/>
+    <class-decl name='rte_eth_xstat' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1337' column='1' id='type-id-268'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1338' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='value' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1339' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-268' size-in-bits='64' id='type-id-269'/>
+    <pointer-type-def type-id='type-id-270' size-in-bits='64' id='type-id-271'/>
+    <typedef-decl name='eth_xstats_get_t' type-id='type-id-271' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='184' column='1' id='type-id-176'/>
+    <typedef-decl name='eth_xstats_reset_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='213' column='1' id='type-id-177'/>
+    <class-decl name='rte_eth_xstat_name' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1349' column='1' id='type-id-272'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1350' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-272' size-in-bits='64' id='type-id-273'/>
+    <pointer-type-def type-id='type-id-274' size-in-bits='64' id='type-id-275'/>
+    <typedef-decl name='eth_xstats_get_names_t' type-id='type-id-275' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='215' column='1' id='type-id-178'/>
+    <pointer-type-def type-id='type-id-276' size-in-bits='64' id='type-id-277'/>
+    <typedef-decl name='eth_queue_stats_mapping_set_t' type-id='type-id-277' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='224' column='1' id='type-id-179'/>
+    <class-decl name='rte_eth_dev_info' size-in-bits='2560' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1226' column='1' id='type-id-278'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='device' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1227' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='driver_name' type-id='type-id-279' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='if_index' type-id='type-id-43' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='min_mtu' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='max_mtu' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_flags' type-id='type-id-280' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='min_rx_bufsize' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1234' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='max_rx_pktlen' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1235' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='max_lro_pkt_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='max_rx_queues' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='max_tx_queues' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1239' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='max_mac_addrs' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='max_hash_mac_addrs' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1241' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='max_vfs' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1243' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='max_vmdq_pools' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_offload_capa' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_offload_capa' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='rx_queue_offload_capa' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='tx_queue_offload_capa' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='reta_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='hash_key_size' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='flow_type_rss_offloads' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='default_rxconf' type-id='type-id-281' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='default_txconf' type-id='type-id-282' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='vmdq_queue_base' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1744'>
+        <var-decl name='vmdq_queue_num' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1760'>
+        <var-decl name='vmdq_pool_base' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1262' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1776'>
+        <var-decl name='rx_desc_lim' type-id='type-id-283' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1263' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='tx_desc_lim' type-id='type-id-283' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1264' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1952'>
+        <var-decl name='speed_capa' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1265' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='nb_rx_queues' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1267' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2000'>
+        <var-decl name='nb_tx_queues' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1268' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2016'>
+        <var-decl name='default_rxportconf' type-id='type-id-284' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1270' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2064'>
+        <var-decl name='default_txportconf' type-id='type-id-284' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1272' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='dev_capa' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1274' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='switch_info' type-id='type-id-285' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='reserved_64s' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1281' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='reserved_ptrs' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1282' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-286'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-287' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-288' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-289' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-290' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-287'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-291' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-286' size-in-bits='64' id='type-id-16'/>
+    <pointer-type-def type-id='type-id-16' size-in-bits='64' id='type-id-291'/>
+    <qualified-type-def type-id='type-id-53' const='yes' id='type-id-292'/>
+    <pointer-type-def type-id='type-id-292' size-in-bits='64' id='type-id-279'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-293'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-294' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-294'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-295' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-296' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-293' size-in-bits='64' id='type-id-295'/>
+    <pointer-type-def type-id='type-id-295' size-in-bits='64' id='type-id-296'/>
+    <qualified-type-def type-id='type-id-293' const='yes' id='type-id-297'/>
+    <pointer-type-def type-id='type-id-297' size-in-bits='64' id='type-id-288'/>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-298'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-299' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-300' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-301' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-302' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-303' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-304' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-305' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-306' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-307' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-308' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-309' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-310' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-311' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-312' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-299'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-313' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-314' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-298' size-in-bits='64' id='type-id-313'/>
+    <pointer-type-def type-id='type-id-313' size-in-bits='64' id='type-id-314'/>
+    <pointer-type-def type-id='type-id-315' size-in-bits='64' id='type-id-316'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-316' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-300'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-316' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-301'/>
+    <qualified-type-def type-id='type-id-286' const='yes' id='type-id-317'/>
+    <pointer-type-def type-id='type-id-317' size-in-bits='64' id='type-id-318'/>
+    <pointer-type-def type-id='type-id-319' size-in-bits='64' id='type-id-320'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-320' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-321'/>
+    <pointer-type-def type-id='type-id-322' size-in-bits='64' id='type-id-323'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-323' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-302'/>
+    <pointer-type-def type-id='type-id-324' size-in-bits='64' id='type-id-325'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-325' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-303'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-325' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-304'/>
+    <pointer-type-def type-id='type-id-326' size-in-bits='64' id='type-id-327'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-327' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-305'/>
+    <pointer-type-def type-id='type-id-328' size-in-bits='64' id='type-id-329'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-329' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-306'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-329' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-307'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-308'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-330' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-330'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-331'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-332' size-in-bits='64' id='type-id-333'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-333' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-309'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-334'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-313' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-335' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-14' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-336'/>
+    <pointer-type-def type-id='type-id-336' size-in-bits='64' id='type-id-335'/>
+    <qualified-type-def type-id='type-id-334' const='yes' id='type-id-337'/>
+    <pointer-type-def type-id='type-id-337' size-in-bits='64' id='type-id-338'/>
+    <pointer-type-def type-id='type-id-339' size-in-bits='64' id='type-id-340'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-340' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-310'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-325' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-311'/>
+    <pointer-type-def type-id='type-id-341' size-in-bits='64' id='type-id-342'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-342' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-312'/>
+    <qualified-type-def type-id='type-id-298' const='yes' id='type-id-343'/>
+    <pointer-type-def type-id='type-id-343' size-in-bits='64' id='type-id-289'/>
+    <class-decl name='rte_devargs' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='47' column='1' id='type-id-344'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-345' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='type' type-id='type-id-346' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='policy' type-id='type-id-347' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='name' type-id='type-id-92' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='' type-id='type-id-348' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='bus' type-id='type-id-313' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='cls' type-id='type-id-335' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='bus_str' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='cls_str' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='data' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='66' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1' id='type-id-345'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-290' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-349' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-344' size-in-bits='64' id='type-id-290'/>
+    <pointer-type-def type-id='type-id-290' size-in-bits='64' id='type-id-349'/>
+    <enum-decl name='rte_devtype' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='31' column='1' id='type-id-346'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_DEVTYPE_WHITELISTED_PCI' value='0'/>
+      <enumerator name='RTE_DEVTYPE_BLACKLISTED_PCI' value='1'/>
+      <enumerator name='RTE_DEVTYPE_VIRTUAL' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_dev_policy' filepath='../lib/librte_eal/common/include/rte_dev.h' line='72' column='1' id='type-id-347'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_DEV_WHITELISTED' value='0'/>
+      <enumerator name='RTE_DEV_BLACKLISTED' value='1'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='57' column='1' id='type-id-348'>
+      <data-member access='private'>
+        <var-decl name='args' type-id='type-id-350' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='drv_str' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='60' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-350'/>
+    <qualified-type-def type-id='type-id-32' const='yes' id='type-id-351'/>
+    <pointer-type-def type-id='type-id-351' size-in-bits='64' id='type-id-280'/>
+    <class-decl name='rte_eth_rxconf' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='818' column='1' id='type-id-281'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_thresh' type-id='type-id-352' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='819' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='rx_free_thresh' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='820' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='rx_drop_en' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='821' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='rx_deferred_start' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='822' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offloads' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='reserved_64s' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='830' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='reserved_ptrs' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='831' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_thresh' size-in-bits='24' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='327' column='1' id='type-id-352'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pthresh' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='328' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='hthresh' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='329' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='wthresh' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='330' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_txconf' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='837' column='1' id='type-id-282'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tx_thresh' type-id='type-id-352' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tx_rs_thresh' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='839' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='tx_free_thresh' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='840' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tx_deferred_start' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='843' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='offloads' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='849' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='851' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='852' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_desc_lim' size-in-bits='80' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='898' column='1' id='type-id-283'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='899' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='nb_min' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='900' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_align' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='901' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='nb_seg_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='911' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='nb_mtu_seg_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='924' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_portconf' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1189' column='1' id='type-id-284'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='burst_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1190' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='ring_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_queues' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1192' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_switch_info' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1204' column='1' id='type-id-285'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-279' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='domain_id' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1206' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='port_id' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1207' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-278' size-in-bits='64' id='type-id-353'/>
+    <pointer-type-def type-id='type-id-354' size-in-bits='64' id='type-id-355'/>
+    <typedef-decl name='eth_dev_infos_get_t' type-id='type-id-355' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='230' column='1' id='type-id-180'/>
+    <class-decl name='rte_eth_rxq_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1289' column='1' id='type-id-356'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mp' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1290' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='conf' type-id='type-id-281' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1291' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='scattered_rx' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1292' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='nb_desc' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1293' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-356' size-in-bits='64' id='type-id-357'/>
+    <pointer-type-def type-id='type-id-358' size-in-bits='64' id='type-id-359'/>
+    <typedef-decl name='eth_rxq_info_get_t' type-id='type-id-359' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='306' column='1' id='type-id-181'/>
+    <class-decl name='rte_eth_txq_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1300' column='1' id='type-id-360'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='conf' type-id='type-id-282' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1301' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='nb_desc' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1302' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-360' size-in-bits='64' id='type-id-361'/>
+    <pointer-type-def type-id='type-id-362' size-in-bits='64' id='type-id-363'/>
+    <typedef-decl name='eth_txq_info_get_t' type-id='type-id-363' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='309' column='1' id='type-id-182'/>
+    <class-decl name='rte_eth_burst_mode' size-in-bits='8256' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1318' column='1' id='type-id-364'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1319' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='info' type-id='type-id-365' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1322' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-53' size-in-bits='8192' id='type-id-365'>
+      <subrange length='1024' type-id='type-id-37' id='type-id-153'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-364' size-in-bits='64' id='type-id-366'/>
+    <pointer-type-def type-id='type-id-367' size-in-bits='64' id='type-id-368'/>
+    <typedef-decl name='eth_burst_mode_get_t' type-id='type-id-368' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='312' column='1' id='type-id-183'/>
+    <pointer-type-def type-id='type-id-369' size-in-bits='64' id='type-id-370'/>
+    <typedef-decl name='eth_fw_version_get_t' type-id='type-id-370' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='299' column='1' id='type-id-184'/>
+    <pointer-type-def type-id='type-id-371' size-in-bits='64' id='type-id-372'/>
+    <typedef-decl name='eth_dev_supported_ptypes_get_t' type-id='type-id-372' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='234' column='1' id='type-id-185'/>
+    <pointer-type-def type-id='type-id-373' size-in-bits='64' id='type-id-374'/>
+    <typedef-decl name='eth_dev_ptypes_set_t' type-id='type-id-374' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='249' column='1' id='type-id-186'/>
+    <pointer-type-def type-id='type-id-375' size-in-bits='64' id='type-id-376'/>
+    <typedef-decl name='vlan_filter_set_t' type-id='type-id-376' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='318' column='1' id='type-id-187'/>
+    <enum-decl name='rte_vlan_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='416' column='1' id='type-id-377'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='ETH_VLAN_TYPE_UNKNOWN' value='0'/>
+      <enumerator name='ETH_VLAN_TYPE_INNER' value='1'/>
+      <enumerator name='ETH_VLAN_TYPE_OUTER' value='2'/>
+      <enumerator name='ETH_VLAN_TYPE_MAX' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-378' size-in-bits='64' id='type-id-379'/>
+    <typedef-decl name='vlan_tpid_set_t' type-id='type-id-379' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='323' column='1' id='type-id-188'/>
+    <pointer-type-def type-id='type-id-380' size-in-bits='64' id='type-id-381'/>
+    <typedef-decl name='vlan_strip_queue_set_t' type-id='type-id-381' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='335' column='1' id='type-id-189'/>
+    <typedef-decl name='vlan_offload_set_t' type-id='type-id-252' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='327' column='1' id='type-id-190'/>
+    <typedef-decl name='vlan_pvid_set_t' type-id='type-id-376' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='330' column='1' id='type-id-191'/>
+    <typedef-decl name='eth_queue_start_t' type-id='type-id-262' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='252' column='1' id='type-id-192'/>
+    <typedef-decl name='eth_queue_stop_t' type-id='type-id-262' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='256' column='1' id='type-id-193'/>
+    <qualified-type-def type-id='type-id-281' const='yes' id='type-id-382'/>
+    <pointer-type-def type-id='type-id-382' size-in-bits='64' id='type-id-383'/>
+    <pointer-type-def type-id='type-id-384' size-in-bits='64' id='type-id-385'/>
+    <typedef-decl name='eth_rx_queue_setup_t' type-id='type-id-385' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='260' column='1' id='type-id-194'/>
+    <pointer-type-def type-id='type-id-386' size-in-bits='64' id='type-id-387'/>
+    <typedef-decl name='eth_queue_release_t' type-id='type-id-387' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='283' column='1' id='type-id-195'/>
+    <pointer-type-def type-id='type-id-388' size-in-bits='64' id='type-id-389'/>
+    <typedef-decl name='eth_rx_queue_count_t' type-id='type-id-389' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='286' column='1' id='type-id-196'/>
+    <pointer-type-def type-id='type-id-390' size-in-bits='64' id='type-id-391'/>
+    <typedef-decl name='eth_rx_descriptor_done_t' type-id='type-id-391' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='290' column='1' id='type-id-197'/>
+    <typedef-decl name='eth_rx_descriptor_status_t' type-id='type-id-391' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='293' column='1' id='type-id-198'/>
+    <typedef-decl name='eth_tx_descriptor_status_t' type-id='type-id-391' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='296' column='1' id='type-id-199'/>
+    <typedef-decl name='eth_rx_enable_intr_t' type-id='type-id-262' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='275' column='1' id='type-id-200'/>
+    <typedef-decl name='eth_rx_disable_intr_t' type-id='type-id-262' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='279' column='1' id='type-id-201'/>
+    <qualified-type-def type-id='type-id-282' const='yes' id='type-id-392'/>
+    <pointer-type-def type-id='type-id-392' size-in-bits='64' id='type-id-393'/>
+    <pointer-type-def type-id='type-id-394' size-in-bits='64' id='type-id-395'/>
+    <typedef-decl name='eth_tx_queue_setup_t' type-id='type-id-395' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='268' column='1' id='type-id-202'/>
+    <pointer-type-def type-id='type-id-396' size-in-bits='64' id='type-id-397'/>
+    <typedef-decl name='eth_tx_done_cleanup_t' type-id='type-id-397' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='303' column='1' id='type-id-203'/>
+    <typedef-decl name='eth_dev_led_on_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='385' column='1' id='type-id-204'/>
+    <typedef-decl name='eth_dev_led_off_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='388' column='1' id='type-id-205'/>
+    <class-decl name='rte_eth_fc_conf' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='942' column='1' id='type-id-398'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='high_water' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='943' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='low_water' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='944' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pause_time' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='945' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='send_xon' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='946' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='mode' type-id='type-id-399' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='947' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mac_ctrl_frame_fwd' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='948' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='autoneg' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='949' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_fc_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='930' column='1' id='type-id-399'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_FC_NONE' value='0'/>
+      <enumerator name='RTE_FC_RX_PAUSE' value='1'/>
+      <enumerator name='RTE_FC_TX_PAUSE' value='2'/>
+      <enumerator name='RTE_FC_FULL' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-398' size-in-bits='64' id='type-id-400'/>
+    <pointer-type-def type-id='type-id-401' size-in-bits='64' id='type-id-402'/>
+    <typedef-decl name='flow_ctrl_get_t' type-id='type-id-402' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='355' column='1' id='type-id-206'/>
+    <typedef-decl name='flow_ctrl_set_t' type-id='type-id-402' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='359' column='1' id='type-id-207'/>
+    <class-decl name='rte_eth_pfc_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='957' column='1' id='type-id-403'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fc' type-id='type-id-398' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='958' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='priority' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='959' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-403' size-in-bits='64' id='type-id-404'/>
+    <pointer-type-def type-id='type-id-405' size-in-bits='64' id='type-id-406'/>
+    <typedef-decl name='priority_flow_ctrl_set_t' type-id='type-id-406' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='363' column='1' id='type-id-208'/>
+    <pointer-type-def type-id='type-id-407' size-in-bits='64' id='type-id-408'/>
+    <typedef-decl name='eth_uc_hash_table_set_t' type-id='type-id-408' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='404' column='1' id='type-id-209'/>
+    <pointer-type-def type-id='type-id-409' size-in-bits='64' id='type-id-410'/>
+    <typedef-decl name='eth_uc_all_hash_table_set_t' type-id='type-id-410' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='409' column='1' id='type-id-210'/>
+    <class-decl name='rte_eth_mirror_conf' size-in-bits='1216' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='670' column='1' id='type-id-411'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rule_type' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='dst_pool' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='672' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pool_mask' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vlan' type-id='type-id-412' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='675' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vlan_mirror' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='661' column='1' id='type-id-412'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_mask' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='vlan_id' type-id='type-id-413' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='664' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-25' size-in-bits='1024' id='type-id-413'>
+      <subrange length='64' type-id='type-id-37' id='type-id-104'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-411' size-in-bits='64' id='type-id-414'/>
+    <pointer-type-def type-id='type-id-415' size-in-bits='64' id='type-id-416'/>
+    <typedef-decl name='eth_mirror_rule_set_t' type-id='type-id-416' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='418' column='1' id='type-id-211'/>
+    <typedef-decl name='eth_mirror_rule_reset_t' type-id='type-id-410' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='424' column='1' id='type-id-212'/>
+    <class-decl name='rte_eth_udp_tunnel' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1023' column='1' id='type-id-417'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='udp_port' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1024' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='prot_type' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1025' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-417' size-in-bits='64' id='type-id-418'/>
+    <pointer-type-def type-id='type-id-419' size-in-bits='64' id='type-id-420'/>
+    <typedef-decl name='eth_udp_tunnel_port_add_t' type-id='type-id-420' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='428' column='1' id='type-id-213'/>
+    <typedef-decl name='eth_udp_tunnel_port_del_t' type-id='type-id-420' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='432' column='1' id='type-id-214'/>
+    <class-decl name='rte_eth_l2_tunnel_conf' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='751' column='1' id='type-id-421'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='l2_tunnel_type' type-id='type-id-422' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='752' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ether_type' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tunnel_id' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='754' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='vf_id' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='755' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pool' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='756' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_tunnel_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='965' column='1' id='type-id-422'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_TUNNEL_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_TUNNEL_TYPE_VXLAN' value='1'/>
+      <enumerator name='RTE_TUNNEL_TYPE_GENEVE' value='2'/>
+      <enumerator name='RTE_TUNNEL_TYPE_TEREDO' value='3'/>
+      <enumerator name='RTE_TUNNEL_TYPE_NVGRE' value='4'/>
+      <enumerator name='RTE_TUNNEL_TYPE_IP_IN_GRE' value='5'/>
+      <enumerator name='RTE_L2_TUNNEL_TYPE_E_TAG' value='6'/>
+      <enumerator name='RTE_TUNNEL_TYPE_VXLAN_GPE' value='7'/>
+      <enumerator name='RTE_TUNNEL_TYPE_MAX' value='8'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-421' size-in-bits='64' id='type-id-423'/>
+    <pointer-type-def type-id='type-id-424' size-in-bits='64' id='type-id-425'/>
+    <typedef-decl name='eth_l2_tunnel_eth_type_conf_t' type-id='type-id-425' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='494' column='1' id='type-id-215'/>
+    <pointer-type-def type-id='type-id-426' size-in-bits='64' id='type-id-427'/>
+    <typedef-decl name='eth_l2_tunnel_offload_set_t' type-id='type-id-427' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='498' column='1' id='type-id-216'/>
+    <pointer-type-def type-id='type-id-428' size-in-bits='64' id='type-id-429'/>
+    <typedef-decl name='eth_set_queue_rate_limit_t' type-id='type-id-429' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='413' column='1' id='type-id-217'/>
+    <pointer-type-def type-id='type-id-117' size-in-bits='64' id='type-id-430'/>
+    <pointer-type-def type-id='type-id-431' size-in-bits='64' id='type-id-432'/>
+    <typedef-decl name='rss_hash_update_t' type-id='type-id-432' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='377' column='1' id='type-id-218'/>
+    <typedef-decl name='rss_hash_conf_get_t' type-id='type-id-432' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='381' column='1' id='type-id-219'/>
+    <class-decl name='rte_eth_rss_reta_entry64' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='684' column='1' id='type-id-433'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mask' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='685' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='reta' type-id='type-id-413' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='687' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-433' size-in-bits='64' id='type-id-434'/>
+    <pointer-type-def type-id='type-id-435' size-in-bits='64' id='type-id-436'/>
+    <typedef-decl name='reta_update_t' type-id='type-id-436' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='367' column='1' id='type-id-220'/>
+    <typedef-decl name='reta_query_t' type-id='type-id-436' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='372' column='1' id='type-id-221'/>
+    <class-decl name='rte_dev_reg_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='13' column='1' id='type-id-437'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='14' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offset' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='15' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='length' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='16' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='width' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='17' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='version' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='18' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-437' size-in-bits='64' id='type-id-438'/>
+    <pointer-type-def type-id='type-id-439' size-in-bits='64' id='type-id-440'/>
+    <typedef-decl name='eth_get_reg_t' type-id='type-id-440' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='471' column='1' id='type-id-222'/>
+    <typedef-decl name='eth_get_eeprom_length_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='475' column='1' id='type-id-223'/>
+    <class-decl name='rte_dev_eeprom_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='24' column='1' id='type-id-441'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='25' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offset' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='26' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='length' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='27' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='magic' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='28' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-441' size-in-bits='64' id='type-id-442'/>
+    <pointer-type-def type-id='type-id-443' size-in-bits='64' id='type-id-444'/>
+    <typedef-decl name='eth_get_eeprom_t' type-id='type-id-444' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='478' column='1' id='type-id-224'/>
+    <typedef-decl name='eth_set_eeprom_t' type-id='type-id-444' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='482' column='1' id='type-id-225'/>
+    <class-decl name='rte_eth_dev_module_info' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='34' column='1' id='type-id-445'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='eeprom_len' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-445' size-in-bits='64' id='type-id-446'/>
+    <pointer-type-def type-id='type-id-447' size-in-bits='64' id='type-id-448'/>
+    <typedef-decl name='eth_get_module_info_t' type-id='type-id-448' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='486' column='1' id='type-id-226'/>
+    <typedef-decl name='eth_get_module_eeprom_t' type-id='type-id-444' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='490' column='1' id='type-id-227'/>
+    <enum-decl name='rte_filter_type' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='28' column='1' id='type-id-449'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_ETH_FILTER_NONE' value='0'/>
+      <enumerator name='RTE_ETH_FILTER_MACVLAN' value='1'/>
+      <enumerator name='RTE_ETH_FILTER_ETHERTYPE' value='2'/>
+      <enumerator name='RTE_ETH_FILTER_FLEXIBLE' value='3'/>
+      <enumerator name='RTE_ETH_FILTER_SYN' value='4'/>
+      <enumerator name='RTE_ETH_FILTER_NTUPLE' value='5'/>
+      <enumerator name='RTE_ETH_FILTER_TUNNEL' value='6'/>
+      <enumerator name='RTE_ETH_FILTER_FDIR' value='7'/>
+      <enumerator name='RTE_ETH_FILTER_HASH' value='8'/>
+      <enumerator name='RTE_ETH_FILTER_L2_TUNNEL' value='9'/>
+      <enumerator name='RTE_ETH_FILTER_GENERIC' value='10'/>
+      <enumerator name='RTE_ETH_FILTER_MAX' value='11'/>
+    </enum-decl>
+    <enum-decl name='rte_filter_op' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='46' column='1' id='type-id-450'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_ETH_FILTER_NOP' value='0'/>
+      <enumerator name='RTE_ETH_FILTER_ADD' value='1'/>
+      <enumerator name='RTE_ETH_FILTER_UPDATE' value='2'/>
+      <enumerator name='RTE_ETH_FILTER_DELETE' value='3'/>
+      <enumerator name='RTE_ETH_FILTER_FLUSH' value='4'/>
+      <enumerator name='RTE_ETH_FILTER_GET' value='5'/>
+      <enumerator name='RTE_ETH_FILTER_SET' value='6'/>
+      <enumerator name='RTE_ETH_FILTER_INFO' value='7'/>
+      <enumerator name='RTE_ETH_FILTER_STATS' value='8'/>
+      <enumerator name='RTE_ETH_FILTER_OP_MAX' value='9'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-451' size-in-bits='64' id='type-id-452'/>
+    <typedef-decl name='eth_filter_ctrl_t' type-id='type-id-452' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='506' column='1' id='type-id-228'/>
+    <class-decl name='rte_eth_dcb_info' size-in-bits='16520' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1377' column='1' id='type-id-453'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1378' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='prio_tc' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1379' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='tc_bws' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1380' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='tc_queue' type-id='type-id-454' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1382' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dcb_tc_queue_mapping' size-in-bits='16384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1360' column='1' id='type-id-454'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tc_rxq' type-id='type-id-455' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1365' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8192'>
+        <var-decl name='tc_txq' type-id='type-id-455' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1370' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1362' column='1' id='type-id-456'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='base' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1363' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='nb_queue' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1364' column='1'/>
+      </data-member>
+    </class-decl>
+
+
+    <array-type-def dimensions='2' type-id='type-id-456' size-in-bits='1152' id='type-id-455'>
+      <subrange length='64' type-id='type-id-37' id='type-id-104'/>
+
+      <subrange length='8' type-id='type-id-37' id='type-id-126'/>
+
+    </array-type-def>
+
+
+    <pointer-type-def type-id='type-id-453' size-in-bits='64' id='type-id-457'/>
+    <pointer-type-def type-id='type-id-458' size-in-bits='64' id='type-id-459'/>
+    <typedef-decl name='eth_get_dcb_info' type-id='type-id-459' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='518' column='1' id='type-id-229'/>
+    <typedef-decl name='eth_timesync_enable_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='441' column='1' id='type-id-230'/>
+    <typedef-decl name='eth_timesync_disable_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='444' column='1' id='type-id-231'/>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='9' column='1' id='type-id-460'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tv_sec' type-id='type-id-461' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='11' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tv_nsec' type-id='type-id-462' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='long int' size-in-bits='64' id='type-id-463'/>
+    <typedef-decl name='__time_t' type-id='type-id-463' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-461'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-463' filepath='/usr/include/bits/types.h' line='196' column='1' id='type-id-462'/>
+    <pointer-type-def type-id='type-id-460' size-in-bits='64' id='type-id-464'/>
+    <pointer-type-def type-id='type-id-465' size-in-bits='64' id='type-id-466'/>
+    <typedef-decl name='eth_timesync_read_rx_timestamp_t' type-id='type-id-466' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='447' column='1' id='type-id-232'/>
+    <pointer-type-def type-id='type-id-467' size-in-bits='64' id='type-id-468'/>
+    <typedef-decl name='eth_timesync_read_tx_timestamp_t' type-id='type-id-468' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='452' column='1' id='type-id-233'/>
+    <typedef-decl name='__int64_t' type-id='type-id-463' filepath='/usr/include/bits/types.h' line='44' column='1' id='type-id-469'/>
+    <typedef-decl name='int64_t' type-id='type-id-469' filepath='/usr/include/bits/stdint-intn.h' line='27' column='1' id='type-id-470'/>
+    <pointer-type-def type-id='type-id-471' size-in-bits='64' id='type-id-472'/>
+    <typedef-decl name='eth_timesync_adjust_time' type-id='type-id-472' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='456' column='1' id='type-id-234'/>
+    <typedef-decl name='eth_timesync_read_time' type-id='type-id-468' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='459' column='1' id='type-id-235'/>
+    <qualified-type-def type-id='type-id-460' const='yes' id='type-id-473'/>
+    <pointer-type-def type-id='type-id-473' size-in-bits='64' id='type-id-474'/>
+    <pointer-type-def type-id='type-id-475' size-in-bits='64' id='type-id-476'/>
+    <typedef-decl name='eth_timesync_write_time' type-id='type-id-476' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='463' column='1' id='type-id-236'/>
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-477'/>
+    <pointer-type-def type-id='type-id-478' size-in-bits='64' id='type-id-479'/>
+    <typedef-decl name='eth_read_clock' type-id='type-id-479' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='467' column='1' id='type-id-237'/>
+    <qualified-type-def type-id='type-id-31' const='yes' id='type-id-480'/>
+    <pointer-type-def type-id='type-id-480' size-in-bits='64' id='type-id-481'/>
+    <pointer-type-def type-id='type-id-482' size-in-bits='64' id='type-id-483'/>
+    <typedef-decl name='eth_xstats_get_by_id_t' type-id='type-id-483' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='188' column='1' id='type-id-238'/>
+    <pointer-type-def type-id='type-id-484' size-in-bits='64' id='type-id-485'/>
+    <typedef-decl name='eth_xstats_get_names_by_id_t' type-id='type-id-485' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='219' column='1' id='type-id-239'/>
+    <pointer-type-def type-id='type-id-486' size-in-bits='64' id='type-id-487'/>
+    <typedef-decl name='eth_tm_ops_get_t' type-id='type-id-487' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='512' column='1' id='type-id-240'/>
+    <typedef-decl name='eth_mtr_ops_get_t' type-id='type-id-487' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='515' column='1' id='type-id-241'/>
+    <pointer-type-def type-id='type-id-488' size-in-bits='64' id='type-id-489'/>
+    <typedef-decl name='eth_pool_ops_supported_t' type-id='type-id-489' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='522' column='1' id='type-id-242'/>
+    <class-decl name='rte_eth_hairpin_cap' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='861' column='1' id='type-id-490'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max_nb_queues' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='863' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='max_rx_2_tx' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_tx_2_rx' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='867' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='max_nb_desc' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='868' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-490' size-in-bits='64' id='type-id-491'/>
+    <pointer-type-def type-id='type-id-492' size-in-bits='64' id='type-id-493'/>
+    <typedef-decl name='eth_hairpin_cap_get_t' type-id='type-id-493' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='543' column='1' id='type-id-243'/>
+    <class-decl name='rte_eth_hairpin_conf' size-in-bits='1040' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='890' column='1' id='type-id-494'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='peer_count' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='891' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='peers' type-id='type-id-495' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='892' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_hairpin_peer' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='879' column='1' id='type-id-496'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='port' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='880' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='queue' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='881' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-496' size-in-bits='1024' id='type-id-495'>
+      <subrange length='32' type-id='type-id-37' id='type-id-54'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-494' const='yes' id='type-id-497'/>
+    <pointer-type-def type-id='type-id-497' size-in-bits='64' id='type-id-498'/>
+    <pointer-type-def type-id='type-id-499' size-in-bits='64' id='type-id-500'/>
+    <typedef-decl name='eth_rx_hairpin_queue_setup_t' type-id='type-id-500' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='571' column='1' id='type-id-244'/>
+    <typedef-decl name='eth_tx_hairpin_queue_setup_t' type-id='type-id-500' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='601' column='1' id='type-id-245'/>
+    <qualified-type-def type-id='type-id-155' const='yes' id='type-id-501'/>
+    <pointer-type-def type-id='type-id-501' size-in-bits='64' id='type-id-15'/>
+    <class-decl name='rte_intr_handle' size-in-bits='213248' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='69' column='1' id='type-id-502'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-503' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-504' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='max_intr' type-id='type-id-32' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='nb_efd' type-id='type-id-32' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='efd_counter_size' type-id='type-id-99' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='efds' type-id='type-id-505' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16576'>
+        <var-decl name='elist' type-id='type-id-506' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='213184'>
+        <var-decl name='intr_vec' type-id='type-id-507' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='71' column='1' id='type-id-503'>
+      <data-member access='private'>
+        <var-decl name='vfio_dev_fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='uio_cfg_fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='73' column='1'/>
+      </data-member>
+    </union-decl>
+    <enum-decl name='rte_intr_handle_type' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='27' column='1' id='type-id-504'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_INTR_HANDLE_UNKNOWN' value='0'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO' value='1'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO_INTX' value='2'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_LEGACY' value='3'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSI' value='4'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSIX' value='5'/>
+      <enumerator name='RTE_INTR_HANDLE_ALARM' value='6'/>
+      <enumerator name='RTE_INTR_HANDLE_EXT' value='7'/>
+      <enumerator name='RTE_INTR_HANDLE_VDEV' value='8'/>
+      <enumerator name='RTE_INTR_HANDLE_DEV_EVENT' value='9'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_REQ' value='10'/>
+      <enumerator name='RTE_INTR_HANDLE_MAX' value='11'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='16384' id='type-id-505'>
+      <subrange length='512' type-id='type-id-37' id='type-id-508'/>
+
+    </array-type-def>
+    <class-decl name='rte_epoll_event' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='61' column='1' id='type-id-509'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='status' type-id='type-id-510' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='epfd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='epdata' type-id='type-id-511' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-32' volatile='yes' id='type-id-510'/>
+    <class-decl name='rte_epoll_data' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='47' column='1' id='type-id-511'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event' type-id='type-id-32' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='data' type-id='type-id-14' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cb_fun' type-id='type-id-512' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='cb_arg' type-id='type-id-14' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='51' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-513' size-in-bits='64' id='type-id-514'/>
+    <typedef-decl name='rte_intr_event_cb_t' type-id='type-id-514' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='45' column='1' id='type-id-512'/>
+
+    <array-type-def dimensions='1' type-id='type-id-509' size-in-bits='196608' id='type-id-506'>
+      <subrange length='512' type-id='type-id-37' id='type-id-508'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-507'/>
+    <pointer-type-def type-id='type-id-502' size-in-bits='64' id='type-id-17'/>
+    <class-decl name='rte_eth_dev_cb_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1' id='type-id-18'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-515' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-516' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_callback' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-517'/>
+    <pointer-type-def type-id='type-id-517' size-in-bits='64' id='type-id-515'/>
+    <pointer-type-def type-id='type-id-515' size-in-bits='64' id='type-id-516'/>
+    <class-decl name='rte_eth_rxtx_callback' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='758' column='1' id='type-id-518'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-519' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='759' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fn' type-id='type-id-520' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='763' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='param' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='764' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-518' size-in-bits='64' id='type-id-519'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='760' column='1' id='type-id-520'>
+      <data-member access='private'>
+        <var-decl name='rx' type-id='type-id-521' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='761' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='tx' type-id='type-id-522' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='762' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-523' size-in-bits='64' id='type-id-524'/>
+    <typedef-decl name='rte_rx_callback_fn' type-id='type-id-524' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1437' column='1' id='type-id-521'/>
+    <pointer-type-def type-id='type-id-525' size-in-bits='64' id='type-id-526'/>
+    <typedef-decl name='rte_tx_callback_fn' type-id='type-id-526' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1461' column='1' id='type-id-522'/>
+
+    <array-type-def dimensions='1' type-id='type-id-519' size-in-bits='65536' id='type-id-19'>
+      <subrange length='1024' type-id='type-id-37' id='type-id-153'/>
+
+    </array-type-def>
+    <enum-decl name='rte_eth_dev_state' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1467' column='1' id='type-id-20'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_ETH_DEV_UNUSED' value='0'/>
+      <enumerator name='RTE_ETH_DEV_ATTACHED' value='1'/>
+      <enumerator name='RTE_ETH_DEV_REMOVED' value='2'/>
+    </enum-decl>
+    <class-decl name='rte_flow_attr' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='75' column='1' id='type-id-527'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='group' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='priority' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='ingress' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='egress' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='transfer' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='98' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='reserved' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='99' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-527' const='yes' id='type-id-528'/>
+    <pointer-type-def type-id='type-id-528' size-in-bits='64' id='type-id-529'/>
+    <class-decl name='rte_flow_item' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1517' column='1' id='type-id-530'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-531' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1518' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='spec' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1519' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='last' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='mask' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1521' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_item_type' filepath='../lib/librte_ethdev/rte_flow.h' line='118' column='1' id='type-id-531'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_END' value='0'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VOID' value='1'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_INVERT' value='2'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ANY' value='3'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PF' value='4'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VF' value='5'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PHY_PORT' value='6'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PORT_ID' value='7'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_RAW' value='8'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ETH' value='9'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VLAN' value='10'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV4' value='11'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV6' value='12'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP' value='13'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_UDP' value='14'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_TCP' value='15'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_SCTP' value='16'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VXLAN' value='17'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_E_TAG' value='18'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_NVGRE' value='19'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_MPLS' value='20'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GRE' value='21'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_FUZZY' value='22'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTP' value='23'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTPC' value='24'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTPU' value='25'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ESP' value='26'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GENEVE' value='27'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VXLAN_GPE' value='28'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ARP_ETH_IPV4' value='29'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV6_EXT' value='30'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6' value='31'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_NS' value='32'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_NA' value='33'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT' value='34'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT_SLA_ETH' value='35'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT_TLA_ETH' value='36'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_MARK' value='37'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_META' value='38'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GRE_KEY' value='39'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTP_PSC' value='40'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOES' value='41'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOED' value='42'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOE_PROTO_ID' value='43'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_NSH' value='44'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IGMP' value='45'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_AH' value='46'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_HIGIG2' value='47'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_TAG' value='48'/>
+    </enum-decl>
+    <qualified-type-def type-id='type-id-530' const='yes' id='type-id-532'/>
+    <pointer-type-def type-id='type-id-532' size-in-bits='64' id='type-id-533'/>
+    <class-decl name='rte_flow_action' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2568' column='1' id='type-id-534'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-535' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2569' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='conf' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2570' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_action_type' filepath='../lib/librte_ethdev/rte_flow.h' line='1550' column='1' id='type-id-535'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_END' value='0'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VOID' value='1'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PASSTHRU' value='2'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_JUMP' value='3'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_MARK' value='4'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_FLAG' value='5'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_QUEUE' value='6'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DROP' value='7'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_COUNT' value='8'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RSS' value='9'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PF' value='10'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VF' value='11'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PHY_PORT' value='12'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PORT_ID' value='13'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_METER' value='14'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SECURITY' value='15'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_MPLS_TTL' value='16'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_DEC_MPLS_TTL' value='17'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_NW_TTL' value='18'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_DEC_NW_TTL' value='19'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_OUT' value='20'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_IN' value='21'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_POP_VLAN' value='22'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_PUSH_VLAN' value='23'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_VID' value='24'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_PCP' value='25'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_POP_MPLS' value='26'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_PUSH_MPLS' value='27'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VXLAN_ENCAP' value='28'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VXLAN_DECAP' value='29'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_NVGRE_ENCAP' value='30'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_NVGRE_DECAP' value='31'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RAW_ENCAP' value='32'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RAW_DECAP' value='33'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV4_SRC' value='34'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV4_DST' value='35'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV6_SRC' value='36'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV6_DST' value='37'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TP_SRC' value='38'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TP_DST' value='39'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_MAC_SWAP' value='40'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TTL' value='41'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TTL' value='42'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_MAC_SRC' value='43'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_MAC_DST' value='44'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_INC_TCP_SEQ' value='45'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TCP_SEQ' value='46'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_INC_TCP_ACK' value='47'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TCP_ACK' value='48'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TAG' value='49'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_META' value='50'/>
+    </enum-decl>
+    <qualified-type-def type-id='type-id-534' const='yes' id='type-id-536'/>
+    <pointer-type-def type-id='type-id-536' size-in-bits='64' id='type-id-537'/>
+    <class-decl name='rte_flow_error' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2618' column='1' id='type-id-538'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-539' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2619' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='cause' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2620' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='message' type-id='type-id-279' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2621' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_error_type' filepath='../lib/librte_ethdev/rte_flow.h' line='2587' column='1' id='type-id-539'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_UNSPECIFIED' value='1'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_HANDLE' value='2'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_GROUP' value='3'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_PRIORITY' value='4'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_INGRESS' value='5'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_EGRESS' value='6'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_TRANSFER' value='7'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR' value='8'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_NUM' value='9'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_SPEC' value='10'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_LAST' value='11'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_MASK' value='12'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM' value='13'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION_NUM' value='14'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION_CONF' value='15'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION' value='16'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-538' size-in-bits='64' id='type-id-540'/>
+    <pointer-type-def type-id='type-id-541' size-in-bits='64' id='type-id-3'/>
+    <class-decl name='rte_flow' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/net/bnxt/bnxt.h' line='266' column='1' id='type-id-542'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-543' visibility='default' filepath='../drivers/net/bnxt/bnxt.h' line='267' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='filter' type-id='type-id-544' visibility='default' filepath='../drivers/net/bnxt/bnxt.h' line='268' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vnic' type-id='type-id-545' visibility='default' filepath='../drivers/net/bnxt/bnxt.h' line='269' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/bnxt/bnxt.h' line='267' column='1' id='type-id-543'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-546' visibility='default' filepath='../drivers/net/bnxt/bnxt.h' line='267' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-542' size-in-bits='64' id='type-id-546'/>
+    <class-decl name='bnxt_filter_info' size-in-bits='1856' is-struct='yes' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='27' column='1' id='type-id-547'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-548' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='28' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fw_l2_filter_id' type-id='type-id-31' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='29' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='matching_l2_fltr_ptr' type-id='type-id-544' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='30' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='fw_em_filter_id' type-id='type-id-31' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='fw_ntuple_filter_id' type-id='type-id-31' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='32' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='mac_index' type-id='type-id-25' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='34' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='filter_type' type-id='type-id-99' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='39' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='dst_id' type-id='type-id-32' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='40' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='flags' type-id='type-id-32' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='enables' type-id='type-id-32' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='44' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='l2_ref_cnt' type-id='type-id-32' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='45' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='l2_addr' type-id='type-id-150' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='46' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='528'>
+        <var-decl name='l2_addr_mask' type-id='type-id-150' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='47' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='valid_flags' type-id='type-id-32' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='l2_ovlan' type-id='type-id-25' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='624'>
+        <var-decl name='l2_ovlan_mask' type-id='type-id-25' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='l2_ivlan' type-id='type-id-25' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='656'>
+        <var-decl name='l2_ivlan_mask' type-id='type-id-25' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='t_l2_addr' type-id='type-id-150' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='720'>
+        <var-decl name='t_l2_addr_mask' type-id='type-id-150' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='t_l2_ovlan' type-id='type-id-25' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='t_l2_ovlan_mask' type-id='type-id-25' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='t_l2_ivlan' type-id='type-id-25' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='816'>
+        <var-decl name='t_l2_ivlan_mask' type-id='type-id-25' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='tunnel_type' type-id='type-id-99' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='848'>
+        <var-decl name='mirror_vnic_id' type-id='type-id-25' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='60' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='864'>
+        <var-decl name='vni' type-id='type-id-32' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='pri_hint' type-id='type-id-99' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='l2_filter_id_hint' type-id='type-id-31' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='src_id' type-id='type-id-32' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1056'>
+        <var-decl name='src_type' type-id='type-id-99' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1064'>
+        <var-decl name='src_macaddr' type-id='type-id-150' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1112'>
+        <var-decl name='dst_macaddr' type-id='type-id-150' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1184'>
+        <var-decl name='dst_ipaddr' type-id='type-id-138' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1312'>
+        <var-decl name='dst_ipaddr_mask' type-id='type-id-138' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1440'>
+        <var-decl name='src_ipaddr' type-id='type-id-138' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1568'>
+        <var-decl name='src_ipaddr_mask' type-id='type-id-138' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1696'>
+        <var-decl name='dst_port' type-id='type-id-25' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1712'>
+        <var-decl name='dst_port_mask' type-id='type-id-25' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='73' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='src_port' type-id='type-id-25' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1744'>
+        <var-decl name='src_port_mask' type-id='type-id-25' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1760'>
+        <var-decl name='ip_protocol' type-id='type-id-25' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1776'>
+        <var-decl name='ip_addr_type' type-id='type-id-25' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='ethertype' type-id='type-id-25' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1824'>
+        <var-decl name='priority' type-id='type-id-32' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='79' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='28' column='1' id='type-id-548'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-544' visibility='default' filepath='../drivers/net/bnxt/bnxt_filter.h' line='28' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-547' size-in-bits='64' id='type-id-544'/>
+    <class-decl name='bnxt_vnic_info' size-in-bits='1216' is-struct='yes' visibility='default' filepath='../drivers/net/bnxt/bnxt_vnic.h' line='14' column='1' id='type-id-549'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-550' visibility='default' filepath='../drivers/net/bnxt/bnxt_vnic.h' line='15' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ff_pool_idx' type-id='type-id-99' visibility='default' filepath='../drivers/net/bnxt/bnxt_vnic.h' line='16' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='fw_vnic_id' type-id='type-id-25' visibility='default' filepath='../drivers/net/bnxt/bnxt_vnic.h' line='18' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='rss_rule' type-id='type-id-25' visibility='default' filepath='../drivers/net/bnxt/bnxt_vnic.h' line='19' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='112'>
+        <var-decl name='start_grp_id' type-id='type-id-25' visibility='default' filepath='../drivers/net/bnxt/bnxt_vnic.h' line='20' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='end_grp_id' type-id='type-id-25' visibility='default' filepath='../drivers/net/bnxt/bnxt_vnic.h' line='21' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='fw_grp_ids' type-id='type-id-551' visibility='default' filepath='../drivers/net/bnxt/bnxt_vnic.h' line='22' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='num_lb_ctxts' type-id='type-id-25' visibility='default' filepath='../drivers/net/bnxt/bnxt_vnic.h' line='23' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='272'>
+        <var-decl name='dflt_ring_grp' type-id='type-id-25' visibility='default' filepath='../drivers/net/bnxt/bnxt_vnic.h' line='24' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='mru' type-id='type-id-25' visibility='default' filepath='../drivers/net/bnxt/bnxt_vnic.h' line='25' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='304'>
+        <var-decl name='hash_type' type-id='type-id-25' visibility='default' filepath='../drivers/net/bnxt/bnxt_vnic.h' line='26' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='hash_mode' type-id='type-id-99' visibility='default' filepath='../drivers/net/bnxt/bnxt_vnic.h' line='27' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='rss_table_dma_addr' type-id='type-id-40' visibility='default' filepath='../drivers/net/bnxt/bnxt_vnic.h' line='28' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='rss_table' type-id='type-id-551' visibility='default' filepath='../drivers/net/bnxt/bnxt_vnic.h' line='29' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rss_hash_key_dma_addr' type-id='type-id-40' visibility='default' filepath='../drivers/net/bnxt/bnxt_vnic.h' line='30' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='rss_hash_key' type-id='type-id-14' visibility='default' filepath='../drivers/net/bnxt/bnxt_vnic.h' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='mc_list_dma_addr' type-id='type-id-40' visibility='default' filepath='../drivers/net/bnxt/bnxt_vnic.h' line='32' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='mc_list' type-id='type-id-350' visibility='default' filepath='../drivers/net/bnxt/bnxt_vnic.h' line='33' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='mc_addr_cnt' type-id='type-id-32' visibility='default' filepath='../drivers/net/bnxt/bnxt_vnic.h' line='34' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='flags' type-id='type-id-32' visibility='default' filepath='../drivers/net/bnxt/bnxt_vnic.h' line='36' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='cos_rule' type-id='type-id-25' visibility='default' filepath='../drivers/net/bnxt/bnxt_vnic.h' line='45' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='848'>
+        <var-decl name='lb_rule' type-id='type-id-25' visibility='default' filepath='../drivers/net/bnxt/bnxt_vnic.h' line='46' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='864'>
+        <var-decl name='rx_queue_cnt' type-id='type-id-25' visibility='default' filepath='../drivers/net/bnxt/bnxt_vnic.h' line='47' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='880'>
+        <var-decl name='cos_queue_id' type-id='type-id-25' visibility='default' filepath='../drivers/net/bnxt/bnxt_vnic.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='vlan_strip' type-id='type-id-552' visibility='default' filepath='../drivers/net/bnxt/bnxt_vnic.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='904'>
+        <var-decl name='func_default' type-id='type-id-552' visibility='default' filepath='../drivers/net/bnxt/bnxt_vnic.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='912'>
+        <var-decl name='bd_stall' type-id='type-id-552' visibility='default' filepath='../drivers/net/bnxt/bnxt_vnic.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='920'>
+        <var-decl name='roce_dual' type-id='type-id-552' visibility='default' filepath='../drivers/net/bnxt/bnxt_vnic.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='928'>
+        <var-decl name='roce_only' type-id='type-id-552' visibility='default' filepath='../drivers/net/bnxt/bnxt_vnic.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='936'>
+        <var-decl name='rss_dflt_cr' type-id='type-id-552' visibility='default' filepath='../drivers/net/bnxt/bnxt_vnic.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='filter' type-id='type-id-553' visibility='default' filepath='../drivers/net/bnxt/bnxt_vnic.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='flow_list' type-id='type-id-554' visibility='default' filepath='../drivers/net/bnxt/bnxt_vnic.h' line='57' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/bnxt/bnxt_vnic.h' line='15' column='1' id='type-id-550'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-545' visibility='default' filepath='../drivers/net/bnxt/bnxt_vnic.h' line='15' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-549' size-in-bits='64' id='type-id-545'/>
+    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-551'/>
+    <type-decl name='bool' size-in-bits='8' id='type-id-552'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/bnxt/bnxt_vnic.h' line='56' column='1' id='type-id-553'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-544' visibility='default' filepath='../drivers/net/bnxt/bnxt_vnic.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-555' visibility='default' filepath='../drivers/net/bnxt/bnxt_vnic.h' line='56' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-544' size-in-bits='64' id='type-id-555'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/bnxt/bnxt_vnic.h' line='57' column='1' id='type-id-554'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-546' visibility='default' filepath='../drivers/net/bnxt/bnxt_vnic.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-556' visibility='default' filepath='../drivers/net/bnxt/bnxt_vnic.h' line='57' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-546' size-in-bits='64' id='type-id-556'/>
+    <pointer-type-def type-id='type-id-557' size-in-bits='64' id='type-id-4'/>
+    <pointer-type-def type-id='type-id-558' size-in-bits='64' id='type-id-5'/>
+    <pointer-type-def type-id='type-id-559' size-in-bits='64' id='type-id-6'/>
+    <pointer-type-def type-id='type-id-560' size-in-bits='64' id='type-id-7'/>
+    <pointer-type-def type-id='type-id-561' size-in-bits='64' id='type-id-8'/>
+    <qualified-type-def type-id='type-id-2' const='yes' id='type-id-562'/>
+    <var-decl name='bnxt_flow_ops' type-id='type-id-562' visibility='default' filepath='../drivers/net/bnxt/bnxt.h' line='667' column='1'/>
+    <function-type size-in-bits='64' id='type-id-371'>
+      <parameter type-id='type-id-246'/>
+      <return type-id='type-id-280'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-332'>
+      <return type-id='type-id-331'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-315'>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-326'>
+      <parameter type-id='type-id-279'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-319'>
+      <parameter type-id='type-id-318'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-324'>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-328'>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-31'/>
+      <parameter type-id='type-id-57'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-247'>
+      <parameter type-id='type-id-246'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-369'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-350'/>
+      <parameter type-id='type-id-57'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-488'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-279'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-541'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-529'/>
+      <parameter type-id='type-id-533'/>
+      <parameter type-id='type-id-537'/>
+      <parameter type-id='type-id-540'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-475'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-474'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-482'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-481'/>
+      <parameter type-id='type-id-477'/>
+      <parameter type-id='type-id-43'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-451'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-449'/>
+      <parameter type-id='type-id-450'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-378'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-377'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-251'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-561'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-540'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-443'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-442'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-439'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-438'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-458'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-457'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-354'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-353'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-447'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-446'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-401'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-400'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-492'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-491'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-424'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-423'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-426'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-32'/>
+      <parameter type-id='type-id-99'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-415'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-414'/>
+      <parameter type-id='type-id-99'/>
+      <parameter type-id='type-id-99'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-405'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-404'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-431'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-430'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-435'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-434'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-266'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-265'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-419'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-418'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-270'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-43'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-484'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-273'/>
+      <parameter type-id='type-id-481'/>
+      <parameter type-id='type-id-43'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-274'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-273'/>
+      <parameter type-id='type-id-43'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-257'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-97'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-259'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-97'/>
+      <parameter type-id='type-id-32'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-255'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-97'/>
+      <parameter type-id='type-id-32'/>
+      <parameter type-id='type-id-32'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-407'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-97'/>
+      <parameter type-id='type-id-99'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-560'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-546'/>
+      <parameter type-id='type-id-537'/>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-540'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-558'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-546'/>
+      <parameter type-id='type-id-540'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-559'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-540'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-467'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-464'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-465'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-464'/>
+      <parameter type-id='type-id-32'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-471'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-470'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-261'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-375'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-367'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-366'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-428'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-499'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-498'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-384'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-383'/>
+      <parameter type-id='type-id-33'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-394'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-393'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-276'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-99'/>
+      <parameter type-id='type-id-99'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-373'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-32'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-409'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-99'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-478'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-477'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-486'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-341'>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-390'>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-396'>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-32'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-322'>
+      <parameter type-id='type-id-318'/>
+      <parameter type-id='type-id-321'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-557'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-529'/>
+      <parameter type-id='type-id-533'/>
+      <parameter type-id='type-id-537'/>
+      <parameter type-id='type-id-540'/>
+      <return type-id='type-id-546'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-523'>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-88'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-25'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-525'>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-88'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-25'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-89'>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-88'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-25'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-388'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-513'>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-249'>
+      <parameter type-id='type-id-246'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-380'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-358'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-357'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-362'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-361'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-253'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-32'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-75'>
+      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-386'>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-80'>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-339'>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-279'/>
+      <parameter type-id='type-id-338'/>
+      <return type-id='type-id-14'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/bnxt/rte_pmd_bnxt.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='rte_pmd_bnxt_set_vf_persist_stats' mangled-name='rte_pmd_bnxt_set_vf_persist_stats' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='853' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_bnxt_set_vf_persist_stats@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='853' column='1'/>
+      <parameter type-id='type-id-25' name='vf' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='853' column='1'/>
+      <parameter type-id='type-id-99' name='on' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='853' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_bnxt_set_vf_vlan_insert' mangled-name='rte_pmd_bnxt_set_vf_vlan_insert' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='809' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_bnxt_set_vf_vlan_insert@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='809' column='1'/>
+      <parameter type-id='type-id-25' name='vf' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='809' column='1'/>
+      <parameter type-id='type-id-25' name='vlan_id' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='810' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_bnxt_mac_addr_add' mangled-name='rte_pmd_bnxt_mac_addr_add' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='725' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_bnxt_mac_addr_add@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='725' column='1'/>
+      <parameter type-id='type-id-97' name='addr' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='725' column='1'/>
+      <parameter type-id='type-id-32' name='vf_id' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='726' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_bnxt_get_vf_tx_drop_count' mangled-name='rte_pmd_bnxt_get_vf_tx_drop_count' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='689' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_bnxt_get_vf_tx_drop_count@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='689' column='1'/>
+      <parameter type-id='type-id-25' name='vf_id' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='689' column='1'/>
+      <parameter type-id='type-id-477' name='count' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='690' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_bnxt_get_vf_rx_status' mangled-name='rte_pmd_bnxt_get_vf_rx_status' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='655' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_bnxt_get_vf_rx_status@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='655' column='1'/>
+      <parameter type-id='type-id-25' name='vf_id' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='655' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_bnxt_reset_vf_stats' mangled-name='rte_pmd_bnxt_reset_vf_stats' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='620' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_bnxt_reset_vf_stats@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='655' column='1'/>
+      <parameter type-id='type-id-25' name='vf_id' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='655' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_bnxt_get_vf_stats' mangled-name='rte_pmd_bnxt_get_vf_stats' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='584' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_bnxt_get_vf_stats@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='584' column='1'/>
+      <parameter type-id='type-id-25' name='vf_id' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='585' column='1'/>
+      <parameter type-id='type-id-265' name='stats' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='586' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_bnxt_set_vf_vlan_filter' mangled-name='rte_pmd_bnxt_set_vf_vlan_filter' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='491' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_bnxt_set_vf_vlan_filter@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='491' column='1'/>
+      <parameter type-id='type-id-25' name='vlan' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='491' column='1'/>
+      <parameter type-id='type-id-31' name='vf_mask' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='492' column='1'/>
+      <parameter type-id='type-id-99' name='vlan_on' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='492' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_bnxt_set_vf_rxmode' mangled-name='rte_pmd_bnxt_set_vf_rxmode' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='393' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_bnxt_set_vf_rxmode@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='393' column='1'/>
+      <parameter type-id='type-id-25' name='vf' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='393' column='1'/>
+      <parameter type-id='type-id-25' name='rx_mask' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='394' column='1'/>
+      <parameter type-id='type-id-99' name='on' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='394' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_bnxt_set_vf_vlan_stripq' mangled-name='rte_pmd_bnxt_set_vf_vlan_stripq' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='351' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_bnxt_set_vf_vlan_stripq@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='351' column='1'/>
+      <parameter type-id='type-id-25' name='vf' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='351' column='1'/>
+      <parameter type-id='type-id-99' name='on' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='351' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_bnxt_set_vf_vlan_anti_spoof' mangled-name='rte_pmd_bnxt_set_vf_vlan_anti_spoof' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='291' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_bnxt_set_vf_vlan_anti_spoof@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='351' column='1'/>
+      <parameter type-id='type-id-25' name='vf' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='351' column='1'/>
+      <parameter type-id='type-id-99' name='on' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='351' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_bnxt_set_vf_mac_anti_spoof' mangled-name='rte_pmd_bnxt_set_vf_mac_anti_spoof' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='231' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_bnxt_set_vf_mac_anti_spoof@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='853' column='1'/>
+      <parameter type-id='type-id-25' name='vf' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='853' column='1'/>
+      <parameter type-id='type-id-99' name='on' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='853' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_bnxt_set_vf_rate_limit' mangled-name='rte_pmd_bnxt_set_vf_rate_limit' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='174' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_bnxt_set_vf_rate_limit@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='174' column='1'/>
+      <parameter type-id='type-id-25' name='vf' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='174' column='1'/>
+      <parameter type-id='type-id-25' name='tx_rate' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='175' column='1'/>
+      <parameter type-id='type-id-31' name='q_msk' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='175' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_bnxt_set_vf_mac_addr' mangled-name='rte_pmd_bnxt_set_vf_mac_addr' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='134' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_bnxt_set_vf_mac_addr@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='134' column='1'/>
+      <parameter type-id='type-id-25' name='vf' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='134' column='1'/>
+      <parameter type-id='type-id-97' name='mac_addr' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='135' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_bnxt_set_all_queues_drop_en' mangled-name='rte_pmd_bnxt_set_all_queues_drop_en' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='83' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_bnxt_set_all_queues_drop_en@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='83' column='1'/>
+      <parameter type-id='type-id-99' name='on' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='83' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_bnxt_set_tx_loopback' mangled-name='rte_pmd_bnxt_set_tx_loopback' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='42' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_bnxt_set_tx_loopback@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='42' column='1'/>
+      <parameter type-id='type-id-99' name='on' filepath='../drivers/net/bnxt/rte_pmd_bnxt.c' line='42' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_bond.dump b/drivers/.abi/librte_pmd_bond.dump
new file mode 100644
index 000000000..062abe98d
--- /dev/null
+++ b/drivers/.abi/librte_pmd_bond.dump
@@ -0,0 +1,3586 @@
+<abi-corpus path='gcc//drivers/librte_pmd_bond.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_bond.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='librte_sched.so.20.0'/>
+    <dependency name='librte_ip_frag.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_eth_bond_8023ad_agg_selection_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_bond_8023ad_agg_selection_set' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_bond_8023ad_conf_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_bond_8023ad_dedicated_queues_disable' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_bond_8023ad_dedicated_queues_enable' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_bond_8023ad_ext_collect' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_bond_8023ad_ext_collect_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_bond_8023ad_ext_distrib' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_bond_8023ad_ext_distrib_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_bond_8023ad_ext_slowtx' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_bond_8023ad_setup' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_bond_8023ad_slave_info' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_bond_active_slaves_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_bond_create' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_bond_free' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_bond_link_monitoring_set' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_bond_mac_address_reset' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_bond_mac_address_set' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_bond_mode_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_bond_mode_set' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_bond_primary_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_bond_primary_set' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_bond_slave_add' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_bond_slave_remove' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_bond_slaves_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_bond_xmit_policy_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_bond_xmit_policy_set' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/bonding/rte_eth_bond_api.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-2'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-2' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-3'/>
+    <typedef-decl name='uint16_t' type-id='type-id-3' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-4'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-5'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-5' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-6'/>
+    <typedef-decl name='uint32_t' type-id='type-id-6' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-7'/>
+    <function-decl name='rte_eth_bond_link_monitoring_set' mangled-name='rte_eth_bond_link_monitoring_set' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='971' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_bond_link_monitoring_set@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='bonded_port_id' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='971' column='1'/>
+      <parameter type-id='type-id-7' name='internal_ms' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='971' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_bond_xmit_policy_get' mangled-name='rte_eth_bond_xmit_policy_get' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='958' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_bond_xmit_policy_get@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='bonded_port_id' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='958' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-8'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-8' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-9'/>
+    <typedef-decl name='uint8_t' type-id='type-id-9' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-10'/>
+    <function-decl name='rte_eth_bond_xmit_policy_set' mangled-name='rte_eth_bond_xmit_policy_set' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='928' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_bond_xmit_policy_set@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='bonded_port_id' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='928' column='1'/>
+      <parameter type-id='type-id-10' name='policy' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='928' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_bond_mac_address_reset' mangled-name='rte_eth_bond_mac_address_reset' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='887' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_bond_mac_address_reset@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='bonded_port_id' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='887' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_ether_addr' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='60' column='1' id='type-id-11'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr_bytes' type-id='type-id-12' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='61' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-13'/>
+
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='48' id='type-id-12'>
+      <subrange length='6' type-id='type-id-13' id='type-id-14'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-15'/>
+    <function-decl name='rte_eth_bond_mac_address_set' mangled-name='rte_eth_bond_mac_address_set' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='861' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_bond_mac_address_set@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='bonded_port_id' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='861' column='1'/>
+      <parameter type-id='type-id-15' name='mac_addr' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='862' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-16'/>
+    <function-decl name='rte_eth_bond_active_slaves_get' mangled-name='rte_eth_bond_active_slaves_get' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='838' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_bond_active_slaves_get@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='bonded_port_id' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='838' column='1'/>
+      <parameter type-id='type-id-16' name='slaves' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='838' column='1'/>
+      <parameter type-id='type-id-4' name='len' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='839' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_bond_slaves_get' mangled-name='rte_eth_bond_slaves_get' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='814' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_bond_slaves_get@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='bonded_port_id' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='814' column='1'/>
+      <parameter type-id='type-id-16' name='slaves' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='814' column='1'/>
+      <parameter type-id='type-id-4' name='len' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='815' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_bond_primary_get' mangled-name='rte_eth_bond_primary_get' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='798' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_bond_primary_get@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='bonded_port_id' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='958' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_bond_primary_set' mangled-name='rte_eth_bond_primary_set' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='777' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_bond_primary_set@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='bonded_port_id' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='777' column='1'/>
+      <parameter type-id='type-id-4' name='slave_port_id' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='777' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_bond_mode_get' mangled-name='rte_eth_bond_mode_get' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='764' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_bond_mode_get@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='bonded_port_id' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='958' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_bond_mode_set' mangled-name='rte_eth_bond_mode_set' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='747' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_bond_mode_set@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='bonded_port_id' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='928' column='1'/>
+      <parameter type-id='type-id-10' name='policy' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='928' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_bond_slave_remove' mangled-name='rte_eth_bond_slave_remove' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='725' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_bond_slave_remove@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='bonded_port_id' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='725' column='1'/>
+      <parameter type-id='type-id-4' name='slave_port_id' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='725' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_bond_slave_add' mangled-name='rte_eth_bond_slave_add' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='602' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_bond_slave_add@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='bonded_port_id' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='725' column='1'/>
+      <parameter type-id='type-id-4' name='slave_port_id' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='725' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-17'/>
+    <qualified-type-def type-id='type-id-17' const='yes' id='type-id-18'/>
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-19'/>
+    <function-decl name='rte_eth_bond_free' mangled-name='rte_eth_bond_free' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='189' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_bond_free@@DPDK_20.0'>
+      <parameter type-id='type-id-19' name='name' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='189' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_bond_create' mangled-name='rte_eth_bond_create' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='151' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_bond_create@@DPDK_20.0'>
+      <parameter type-id='type-id-19' name='name' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='151' column='1'/>
+      <parameter type-id='type-id-10' name='mode' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='151' column='1'/>
+      <parameter type-id='type-id-10' name='socket_id' filepath='../drivers/net/bonding/rte_eth_bond_api.c' line='151' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/bonding/rte_eth_bond_pmd.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='eth_dev_ops' size-in-bits='6016' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='609' column='1' id='type-id-20'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_configure' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_start' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='611' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dev_stop' type-id='type-id-23' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='612' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_set_link_up' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dev_set_link_down' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='614' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_close' type-id='type-id-26' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='615' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='dev_reset' type-id='type-id-27' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='616' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='link_update' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='617' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='is_removed' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='618' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='promiscuous_enable' type-id='type-id-30' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='promiscuous_disable' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='allmulticast_enable' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='623' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='allmulticast_disable' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='624' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='mac_addr_remove' type-id='type-id-34' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='625' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='mac_addr_add' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='626' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='mac_addr_set' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='627' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='set_mc_addr_list' type-id='type-id-37' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='628' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mtu_set' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='629' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='stats_get' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='631' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='stats_reset' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='632' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='xstats_get' type-id='type-id-41' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='633' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='xstats_reset' type-id='type-id-42' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='634' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='xstats_get_names' type-id='type-id-43' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='635' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='queue_stats_mapping_set' type-id='type-id-44' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='637' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='dev_infos_get' type-id='type-id-45' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='640' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='rxq_info_get' type-id='type-id-46' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='641' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='txq_info_get' type-id='type-id-47' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='642' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='rx_burst_mode_get' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='643' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='tx_burst_mode_get' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='644' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='fw_version_get' type-id='type-id-49' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='645' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='dev_supported_ptypes_get' type-id='type-id-50' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='646' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='dev_ptypes_set' type-id='type-id-51' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='648' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='vlan_filter_set' type-id='type-id-52' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='651' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='vlan_tpid_set' type-id='type-id-53' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='652' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='vlan_strip_queue_set' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='653' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='vlan_offload_set' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='654' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='vlan_pvid_set' type-id='type-id-56' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='655' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='rx_queue_start' type-id='type-id-57' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='657' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='rx_queue_stop' type-id='type-id-58' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='658' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2496'>
+        <var-decl name='tx_queue_start' type-id='type-id-57' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='659' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='tx_queue_stop' type-id='type-id-58' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='660' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='rx_queue_setup' type-id='type-id-59' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='661' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2688'>
+        <var-decl name='rx_queue_release' type-id='type-id-60' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2752'>
+        <var-decl name='rx_queue_count' type-id='type-id-61' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='663' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2816'>
+        <var-decl name='rx_descriptor_done' type-id='type-id-62' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2880'>
+        <var-decl name='rx_descriptor_status' type-id='type-id-63' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='666' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2944'>
+        <var-decl name='tx_descriptor_status' type-id='type-id-64' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3008'>
+        <var-decl name='rx_queue_intr_enable' type-id='type-id-65' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='670' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3072'>
+        <var-decl name='rx_queue_intr_disable' type-id='type-id-66' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3136'>
+        <var-decl name='tx_queue_setup' type-id='type-id-67' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='672' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3200'>
+        <var-decl name='tx_queue_release' type-id='type-id-60' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3264'>
+        <var-decl name='tx_done_cleanup' type-id='type-id-68' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='674' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3328'>
+        <var-decl name='dev_led_on' type-id='type-id-69' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3392'>
+        <var-decl name='dev_led_off' type-id='type-id-70' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='677' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3456'>
+        <var-decl name='flow_ctrl_get' type-id='type-id-71' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='679' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3520'>
+        <var-decl name='flow_ctrl_set' type-id='type-id-72' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='680' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='priority_flow_ctrl_set' type-id='type-id-73' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='681' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3648'>
+        <var-decl name='uc_hash_table_set' type-id='type-id-74' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='683' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3712'>
+        <var-decl name='uc_all_hash_table_set' type-id='type-id-75' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='684' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3776'>
+        <var-decl name='mirror_rule_set' type-id='type-id-76' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='686' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3840'>
+        <var-decl name='mirror_rule_reset' type-id='type-id-77' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='687' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3904'>
+        <var-decl name='udp_tunnel_port_add' type-id='type-id-78' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='689' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3968'>
+        <var-decl name='udp_tunnel_port_del' type-id='type-id-79' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4032'>
+        <var-decl name='l2_tunnel_eth_type_conf' type-id='type-id-80' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4096'>
+        <var-decl name='l2_tunnel_offload_set' type-id='type-id-81' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='693' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4160'>
+        <var-decl name='set_queue_rate_limit' type-id='type-id-82' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='696' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4224'>
+        <var-decl name='rss_hash_update' type-id='type-id-83' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='698' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4288'>
+        <var-decl name='rss_hash_conf_get' type-id='type-id-84' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='699' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4352'>
+        <var-decl name='reta_update' type-id='type-id-85' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='700' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4416'>
+        <var-decl name='reta_query' type-id='type-id-86' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='701' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4480'>
+        <var-decl name='get_reg' type-id='type-id-87' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='703' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4544'>
+        <var-decl name='get_eeprom_length' type-id='type-id-88' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='704' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4608'>
+        <var-decl name='get_eeprom' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='705' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4672'>
+        <var-decl name='set_eeprom' type-id='type-id-90' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='706' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4736'>
+        <var-decl name='get_module_info' type-id='type-id-91' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='708' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4800'>
+        <var-decl name='get_module_eeprom' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='710' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4864'>
+        <var-decl name='filter_ctrl' type-id='type-id-93' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4928'>
+        <var-decl name='get_dcb_info' type-id='type-id-94' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='715' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4992'>
+        <var-decl name='timesync_enable' type-id='type-id-95' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='717' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5056'>
+        <var-decl name='timesync_disable' type-id='type-id-96' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5120'>
+        <var-decl name='timesync_read_rx_timestamp' type-id='type-id-97' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='721' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5184'>
+        <var-decl name='timesync_read_tx_timestamp' type-id='type-id-98' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='723' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5248'>
+        <var-decl name='timesync_adjust_time' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5312'>
+        <var-decl name='timesync_read_time' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='726' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5376'>
+        <var-decl name='timesync_write_time' type-id='type-id-101' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='727' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5440'>
+        <var-decl name='read_clock' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='729' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5504'>
+        <var-decl name='xstats_get_by_id' type-id='type-id-103' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='731' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5568'>
+        <var-decl name='xstats_get_names_by_id' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='733' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5632'>
+        <var-decl name='tm_ops_get' type-id='type-id-105' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='736' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5696'>
+        <var-decl name='mtr_ops_get' type-id='type-id-106' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='739' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5760'>
+        <var-decl name='pool_ops_supported' type-id='type-id-107' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='742' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5824'>
+        <var-decl name='hairpin_cap_get' type-id='type-id-108' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='745' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5888'>
+        <var-decl name='rx_hairpin_queue_setup' type-id='type-id-109' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5952'>
+        <var-decl name='tx_hairpin_queue_setup' type-id='type-id-110' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='749' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev' size-in-bits='132608' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='777' column='1' id='type-id-111'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_pkt_burst' type-id='type-id-112' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='778' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tx_pkt_burst' type-id='type-id-113' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tx_pkt_prepare' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='data' type-id='type-id-115' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='786' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='process_private' type-id='type-id-116' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='787' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_ops' type-id='type-id-117' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='788' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='device' type-id='type-id-118' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='789' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='intr_handle' type-id='type-id-119' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='790' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='link_intr_cbs' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='792' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='post_rx_burst_cbs' type-id='type-id-121' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='797' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='66176'>
+        <var-decl name='pre_tx_burst_cbs' type-id='type-id-121' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131712'>
+        <var-decl name='state' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='803' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131776'>
+        <var-decl name='security_ctx' type-id='type-id-116' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131840'>
+        <var-decl name='reserved_64s' type-id='type-id-123' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='806' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='132096'>
+        <var-decl name='reserved_ptrs' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='807' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='void' id='type-id-125'/>
+    <pointer-type-def type-id='type-id-125' size-in-bits='64' id='type-id-116'/>
+    <class-decl name='rte_mbuf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='480' column='1' id='type-id-126'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheline0' type-id='type-id-127' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-116' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-128' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rearm_data' type-id='type-id-129' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='497' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_off' type-id='type-id-4' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_segs' type-id='type-id-4' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='port' type-id='type-id-4' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ol_flags' type-id='type-id-130' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_descriptor_fields1' type-id='type-id-127' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='pkt_len' type-id='type-id-7' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data_len' type-id='type-id-4' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='vlan_tci' type-id='type-id-4' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vlan_tci_outer' type-id='type-id-4' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='buf_len' type-id='type-id-4' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='timestamp' type-id='type-id-130' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cacheline1' type-id='type-id-127' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='pool' type-id='type-id-131' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='next' type-id='type-id-132' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv_size' type-id='type-id-4' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='timesync' type-id='type-id-4' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='seqn' type-id='type-id-7' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='shinfo' type-id='type-id-133' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dynfield1' type-id='type-id-134' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-116' size-in-bits='infinite' id='type-id-135'>
+      <subrange length='infinite' type-id='type-id-13' id='type-id-136'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER' type-id='type-id-135' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='414' column='1' id='type-id-127'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='491' column='1' id='type-id-128'>
+      <data-member access='private'>
+        <var-decl name='buf_iova' type-id='type-id-137' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='buf_physaddr' type-id='type-id-137' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='__uint64_t' type-id='type-id-13' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-138'/>
+    <typedef-decl name='uint64_t' type-id='type-id-138' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-130'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-130' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-137'/>
+
+    <array-type-def dimensions='1' type-id='type-id-130' size-in-bits='infinite' id='type-id-139'>
+      <subrange length='infinite' type-id='type-id-13' id='type-id-136'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER64' type-id='type-id-139' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='420' column='1' id='type-id-129'/>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-140'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-141' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-142' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-116' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-143' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-7' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-7' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-7' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-7' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-7' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-5' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-144' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-145' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-7' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-146' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-7' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-147' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-17' size-in-bits='256' id='type-id-141'>
+      <subrange length='32' type-id='type-id-13' id='type-id-148'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-142'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-116' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-130' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-149'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-141' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-150' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-151' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-130' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-144' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-7' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-150'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-152' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-137' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-130' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-152'/>
+    <typedef-decl name='size_t' type-id='type-id-13' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-151'/>
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-153'/>
+    <typedef-decl name='int32_t' type-id='type-id-153' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-144'/>
+    <qualified-type-def type-id='type-id-149' const='yes' id='type-id-154'/>
+    <pointer-type-def type-id='type-id-154' size-in-bits='64' id='type-id-143'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-155'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-7' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-7' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-7' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-156' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-116' size-in-bits='98304' id='type-id-156'>
+      <subrange length='1536' type-id='type-id-13' id='type-id-157'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-155' size-in-bits='64' id='type-id-145'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-146'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-158' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-159' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-160'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-161' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-131' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-162' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-161'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-158' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-160' size-in-bits='64' id='type-id-158'/>
+    <pointer-type-def type-id='type-id-140' size-in-bits='64' id='type-id-131'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-162'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-137' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-152' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-158' size-in-bits='64' id='type-id-159'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-147'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-163' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-164' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-165'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-166' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-131' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-116' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-167' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-151' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-168' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-116' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-166'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-163' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-165' size-in-bits='64' id='type-id-163'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-167'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-137' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-152' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-169' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-170'/>
+    <pointer-type-def type-id='type-id-170' size-in-bits='64' id='type-id-168'/>
+    <pointer-type-def type-id='type-id-163' size-in-bits='64' id='type-id-164'/>
+    <pointer-type-def type-id='type-id-126' size-in-bits='64' id='type-id-132'/>
+    <class-decl name='rte_mbuf_ext_shared_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='689' column='1' id='type-id-171'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_cb' type-id='type-id-172' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcb_opaque' type-id='type-id-116' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt_atomic' type-id='type-id-173' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-174' size-in-bits='64' id='type-id-175'/>
+    <typedef-decl name='rte_mbuf_extbuf_free_callback_t' type-id='type-id-175' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='684' column='1' id='type-id-172'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-173' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-176'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-177' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-178'/>
+    <typedef-decl name='__int16_t' type-id='type-id-178' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-179'/>
+    <typedef-decl name='int16_t' type-id='type-id-179' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-180'/>
+    <qualified-type-def type-id='type-id-180' volatile='yes' id='type-id-177'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-176' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-173'/>
+    <pointer-type-def type-id='type-id-171' size-in-bits='64' id='type-id-133'/>
+
+    <array-type-def dimensions='1' type-id='type-id-130' size-in-bits='128' id='type-id-134'>
+      <subrange length='2' type-id='type-id-13' id='type-id-181'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-132' size-in-bits='64' id='type-id-182'/>
+    <pointer-type-def type-id='type-id-183' size-in-bits='64' id='type-id-184'/>
+    <typedef-decl name='eth_rx_burst_t' type-id='type-id-184' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='340' column='1' id='type-id-112'/>
+    <typedef-decl name='eth_tx_burst_t' type-id='type-id-184' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='345' column='1' id='type-id-113'/>
+    <typedef-decl name='eth_tx_prep_t' type-id='type-id-184' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='350' column='1' id='type-id-114'/>
+    <class-decl name='rte_eth_dev_data' size-in-bits='55808' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='820' column='1' id='type-id-185'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-186' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='821' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_queues' type-id='type-id-187' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='823' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_queues' type-id='type-id-187' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='824' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='nb_rx_queues' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='825' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='656'>
+        <var-decl name='nb_tx_queues' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='826' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='sriov' type-id='type-id-188' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='dev_private' type-id='type-id-116' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='830' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_link' type-id='type-id-189' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='835' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dev_conf' type-id='type-id-190' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='836' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25536'>
+        <var-decl name='mtu' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='837' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25568'>
+        <var-decl name='min_rx_buf_size' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25600'>
+        <var-decl name='rx_mbuf_alloc_failed' type-id='type-id-130' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='841' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25664'>
+        <var-decl name='mac_addrs' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='842' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25728'>
+        <var-decl name='mac_pool_sel' type-id='type-id-191' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='846' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='33920'>
+        <var-decl name='hash_mac_addrs' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='848' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='33984'>
+        <var-decl name='port_id' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='852' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='promiscuous' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='855' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='scattered_rx' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='856' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='all_multicast' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='857' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4'>
+        <var-decl name='dev_started' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='858' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3'>
+        <var-decl name='lro' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='859' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='34008'>
+        <var-decl name='rx_queue_state' type-id='type-id-192' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='860' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='42200'>
+        <var-decl name='tx_queue_state' type-id='type-id-192' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='862' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50400'>
+        <var-decl name='dev_flags' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='864' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50432'>
+        <var-decl name='kdrv' type-id='type-id-193' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50464'>
+        <var-decl name='numa_node' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='866' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50496'>
+        <var-decl name='vlan_filter_conf' type-id='type-id-194' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='867' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='54592'>
+        <var-decl name='owner' type-id='type-id-195' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='869' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55168'>
+        <var-decl name='representor_id' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='870' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55232'>
+        <var-decl name='reserved_64s' type-id='type-id-123' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='875' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55488'>
+        <var-decl name='reserved_ptrs' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='876' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-17' size-in-bits='512' id='type-id-186'>
+      <subrange length='64' type-id='type-id-13' id='type-id-196'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-116' size-in-bits='64' id='type-id-187'/>
+    <class-decl name='rte_eth_dev_sriov' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1476' column='1' id='type-id-188'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='active' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1477' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='nb_q_per_pool' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1478' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='def_vmdq_idx' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1479' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='def_pool_q_idx' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1480' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_link' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='308' column='1' id='type-id-189'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_speed' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='309' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='15'>
+        <var-decl name='link_duplex' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='310' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='14'>
+        <var-decl name='link_autoneg' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='311' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='13'>
+        <var-decl name='link_status' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='312' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_conf' size-in-bits='24640' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1045' column='1' id='type-id-190'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_speeds' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1046' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rxmode' type-id='type-id-197' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1053' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='txmode' type-id='type-id-198' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1054' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='lpbk_mode' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1055' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='rx_adv_conf' type-id='type-id-199' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1068' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='17984'>
+        <var-decl name='tx_adv_conf' type-id='type-id-200' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1076' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18080'>
+        <var-decl name='dcb_capability_en' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1079' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18112'>
+        <var-decl name='fdir_conf' type-id='type-id-201' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1080' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24576'>
+        <var-decl name='intr_conf' type-id='type-id-202' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1081' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rxmode' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='394' column='1' id='type-id-197'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mq_mode' type-id='type-id-203' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='396' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_rx_pkt_len' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='397' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='max_lro_pkt_size' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='399' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='split_hdr_size' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='400' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='offloads' type-id='type-id-130' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='406' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-134' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='408' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-204' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='409' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-205'/>
+    <enum-decl name='rte_eth_rx_mq_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='344' column='1' id='type-id-203'>
+      <underlying-type type-id='type-id-205'/>
+      <enumerator name='ETH_MQ_RX_NONE' value='0'/>
+      <enumerator name='ETH_MQ_RX_RSS' value='1'/>
+      <enumerator name='ETH_MQ_RX_DCB' value='2'/>
+      <enumerator name='ETH_MQ_RX_DCB_RSS' value='3'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_ONLY' value='4'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_RSS' value='5'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_DCB' value='6'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_DCB_RSS' value='7'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-116' size-in-bits='128' id='type-id-204'>
+      <subrange length='2' type-id='type-id-13' id='type-id-181'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_txmode' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='792' column='1' id='type-id-198'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mq_mode' type-id='type-id-206' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='793' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offloads' type-id='type-id-130' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='799' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pvid' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='hw_vlan_reject_tagged' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='hw_vlan_reject_untagged' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='806' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='hw_vlan_insert_pvid' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='808' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-134' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='811' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-204' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='812' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_tx_mq_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='377' column='1' id='type-id-206'>
+      <underlying-type type-id='type-id-205'/>
+      <enumerator name='ETH_MQ_TX_NONE' value='0'/>
+      <enumerator name='ETH_MQ_TX_DCB' value='1'/>
+      <enumerator name='ETH_MQ_TX_VMDQ_DCB' value='2'/>
+      <enumerator name='ETH_MQ_TX_VMDQ_ONLY' value='3'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16960' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1060' column='1' id='type-id-199'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rss_conf' type-id='type-id-207' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1061' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='vmdq_dcb_conf' type-id='type-id-208' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1062' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8512'>
+        <var-decl name='dcb_rx_conf' type-id='type-id-209' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1064' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8640'>
+        <var-decl name='vmdq_rx_conf' type-id='type-id-210' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1066' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rss_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='448' column='1' id='type-id-207'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rss_key' type-id='type-id-211' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rss_key_len' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rss_hf' type-id='type-id-130' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='451' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-211'/>
+    <class-decl name='rte_eth_vmdq_dcb_conf' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='745' column='1' id='type-id-208'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-212' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='746' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='enable_default_pool' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='default_pool' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='748' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='nb_pool_maps' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='749' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pool_map' type-id='type-id-213' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8256'>
+        <var-decl name='dcb_tc' type-id='type-id-214' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='754' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_nb_pools' filepath='../lib/librte_ethdev/rte_ethdev.h' line='704' column='1' id='type-id-212'>
+      <underlying-type type-id='type-id-205'/>
+      <enumerator name='ETH_8_POOLS' value='8'/>
+      <enumerator name='ETH_16_POOLS' value='16'/>
+      <enumerator name='ETH_32_POOLS' value='32'/>
+      <enumerator name='ETH_64_POOLS' value='64'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='750' column='1' id='type-id-215'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_id' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='751' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pools' type-id='type-id-130' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='752' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-215' size-in-bits='8192' id='type-id-213'>
+      <subrange length='64' type-id='type-id-13' id='type-id-196'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='64' id='type-id-214'>
+      <subrange length='8' type-id='type-id-13' id='type-id-216'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_dcb_rx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='712' column='1' id='type-id-209'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-217' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-214' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='715' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_nb_tcs' filepath='../lib/librte_ethdev/rte_ethdev.h' line='695' column='1' id='type-id-217'>
+      <underlying-type type-id='type-id-205'/>
+      <enumerator name='ETH_4_TCS' value='4'/>
+      <enumerator name='ETH_8_TCS' value='8'/>
+    </enum-decl>
+    <class-decl name='rte_eth_vmdq_rx_conf' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='776' column='1' id='type-id-210'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-212' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='777' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='enable_default_pool' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='778' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='default_pool' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='enable_loop_back' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='nb_pool_maps' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='781' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rx_mode' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='782' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pool_map' type-id='type-id-213' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='786' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <union-decl name='__anonymous_union__' size-in-bits='96' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1069' column='1' id='type-id-200'>
+      <data-member access='private'>
+        <var-decl name='vmdq_dcb_tx_conf' type-id='type-id-218' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1070' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dcb_tx_conf' type-id='type-id-219' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1072' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='vmdq_tx_conf' type-id='type-id-220' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1074' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_eth_vmdq_dcb_tx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='718' column='1' id='type-id-218'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-212' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-214' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='721' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dcb_tx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='724' column='1' id='type-id-219'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-217' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-214' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='727' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vmdq_tx_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='730' column='1' id='type-id-220'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-212' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='731' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_fdir_conf' size-in-bits='6464' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1005' column='1' id='type-id-201'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mode' type-id='type-id-221' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1006' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='pballoc' type-id='type-id-222' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1007' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='status' type-id='type-id-223' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1008' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='drop_queue' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1010' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mask' type-id='type-id-224' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1011' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='flex_conf' type-id='type-id-225' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1012' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_fdir_mode' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='603' column='1' id='type-id-221'>
+      <underlying-type type-id='type-id-205'/>
+      <enumerator name='RTE_FDIR_MODE_NONE' value='0'/>
+      <enumerator name='RTE_FDIR_MODE_SIGNATURE' value='1'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT' value='2'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT_MAC_VLAN' value='3'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT_TUNNEL' value='4'/>
+    </enum-decl>
+    <enum-decl name='rte_fdir_pballoc_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='984' column='1' id='type-id-222'>
+      <underlying-type type-id='type-id-205'/>
+      <enumerator name='RTE_FDIR_PBALLOC_64K' value='0'/>
+      <enumerator name='RTE_FDIR_PBALLOC_128K' value='1'/>
+      <enumerator name='RTE_FDIR_PBALLOC_256K' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_fdir_status_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='993' column='1' id='type-id-223'>
+      <underlying-type type-id='type-id-205'/>
+      <enumerator name='RTE_FDIR_NO_REPORT_STATUS' value='0'/>
+      <enumerator name='RTE_FDIR_REPORT_STATUS' value='1'/>
+      <enumerator name='RTE_FDIR_REPORT_STATUS_ALWAYS' value='2'/>
+    </enum-decl>
+    <class-decl name='rte_eth_fdir_masks' size-in-bits='544' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='533' column='1' id='type-id-224'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_tci_mask' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='534' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ipv4_mask' type-id='type-id-226' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='536' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ipv6_mask' type-id='type-id-227' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='538' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='src_port_mask' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='540' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='dst_port_mask' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='542' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='mac_addr_byte_mask' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='545' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='tunnel_id_mask' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='547' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='tunnel_type_mask' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='548' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_ipv4_flow' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='342' column='1' id='type-id-226'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='343' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dst_ip' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='344' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tos' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='345' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='ttl' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='346' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='proto' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='347' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_ipv6_flow' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='381' column='1' id='type-id-227'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-228' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='382' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dst_ip' type-id='type-id-228' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='383' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='tc' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='384' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='264'>
+        <var-decl name='proto' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='385' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='272'>
+        <var-decl name='hop_limits' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='386' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='128' id='type-id-228'>
+      <subrange length='4' type-id='type-id-13' id='type-id-229'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_fdir_flex_conf' size-in-bits='5792' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='591' column='1' id='type-id-225'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_payloads' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='592' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='nb_flexmasks' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='593' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flex_set' type-id='type-id-230' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='594' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2336'>
+        <var-decl name='flex_mask' type-id='type-id-231' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='596' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_flex_payload_cfg' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='568' column='1' id='type-id-232'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-233' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='569' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='src_offset' type-id='type-id-234' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='570' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_payload_type' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='555' column='1' id='type-id-233'>
+      <underlying-type type-id='type-id-205'/>
+      <enumerator name='RTE_ETH_PAYLOAD_UNKNOWN' value='0'/>
+      <enumerator name='RTE_ETH_RAW_PAYLOAD' value='1'/>
+      <enumerator name='RTE_ETH_L2_PAYLOAD' value='2'/>
+      <enumerator name='RTE_ETH_L3_PAYLOAD' value='3'/>
+      <enumerator name='RTE_ETH_L4_PAYLOAD' value='4'/>
+      <enumerator name='RTE_ETH_PAYLOAD_MAX' value='8'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-4' size-in-bits='256' id='type-id-234'>
+      <subrange length='16' type-id='type-id-13' id='type-id-235'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-232' size-in-bits='2304' id='type-id-230'>
+      <subrange length='8' type-id='type-id-13' id='type-id-216'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_fdir_flex_mask' size-in-bits='144' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='581' column='1' id='type-id-236'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flow_type' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='582' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='mask' type-id='type-id-237' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='583' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='128' id='type-id-237'>
+      <subrange length='16' type-id='type-id-13' id='type-id-235'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-236' size-in-bits='3456' id='type-id-231'>
+      <subrange length='24' type-id='type-id-13' id='type-id-238'/>
+
+    </array-type-def>
+    <class-decl name='rte_intr_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1031' column='1' id='type-id-202'>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='lsc' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1033' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='rxq' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1035' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='rmv' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1037' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-130' size-in-bits='8192' id='type-id-191'>
+      <subrange length='128' type-id='type-id-13' id='type-id-239'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='8192' id='type-id-192'>
+      <subrange length='1024' type-id='type-id-13' id='type-id-240'/>
+
+    </array-type-def>
+    <enum-decl name='rte_kernel_driver' filepath='../lib/librte_eal/common/include/rte_dev.h' line='60' column='1' id='type-id-193'>
+      <underlying-type type-id='type-id-205'/>
+      <enumerator name='RTE_KDRV_UNKNOWN' value='0'/>
+      <enumerator name='RTE_KDRV_IGB_UIO' value='1'/>
+      <enumerator name='RTE_KDRV_VFIO' value='2'/>
+      <enumerator name='RTE_KDRV_UIO_GENERIC' value='3'/>
+      <enumerator name='RTE_KDRV_NIC_UIO' value='4'/>
+      <enumerator name='RTE_KDRV_NONE' value='5'/>
+    </enum-decl>
+    <class-decl name='rte_vlan_filter_conf' size-in-bits='4096' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='427' column='1' id='type-id-194'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ids' type-id='type-id-241' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='428' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-130' size-in-bits='4096' id='type-id-241'>
+      <subrange length='64' type-id='type-id-13' id='type-id-196'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_dev_owner' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1490' column='1' id='type-id-195'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-130' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1491' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='name' type-id='type-id-186' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1492' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-130' size-in-bits='256' id='type-id-123'>
+      <subrange length='4' type-id='type-id-13' id='type-id-229'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-116' size-in-bits='256' id='type-id-124'>
+      <subrange length='4' type-id='type-id-13' id='type-id-229'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-185' size-in-bits='64' id='type-id-115'/>
+    <qualified-type-def type-id='type-id-20' const='yes' id='type-id-242'/>
+    <pointer-type-def type-id='type-id-242' size-in-bits='64' id='type-id-117'/>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-243'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-244' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-245' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-246' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-247' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-244'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-118' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-248' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-243' size-in-bits='64' id='type-id-118'/>
+    <pointer-type-def type-id='type-id-118' size-in-bits='64' id='type-id-248'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-249'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-250' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-250'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-251' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-252' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-249' size-in-bits='64' id='type-id-251'/>
+    <pointer-type-def type-id='type-id-251' size-in-bits='64' id='type-id-252'/>
+    <qualified-type-def type-id='type-id-249' const='yes' id='type-id-253'/>
+    <pointer-type-def type-id='type-id-253' size-in-bits='64' id='type-id-245'/>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-254'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-255' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-256' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-257' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-258' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-259' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-260' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-261' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-262' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-263' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-264' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-265' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-266' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-267' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-268' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-255'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-269' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-270' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-254' size-in-bits='64' id='type-id-269'/>
+    <pointer-type-def type-id='type-id-269' size-in-bits='64' id='type-id-270'/>
+    <pointer-type-def type-id='type-id-271' size-in-bits='64' id='type-id-272'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-272' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-256'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-272' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-257'/>
+    <qualified-type-def type-id='type-id-243' const='yes' id='type-id-273'/>
+    <pointer-type-def type-id='type-id-273' size-in-bits='64' id='type-id-274'/>
+    <pointer-type-def type-id='type-id-275' size-in-bits='64' id='type-id-276'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-276' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-277'/>
+    <pointer-type-def type-id='type-id-278' size-in-bits='64' id='type-id-279'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-279' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-258'/>
+    <pointer-type-def type-id='type-id-280' size-in-bits='64' id='type-id-281'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-281' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-259'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-281' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-260'/>
+    <pointer-type-def type-id='type-id-282' size-in-bits='64' id='type-id-283'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-283' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-261'/>
+    <pointer-type-def type-id='type-id-284' size-in-bits='64' id='type-id-285'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-285' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-262'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-285' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-263'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-264'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-286' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-286'>
+      <underlying-type type-id='type-id-205'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-287'>
+      <underlying-type type-id='type-id-205'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-288' size-in-bits='64' id='type-id-289'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-289' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-265'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-290'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-269' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-291' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-118' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-116' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-292'/>
+    <pointer-type-def type-id='type-id-292' size-in-bits='64' id='type-id-291'/>
+    <qualified-type-def type-id='type-id-290' const='yes' id='type-id-293'/>
+    <pointer-type-def type-id='type-id-293' size-in-bits='64' id='type-id-294'/>
+    <pointer-type-def type-id='type-id-295' size-in-bits='64' id='type-id-296'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-296' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-266'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-281' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-267'/>
+    <pointer-type-def type-id='type-id-297' size-in-bits='64' id='type-id-298'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-298' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-268'/>
+    <qualified-type-def type-id='type-id-254' const='yes' id='type-id-299'/>
+    <pointer-type-def type-id='type-id-299' size-in-bits='64' id='type-id-246'/>
+    <class-decl name='rte_devargs' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='47' column='1' id='type-id-300'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-301' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='type' type-id='type-id-302' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='policy' type-id='type-id-303' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='name' type-id='type-id-186' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='' type-id='type-id-304' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='bus' type-id='type-id-269' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='cls' type-id='type-id-291' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='bus_str' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='cls_str' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='data' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='66' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1' id='type-id-301'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-247' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-305' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-300' size-in-bits='64' id='type-id-247'/>
+    <pointer-type-def type-id='type-id-247' size-in-bits='64' id='type-id-305'/>
+    <enum-decl name='rte_devtype' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='31' column='1' id='type-id-302'>
+      <underlying-type type-id='type-id-205'/>
+      <enumerator name='RTE_DEVTYPE_WHITELISTED_PCI' value='0'/>
+      <enumerator name='RTE_DEVTYPE_BLACKLISTED_PCI' value='1'/>
+      <enumerator name='RTE_DEVTYPE_VIRTUAL' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_dev_policy' filepath='../lib/librte_eal/common/include/rte_dev.h' line='72' column='1' id='type-id-303'>
+      <underlying-type type-id='type-id-205'/>
+      <enumerator name='RTE_DEV_WHITELISTED' value='0'/>
+      <enumerator name='RTE_DEV_BLACKLISTED' value='1'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='57' column='1' id='type-id-304'>
+      <data-member access='private'>
+        <var-decl name='args' type-id='type-id-306' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='drv_str' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='60' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-306'/>
+    <class-decl name='rte_intr_handle' size-in-bits='213248' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='69' column='1' id='type-id-307'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-308' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-309' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='max_intr' type-id='type-id-7' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='nb_efd' type-id='type-id-7' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='efd_counter_size' type-id='type-id-10' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='efds' type-id='type-id-310' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16576'>
+        <var-decl name='elist' type-id='type-id-311' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='213184'>
+        <var-decl name='intr_vec' type-id='type-id-312' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='71' column='1' id='type-id-308'>
+      <data-member access='private'>
+        <var-decl name='vfio_dev_fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='uio_cfg_fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='73' column='1'/>
+      </data-member>
+    </union-decl>
+    <enum-decl name='rte_intr_handle_type' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='27' column='1' id='type-id-309'>
+      <underlying-type type-id='type-id-205'/>
+      <enumerator name='RTE_INTR_HANDLE_UNKNOWN' value='0'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO' value='1'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO_INTX' value='2'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_LEGACY' value='3'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSI' value='4'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSIX' value='5'/>
+      <enumerator name='RTE_INTR_HANDLE_ALARM' value='6'/>
+      <enumerator name='RTE_INTR_HANDLE_EXT' value='7'/>
+      <enumerator name='RTE_INTR_HANDLE_VDEV' value='8'/>
+      <enumerator name='RTE_INTR_HANDLE_DEV_EVENT' value='9'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_REQ' value='10'/>
+      <enumerator name='RTE_INTR_HANDLE_MAX' value='11'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='16384' id='type-id-310'>
+      <subrange length='512' type-id='type-id-13' id='type-id-313'/>
+
+    </array-type-def>
+    <class-decl name='rte_epoll_event' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='61' column='1' id='type-id-314'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='status' type-id='type-id-315' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='epfd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='epdata' type-id='type-id-316' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-7' volatile='yes' id='type-id-315'/>
+    <class-decl name='rte_epoll_data' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='47' column='1' id='type-id-316'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event' type-id='type-id-7' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='data' type-id='type-id-116' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cb_fun' type-id='type-id-317' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='cb_arg' type-id='type-id-116' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='51' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-318' size-in-bits='64' id='type-id-319'/>
+    <typedef-decl name='rte_intr_event_cb_t' type-id='type-id-319' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='45' column='1' id='type-id-317'/>
+
+    <array-type-def dimensions='1' type-id='type-id-314' size-in-bits='196608' id='type-id-311'>
+      <subrange length='512' type-id='type-id-13' id='type-id-313'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-312'/>
+    <pointer-type-def type-id='type-id-307' size-in-bits='64' id='type-id-119'/>
+    <class-decl name='rte_eth_dev_cb_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1' id='type-id-120'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-320' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-321' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_callback' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-322'/>
+    <pointer-type-def type-id='type-id-322' size-in-bits='64' id='type-id-320'/>
+    <pointer-type-def type-id='type-id-320' size-in-bits='64' id='type-id-321'/>
+    <class-decl name='rte_eth_rxtx_callback' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='758' column='1' id='type-id-323'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-324' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='759' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fn' type-id='type-id-325' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='763' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='param' type-id='type-id-116' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='764' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-323' size-in-bits='64' id='type-id-324'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='760' column='1' id='type-id-325'>
+      <data-member access='private'>
+        <var-decl name='rx' type-id='type-id-326' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='761' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='tx' type-id='type-id-327' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='762' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-328' size-in-bits='64' id='type-id-329'/>
+    <typedef-decl name='rte_rx_callback_fn' type-id='type-id-329' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1437' column='1' id='type-id-326'/>
+    <pointer-type-def type-id='type-id-330' size-in-bits='64' id='type-id-331'/>
+    <typedef-decl name='rte_tx_callback_fn' type-id='type-id-331' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1461' column='1' id='type-id-327'/>
+
+    <array-type-def dimensions='1' type-id='type-id-324' size-in-bits='65536' id='type-id-121'>
+      <subrange length='1024' type-id='type-id-13' id='type-id-240'/>
+
+    </array-type-def>
+    <enum-decl name='rte_eth_dev_state' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1467' column='1' id='type-id-122'>
+      <underlying-type type-id='type-id-205'/>
+      <enumerator name='RTE_ETH_DEV_UNUSED' value='0'/>
+      <enumerator name='RTE_ETH_DEV_ATTACHED' value='1'/>
+      <enumerator name='RTE_ETH_DEV_REMOVED' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-111' size-in-bits='64' id='type-id-332'/>
+    <pointer-type-def type-id='type-id-333' size-in-bits='64' id='type-id-334'/>
+    <typedef-decl name='eth_dev_configure_t' type-id='type-id-334' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='31' column='1' id='type-id-21'/>
+    <typedef-decl name='eth_dev_start_t' type-id='type-id-334' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='34' column='1' id='type-id-22'/>
+    <pointer-type-def type-id='type-id-335' size-in-bits='64' id='type-id-336'/>
+    <typedef-decl name='eth_dev_stop_t' type-id='type-id-336' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='37' column='1' id='type-id-23'/>
+    <typedef-decl name='eth_dev_set_link_up_t' type-id='type-id-334' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='40' column='1' id='type-id-24'/>
+    <typedef-decl name='eth_dev_set_link_down_t' type-id='type-id-334' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='43' column='1' id='type-id-25'/>
+    <typedef-decl name='eth_dev_close_t' type-id='type-id-336' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='46' column='1' id='type-id-26'/>
+    <typedef-decl name='eth_dev_reset_t' type-id='type-id-334' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='49' column='1' id='type-id-27'/>
+    <pointer-type-def type-id='type-id-337' size-in-bits='64' id='type-id-338'/>
+    <typedef-decl name='eth_link_update_t' type-id='type-id-338' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='155' column='1' id='type-id-28'/>
+    <typedef-decl name='eth_is_removed_t' type-id='type-id-334' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='52' column='1' id='type-id-29'/>
+    <typedef-decl name='eth_promiscuous_enable_t' type-id='type-id-334' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='78' column='1' id='type-id-30'/>
+    <typedef-decl name='eth_promiscuous_disable_t' type-id='type-id-334' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='103' column='1' id='type-id-31'/>
+    <typedef-decl name='eth_allmulticast_enable_t' type-id='type-id-334' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='128' column='1' id='type-id-32'/>
+    <typedef-decl name='eth_allmulticast_disable_t' type-id='type-id-334' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='153' column='1' id='type-id-33'/>
+    <pointer-type-def type-id='type-id-339' size-in-bits='64' id='type-id-340'/>
+    <typedef-decl name='eth_mac_addr_remove_t' type-id='type-id-340' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='391' column='1' id='type-id-34'/>
+    <pointer-type-def type-id='type-id-341' size-in-bits='64' id='type-id-342'/>
+    <typedef-decl name='eth_mac_addr_add_t' type-id='type-id-342' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='394' column='1' id='type-id-35'/>
+    <pointer-type-def type-id='type-id-343' size-in-bits='64' id='type-id-344'/>
+    <typedef-decl name='eth_mac_addr_set_t' type-id='type-id-344' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='400' column='1' id='type-id-36'/>
+    <pointer-type-def type-id='type-id-345' size-in-bits='64' id='type-id-346'/>
+    <typedef-decl name='eth_set_mc_addr_list_t' type-id='type-id-346' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='436' column='1' id='type-id-37'/>
+    <pointer-type-def type-id='type-id-347' size-in-bits='64' id='type-id-348'/>
+    <typedef-decl name='mtu_set_t' type-id='type-id-348' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='315' column='1' id='type-id-38'/>
+    <class-decl name='rte_eth_stats' size-in-bits='5632' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='243' column='1' id='type-id-349'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ipackets' type-id='type-id-130' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='opackets' type-id='type-id-130' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ibytes' type-id='type-id-130' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='246' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='obytes' type-id='type-id-130' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='imissed' type-id='type-id-130' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='ierrors' type-id='type-id-130' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='oerrors' type-id='type-id-130' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='rx_nombuf' type-id='type-id-130' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='q_ipackets' type-id='type-id-350' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='q_opackets' type-id='type-id-350' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='q_ibytes' type-id='type-id-350' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='q_obytes' type-id='type-id-350' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4608'>
+        <var-decl name='q_errors' type-id='type-id-350' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='263' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-130' size-in-bits='1024' id='type-id-350'>
+      <subrange length='16' type-id='type-id-13' id='type-id-235'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-349' size-in-bits='64' id='type-id-351'/>
+    <pointer-type-def type-id='type-id-352' size-in-bits='64' id='type-id-353'/>
+    <typedef-decl name='eth_stats_get_t' type-id='type-id-353' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='159' column='1' id='type-id-39'/>
+    <typedef-decl name='eth_stats_reset_t' type-id='type-id-334' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='182' column='1' id='type-id-40'/>
+    <class-decl name='rte_eth_xstat' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1337' column='1' id='type-id-354'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-130' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1338' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='value' type-id='type-id-130' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1339' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-354' size-in-bits='64' id='type-id-355'/>
+    <pointer-type-def type-id='type-id-356' size-in-bits='64' id='type-id-357'/>
+    <typedef-decl name='eth_xstats_get_t' type-id='type-id-357' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='184' column='1' id='type-id-41'/>
+    <typedef-decl name='eth_xstats_reset_t' type-id='type-id-334' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='213' column='1' id='type-id-42'/>
+    <class-decl name='rte_eth_xstat_name' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1349' column='1' id='type-id-358'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-186' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1350' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-358' size-in-bits='64' id='type-id-359'/>
+    <pointer-type-def type-id='type-id-360' size-in-bits='64' id='type-id-361'/>
+    <typedef-decl name='eth_xstats_get_names_t' type-id='type-id-361' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='215' column='1' id='type-id-43'/>
+    <pointer-type-def type-id='type-id-362' size-in-bits='64' id='type-id-363'/>
+    <typedef-decl name='eth_queue_stats_mapping_set_t' type-id='type-id-363' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='224' column='1' id='type-id-44'/>
+    <class-decl name='rte_eth_dev_info' size-in-bits='2560' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1226' column='1' id='type-id-364'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='device' type-id='type-id-118' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1227' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='driver_name' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='if_index' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='min_mtu' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='max_mtu' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_flags' type-id='type-id-365' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='min_rx_bufsize' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1234' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='max_rx_pktlen' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1235' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='max_lro_pkt_size' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='max_rx_queues' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='max_tx_queues' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1239' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='max_mac_addrs' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='max_hash_mac_addrs' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1241' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='max_vfs' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1243' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='max_vmdq_pools' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_offload_capa' type-id='type-id-130' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_offload_capa' type-id='type-id-130' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='rx_queue_offload_capa' type-id='type-id-130' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='tx_queue_offload_capa' type-id='type-id-130' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='reta_size' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='hash_key_size' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='flow_type_rss_offloads' type-id='type-id-130' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='default_rxconf' type-id='type-id-366' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='default_txconf' type-id='type-id-367' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='vmdq_queue_base' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1744'>
+        <var-decl name='vmdq_queue_num' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1760'>
+        <var-decl name='vmdq_pool_base' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1262' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1776'>
+        <var-decl name='rx_desc_lim' type-id='type-id-368' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1263' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='tx_desc_lim' type-id='type-id-368' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1264' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1952'>
+        <var-decl name='speed_capa' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1265' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='nb_rx_queues' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1267' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2000'>
+        <var-decl name='nb_tx_queues' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1268' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2016'>
+        <var-decl name='default_rxportconf' type-id='type-id-369' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1270' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2064'>
+        <var-decl name='default_txportconf' type-id='type-id-369' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1272' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='dev_capa' type-id='type-id-130' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1274' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='switch_info' type-id='type-id-370' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='reserved_64s' type-id='type-id-134' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1281' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='reserved_ptrs' type-id='type-id-204' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1282' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-7' const='yes' id='type-id-371'/>
+    <pointer-type-def type-id='type-id-371' size-in-bits='64' id='type-id-365'/>
+    <class-decl name='rte_eth_rxconf' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='818' column='1' id='type-id-366'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_thresh' type-id='type-id-372' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='819' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='rx_free_thresh' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='820' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='rx_drop_en' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='821' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='rx_deferred_start' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='822' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offloads' type-id='type-id-130' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='reserved_64s' type-id='type-id-134' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='830' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='reserved_ptrs' type-id='type-id-204' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='831' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_thresh' size-in-bits='24' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='327' column='1' id='type-id-372'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pthresh' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='328' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='hthresh' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='329' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='wthresh' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='330' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_txconf' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='837' column='1' id='type-id-367'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tx_thresh' type-id='type-id-372' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tx_rs_thresh' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='839' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='tx_free_thresh' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='840' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tx_deferred_start' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='843' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='offloads' type-id='type-id-130' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='849' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-134' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='851' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-204' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='852' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_desc_lim' size-in-bits='80' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='898' column='1' id='type-id-368'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_max' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='899' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='nb_min' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='900' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_align' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='901' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='nb_seg_max' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='911' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='nb_mtu_seg_max' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='924' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_portconf' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1189' column='1' id='type-id-369'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='burst_size' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1190' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='ring_size' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_queues' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1192' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_switch_info' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1204' column='1' id='type-id-370'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='domain_id' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1206' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='port_id' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1207' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-364' size-in-bits='64' id='type-id-373'/>
+    <pointer-type-def type-id='type-id-374' size-in-bits='64' id='type-id-375'/>
+    <typedef-decl name='eth_dev_infos_get_t' type-id='type-id-375' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='230' column='1' id='type-id-45'/>
+    <class-decl name='rte_eth_rxq_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1289' column='1' id='type-id-376'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mp' type-id='type-id-131' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1290' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='conf' type-id='type-id-366' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1291' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='scattered_rx' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1292' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='nb_desc' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1293' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-376' size-in-bits='64' id='type-id-377'/>
+    <pointer-type-def type-id='type-id-378' size-in-bits='64' id='type-id-379'/>
+    <typedef-decl name='eth_rxq_info_get_t' type-id='type-id-379' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='306' column='1' id='type-id-46'/>
+    <class-decl name='rte_eth_txq_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1300' column='1' id='type-id-380'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='conf' type-id='type-id-367' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1301' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='nb_desc' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1302' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-380' size-in-bits='64' id='type-id-381'/>
+    <pointer-type-def type-id='type-id-382' size-in-bits='64' id='type-id-383'/>
+    <typedef-decl name='eth_txq_info_get_t' type-id='type-id-383' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='309' column='1' id='type-id-47'/>
+    <class-decl name='rte_eth_burst_mode' size-in-bits='8256' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1318' column='1' id='type-id-384'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-130' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1319' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='info' type-id='type-id-385' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1322' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-17' size-in-bits='8192' id='type-id-385'>
+      <subrange length='1024' type-id='type-id-13' id='type-id-240'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-384' size-in-bits='64' id='type-id-386'/>
+    <pointer-type-def type-id='type-id-387' size-in-bits='64' id='type-id-388'/>
+    <typedef-decl name='eth_burst_mode_get_t' type-id='type-id-388' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='312' column='1' id='type-id-48'/>
+    <pointer-type-def type-id='type-id-389' size-in-bits='64' id='type-id-390'/>
+    <typedef-decl name='eth_fw_version_get_t' type-id='type-id-390' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='299' column='1' id='type-id-49'/>
+    <pointer-type-def type-id='type-id-391' size-in-bits='64' id='type-id-392'/>
+    <typedef-decl name='eth_dev_supported_ptypes_get_t' type-id='type-id-392' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='234' column='1' id='type-id-50'/>
+    <pointer-type-def type-id='type-id-393' size-in-bits='64' id='type-id-394'/>
+    <typedef-decl name='eth_dev_ptypes_set_t' type-id='type-id-394' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='249' column='1' id='type-id-51'/>
+    <pointer-type-def type-id='type-id-395' size-in-bits='64' id='type-id-396'/>
+    <typedef-decl name='vlan_filter_set_t' type-id='type-id-396' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='318' column='1' id='type-id-52'/>
+    <enum-decl name='rte_vlan_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='416' column='1' id='type-id-397'>
+      <underlying-type type-id='type-id-205'/>
+      <enumerator name='ETH_VLAN_TYPE_UNKNOWN' value='0'/>
+      <enumerator name='ETH_VLAN_TYPE_INNER' value='1'/>
+      <enumerator name='ETH_VLAN_TYPE_OUTER' value='2'/>
+      <enumerator name='ETH_VLAN_TYPE_MAX' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-398' size-in-bits='64' id='type-id-399'/>
+    <typedef-decl name='vlan_tpid_set_t' type-id='type-id-399' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='323' column='1' id='type-id-53'/>
+    <pointer-type-def type-id='type-id-400' size-in-bits='64' id='type-id-401'/>
+    <typedef-decl name='vlan_strip_queue_set_t' type-id='type-id-401' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='335' column='1' id='type-id-54'/>
+    <typedef-decl name='vlan_offload_set_t' type-id='type-id-338' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='327' column='1' id='type-id-55'/>
+    <typedef-decl name='vlan_pvid_set_t' type-id='type-id-396' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='330' column='1' id='type-id-56'/>
+    <typedef-decl name='eth_queue_start_t' type-id='type-id-348' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='252' column='1' id='type-id-57'/>
+    <typedef-decl name='eth_queue_stop_t' type-id='type-id-348' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='256' column='1' id='type-id-58'/>
+    <qualified-type-def type-id='type-id-366' const='yes' id='type-id-402'/>
+    <pointer-type-def type-id='type-id-402' size-in-bits='64' id='type-id-403'/>
+    <pointer-type-def type-id='type-id-404' size-in-bits='64' id='type-id-405'/>
+    <typedef-decl name='eth_rx_queue_setup_t' type-id='type-id-405' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='260' column='1' id='type-id-59'/>
+    <pointer-type-def type-id='type-id-406' size-in-bits='64' id='type-id-407'/>
+    <typedef-decl name='eth_queue_release_t' type-id='type-id-407' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='283' column='1' id='type-id-60'/>
+    <pointer-type-def type-id='type-id-408' size-in-bits='64' id='type-id-409'/>
+    <typedef-decl name='eth_rx_queue_count_t' type-id='type-id-409' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='286' column='1' id='type-id-61'/>
+    <pointer-type-def type-id='type-id-410' size-in-bits='64' id='type-id-411'/>
+    <typedef-decl name='eth_rx_descriptor_done_t' type-id='type-id-411' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='290' column='1' id='type-id-62'/>
+    <typedef-decl name='eth_rx_descriptor_status_t' type-id='type-id-411' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='293' column='1' id='type-id-63'/>
+    <typedef-decl name='eth_tx_descriptor_status_t' type-id='type-id-411' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='296' column='1' id='type-id-64'/>
+    <typedef-decl name='eth_rx_enable_intr_t' type-id='type-id-348' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='275' column='1' id='type-id-65'/>
+    <typedef-decl name='eth_rx_disable_intr_t' type-id='type-id-348' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='279' column='1' id='type-id-66'/>
+    <qualified-type-def type-id='type-id-367' const='yes' id='type-id-412'/>
+    <pointer-type-def type-id='type-id-412' size-in-bits='64' id='type-id-413'/>
+    <pointer-type-def type-id='type-id-414' size-in-bits='64' id='type-id-415'/>
+    <typedef-decl name='eth_tx_queue_setup_t' type-id='type-id-415' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='268' column='1' id='type-id-67'/>
+    <pointer-type-def type-id='type-id-416' size-in-bits='64' id='type-id-417'/>
+    <typedef-decl name='eth_tx_done_cleanup_t' type-id='type-id-417' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='303' column='1' id='type-id-68'/>
+    <typedef-decl name='eth_dev_led_on_t' type-id='type-id-334' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='385' column='1' id='type-id-69'/>
+    <typedef-decl name='eth_dev_led_off_t' type-id='type-id-334' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='388' column='1' id='type-id-70'/>
+    <class-decl name='rte_eth_fc_conf' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='942' column='1' id='type-id-418'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='high_water' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='943' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='low_water' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='944' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pause_time' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='945' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='send_xon' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='946' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='mode' type-id='type-id-419' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='947' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mac_ctrl_frame_fwd' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='948' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='autoneg' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='949' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_fc_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='930' column='1' id='type-id-419'>
+      <underlying-type type-id='type-id-205'/>
+      <enumerator name='RTE_FC_NONE' value='0'/>
+      <enumerator name='RTE_FC_RX_PAUSE' value='1'/>
+      <enumerator name='RTE_FC_TX_PAUSE' value='2'/>
+      <enumerator name='RTE_FC_FULL' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-418' size-in-bits='64' id='type-id-420'/>
+    <pointer-type-def type-id='type-id-421' size-in-bits='64' id='type-id-422'/>
+    <typedef-decl name='flow_ctrl_get_t' type-id='type-id-422' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='355' column='1' id='type-id-71'/>
+    <typedef-decl name='flow_ctrl_set_t' type-id='type-id-422' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='359' column='1' id='type-id-72'/>
+    <class-decl name='rte_eth_pfc_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='957' column='1' id='type-id-423'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fc' type-id='type-id-418' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='958' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='priority' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='959' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-423' size-in-bits='64' id='type-id-424'/>
+    <pointer-type-def type-id='type-id-425' size-in-bits='64' id='type-id-426'/>
+    <typedef-decl name='priority_flow_ctrl_set_t' type-id='type-id-426' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='363' column='1' id='type-id-73'/>
+    <pointer-type-def type-id='type-id-427' size-in-bits='64' id='type-id-428'/>
+    <typedef-decl name='eth_uc_hash_table_set_t' type-id='type-id-428' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='404' column='1' id='type-id-74'/>
+    <pointer-type-def type-id='type-id-429' size-in-bits='64' id='type-id-430'/>
+    <typedef-decl name='eth_uc_all_hash_table_set_t' type-id='type-id-430' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='409' column='1' id='type-id-75'/>
+    <class-decl name='rte_eth_mirror_conf' size-in-bits='1216' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='670' column='1' id='type-id-431'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rule_type' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='dst_pool' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='672' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pool_mask' type-id='type-id-130' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vlan' type-id='type-id-432' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='675' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vlan_mirror' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='661' column='1' id='type-id-432'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_mask' type-id='type-id-130' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='vlan_id' type-id='type-id-433' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='664' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-4' size-in-bits='1024' id='type-id-433'>
+      <subrange length='64' type-id='type-id-13' id='type-id-196'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-431' size-in-bits='64' id='type-id-434'/>
+    <pointer-type-def type-id='type-id-435' size-in-bits='64' id='type-id-436'/>
+    <typedef-decl name='eth_mirror_rule_set_t' type-id='type-id-436' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='418' column='1' id='type-id-76'/>
+    <typedef-decl name='eth_mirror_rule_reset_t' type-id='type-id-430' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='424' column='1' id='type-id-77'/>
+    <class-decl name='rte_eth_udp_tunnel' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1023' column='1' id='type-id-437'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='udp_port' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1024' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='prot_type' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1025' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-437' size-in-bits='64' id='type-id-438'/>
+    <pointer-type-def type-id='type-id-439' size-in-bits='64' id='type-id-440'/>
+    <typedef-decl name='eth_udp_tunnel_port_add_t' type-id='type-id-440' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='428' column='1' id='type-id-78'/>
+    <typedef-decl name='eth_udp_tunnel_port_del_t' type-id='type-id-440' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='432' column='1' id='type-id-79'/>
+    <class-decl name='rte_eth_l2_tunnel_conf' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='751' column='1' id='type-id-441'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='l2_tunnel_type' type-id='type-id-442' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='752' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ether_type' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tunnel_id' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='754' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='vf_id' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='755' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pool' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='756' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_tunnel_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='965' column='1' id='type-id-442'>
+      <underlying-type type-id='type-id-205'/>
+      <enumerator name='RTE_TUNNEL_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_TUNNEL_TYPE_VXLAN' value='1'/>
+      <enumerator name='RTE_TUNNEL_TYPE_GENEVE' value='2'/>
+      <enumerator name='RTE_TUNNEL_TYPE_TEREDO' value='3'/>
+      <enumerator name='RTE_TUNNEL_TYPE_NVGRE' value='4'/>
+      <enumerator name='RTE_TUNNEL_TYPE_IP_IN_GRE' value='5'/>
+      <enumerator name='RTE_L2_TUNNEL_TYPE_E_TAG' value='6'/>
+      <enumerator name='RTE_TUNNEL_TYPE_VXLAN_GPE' value='7'/>
+      <enumerator name='RTE_TUNNEL_TYPE_MAX' value='8'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-441' size-in-bits='64' id='type-id-443'/>
+    <pointer-type-def type-id='type-id-444' size-in-bits='64' id='type-id-445'/>
+    <typedef-decl name='eth_l2_tunnel_eth_type_conf_t' type-id='type-id-445' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='494' column='1' id='type-id-80'/>
+    <pointer-type-def type-id='type-id-446' size-in-bits='64' id='type-id-447'/>
+    <typedef-decl name='eth_l2_tunnel_offload_set_t' type-id='type-id-447' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='498' column='1' id='type-id-81'/>
+    <pointer-type-def type-id='type-id-448' size-in-bits='64' id='type-id-449'/>
+    <typedef-decl name='eth_set_queue_rate_limit_t' type-id='type-id-449' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='413' column='1' id='type-id-82'/>
+    <pointer-type-def type-id='type-id-207' size-in-bits='64' id='type-id-450'/>
+    <pointer-type-def type-id='type-id-451' size-in-bits='64' id='type-id-452'/>
+    <typedef-decl name='rss_hash_update_t' type-id='type-id-452' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='377' column='1' id='type-id-83'/>
+    <typedef-decl name='rss_hash_conf_get_t' type-id='type-id-452' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='381' column='1' id='type-id-84'/>
+    <class-decl name='rte_eth_rss_reta_entry64' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='684' column='1' id='type-id-453'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mask' type-id='type-id-130' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='685' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='reta' type-id='type-id-433' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='687' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-453' size-in-bits='64' id='type-id-454'/>
+    <pointer-type-def type-id='type-id-455' size-in-bits='64' id='type-id-456'/>
+    <typedef-decl name='reta_update_t' type-id='type-id-456' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='367' column='1' id='type-id-85'/>
+    <typedef-decl name='reta_query_t' type-id='type-id-456' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='372' column='1' id='type-id-86'/>
+    <class-decl name='rte_dev_reg_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='13' column='1' id='type-id-457'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-116' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='14' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offset' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='15' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='length' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='16' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='width' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='17' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='version' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='18' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-457' size-in-bits='64' id='type-id-458'/>
+    <pointer-type-def type-id='type-id-459' size-in-bits='64' id='type-id-460'/>
+    <typedef-decl name='eth_get_reg_t' type-id='type-id-460' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='471' column='1' id='type-id-87'/>
+    <typedef-decl name='eth_get_eeprom_length_t' type-id='type-id-334' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='475' column='1' id='type-id-88'/>
+    <class-decl name='rte_dev_eeprom_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='24' column='1' id='type-id-461'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-116' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='25' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offset' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='26' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='length' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='27' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='magic' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='28' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-461' size-in-bits='64' id='type-id-462'/>
+    <pointer-type-def type-id='type-id-463' size-in-bits='64' id='type-id-464'/>
+    <typedef-decl name='eth_get_eeprom_t' type-id='type-id-464' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='478' column='1' id='type-id-89'/>
+    <typedef-decl name='eth_set_eeprom_t' type-id='type-id-464' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='482' column='1' id='type-id-90'/>
+    <class-decl name='rte_eth_dev_module_info' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='34' column='1' id='type-id-465'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='eeprom_len' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-465' size-in-bits='64' id='type-id-466'/>
+    <pointer-type-def type-id='type-id-467' size-in-bits='64' id='type-id-468'/>
+    <typedef-decl name='eth_get_module_info_t' type-id='type-id-468' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='486' column='1' id='type-id-91'/>
+    <typedef-decl name='eth_get_module_eeprom_t' type-id='type-id-464' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='490' column='1' id='type-id-92'/>
+    <enum-decl name='rte_filter_type' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='28' column='1' id='type-id-469'>
+      <underlying-type type-id='type-id-205'/>
+      <enumerator name='RTE_ETH_FILTER_NONE' value='0'/>
+      <enumerator name='RTE_ETH_FILTER_MACVLAN' value='1'/>
+      <enumerator name='RTE_ETH_FILTER_ETHERTYPE' value='2'/>
+      <enumerator name='RTE_ETH_FILTER_FLEXIBLE' value='3'/>
+      <enumerator name='RTE_ETH_FILTER_SYN' value='4'/>
+      <enumerator name='RTE_ETH_FILTER_NTUPLE' value='5'/>
+      <enumerator name='RTE_ETH_FILTER_TUNNEL' value='6'/>
+      <enumerator name='RTE_ETH_FILTER_FDIR' value='7'/>
+      <enumerator name='RTE_ETH_FILTER_HASH' value='8'/>
+      <enumerator name='RTE_ETH_FILTER_L2_TUNNEL' value='9'/>
+      <enumerator name='RTE_ETH_FILTER_GENERIC' value='10'/>
+      <enumerator name='RTE_ETH_FILTER_MAX' value='11'/>
+    </enum-decl>
+    <enum-decl name='rte_filter_op' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='46' column='1' id='type-id-470'>
+      <underlying-type type-id='type-id-205'/>
+      <enumerator name='RTE_ETH_FILTER_NOP' value='0'/>
+      <enumerator name='RTE_ETH_FILTER_ADD' value='1'/>
+      <enumerator name='RTE_ETH_FILTER_UPDATE' value='2'/>
+      <enumerator name='RTE_ETH_FILTER_DELETE' value='3'/>
+      <enumerator name='RTE_ETH_FILTER_FLUSH' value='4'/>
+      <enumerator name='RTE_ETH_FILTER_GET' value='5'/>
+      <enumerator name='RTE_ETH_FILTER_SET' value='6'/>
+      <enumerator name='RTE_ETH_FILTER_INFO' value='7'/>
+      <enumerator name='RTE_ETH_FILTER_STATS' value='8'/>
+      <enumerator name='RTE_ETH_FILTER_OP_MAX' value='9'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-471' size-in-bits='64' id='type-id-472'/>
+    <typedef-decl name='eth_filter_ctrl_t' type-id='type-id-472' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='506' column='1' id='type-id-93'/>
+    <class-decl name='rte_eth_dcb_info' size-in-bits='16520' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1377' column='1' id='type-id-473'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1378' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='prio_tc' type-id='type-id-214' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1379' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='tc_bws' type-id='type-id-214' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1380' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='tc_queue' type-id='type-id-474' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1382' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dcb_tc_queue_mapping' size-in-bits='16384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1360' column='1' id='type-id-474'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tc_rxq' type-id='type-id-475' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1365' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8192'>
+        <var-decl name='tc_txq' type-id='type-id-475' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1370' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1362' column='1' id='type-id-476'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='base' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1363' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='nb_queue' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1364' column='1'/>
+      </data-member>
+    </class-decl>
+
+
+    <array-type-def dimensions='2' type-id='type-id-476' size-in-bits='1152' id='type-id-475'>
+      <subrange length='64' type-id='type-id-13' id='type-id-196'/>
+
+      <subrange length='8' type-id='type-id-13' id='type-id-216'/>
+
+    </array-type-def>
+
+
+    <pointer-type-def type-id='type-id-473' size-in-bits='64' id='type-id-477'/>
+    <pointer-type-def type-id='type-id-478' size-in-bits='64' id='type-id-479'/>
+    <typedef-decl name='eth_get_dcb_info' type-id='type-id-479' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='518' column='1' id='type-id-94'/>
+    <typedef-decl name='eth_timesync_enable_t' type-id='type-id-334' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='441' column='1' id='type-id-95'/>
+    <typedef-decl name='eth_timesync_disable_t' type-id='type-id-334' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='444' column='1' id='type-id-96'/>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='9' column='1' id='type-id-480'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tv_sec' type-id='type-id-481' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='11' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tv_nsec' type-id='type-id-482' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='long int' size-in-bits='64' id='type-id-483'/>
+    <typedef-decl name='__time_t' type-id='type-id-483' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-481'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-483' filepath='/usr/include/bits/types.h' line='196' column='1' id='type-id-482'/>
+    <pointer-type-def type-id='type-id-480' size-in-bits='64' id='type-id-484'/>
+    <pointer-type-def type-id='type-id-485' size-in-bits='64' id='type-id-486'/>
+    <typedef-decl name='eth_timesync_read_rx_timestamp_t' type-id='type-id-486' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='447' column='1' id='type-id-97'/>
+    <pointer-type-def type-id='type-id-487' size-in-bits='64' id='type-id-488'/>
+    <typedef-decl name='eth_timesync_read_tx_timestamp_t' type-id='type-id-488' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='452' column='1' id='type-id-98'/>
+    <typedef-decl name='__int64_t' type-id='type-id-483' filepath='/usr/include/bits/types.h' line='44' column='1' id='type-id-489'/>
+    <typedef-decl name='int64_t' type-id='type-id-489' filepath='/usr/include/bits/stdint-intn.h' line='27' column='1' id='type-id-490'/>
+    <pointer-type-def type-id='type-id-491' size-in-bits='64' id='type-id-492'/>
+    <typedef-decl name='eth_timesync_adjust_time' type-id='type-id-492' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='456' column='1' id='type-id-99'/>
+    <typedef-decl name='eth_timesync_read_time' type-id='type-id-488' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='459' column='1' id='type-id-100'/>
+    <qualified-type-def type-id='type-id-480' const='yes' id='type-id-493'/>
+    <pointer-type-def type-id='type-id-493' size-in-bits='64' id='type-id-494'/>
+    <pointer-type-def type-id='type-id-495' size-in-bits='64' id='type-id-496'/>
+    <typedef-decl name='eth_timesync_write_time' type-id='type-id-496' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='463' column='1' id='type-id-101'/>
+    <pointer-type-def type-id='type-id-130' size-in-bits='64' id='type-id-497'/>
+    <pointer-type-def type-id='type-id-498' size-in-bits='64' id='type-id-499'/>
+    <typedef-decl name='eth_read_clock' type-id='type-id-499' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='467' column='1' id='type-id-102'/>
+    <qualified-type-def type-id='type-id-130' const='yes' id='type-id-500'/>
+    <pointer-type-def type-id='type-id-500' size-in-bits='64' id='type-id-501'/>
+    <pointer-type-def type-id='type-id-502' size-in-bits='64' id='type-id-503'/>
+    <typedef-decl name='eth_xstats_get_by_id_t' type-id='type-id-503' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='188' column='1' id='type-id-103'/>
+    <pointer-type-def type-id='type-id-504' size-in-bits='64' id='type-id-505'/>
+    <typedef-decl name='eth_xstats_get_names_by_id_t' type-id='type-id-505' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='219' column='1' id='type-id-104'/>
+    <pointer-type-def type-id='type-id-506' size-in-bits='64' id='type-id-507'/>
+    <typedef-decl name='eth_tm_ops_get_t' type-id='type-id-507' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='512' column='1' id='type-id-105'/>
+    <typedef-decl name='eth_mtr_ops_get_t' type-id='type-id-507' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='515' column='1' id='type-id-106'/>
+    <pointer-type-def type-id='type-id-508' size-in-bits='64' id='type-id-509'/>
+    <typedef-decl name='eth_pool_ops_supported_t' type-id='type-id-509' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='522' column='1' id='type-id-107'/>
+    <class-decl name='rte_eth_hairpin_cap' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='861' column='1' id='type-id-510'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max_nb_queues' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='863' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='max_rx_2_tx' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_tx_2_rx' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='867' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='max_nb_desc' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='868' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-510' size-in-bits='64' id='type-id-511'/>
+    <pointer-type-def type-id='type-id-512' size-in-bits='64' id='type-id-513'/>
+    <typedef-decl name='eth_hairpin_cap_get_t' type-id='type-id-513' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='543' column='1' id='type-id-108'/>
+    <class-decl name='rte_eth_hairpin_conf' size-in-bits='1040' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='890' column='1' id='type-id-514'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='peer_count' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='891' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='peers' type-id='type-id-515' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='892' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_hairpin_peer' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='879' column='1' id='type-id-516'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='port' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='880' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='queue' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='881' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-516' size-in-bits='1024' id='type-id-515'>
+      <subrange length='32' type-id='type-id-13' id='type-id-148'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-514' const='yes' id='type-id-517'/>
+    <pointer-type-def type-id='type-id-517' size-in-bits='64' id='type-id-518'/>
+    <pointer-type-def type-id='type-id-519' size-in-bits='64' id='type-id-520'/>
+    <typedef-decl name='eth_rx_hairpin_queue_setup_t' type-id='type-id-520' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='571' column='1' id='type-id-109'/>
+    <typedef-decl name='eth_tx_hairpin_queue_setup_t' type-id='type-id-520' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='601' column='1' id='type-id-110'/>
+    <var-decl name='default_dev_ops' type-id='type-id-242' visibility='default' filepath='../drivers/net/bonding/eth_bond_private.h' line='185' column='1'/>
+    <class-decl name='rte_vdev_driver' size-in-bits='512' is-struct='yes' visibility='default' filepath='../drivers/bus/vdev/rte_bus_vdev.h' line='69' column='1' id='type-id-521'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-522' visibility='default' filepath='../drivers/bus/vdev/rte_bus_vdev.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='driver' type-id='type-id-249' visibility='default' filepath='../drivers/bus/vdev/rte_bus_vdev.h' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='probe' type-id='type-id-523' visibility='default' filepath='../drivers/bus/vdev/rte_bus_vdev.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='remove' type-id='type-id-524' visibility='default' filepath='../drivers/bus/vdev/rte_bus_vdev.h' line='73' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/vdev/rte_bus_vdev.h' line='70' column='1' id='type-id-522'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-525' visibility='default' filepath='../drivers/bus/vdev/rte_bus_vdev.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-526' visibility='default' filepath='../drivers/bus/vdev/rte_bus_vdev.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-521' size-in-bits='64' id='type-id-525'/>
+    <pointer-type-def type-id='type-id-525' size-in-bits='64' id='type-id-526'/>
+    <class-decl name='rte_vdev_device' size-in-bits='576' is-struct='yes' visibility='default' filepath='../drivers/bus/vdev/rte_bus_vdev.h' line='22' column='1' id='type-id-527'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-528' visibility='default' filepath='../drivers/bus/vdev/rte_bus_vdev.h' line='23' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='device' type-id='type-id-243' visibility='default' filepath='../drivers/bus/vdev/rte_bus_vdev.h' line='24' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/vdev/rte_bus_vdev.h' line='23' column='1' id='type-id-528'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-529' visibility='default' filepath='../drivers/bus/vdev/rte_bus_vdev.h' line='23' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-530' visibility='default' filepath='../drivers/bus/vdev/rte_bus_vdev.h' line='23' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-527' size-in-bits='64' id='type-id-529'/>
+    <pointer-type-def type-id='type-id-529' size-in-bits='64' id='type-id-530'/>
+    <typedef-decl name='rte_vdev_probe_t' type-id='type-id-531' filepath='../drivers/bus/vdev/rte_bus_vdev.h' line='59' column='1' id='type-id-532'/>
+    <pointer-type-def type-id='type-id-532' size-in-bits='64' id='type-id-523'/>
+    <typedef-decl name='rte_vdev_remove_t' type-id='type-id-531' filepath='../drivers/bus/vdev/rte_bus_vdev.h' line='64' column='1' id='type-id-533'/>
+    <pointer-type-def type-id='type-id-533' size-in-bits='64' id='type-id-524'/>
+    <var-decl name='pmd_bond_drv' type-id='type-id-521' visibility='default' filepath='../drivers/net/bonding/eth_bond_private.h' line='46' column='1'/>
+    <var-decl name='bond_logtype' type-id='type-id-1' visibility='default' filepath='../drivers/net/bonding/eth_bond_private.h' line='36' column='1'/>
+    <function-type size-in-bits='64' id='type-id-391'>
+      <parameter type-id='type-id-332'/>
+      <return type-id='type-id-365'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-288'>
+      <return type-id='type-id-287'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-271'>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-282'>
+      <parameter type-id='type-id-19'/>
+      <parameter type-id='type-id-116'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-275'>
+      <parameter type-id='type-id-274'/>
+      <parameter type-id='type-id-116'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-280'>
+      <parameter type-id='type-id-118'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-284'>
+      <parameter type-id='type-id-118'/>
+      <parameter type-id='type-id-116'/>
+      <parameter type-id='type-id-130'/>
+      <parameter type-id='type-id-151'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-333'>
+      <parameter type-id='type-id-332'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-389'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-306'/>
+      <parameter type-id='type-id-151'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-508'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-19'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-495'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-494'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-502'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-501'/>
+      <parameter type-id='type-id-497'/>
+      <parameter type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-471'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-469'/>
+      <parameter type-id='type-id-470'/>
+      <parameter type-id='type-id-116'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-398'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-397'/>
+      <parameter type-id='type-id-4'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-337'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-463'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-462'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-459'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-458'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-478'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-477'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-374'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-373'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-467'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-466'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-421'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-420'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-512'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-511'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-444'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-443'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-446'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-443'/>
+      <parameter type-id='type-id-7'/>
+      <parameter type-id='type-id-10'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-435'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-434'/>
+      <parameter type-id='type-id-10'/>
+      <parameter type-id='type-id-10'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-425'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-424'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-451'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-450'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-455'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-454'/>
+      <parameter type-id='type-id-4'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-352'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-351'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-439'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-438'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-356'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-355'/>
+      <parameter type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-504'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-359'/>
+      <parameter type-id='type-id-501'/>
+      <parameter type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-360'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-359'/>
+      <parameter type-id='type-id-5'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-343'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-15'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-345'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-15'/>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-341'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-15'/>
+      <parameter type-id='type-id-7'/>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-427'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-15'/>
+      <parameter type-id='type-id-10'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-487'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-484'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-485'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-484'/>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-491'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-490'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-347'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-4'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-395'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-387'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-386'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-448'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-4'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-519'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-518'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-404'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-403'/>
+      <parameter type-id='type-id-131'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-414'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-413'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-362'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-10'/>
+      <parameter type-id='type-id-10'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-393'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-429'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-10'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-498'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-497'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-506'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-116'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-531'>
+      <parameter type-id='type-id-529'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-297'>
+      <parameter type-id='type-id-116'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-410'>
+      <parameter type-id='type-id-116'/>
+      <parameter type-id='type-id-4'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-416'>
+      <parameter type-id='type-id-116'/>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-278'>
+      <parameter type-id='type-id-274'/>
+      <parameter type-id='type-id-277'/>
+      <parameter type-id='type-id-116'/>
+      <return type-id='type-id-118'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-328'>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-182'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-116'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-330'>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-182'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-116'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-183'>
+      <parameter type-id='type-id-116'/>
+      <parameter type-id='type-id-182'/>
+      <parameter type-id='type-id-4'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-408'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-4'/>
+      <return type-id='type-id-7'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-318'>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-116'/>
+      <return type-id='type-id-125'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-335'>
+      <parameter type-id='type-id-332'/>
+      <return type-id='type-id-125'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-400'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-125'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-378'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-377'/>
+      <return type-id='type-id-125'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-382'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-381'/>
+      <return type-id='type-id-125'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-339'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-125'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-169'>
+      <parameter type-id='type-id-163'/>
+      <parameter type-id='type-id-116'/>
+      <return type-id='type-id-125'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-406'>
+      <parameter type-id='type-id-116'/>
+      <return type-id='type-id-125'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-174'>
+      <parameter type-id='type-id-116'/>
+      <parameter type-id='type-id-116'/>
+      <return type-id='type-id-125'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-295'>
+      <parameter type-id='type-id-116'/>
+      <parameter type-id='type-id-19'/>
+      <parameter type-id='type-id-294'/>
+      <return type-id='type-id-116'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/bonding/rte_eth_bond_flow.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_flow_ops' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='63' column='1' id='type-id-534'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='validate' type-id='type-id-535' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='create' type-id='type-id-536' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='destroy' type-id='type-id-537' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='flush' type-id='type-id-538' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='query' type-id='type-id-539' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='isolate' type-id='type-id-540' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='95' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_flow_attr' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='75' column='1' id='type-id-541'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='group' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='priority' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='ingress' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='egress' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='transfer' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='98' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='reserved' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='99' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-541' const='yes' id='type-id-542'/>
+    <pointer-type-def type-id='type-id-542' size-in-bits='64' id='type-id-543'/>
+    <class-decl name='rte_flow_item' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1517' column='1' id='type-id-544'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-545' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1518' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='spec' type-id='type-id-116' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1519' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='last' type-id='type-id-116' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='mask' type-id='type-id-116' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1521' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_item_type' filepath='../lib/librte_ethdev/rte_flow.h' line='118' column='1' id='type-id-545'>
+      <underlying-type type-id='type-id-205'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_END' value='0'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VOID' value='1'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_INVERT' value='2'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ANY' value='3'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PF' value='4'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VF' value='5'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PHY_PORT' value='6'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PORT_ID' value='7'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_RAW' value='8'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ETH' value='9'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VLAN' value='10'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV4' value='11'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV6' value='12'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP' value='13'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_UDP' value='14'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_TCP' value='15'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_SCTP' value='16'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VXLAN' value='17'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_E_TAG' value='18'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_NVGRE' value='19'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_MPLS' value='20'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GRE' value='21'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_FUZZY' value='22'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTP' value='23'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTPC' value='24'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTPU' value='25'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ESP' value='26'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GENEVE' value='27'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VXLAN_GPE' value='28'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ARP_ETH_IPV4' value='29'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV6_EXT' value='30'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6' value='31'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_NS' value='32'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_NA' value='33'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT' value='34'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT_SLA_ETH' value='35'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT_TLA_ETH' value='36'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_MARK' value='37'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_META' value='38'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GRE_KEY' value='39'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTP_PSC' value='40'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOES' value='41'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOED' value='42'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOE_PROTO_ID' value='43'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_NSH' value='44'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IGMP' value='45'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_AH' value='46'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_HIGIG2' value='47'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_TAG' value='48'/>
+    </enum-decl>
+    <qualified-type-def type-id='type-id-544' const='yes' id='type-id-546'/>
+    <pointer-type-def type-id='type-id-546' size-in-bits='64' id='type-id-547'/>
+    <class-decl name='rte_flow_action' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2568' column='1' id='type-id-548'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-549' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2569' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='conf' type-id='type-id-116' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2570' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_action_type' filepath='../lib/librte_ethdev/rte_flow.h' line='1550' column='1' id='type-id-549'>
+      <underlying-type type-id='type-id-205'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_END' value='0'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VOID' value='1'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PASSTHRU' value='2'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_JUMP' value='3'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_MARK' value='4'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_FLAG' value='5'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_QUEUE' value='6'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DROP' value='7'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_COUNT' value='8'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RSS' value='9'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PF' value='10'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VF' value='11'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PHY_PORT' value='12'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PORT_ID' value='13'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_METER' value='14'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SECURITY' value='15'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_MPLS_TTL' value='16'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_DEC_MPLS_TTL' value='17'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_NW_TTL' value='18'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_DEC_NW_TTL' value='19'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_OUT' value='20'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_IN' value='21'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_POP_VLAN' value='22'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_PUSH_VLAN' value='23'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_VID' value='24'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_PCP' value='25'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_POP_MPLS' value='26'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_PUSH_MPLS' value='27'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VXLAN_ENCAP' value='28'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VXLAN_DECAP' value='29'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_NVGRE_ENCAP' value='30'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_NVGRE_DECAP' value='31'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RAW_ENCAP' value='32'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RAW_DECAP' value='33'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV4_SRC' value='34'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV4_DST' value='35'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV6_SRC' value='36'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV6_DST' value='37'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TP_SRC' value='38'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TP_DST' value='39'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_MAC_SWAP' value='40'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TTL' value='41'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TTL' value='42'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_MAC_SRC' value='43'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_MAC_DST' value='44'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_INC_TCP_SEQ' value='45'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TCP_SEQ' value='46'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_INC_TCP_ACK' value='47'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TCP_ACK' value='48'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TAG' value='49'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_META' value='50'/>
+    </enum-decl>
+    <qualified-type-def type-id='type-id-548' const='yes' id='type-id-550'/>
+    <pointer-type-def type-id='type-id-550' size-in-bits='64' id='type-id-551'/>
+    <class-decl name='rte_flow_error' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2618' column='1' id='type-id-552'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-553' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2619' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='cause' type-id='type-id-116' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2620' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='message' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2621' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_error_type' filepath='../lib/librte_ethdev/rte_flow.h' line='2587' column='1' id='type-id-553'>
+      <underlying-type type-id='type-id-205'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_UNSPECIFIED' value='1'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_HANDLE' value='2'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_GROUP' value='3'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_PRIORITY' value='4'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_INGRESS' value='5'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_EGRESS' value='6'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_TRANSFER' value='7'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR' value='8'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_NUM' value='9'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_SPEC' value='10'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_LAST' value='11'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_MASK' value='12'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM' value='13'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION_NUM' value='14'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION_CONF' value='15'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION' value='16'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-552' size-in-bits='64' id='type-id-554'/>
+    <pointer-type-def type-id='type-id-555' size-in-bits='64' id='type-id-535'/>
+    <class-decl name='rte_flow' size-in-bits='2368' is-struct='yes' visibility='default' filepath='../drivers/net/bonding/eth_bond_private.h' line='93' column='1' id='type-id-556'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-557' visibility='default' filepath='../drivers/net/bonding/eth_bond_private.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='flows' type-id='type-id-558' visibility='default' filepath='../drivers/net/bonding/eth_bond_private.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='rule' type-id='type-id-559' visibility='default' filepath='../drivers/net/bonding/eth_bond_private.h' line='98' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='rule_data' type-id='type-id-560' visibility='default' filepath='../drivers/net/bonding/eth_bond_private.h' line='99' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/bonding/eth_bond_private.h' line='94' column='1' id='type-id-557'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-561' visibility='default' filepath='../drivers/net/bonding/eth_bond_private.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-562' visibility='default' filepath='../drivers/net/bonding/eth_bond_private.h' line='94' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-556' size-in-bits='64' id='type-id-561'/>
+    <pointer-type-def type-id='type-id-561' size-in-bits='64' id='type-id-562'/>
+
+    <array-type-def dimensions='1' type-id='type-id-561' size-in-bits='2048' id='type-id-558'>
+      <subrange length='32' type-id='type-id-13' id='type-id-148'/>
+
+    </array-type-def>
+    <class-decl name='rte_flow_conv_rule' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2633' column='1' id='type-id-559'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-563' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2634' column='1' id='type-id-563'>
+      <data-member access='private'>
+        <var-decl name='attr_ro' type-id='type-id-543' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2635' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='attr' type-id='type-id-564' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2636' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-541' size-in-bits='64' id='type-id-564'/>
+
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='infinite' id='type-id-560'>
+      <subrange length='infinite' type-id='type-id-13' id='type-id-136'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-565' size-in-bits='64' id='type-id-536'/>
+    <pointer-type-def type-id='type-id-566' size-in-bits='64' id='type-id-537'/>
+    <pointer-type-def type-id='type-id-567' size-in-bits='64' id='type-id-538'/>
+    <pointer-type-def type-id='type-id-568' size-in-bits='64' id='type-id-539'/>
+    <pointer-type-def type-id='type-id-569' size-in-bits='64' id='type-id-540'/>
+    <qualified-type-def type-id='type-id-534' const='yes' id='type-id-570'/>
+    <var-decl name='bond_flow_ops' type-id='type-id-570' visibility='default' filepath='../drivers/net/bonding/eth_bond_private.h' line='48' column='1'/>
+    <function-type size-in-bits='64' id='type-id-555'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-543'/>
+      <parameter type-id='type-id-547'/>
+      <parameter type-id='type-id-551'/>
+      <parameter type-id='type-id-554'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-569'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-554'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-568'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-561'/>
+      <parameter type-id='type-id-551'/>
+      <parameter type-id='type-id-116'/>
+      <parameter type-id='type-id-554'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-566'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-561'/>
+      <parameter type-id='type-id-554'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-567'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-554'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-565'>
+      <parameter type-id='type-id-332'/>
+      <parameter type-id='type-id-543'/>
+      <parameter type-id='type-id-547'/>
+      <parameter type-id='type-id-551'/>
+      <parameter type-id='type-id-554'/>
+      <return type-id='type-id-561'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/bonding/rte_eth_bond_args.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+
+    <array-type-def dimensions='1' type-id='type-id-19' size-in-bits='infinite' id='type-id-571'>
+      <subrange length='infinite' id='type-id-136'/>
+
+    </array-type-def>
+    <var-decl name='pmd_bond_init_valid_arguments' type-id='type-id-571' visibility='default' filepath='../drivers/net/bonding/eth_bond_private.h' line='44' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/bonding/rte_eth_bond_8023ad.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='port' size-in-bits='1216' is-struct='yes' visibility='default' filepath='../drivers/net/bonding/eth_bond_8023ad_private.h' line='86' column='1' id='type-id-572'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='actor_state' type-id='type-id-10' visibility='default' filepath='../drivers/net/bonding/eth_bond_8023ad_private.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='actor' type-id='type-id-573' visibility='default' filepath='../drivers/net/bonding/eth_bond_8023ad_private.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='partner_state' type-id='type-id-10' visibility='default' filepath='../drivers/net/bonding/eth_bond_8023ad_private.h' line='102' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='partner' type-id='type-id-573' visibility='default' filepath='../drivers/net/bonding/eth_bond_8023ad_private.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='sm_flags' type-id='type-id-4' visibility='default' filepath='../drivers/net/bonding/eth_bond_8023ad_private.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='selected' type-id='type-id-574' visibility='default' filepath='../drivers/net/bonding/eth_bond_8023ad_private.h' line='110' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='forced_rx_flags' type-id='type-id-10' visibility='default' filepath='../drivers/net/bonding/eth_bond_8023ad_private.h' line='117' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='current_while_timer' type-id='type-id-130' visibility='default' filepath='../drivers/net/bonding/eth_bond_8023ad_private.h' line='119' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='periodic_timer' type-id='type-id-130' visibility='default' filepath='../drivers/net/bonding/eth_bond_8023ad_private.h' line='120' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='wait_while_timer' type-id='type-id-130' visibility='default' filepath='../drivers/net/bonding/eth_bond_8023ad_private.h' line='121' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_machine_timer' type-id='type-id-130' visibility='default' filepath='../drivers/net/bonding/eth_bond_8023ad_private.h' line='122' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='tx_marker_timer' type-id='type-id-130' visibility='default' filepath='../drivers/net/bonding/eth_bond_8023ad_private.h' line='123' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='aggregator_port_id' type-id='type-id-4' visibility='default' filepath='../drivers/net/bonding/eth_bond_8023ad_private.h' line='126' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='mbuf_pool' type-id='type-id-131' visibility='default' filepath='../drivers/net/bonding/eth_bond_8023ad_private.h' line='129' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='rx_ring' type-id='type-id-575' visibility='default' filepath='../drivers/net/bonding/eth_bond_8023ad_private.h' line='132' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='tx_ring' type-id='type-id-575' visibility='default' filepath='../drivers/net/bonding/eth_bond_8023ad_private.h' line='135' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='rx_marker_timer' type-id='type-id-576' visibility='default' filepath='../drivers/net/bonding/eth_bond_8023ad_private.h' line='140' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='warning_timer' type-id='type-id-130' visibility='default' filepath='../drivers/net/bonding/eth_bond_8023ad_private.h' line='142' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='warnings_to_show' type-id='type-id-577' visibility='default' filepath='../drivers/net/bonding/eth_bond_8023ad_private.h' line='143' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='slow_pool' type-id='type-id-131' visibility='default' filepath='../drivers/net/bonding/eth_bond_8023ad_private.h' line='146' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='port_params' size-in-bits='112' is-struct='yes' visibility='default' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.h' line='65' column='1' id='type-id-573'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='system_priority' type-id='type-id-4' visibility='default' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='system' type-id='type-id-11' visibility='default' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key' type-id='type-id-4' visibility='default' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='port_priority' type-id='type-id-4' visibility='default' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='port_number' type-id='type-id-4' visibility='default' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.h' line='74' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_bond_8023ad_selection' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.h' line='41' column='1' id='type-id-574'>
+      <underlying-type type-id='type-id-205'/>
+      <enumerator name='UNSELECTED' value='0'/>
+      <enumerator name='STANDBY' value='1'/>
+      <enumerator name='SELECTED' value='2'/>
+    </enum-decl>
+    <class-decl name='rte_ring' size-in-bits='3072' is-struct='yes' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='81' column='1' id='type-id-578'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-141' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='87' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='flags' type-id='type-id-1' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='memzone' type-id='type-id-143' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='89' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='size' type-id='type-id-7' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='mask' type-id='type-id-7' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='92' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='capacity' type-id='type-id-7' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='93' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='pad0' type-id='type-id-17' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='95' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='prod' type-id='type-id-579' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='98' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='pad1' type-id='type-id-17' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='99' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='cons' type-id='type-id-579' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='102' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='pad2' type-id='type-id-17' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='103' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_ring_headtail' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='65' column='1' id='type-id-579'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='head' type-id='type-id-315' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tail' type-id='type-id-315' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='single' type-id='type-id-7' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='68' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-578' size-in-bits='64' id='type-id-575'/>
+    <qualified-type-def type-id='type-id-130' volatile='yes' id='type-id-576'/>
+    <qualified-type-def type-id='type-id-4' volatile='yes' id='type-id-577'/>
+
+    <array-type-def dimensions='1' type-id='type-id-572' size-in-bits='infinite' id='type-id-580'>
+      <subrange length='infinite' id='type-id-136'/>
+
+    </array-type-def>
+    <var-decl name='bond_mode_8023ad_ports' type-id='type-id-580' visibility='default' filepath='../drivers/net/bonding/eth_bond_8023ad_private.h' line='185' column='1'/>
+    <function-decl name='rte_eth_bond_8023ad_dedicated_queues_disable' mangled-name='rte_eth_bond_8023ad_dedicated_queues_disable' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.c' line='1695' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_bond_8023ad_dedicated_queues_disable@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='port' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.c' line='1695' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_bond_8023ad_dedicated_queues_enable' mangled-name='rte_eth_bond_8023ad_dedicated_queues_enable' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.c' line='1666' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_bond_8023ad_dedicated_queues_enable@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='port' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.c' line='1695' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_bond_8023ad_ext_slowtx' mangled-name='rte_eth_bond_8023ad_ext_slowtx' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.c' line='1605' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_bond_8023ad_ext_slowtx@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='port_id' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.c' line='1605' column='1'/>
+      <parameter type-id='type-id-4' name='slave_id' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.c' line='1605' column='1'/>
+      <parameter type-id='type-id-132' name='lacp_pkt' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.c' line='1606' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_bond_8023ad_ext_collect_get' mangled-name='rte_eth_bond_8023ad_ext_collect_get' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.c' line='1591' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_bond_8023ad_ext_collect_get@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='port_id' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.c' line='1591' column='1'/>
+      <parameter type-id='type-id-4' name='slave_id' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.c' line='1591' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_bond_8023ad_ext_distrib_get' mangled-name='rte_eth_bond_8023ad_ext_distrib_get' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.c' line='1577' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_bond_8023ad_ext_distrib_get@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='port_id' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.c' line='1591' column='1'/>
+      <parameter type-id='type-id-4' name='slave_id' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.c' line='1591' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_bond_8023ad_ext_distrib' mangled-name='rte_eth_bond_8023ad_ext_distrib' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.c' line='1556' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_bond_8023ad_ext_distrib@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='port_id' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.c' line='1556' column='1'/>
+      <parameter type-id='type-id-4' name='slave_id' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.c' line='1556' column='1'/>
+      <parameter type-id='type-id-1' name='enabled' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.c' line='1557' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_bond_8023ad_ext_collect' mangled-name='rte_eth_bond_8023ad_ext_collect' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.c' line='1535' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_bond_8023ad_ext_collect@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='port_id' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.c' line='1556' column='1'/>
+      <parameter type-id='type-id-4' name='slave_id' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.c' line='1556' column='1'/>
+      <parameter type-id='type-id-1' name='enabled' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.c' line='1557' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_eth_bond_8023ad_slave_info' size-in-bits='320' is-struct='yes' visibility='default' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.h' line='144' column='1' id='type-id-581'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='selected' type-id='type-id-574' visibility='default' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.h' line='145' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='actor_state' type-id='type-id-10' visibility='default' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.h' line='146' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='actor' type-id='type-id-573' visibility='default' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.h' line='147' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='partner_state' type-id='type-id-10' visibility='default' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.h' line='148' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='partner' type-id='type-id-573' visibility='default' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.h' line='149' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='agg_port_id' type-id='type-id-4' visibility='default' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.h' line='150' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-581' size-in-bits='64' id='type-id-582'/>
+    <function-decl name='rte_eth_bond_8023ad_slave_info' mangled-name='rte_eth_bond_8023ad_slave_info' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.c' line='1474' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_bond_8023ad_slave_info@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='port_id' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.c' line='1474' column='1'/>
+      <parameter type-id='type-id-4' name='slave_id' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.c' line='1474' column='1'/>
+      <parameter type-id='type-id-582' name='info' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.c' line='1475' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_eth_bond_8023ad_conf' size-in-bits='384' is-struct='yes' visibility='default' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.h' line='131' column='1' id='type-id-583'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fast_periodic_ms' type-id='type-id-7' visibility='default' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.h' line='132' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='slow_periodic_ms' type-id='type-id-7' visibility='default' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.h' line='133' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='short_timeout_ms' type-id='type-id-7' visibility='default' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.h' line='134' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='long_timeout_ms' type-id='type-id-7' visibility='default' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.h' line='135' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='aggregate_wait_timeout_ms' type-id='type-id-7' visibility='default' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.h' line='136' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='tx_period_ms' type-id='type-id-7' visibility='default' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='rx_marker_period_ms' type-id='type-id-7' visibility='default' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='update_timeout_ms' type-id='type-id-7' visibility='default' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.h' line='139' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='slowrx_cb' type-id='type-id-584' visibility='default' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.h' line='140' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='agg_selection' type-id='type-id-585' visibility='default' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.h' line='141' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-586' size-in-bits='64' id='type-id-587'/>
+    <typedef-decl name='rte_eth_bond_8023ad_ext_slowrx_fn' type-id='type-id-587' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.h' line='38' column='1' id='type-id-584'/>
+    <enum-decl name='rte_bond_8023ad_agg_selection' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.h' line='47' column='1' id='type-id-585'>
+      <underlying-type type-id='type-id-205'/>
+      <enumerator name='AGG_BANDWIDTH' value='0'/>
+      <enumerator name='AGG_COUNT' value='1'/>
+      <enumerator name='AGG_STABLE' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-583' size-in-bits='64' id='type-id-588'/>
+    <function-decl name='rte_eth_bond_8023ad_setup' mangled-name='rte_eth_bond_8023ad_setup' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.c' line='1453' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_bond_8023ad_setup@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='port_id' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.c' line='1453' column='1'/>
+      <parameter type-id='type-id-588' name='conf' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.c' line='1454' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_bond_8023ad_agg_selection_get' mangled-name='rte_eth_bond_8023ad_agg_selection_get' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.c' line='1405' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_bond_8023ad_agg_selection_get@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='port' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.c' line='1695' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_bond_8023ad_agg_selection_set' mangled-name='rte_eth_bond_8023ad_agg_selection_set' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.c' line='1382' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_bond_8023ad_agg_selection_set@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='port_id' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.c' line='1382' column='1'/>
+      <parameter type-id='type-id-585' name='agg_selection' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.c' line='1383' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_eth_bond_8023ad_conf_get' mangled-name='rte_eth_bond_8023ad_conf_get' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.c' line='1365' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_bond_8023ad_conf_get@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='port_id' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.c' line='1365' column='1'/>
+      <parameter type-id='type-id-588' name='conf' filepath='../drivers/net/bonding/rte_eth_bond_8023ad.c' line='1366' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-586'>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-132'/>
+      <return type-id='type-id-125'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_cxgbe.dump b/drivers/.abi/librte_pmd_cxgbe.dump
new file mode 100644
index 000000000..bb9abd033
--- /dev/null
+++ b/drivers/.abi/librte_pmd_cxgbe.dump
@@ -0,0 +1,27 @@
+<abi-corpus path='gcc//drivers/librte_pmd_cxgbe.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_cxgbe.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/cxgbe/cxgbe_ethdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='cxgbe_logtype' type-id='type-id-1' visibility='default' filepath='../drivers/net/cxgbe/base/../cxgbe_compat.h' line='23' column='1'/>
+    <var-decl name='cxgbe_mbox_logtype' type-id='type-id-1' visibility='default' filepath='../drivers/net/cxgbe/base/../cxgbe_compat.h' line='24' column='1'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_dpaa.dump b/drivers/.abi/librte_pmd_dpaa.dump
new file mode 100644
index 000000000..5b253ff4f
--- /dev/null
+++ b/drivers/.abi/librte_pmd_dpaa.dump
@@ -0,0 +1,2929 @@
+<abi-corpus path='gcc//drivers/librte_pmd_dpaa.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_dpaa.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='librte_mempool_dpaa.so.20.0'/>
+    <dependency name='librte_bus_dpaa.so.20.0'/>
+    <dependency name='librte_common_dpaax.so.20.0'/>
+    <dependency name='librte_eventdev.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='librte_timer.so.20.0'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='dpaa_eth_eventq_attach' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpaa_eth_eventq_detach' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_dpaa_set_tx_loopback' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/dpaa/dpaa_ethdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-2'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-2' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-3'/>
+    <typedef-decl name='uint8_t' type-id='type-id-3' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-4'/>
+    <function-decl name='rte_pmd_dpaa_set_tx_loopback' mangled-name='rte_pmd_dpaa_set_tx_loopback' filepath='../drivers/net/dpaa/dpaa_ethdev.c' line='1124' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_dpaa_set_tx_loopback@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='port' filepath='../drivers/net/dpaa/dpaa_ethdev.c' line='1124' column='1'/>
+      <parameter type-id='type-id-4' name='on' filepath='../drivers/net/dpaa/dpaa_ethdev.c' line='1124' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_eth_dev' size-in-bits='132608' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='777' column='1' id='type-id-5'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_pkt_burst' type-id='type-id-6' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='778' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tx_pkt_burst' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tx_pkt_prepare' type-id='type-id-8' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='data' type-id='type-id-9' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='786' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='process_private' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='787' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_ops' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='788' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='device' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='789' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='intr_handle' type-id='type-id-13' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='790' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='link_intr_cbs' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='792' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='post_rx_burst_cbs' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='797' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='66176'>
+        <var-decl name='pre_tx_burst_cbs' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131712'>
+        <var-decl name='state' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='803' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131776'>
+        <var-decl name='security_ctx' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131840'>
+        <var-decl name='reserved_64s' type-id='type-id-17' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='806' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='132096'>
+        <var-decl name='reserved_ptrs' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='807' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-19'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-19' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-20'/>
+    <typedef-decl name='uint16_t' type-id='type-id-20' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-21'/>
+    <type-decl name='void' id='type-id-22'/>
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-10'/>
+    <class-decl name='rte_mbuf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='480' column='1' id='type-id-23'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheline0' type-id='type-id-24' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-10' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-25' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rearm_data' type-id='type-id-26' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='497' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_off' type-id='type-id-21' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_segs' type-id='type-id-21' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='port' type-id='type-id-21' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ol_flags' type-id='type-id-27' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_descriptor_fields1' type-id='type-id-24' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='pkt_len' type-id='type-id-28' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data_len' type-id='type-id-21' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='vlan_tci' type-id='type-id-21' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vlan_tci_outer' type-id='type-id-21' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='buf_len' type-id='type-id-21' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='timestamp' type-id='type-id-27' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cacheline1' type-id='type-id-24' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='pool' type-id='type-id-29' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='next' type-id='type-id-30' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv_size' type-id='type-id-21' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='timesync' type-id='type-id-21' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='seqn' type-id='type-id-28' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='shinfo' type-id='type-id-31' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dynfield1' type-id='type-id-32' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-33'/>
+
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='infinite' id='type-id-34'>
+      <subrange length='infinite' type-id='type-id-33' id='type-id-35'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER' type-id='type-id-34' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='414' column='1' id='type-id-24'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='491' column='1' id='type-id-25'>
+      <data-member access='private'>
+        <var-decl name='buf_iova' type-id='type-id-36' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='buf_physaddr' type-id='type-id-36' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='__uint64_t' type-id='type-id-33' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-37'/>
+    <typedef-decl name='uint64_t' type-id='type-id-37' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-27'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-27' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-36'/>
+
+    <array-type-def dimensions='1' type-id='type-id-27' size-in-bits='infinite' id='type-id-38'>
+      <subrange length='infinite' type-id='type-id-33' id='type-id-35'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER64' type-id='type-id-38' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='420' column='1' id='type-id-26'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-39'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-39' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-40'/>
+    <typedef-decl name='uint32_t' type-id='type-id-40' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-28'/>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-41'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-42' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-43' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-10' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-44' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-45' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-46' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-47' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-48' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-49'/>
+
+    <array-type-def dimensions='1' type-id='type-id-49' size-in-bits='256' id='type-id-42'>
+      <subrange length='32' type-id='type-id-33' id='type-id-50'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-43'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-10' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-27' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-51'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-42' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-52' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-53' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-27' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-45' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-28' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-52'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-54' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-36' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-27' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-54'/>
+    <typedef-decl name='size_t' type-id='type-id-33' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-53'/>
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-55'/>
+    <typedef-decl name='int32_t' type-id='type-id-55' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-45'/>
+    <qualified-type-def type-id='type-id-51' const='yes' id='type-id-56'/>
+    <pointer-type-def type-id='type-id-56' size-in-bits='64' id='type-id-44'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-57'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-58' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='98304' id='type-id-58'>
+      <subrange length='1536' type-id='type-id-33' id='type-id-59'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-57' size-in-bits='64' id='type-id-46'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-47'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-60' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-61' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-62'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-63' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-29' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-64' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-63'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-60' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-62' size-in-bits='64' id='type-id-60'/>
+    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-29'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-64'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-36' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-54' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-61'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-48'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-65' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-66' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-67'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-68' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-29' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-10' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-69' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-53' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-70' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-10' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-68'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-65' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-67' size-in-bits='64' id='type-id-65'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-69'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-36' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-54' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-71' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-72'/>
+    <pointer-type-def type-id='type-id-72' size-in-bits='64' id='type-id-70'/>
+    <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-66'/>
+    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-30'/>
+    <class-decl name='rte_mbuf_ext_shared_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='689' column='1' id='type-id-73'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_cb' type-id='type-id-74' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcb_opaque' type-id='type-id-10' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt_atomic' type-id='type-id-75' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-76' size-in-bits='64' id='type-id-77'/>
+    <typedef-decl name='rte_mbuf_extbuf_free_callback_t' type-id='type-id-77' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='684' column='1' id='type-id-74'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-75' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-78'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-79' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-80'/>
+    <typedef-decl name='__int16_t' type-id='type-id-80' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-81'/>
+    <typedef-decl name='int16_t' type-id='type-id-81' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-82'/>
+    <qualified-type-def type-id='type-id-82' volatile='yes' id='type-id-79'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-78' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-75'/>
+    <pointer-type-def type-id='type-id-73' size-in-bits='64' id='type-id-31'/>
+
+    <array-type-def dimensions='1' type-id='type-id-27' size-in-bits='128' id='type-id-32'>
+      <subrange length='2' type-id='type-id-33' id='type-id-83'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-84'/>
+    <pointer-type-def type-id='type-id-85' size-in-bits='64' id='type-id-86'/>
+    <typedef-decl name='eth_rx_burst_t' type-id='type-id-86' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='340' column='1' id='type-id-6'/>
+    <typedef-decl name='eth_tx_burst_t' type-id='type-id-86' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='345' column='1' id='type-id-7'/>
+    <typedef-decl name='eth_tx_prep_t' type-id='type-id-86' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='350' column='1' id='type-id-8'/>
+    <class-decl name='rte_eth_dev_data' size-in-bits='55808' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='820' column='1' id='type-id-87'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-88' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='821' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_queues' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='823' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_queues' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='824' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='nb_rx_queues' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='825' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='656'>
+        <var-decl name='nb_tx_queues' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='826' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='sriov' type-id='type-id-90' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='dev_private' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='830' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_link' type-id='type-id-91' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='835' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dev_conf' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='836' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25536'>
+        <var-decl name='mtu' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='837' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25568'>
+        <var-decl name='min_rx_buf_size' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25600'>
+        <var-decl name='rx_mbuf_alloc_failed' type-id='type-id-27' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='841' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25664'>
+        <var-decl name='mac_addrs' type-id='type-id-93' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='842' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25728'>
+        <var-decl name='mac_pool_sel' type-id='type-id-94' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='846' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='33920'>
+        <var-decl name='hash_mac_addrs' type-id='type-id-93' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='848' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='33984'>
+        <var-decl name='port_id' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='852' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='promiscuous' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='855' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='scattered_rx' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='856' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='all_multicast' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='857' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4'>
+        <var-decl name='dev_started' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='858' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3'>
+        <var-decl name='lro' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='859' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='34008'>
+        <var-decl name='rx_queue_state' type-id='type-id-95' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='860' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='42200'>
+        <var-decl name='tx_queue_state' type-id='type-id-95' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='862' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50400'>
+        <var-decl name='dev_flags' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='864' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50432'>
+        <var-decl name='kdrv' type-id='type-id-96' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50464'>
+        <var-decl name='numa_node' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='866' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50496'>
+        <var-decl name='vlan_filter_conf' type-id='type-id-97' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='867' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='54592'>
+        <var-decl name='owner' type-id='type-id-98' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='869' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55168'>
+        <var-decl name='representor_id' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='870' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55232'>
+        <var-decl name='reserved_64s' type-id='type-id-17' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='875' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55488'>
+        <var-decl name='reserved_ptrs' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='876' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-49' size-in-bits='512' id='type-id-88'>
+      <subrange length='64' type-id='type-id-33' id='type-id-99'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-89'/>
+    <class-decl name='rte_eth_dev_sriov' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1476' column='1' id='type-id-90'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='active' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1477' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='nb_q_per_pool' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1478' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='def_vmdq_idx' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1479' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='def_pool_q_idx' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1480' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_link' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='308' column='1' id='type-id-91'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_speed' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='309' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='15'>
+        <var-decl name='link_duplex' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='310' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='14'>
+        <var-decl name='link_autoneg' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='311' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='13'>
+        <var-decl name='link_status' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='312' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_conf' size-in-bits='24640' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1045' column='1' id='type-id-92'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_speeds' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1046' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rxmode' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1053' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='txmode' type-id='type-id-101' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1054' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='lpbk_mode' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1055' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='rx_adv_conf' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1068' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='17984'>
+        <var-decl name='tx_adv_conf' type-id='type-id-103' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1076' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18080'>
+        <var-decl name='dcb_capability_en' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1079' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18112'>
+        <var-decl name='fdir_conf' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1080' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24576'>
+        <var-decl name='intr_conf' type-id='type-id-105' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1081' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rxmode' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='394' column='1' id='type-id-100'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mq_mode' type-id='type-id-106' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='396' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_rx_pkt_len' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='397' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='max_lro_pkt_size' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='399' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='split_hdr_size' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='400' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='offloads' type-id='type-id-27' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='406' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='408' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-107' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='409' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-108'/>
+    <enum-decl name='rte_eth_rx_mq_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='344' column='1' id='type-id-106'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='ETH_MQ_RX_NONE' value='0'/>
+      <enumerator name='ETH_MQ_RX_RSS' value='1'/>
+      <enumerator name='ETH_MQ_RX_DCB' value='2'/>
+      <enumerator name='ETH_MQ_RX_DCB_RSS' value='3'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_ONLY' value='4'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_RSS' value='5'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_DCB' value='6'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_DCB_RSS' value='7'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='128' id='type-id-107'>
+      <subrange length='2' type-id='type-id-33' id='type-id-83'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_txmode' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='792' column='1' id='type-id-101'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mq_mode' type-id='type-id-109' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='793' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offloads' type-id='type-id-27' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='799' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pvid' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='hw_vlan_reject_tagged' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='hw_vlan_reject_untagged' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='806' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='hw_vlan_insert_pvid' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='808' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='811' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-107' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='812' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_tx_mq_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='377' column='1' id='type-id-109'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='ETH_MQ_TX_NONE' value='0'/>
+      <enumerator name='ETH_MQ_TX_DCB' value='1'/>
+      <enumerator name='ETH_MQ_TX_VMDQ_DCB' value='2'/>
+      <enumerator name='ETH_MQ_TX_VMDQ_ONLY' value='3'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16960' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1060' column='1' id='type-id-102'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rss_conf' type-id='type-id-110' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1061' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='vmdq_dcb_conf' type-id='type-id-111' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1062' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8512'>
+        <var-decl name='dcb_rx_conf' type-id='type-id-112' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1064' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8640'>
+        <var-decl name='vmdq_rx_conf' type-id='type-id-113' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1066' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rss_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='448' column='1' id='type-id-110'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rss_key' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rss_key_len' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rss_hf' type-id='type-id-27' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='451' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-114'/>
+    <class-decl name='rte_eth_vmdq_dcb_conf' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='745' column='1' id='type-id-111'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-115' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='746' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='enable_default_pool' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='default_pool' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='748' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='nb_pool_maps' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='749' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pool_map' type-id='type-id-116' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8256'>
+        <var-decl name='dcb_tc' type-id='type-id-117' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='754' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_nb_pools' filepath='../lib/librte_ethdev/rte_ethdev.h' line='704' column='1' id='type-id-115'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='ETH_8_POOLS' value='8'/>
+      <enumerator name='ETH_16_POOLS' value='16'/>
+      <enumerator name='ETH_32_POOLS' value='32'/>
+      <enumerator name='ETH_64_POOLS' value='64'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='750' column='1' id='type-id-118'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_id' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='751' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pools' type-id='type-id-27' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='752' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-118' size-in-bits='8192' id='type-id-116'>
+      <subrange length='64' type-id='type-id-33' id='type-id-99'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-4' size-in-bits='64' id='type-id-117'>
+      <subrange length='8' type-id='type-id-33' id='type-id-119'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_dcb_rx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='712' column='1' id='type-id-112'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-117' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='715' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_nb_tcs' filepath='../lib/librte_ethdev/rte_ethdev.h' line='695' column='1' id='type-id-120'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='ETH_4_TCS' value='4'/>
+      <enumerator name='ETH_8_TCS' value='8'/>
+    </enum-decl>
+    <class-decl name='rte_eth_vmdq_rx_conf' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='776' column='1' id='type-id-113'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-115' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='777' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='enable_default_pool' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='778' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='default_pool' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='enable_loop_back' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='nb_pool_maps' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='781' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rx_mode' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='782' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pool_map' type-id='type-id-116' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='786' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <union-decl name='__anonymous_union__' size-in-bits='96' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1069' column='1' id='type-id-103'>
+      <data-member access='private'>
+        <var-decl name='vmdq_dcb_tx_conf' type-id='type-id-121' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1070' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dcb_tx_conf' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1072' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='vmdq_tx_conf' type-id='type-id-123' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1074' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_eth_vmdq_dcb_tx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='718' column='1' id='type-id-121'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-115' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-117' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='721' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dcb_tx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='724' column='1' id='type-id-122'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-117' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='727' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vmdq_tx_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='730' column='1' id='type-id-123'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-115' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='731' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_fdir_conf' size-in-bits='6464' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1005' column='1' id='type-id-104'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mode' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1006' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='pballoc' type-id='type-id-125' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1007' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='status' type-id='type-id-126' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1008' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='drop_queue' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1010' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mask' type-id='type-id-127' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1011' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='flex_conf' type-id='type-id-128' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1012' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_fdir_mode' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='603' column='1' id='type-id-124'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='RTE_FDIR_MODE_NONE' value='0'/>
+      <enumerator name='RTE_FDIR_MODE_SIGNATURE' value='1'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT' value='2'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT_MAC_VLAN' value='3'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT_TUNNEL' value='4'/>
+    </enum-decl>
+    <enum-decl name='rte_fdir_pballoc_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='984' column='1' id='type-id-125'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='RTE_FDIR_PBALLOC_64K' value='0'/>
+      <enumerator name='RTE_FDIR_PBALLOC_128K' value='1'/>
+      <enumerator name='RTE_FDIR_PBALLOC_256K' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_fdir_status_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='993' column='1' id='type-id-126'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='RTE_FDIR_NO_REPORT_STATUS' value='0'/>
+      <enumerator name='RTE_FDIR_REPORT_STATUS' value='1'/>
+      <enumerator name='RTE_FDIR_REPORT_STATUS_ALWAYS' value='2'/>
+    </enum-decl>
+    <class-decl name='rte_eth_fdir_masks' size-in-bits='544' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='533' column='1' id='type-id-127'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_tci_mask' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='534' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ipv4_mask' type-id='type-id-129' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='536' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ipv6_mask' type-id='type-id-130' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='538' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='src_port_mask' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='540' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='dst_port_mask' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='542' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='mac_addr_byte_mask' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='545' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='tunnel_id_mask' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='547' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='tunnel_type_mask' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='548' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_ipv4_flow' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='342' column='1' id='type-id-129'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='343' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dst_ip' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='344' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tos' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='345' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='ttl' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='346' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='proto' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='347' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_ipv6_flow' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='381' column='1' id='type-id-130'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-131' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='382' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dst_ip' type-id='type-id-131' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='383' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='tc' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='384' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='264'>
+        <var-decl name='proto' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='385' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='272'>
+        <var-decl name='hop_limits' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='386' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-28' size-in-bits='128' id='type-id-131'>
+      <subrange length='4' type-id='type-id-33' id='type-id-132'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_fdir_flex_conf' size-in-bits='5792' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='591' column='1' id='type-id-128'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_payloads' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='592' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='nb_flexmasks' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='593' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flex_set' type-id='type-id-133' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='594' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2336'>
+        <var-decl name='flex_mask' type-id='type-id-134' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='596' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_flex_payload_cfg' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='568' column='1' id='type-id-135'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-136' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='569' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='src_offset' type-id='type-id-137' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='570' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_payload_type' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='555' column='1' id='type-id-136'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='RTE_ETH_PAYLOAD_UNKNOWN' value='0'/>
+      <enumerator name='RTE_ETH_RAW_PAYLOAD' value='1'/>
+      <enumerator name='RTE_ETH_L2_PAYLOAD' value='2'/>
+      <enumerator name='RTE_ETH_L3_PAYLOAD' value='3'/>
+      <enumerator name='RTE_ETH_L4_PAYLOAD' value='4'/>
+      <enumerator name='RTE_ETH_PAYLOAD_MAX' value='8'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-21' size-in-bits='256' id='type-id-137'>
+      <subrange length='16' type-id='type-id-33' id='type-id-138'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-135' size-in-bits='2304' id='type-id-133'>
+      <subrange length='8' type-id='type-id-33' id='type-id-119'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_fdir_flex_mask' size-in-bits='144' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='581' column='1' id='type-id-139'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flow_type' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='582' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='mask' type-id='type-id-140' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='583' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-4' size-in-bits='128' id='type-id-140'>
+      <subrange length='16' type-id='type-id-33' id='type-id-138'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-139' size-in-bits='3456' id='type-id-134'>
+      <subrange length='24' type-id='type-id-33' id='type-id-141'/>
+
+    </array-type-def>
+    <class-decl name='rte_intr_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1031' column='1' id='type-id-105'>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='lsc' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1033' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='rxq' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1035' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='rmv' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1037' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_ether_addr' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='60' column='1' id='type-id-142'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr_bytes' type-id='type-id-143' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='61' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-4' size-in-bits='48' id='type-id-143'>
+      <subrange length='6' type-id='type-id-33' id='type-id-144'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-142' size-in-bits='64' id='type-id-93'/>
+
+    <array-type-def dimensions='1' type-id='type-id-27' size-in-bits='8192' id='type-id-94'>
+      <subrange length='128' type-id='type-id-33' id='type-id-145'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-4' size-in-bits='8192' id='type-id-95'>
+      <subrange length='1024' type-id='type-id-33' id='type-id-146'/>
+
+    </array-type-def>
+    <enum-decl name='rte_kernel_driver' filepath='../lib/librte_eal/common/include/rte_dev.h' line='60' column='1' id='type-id-96'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='RTE_KDRV_UNKNOWN' value='0'/>
+      <enumerator name='RTE_KDRV_IGB_UIO' value='1'/>
+      <enumerator name='RTE_KDRV_VFIO' value='2'/>
+      <enumerator name='RTE_KDRV_UIO_GENERIC' value='3'/>
+      <enumerator name='RTE_KDRV_NIC_UIO' value='4'/>
+      <enumerator name='RTE_KDRV_NONE' value='5'/>
+    </enum-decl>
+    <class-decl name='rte_vlan_filter_conf' size-in-bits='4096' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='427' column='1' id='type-id-97'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ids' type-id='type-id-147' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='428' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-27' size-in-bits='4096' id='type-id-147'>
+      <subrange length='64' type-id='type-id-33' id='type-id-99'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_dev_owner' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1490' column='1' id='type-id-98'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-27' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1491' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='name' type-id='type-id-88' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1492' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-27' size-in-bits='256' id='type-id-17'>
+      <subrange length='4' type-id='type-id-33' id='type-id-132'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='256' id='type-id-18'>
+      <subrange length='4' type-id='type-id-33' id='type-id-132'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-87' size-in-bits='64' id='type-id-9'/>
+    <class-decl name='eth_dev_ops' size-in-bits='6016' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='609' column='1' id='type-id-148'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_configure' type-id='type-id-149' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_start' type-id='type-id-150' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='611' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dev_stop' type-id='type-id-151' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='612' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_set_link_up' type-id='type-id-152' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dev_set_link_down' type-id='type-id-153' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='614' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_close' type-id='type-id-154' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='615' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='dev_reset' type-id='type-id-155' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='616' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='link_update' type-id='type-id-156' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='617' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='is_removed' type-id='type-id-157' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='618' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='promiscuous_enable' type-id='type-id-158' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='promiscuous_disable' type-id='type-id-159' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='allmulticast_enable' type-id='type-id-160' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='623' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='allmulticast_disable' type-id='type-id-161' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='624' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='mac_addr_remove' type-id='type-id-162' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='625' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='mac_addr_add' type-id='type-id-163' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='626' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='mac_addr_set' type-id='type-id-164' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='627' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='set_mc_addr_list' type-id='type-id-165' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='628' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mtu_set' type-id='type-id-166' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='629' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='stats_get' type-id='type-id-167' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='631' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='stats_reset' type-id='type-id-168' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='632' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='xstats_get' type-id='type-id-169' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='633' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='xstats_reset' type-id='type-id-170' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='634' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='xstats_get_names' type-id='type-id-171' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='635' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='queue_stats_mapping_set' type-id='type-id-172' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='637' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='dev_infos_get' type-id='type-id-173' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='640' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='rxq_info_get' type-id='type-id-174' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='641' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='txq_info_get' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='642' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='rx_burst_mode_get' type-id='type-id-176' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='643' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='tx_burst_mode_get' type-id='type-id-176' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='644' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='fw_version_get' type-id='type-id-177' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='645' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='dev_supported_ptypes_get' type-id='type-id-178' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='646' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='dev_ptypes_set' type-id='type-id-179' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='648' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='vlan_filter_set' type-id='type-id-180' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='651' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='vlan_tpid_set' type-id='type-id-181' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='652' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='vlan_strip_queue_set' type-id='type-id-182' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='653' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='vlan_offload_set' type-id='type-id-183' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='654' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='vlan_pvid_set' type-id='type-id-184' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='655' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='rx_queue_start' type-id='type-id-185' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='657' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='rx_queue_stop' type-id='type-id-186' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='658' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2496'>
+        <var-decl name='tx_queue_start' type-id='type-id-185' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='659' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='tx_queue_stop' type-id='type-id-186' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='660' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='rx_queue_setup' type-id='type-id-187' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='661' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2688'>
+        <var-decl name='rx_queue_release' type-id='type-id-188' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2752'>
+        <var-decl name='rx_queue_count' type-id='type-id-189' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='663' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2816'>
+        <var-decl name='rx_descriptor_done' type-id='type-id-190' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2880'>
+        <var-decl name='rx_descriptor_status' type-id='type-id-191' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='666' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2944'>
+        <var-decl name='tx_descriptor_status' type-id='type-id-192' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3008'>
+        <var-decl name='rx_queue_intr_enable' type-id='type-id-193' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='670' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3072'>
+        <var-decl name='rx_queue_intr_disable' type-id='type-id-194' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3136'>
+        <var-decl name='tx_queue_setup' type-id='type-id-195' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='672' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3200'>
+        <var-decl name='tx_queue_release' type-id='type-id-188' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3264'>
+        <var-decl name='tx_done_cleanup' type-id='type-id-196' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='674' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3328'>
+        <var-decl name='dev_led_on' type-id='type-id-197' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3392'>
+        <var-decl name='dev_led_off' type-id='type-id-198' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='677' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3456'>
+        <var-decl name='flow_ctrl_get' type-id='type-id-199' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='679' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3520'>
+        <var-decl name='flow_ctrl_set' type-id='type-id-200' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='680' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='priority_flow_ctrl_set' type-id='type-id-201' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='681' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3648'>
+        <var-decl name='uc_hash_table_set' type-id='type-id-202' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='683' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3712'>
+        <var-decl name='uc_all_hash_table_set' type-id='type-id-203' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='684' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3776'>
+        <var-decl name='mirror_rule_set' type-id='type-id-204' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='686' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3840'>
+        <var-decl name='mirror_rule_reset' type-id='type-id-205' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='687' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3904'>
+        <var-decl name='udp_tunnel_port_add' type-id='type-id-206' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='689' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3968'>
+        <var-decl name='udp_tunnel_port_del' type-id='type-id-207' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4032'>
+        <var-decl name='l2_tunnel_eth_type_conf' type-id='type-id-208' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4096'>
+        <var-decl name='l2_tunnel_offload_set' type-id='type-id-209' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='693' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4160'>
+        <var-decl name='set_queue_rate_limit' type-id='type-id-210' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='696' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4224'>
+        <var-decl name='rss_hash_update' type-id='type-id-211' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='698' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4288'>
+        <var-decl name='rss_hash_conf_get' type-id='type-id-212' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='699' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4352'>
+        <var-decl name='reta_update' type-id='type-id-213' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='700' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4416'>
+        <var-decl name='reta_query' type-id='type-id-214' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='701' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4480'>
+        <var-decl name='get_reg' type-id='type-id-215' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='703' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4544'>
+        <var-decl name='get_eeprom_length' type-id='type-id-216' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='704' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4608'>
+        <var-decl name='get_eeprom' type-id='type-id-217' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='705' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4672'>
+        <var-decl name='set_eeprom' type-id='type-id-218' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='706' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4736'>
+        <var-decl name='get_module_info' type-id='type-id-219' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='708' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4800'>
+        <var-decl name='get_module_eeprom' type-id='type-id-220' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='710' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4864'>
+        <var-decl name='filter_ctrl' type-id='type-id-221' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4928'>
+        <var-decl name='get_dcb_info' type-id='type-id-222' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='715' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4992'>
+        <var-decl name='timesync_enable' type-id='type-id-223' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='717' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5056'>
+        <var-decl name='timesync_disable' type-id='type-id-224' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5120'>
+        <var-decl name='timesync_read_rx_timestamp' type-id='type-id-225' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='721' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5184'>
+        <var-decl name='timesync_read_tx_timestamp' type-id='type-id-226' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='723' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5248'>
+        <var-decl name='timesync_adjust_time' type-id='type-id-227' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5312'>
+        <var-decl name='timesync_read_time' type-id='type-id-228' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='726' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5376'>
+        <var-decl name='timesync_write_time' type-id='type-id-229' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='727' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5440'>
+        <var-decl name='read_clock' type-id='type-id-230' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='729' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5504'>
+        <var-decl name='xstats_get_by_id' type-id='type-id-231' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='731' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5568'>
+        <var-decl name='xstats_get_names_by_id' type-id='type-id-232' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='733' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5632'>
+        <var-decl name='tm_ops_get' type-id='type-id-233' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='736' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5696'>
+        <var-decl name='mtr_ops_get' type-id='type-id-234' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='739' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5760'>
+        <var-decl name='pool_ops_supported' type-id='type-id-235' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='742' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5824'>
+        <var-decl name='hairpin_cap_get' type-id='type-id-236' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='745' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5888'>
+        <var-decl name='rx_hairpin_queue_setup' type-id='type-id-237' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5952'>
+        <var-decl name='tx_hairpin_queue_setup' type-id='type-id-238' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='749' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-5' size-in-bits='64' id='type-id-239'/>
+    <pointer-type-def type-id='type-id-240' size-in-bits='64' id='type-id-241'/>
+    <typedef-decl name='eth_dev_configure_t' type-id='type-id-241' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='31' column='1' id='type-id-149'/>
+    <typedef-decl name='eth_dev_start_t' type-id='type-id-241' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='34' column='1' id='type-id-150'/>
+    <pointer-type-def type-id='type-id-242' size-in-bits='64' id='type-id-243'/>
+    <typedef-decl name='eth_dev_stop_t' type-id='type-id-243' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='37' column='1' id='type-id-151'/>
+    <typedef-decl name='eth_dev_set_link_up_t' type-id='type-id-241' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='40' column='1' id='type-id-152'/>
+    <typedef-decl name='eth_dev_set_link_down_t' type-id='type-id-241' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='43' column='1' id='type-id-153'/>
+    <typedef-decl name='eth_dev_close_t' type-id='type-id-243' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='46' column='1' id='type-id-154'/>
+    <typedef-decl name='eth_dev_reset_t' type-id='type-id-241' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='49' column='1' id='type-id-155'/>
+    <pointer-type-def type-id='type-id-244' size-in-bits='64' id='type-id-245'/>
+    <typedef-decl name='eth_link_update_t' type-id='type-id-245' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='155' column='1' id='type-id-156'/>
+    <typedef-decl name='eth_is_removed_t' type-id='type-id-241' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='52' column='1' id='type-id-157'/>
+    <typedef-decl name='eth_promiscuous_enable_t' type-id='type-id-241' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='78' column='1' id='type-id-158'/>
+    <typedef-decl name='eth_promiscuous_disable_t' type-id='type-id-241' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='103' column='1' id='type-id-159'/>
+    <typedef-decl name='eth_allmulticast_enable_t' type-id='type-id-241' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='128' column='1' id='type-id-160'/>
+    <typedef-decl name='eth_allmulticast_disable_t' type-id='type-id-241' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='153' column='1' id='type-id-161'/>
+    <pointer-type-def type-id='type-id-246' size-in-bits='64' id='type-id-247'/>
+    <typedef-decl name='eth_mac_addr_remove_t' type-id='type-id-247' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='391' column='1' id='type-id-162'/>
+    <pointer-type-def type-id='type-id-248' size-in-bits='64' id='type-id-249'/>
+    <typedef-decl name='eth_mac_addr_add_t' type-id='type-id-249' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='394' column='1' id='type-id-163'/>
+    <pointer-type-def type-id='type-id-250' size-in-bits='64' id='type-id-251'/>
+    <typedef-decl name='eth_mac_addr_set_t' type-id='type-id-251' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='400' column='1' id='type-id-164'/>
+    <pointer-type-def type-id='type-id-252' size-in-bits='64' id='type-id-253'/>
+    <typedef-decl name='eth_set_mc_addr_list_t' type-id='type-id-253' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='436' column='1' id='type-id-165'/>
+    <pointer-type-def type-id='type-id-254' size-in-bits='64' id='type-id-255'/>
+    <typedef-decl name='mtu_set_t' type-id='type-id-255' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='315' column='1' id='type-id-166'/>
+    <class-decl name='rte_eth_stats' size-in-bits='5632' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='243' column='1' id='type-id-256'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ipackets' type-id='type-id-27' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='opackets' type-id='type-id-27' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ibytes' type-id='type-id-27' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='246' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='obytes' type-id='type-id-27' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='imissed' type-id='type-id-27' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='ierrors' type-id='type-id-27' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='oerrors' type-id='type-id-27' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='rx_nombuf' type-id='type-id-27' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='q_ipackets' type-id='type-id-257' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='q_opackets' type-id='type-id-257' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='q_ibytes' type-id='type-id-257' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='q_obytes' type-id='type-id-257' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4608'>
+        <var-decl name='q_errors' type-id='type-id-257' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='263' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-27' size-in-bits='1024' id='type-id-257'>
+      <subrange length='16' type-id='type-id-33' id='type-id-138'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-256' size-in-bits='64' id='type-id-258'/>
+    <pointer-type-def type-id='type-id-259' size-in-bits='64' id='type-id-260'/>
+    <typedef-decl name='eth_stats_get_t' type-id='type-id-260' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='159' column='1' id='type-id-167'/>
+    <typedef-decl name='eth_stats_reset_t' type-id='type-id-241' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='182' column='1' id='type-id-168'/>
+    <class-decl name='rte_eth_xstat' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1337' column='1' id='type-id-261'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-27' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1338' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='value' type-id='type-id-27' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1339' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-261' size-in-bits='64' id='type-id-262'/>
+    <pointer-type-def type-id='type-id-263' size-in-bits='64' id='type-id-264'/>
+    <typedef-decl name='eth_xstats_get_t' type-id='type-id-264' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='184' column='1' id='type-id-169'/>
+    <typedef-decl name='eth_xstats_reset_t' type-id='type-id-241' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='213' column='1' id='type-id-170'/>
+    <class-decl name='rte_eth_xstat_name' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1349' column='1' id='type-id-265'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-88' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1350' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-265' size-in-bits='64' id='type-id-266'/>
+    <pointer-type-def type-id='type-id-267' size-in-bits='64' id='type-id-268'/>
+    <typedef-decl name='eth_xstats_get_names_t' type-id='type-id-268' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='215' column='1' id='type-id-171'/>
+    <pointer-type-def type-id='type-id-269' size-in-bits='64' id='type-id-270'/>
+    <typedef-decl name='eth_queue_stats_mapping_set_t' type-id='type-id-270' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='224' column='1' id='type-id-172'/>
+    <class-decl name='rte_eth_dev_info' size-in-bits='2560' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1226' column='1' id='type-id-271'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='device' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1227' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='driver_name' type-id='type-id-272' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='if_index' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='min_mtu' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='max_mtu' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_flags' type-id='type-id-273' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='min_rx_bufsize' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1234' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='max_rx_pktlen' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1235' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='max_lro_pkt_size' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='max_rx_queues' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='max_tx_queues' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1239' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='max_mac_addrs' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='max_hash_mac_addrs' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1241' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='max_vfs' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1243' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='max_vmdq_pools' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_offload_capa' type-id='type-id-27' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_offload_capa' type-id='type-id-27' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='rx_queue_offload_capa' type-id='type-id-27' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='tx_queue_offload_capa' type-id='type-id-27' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='reta_size' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='hash_key_size' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='flow_type_rss_offloads' type-id='type-id-27' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='default_rxconf' type-id='type-id-274' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='default_txconf' type-id='type-id-275' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='vmdq_queue_base' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1744'>
+        <var-decl name='vmdq_queue_num' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1760'>
+        <var-decl name='vmdq_pool_base' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1262' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1776'>
+        <var-decl name='rx_desc_lim' type-id='type-id-276' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1263' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='tx_desc_lim' type-id='type-id-276' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1264' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1952'>
+        <var-decl name='speed_capa' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1265' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='nb_rx_queues' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1267' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2000'>
+        <var-decl name='nb_tx_queues' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1268' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2016'>
+        <var-decl name='default_rxportconf' type-id='type-id-277' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1270' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2064'>
+        <var-decl name='default_txportconf' type-id='type-id-277' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1272' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='dev_capa' type-id='type-id-27' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1274' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='switch_info' type-id='type-id-278' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='reserved_64s' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1281' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='reserved_ptrs' type-id='type-id-107' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1282' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-279'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-280' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-272' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-281' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-282' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-283' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-280'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-12' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-284' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-279' size-in-bits='64' id='type-id-12'/>
+    <pointer-type-def type-id='type-id-12' size-in-bits='64' id='type-id-284'/>
+    <qualified-type-def type-id='type-id-49' const='yes' id='type-id-285'/>
+    <pointer-type-def type-id='type-id-285' size-in-bits='64' id='type-id-272'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-286'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-287' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-272' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-272' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-287'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-288' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-289' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-286' size-in-bits='64' id='type-id-288'/>
+    <pointer-type-def type-id='type-id-288' size-in-bits='64' id='type-id-289'/>
+    <qualified-type-def type-id='type-id-286' const='yes' id='type-id-290'/>
+    <pointer-type-def type-id='type-id-290' size-in-bits='64' id='type-id-281'/>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-291'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-292' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-272' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-293' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-294' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-295' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-296' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-297' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-298' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-299' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-300' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-301' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-302' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-303' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-304' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-305' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-292'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-306' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-307' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-291' size-in-bits='64' id='type-id-306'/>
+    <pointer-type-def type-id='type-id-306' size-in-bits='64' id='type-id-307'/>
+    <pointer-type-def type-id='type-id-308' size-in-bits='64' id='type-id-309'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-309' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-293'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-309' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-294'/>
+    <qualified-type-def type-id='type-id-279' const='yes' id='type-id-310'/>
+    <pointer-type-def type-id='type-id-310' size-in-bits='64' id='type-id-311'/>
+    <pointer-type-def type-id='type-id-312' size-in-bits='64' id='type-id-313'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-313' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-314'/>
+    <pointer-type-def type-id='type-id-315' size-in-bits='64' id='type-id-316'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-316' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-295'/>
+    <pointer-type-def type-id='type-id-317' size-in-bits='64' id='type-id-318'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-318' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-296'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-318' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-297'/>
+    <pointer-type-def type-id='type-id-319' size-in-bits='64' id='type-id-320'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-320' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-298'/>
+    <pointer-type-def type-id='type-id-321' size-in-bits='64' id='type-id-322'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-322' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-299'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-322' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-300'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-301'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-323' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-323'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-324'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-325' size-in-bits='64' id='type-id-326'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-326' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-302'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-327'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-272' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-272' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-272' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-306' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-328' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-12' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-10' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-329'/>
+    <pointer-type-def type-id='type-id-329' size-in-bits='64' id='type-id-328'/>
+    <qualified-type-def type-id='type-id-327' const='yes' id='type-id-330'/>
+    <pointer-type-def type-id='type-id-330' size-in-bits='64' id='type-id-331'/>
+    <pointer-type-def type-id='type-id-332' size-in-bits='64' id='type-id-333'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-333' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-303'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-318' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-304'/>
+    <pointer-type-def type-id='type-id-334' size-in-bits='64' id='type-id-335'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-335' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-305'/>
+    <qualified-type-def type-id='type-id-291' const='yes' id='type-id-336'/>
+    <pointer-type-def type-id='type-id-336' size-in-bits='64' id='type-id-282'/>
+    <class-decl name='rte_devargs' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='47' column='1' id='type-id-337'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-338' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='type' type-id='type-id-339' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='policy' type-id='type-id-340' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='name' type-id='type-id-88' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='' type-id='type-id-341' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='bus' type-id='type-id-306' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='cls' type-id='type-id-328' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='bus_str' type-id='type-id-272' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='cls_str' type-id='type-id-272' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='data' type-id='type-id-272' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='66' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1' id='type-id-338'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-283' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-342' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-337' size-in-bits='64' id='type-id-283'/>
+    <pointer-type-def type-id='type-id-283' size-in-bits='64' id='type-id-342'/>
+    <enum-decl name='rte_devtype' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='31' column='1' id='type-id-339'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='RTE_DEVTYPE_WHITELISTED_PCI' value='0'/>
+      <enumerator name='RTE_DEVTYPE_BLACKLISTED_PCI' value='1'/>
+      <enumerator name='RTE_DEVTYPE_VIRTUAL' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_dev_policy' filepath='../lib/librte_eal/common/include/rte_dev.h' line='72' column='1' id='type-id-340'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='RTE_DEV_WHITELISTED' value='0'/>
+      <enumerator name='RTE_DEV_BLACKLISTED' value='1'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='57' column='1' id='type-id-341'>
+      <data-member access='private'>
+        <var-decl name='args' type-id='type-id-343' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='drv_str' type-id='type-id-272' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='60' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-343'/>
+    <qualified-type-def type-id='type-id-28' const='yes' id='type-id-344'/>
+    <pointer-type-def type-id='type-id-344' size-in-bits='64' id='type-id-273'/>
+    <class-decl name='rte_eth_rxconf' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='818' column='1' id='type-id-274'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_thresh' type-id='type-id-345' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='819' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='rx_free_thresh' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='820' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='rx_drop_en' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='821' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='rx_deferred_start' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='822' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offloads' type-id='type-id-27' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='reserved_64s' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='830' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='reserved_ptrs' type-id='type-id-107' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='831' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_thresh' size-in-bits='24' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='327' column='1' id='type-id-345'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pthresh' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='328' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='hthresh' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='329' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='wthresh' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='330' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_txconf' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='837' column='1' id='type-id-275'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tx_thresh' type-id='type-id-345' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tx_rs_thresh' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='839' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='tx_free_thresh' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='840' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tx_deferred_start' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='843' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='offloads' type-id='type-id-27' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='849' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='851' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-107' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='852' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_desc_lim' size-in-bits='80' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='898' column='1' id='type-id-276'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_max' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='899' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='nb_min' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='900' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_align' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='901' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='nb_seg_max' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='911' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='nb_mtu_seg_max' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='924' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_portconf' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1189' column='1' id='type-id-277'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='burst_size' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1190' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='ring_size' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_queues' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1192' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_switch_info' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1204' column='1' id='type-id-278'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-272' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='domain_id' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1206' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='port_id' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1207' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-271' size-in-bits='64' id='type-id-346'/>
+    <pointer-type-def type-id='type-id-347' size-in-bits='64' id='type-id-348'/>
+    <typedef-decl name='eth_dev_infos_get_t' type-id='type-id-348' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='230' column='1' id='type-id-173'/>
+    <class-decl name='rte_eth_rxq_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1289' column='1' id='type-id-349'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mp' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1290' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='conf' type-id='type-id-274' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1291' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='scattered_rx' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1292' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='nb_desc' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1293' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-349' size-in-bits='64' id='type-id-350'/>
+    <pointer-type-def type-id='type-id-351' size-in-bits='64' id='type-id-352'/>
+    <typedef-decl name='eth_rxq_info_get_t' type-id='type-id-352' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='306' column='1' id='type-id-174'/>
+    <class-decl name='rte_eth_txq_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1300' column='1' id='type-id-353'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='conf' type-id='type-id-275' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1301' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='nb_desc' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1302' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-353' size-in-bits='64' id='type-id-354'/>
+    <pointer-type-def type-id='type-id-355' size-in-bits='64' id='type-id-356'/>
+    <typedef-decl name='eth_txq_info_get_t' type-id='type-id-356' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='309' column='1' id='type-id-175'/>
+    <class-decl name='rte_eth_burst_mode' size-in-bits='8256' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1318' column='1' id='type-id-357'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-27' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1319' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='info' type-id='type-id-358' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1322' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-49' size-in-bits='8192' id='type-id-358'>
+      <subrange length='1024' type-id='type-id-33' id='type-id-146'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-357' size-in-bits='64' id='type-id-359'/>
+    <pointer-type-def type-id='type-id-360' size-in-bits='64' id='type-id-361'/>
+    <typedef-decl name='eth_burst_mode_get_t' type-id='type-id-361' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='312' column='1' id='type-id-176'/>
+    <pointer-type-def type-id='type-id-362' size-in-bits='64' id='type-id-363'/>
+    <typedef-decl name='eth_fw_version_get_t' type-id='type-id-363' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='299' column='1' id='type-id-177'/>
+    <pointer-type-def type-id='type-id-364' size-in-bits='64' id='type-id-365'/>
+    <typedef-decl name='eth_dev_supported_ptypes_get_t' type-id='type-id-365' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='234' column='1' id='type-id-178'/>
+    <pointer-type-def type-id='type-id-366' size-in-bits='64' id='type-id-367'/>
+    <typedef-decl name='eth_dev_ptypes_set_t' type-id='type-id-367' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='249' column='1' id='type-id-179'/>
+    <pointer-type-def type-id='type-id-368' size-in-bits='64' id='type-id-369'/>
+    <typedef-decl name='vlan_filter_set_t' type-id='type-id-369' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='318' column='1' id='type-id-180'/>
+    <enum-decl name='rte_vlan_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='416' column='1' id='type-id-370'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='ETH_VLAN_TYPE_UNKNOWN' value='0'/>
+      <enumerator name='ETH_VLAN_TYPE_INNER' value='1'/>
+      <enumerator name='ETH_VLAN_TYPE_OUTER' value='2'/>
+      <enumerator name='ETH_VLAN_TYPE_MAX' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-371' size-in-bits='64' id='type-id-372'/>
+    <typedef-decl name='vlan_tpid_set_t' type-id='type-id-372' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='323' column='1' id='type-id-181'/>
+    <pointer-type-def type-id='type-id-373' size-in-bits='64' id='type-id-374'/>
+    <typedef-decl name='vlan_strip_queue_set_t' type-id='type-id-374' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='335' column='1' id='type-id-182'/>
+    <typedef-decl name='vlan_offload_set_t' type-id='type-id-245' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='327' column='1' id='type-id-183'/>
+    <typedef-decl name='vlan_pvid_set_t' type-id='type-id-369' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='330' column='1' id='type-id-184'/>
+    <typedef-decl name='eth_queue_start_t' type-id='type-id-255' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='252' column='1' id='type-id-185'/>
+    <typedef-decl name='eth_queue_stop_t' type-id='type-id-255' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='256' column='1' id='type-id-186'/>
+    <qualified-type-def type-id='type-id-274' const='yes' id='type-id-375'/>
+    <pointer-type-def type-id='type-id-375' size-in-bits='64' id='type-id-376'/>
+    <pointer-type-def type-id='type-id-377' size-in-bits='64' id='type-id-378'/>
+    <typedef-decl name='eth_rx_queue_setup_t' type-id='type-id-378' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='260' column='1' id='type-id-187'/>
+    <pointer-type-def type-id='type-id-379' size-in-bits='64' id='type-id-380'/>
+    <typedef-decl name='eth_queue_release_t' type-id='type-id-380' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='283' column='1' id='type-id-188'/>
+    <pointer-type-def type-id='type-id-381' size-in-bits='64' id='type-id-382'/>
+    <typedef-decl name='eth_rx_queue_count_t' type-id='type-id-382' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='286' column='1' id='type-id-189'/>
+    <pointer-type-def type-id='type-id-383' size-in-bits='64' id='type-id-384'/>
+    <typedef-decl name='eth_rx_descriptor_done_t' type-id='type-id-384' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='290' column='1' id='type-id-190'/>
+    <typedef-decl name='eth_rx_descriptor_status_t' type-id='type-id-384' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='293' column='1' id='type-id-191'/>
+    <typedef-decl name='eth_tx_descriptor_status_t' type-id='type-id-384' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='296' column='1' id='type-id-192'/>
+    <typedef-decl name='eth_rx_enable_intr_t' type-id='type-id-255' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='275' column='1' id='type-id-193'/>
+    <typedef-decl name='eth_rx_disable_intr_t' type-id='type-id-255' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='279' column='1' id='type-id-194'/>
+    <qualified-type-def type-id='type-id-275' const='yes' id='type-id-385'/>
+    <pointer-type-def type-id='type-id-385' size-in-bits='64' id='type-id-386'/>
+    <pointer-type-def type-id='type-id-387' size-in-bits='64' id='type-id-388'/>
+    <typedef-decl name='eth_tx_queue_setup_t' type-id='type-id-388' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='268' column='1' id='type-id-195'/>
+    <pointer-type-def type-id='type-id-389' size-in-bits='64' id='type-id-390'/>
+    <typedef-decl name='eth_tx_done_cleanup_t' type-id='type-id-390' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='303' column='1' id='type-id-196'/>
+    <typedef-decl name='eth_dev_led_on_t' type-id='type-id-241' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='385' column='1' id='type-id-197'/>
+    <typedef-decl name='eth_dev_led_off_t' type-id='type-id-241' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='388' column='1' id='type-id-198'/>
+    <class-decl name='rte_eth_fc_conf' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='942' column='1' id='type-id-391'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='high_water' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='943' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='low_water' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='944' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pause_time' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='945' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='send_xon' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='946' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='mode' type-id='type-id-392' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='947' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mac_ctrl_frame_fwd' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='948' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='autoneg' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='949' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_fc_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='930' column='1' id='type-id-392'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='RTE_FC_NONE' value='0'/>
+      <enumerator name='RTE_FC_RX_PAUSE' value='1'/>
+      <enumerator name='RTE_FC_TX_PAUSE' value='2'/>
+      <enumerator name='RTE_FC_FULL' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-391' size-in-bits='64' id='type-id-393'/>
+    <pointer-type-def type-id='type-id-394' size-in-bits='64' id='type-id-395'/>
+    <typedef-decl name='flow_ctrl_get_t' type-id='type-id-395' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='355' column='1' id='type-id-199'/>
+    <typedef-decl name='flow_ctrl_set_t' type-id='type-id-395' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='359' column='1' id='type-id-200'/>
+    <class-decl name='rte_eth_pfc_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='957' column='1' id='type-id-396'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fc' type-id='type-id-391' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='958' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='priority' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='959' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-396' size-in-bits='64' id='type-id-397'/>
+    <pointer-type-def type-id='type-id-398' size-in-bits='64' id='type-id-399'/>
+    <typedef-decl name='priority_flow_ctrl_set_t' type-id='type-id-399' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='363' column='1' id='type-id-201'/>
+    <pointer-type-def type-id='type-id-400' size-in-bits='64' id='type-id-401'/>
+    <typedef-decl name='eth_uc_hash_table_set_t' type-id='type-id-401' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='404' column='1' id='type-id-202'/>
+    <pointer-type-def type-id='type-id-402' size-in-bits='64' id='type-id-403'/>
+    <typedef-decl name='eth_uc_all_hash_table_set_t' type-id='type-id-403' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='409' column='1' id='type-id-203'/>
+    <class-decl name='rte_eth_mirror_conf' size-in-bits='1216' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='670' column='1' id='type-id-404'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rule_type' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='dst_pool' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='672' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pool_mask' type-id='type-id-27' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vlan' type-id='type-id-405' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='675' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vlan_mirror' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='661' column='1' id='type-id-405'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_mask' type-id='type-id-27' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='vlan_id' type-id='type-id-406' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='664' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-21' size-in-bits='1024' id='type-id-406'>
+      <subrange length='64' type-id='type-id-33' id='type-id-99'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-404' size-in-bits='64' id='type-id-407'/>
+    <pointer-type-def type-id='type-id-408' size-in-bits='64' id='type-id-409'/>
+    <typedef-decl name='eth_mirror_rule_set_t' type-id='type-id-409' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='418' column='1' id='type-id-204'/>
+    <typedef-decl name='eth_mirror_rule_reset_t' type-id='type-id-403' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='424' column='1' id='type-id-205'/>
+    <class-decl name='rte_eth_udp_tunnel' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1023' column='1' id='type-id-410'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='udp_port' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1024' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='prot_type' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1025' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-410' size-in-bits='64' id='type-id-411'/>
+    <pointer-type-def type-id='type-id-412' size-in-bits='64' id='type-id-413'/>
+    <typedef-decl name='eth_udp_tunnel_port_add_t' type-id='type-id-413' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='428' column='1' id='type-id-206'/>
+    <typedef-decl name='eth_udp_tunnel_port_del_t' type-id='type-id-413' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='432' column='1' id='type-id-207'/>
+    <class-decl name='rte_eth_l2_tunnel_conf' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='751' column='1' id='type-id-414'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='l2_tunnel_type' type-id='type-id-415' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='752' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ether_type' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tunnel_id' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='754' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='vf_id' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='755' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pool' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='756' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_tunnel_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='965' column='1' id='type-id-415'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='RTE_TUNNEL_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_TUNNEL_TYPE_VXLAN' value='1'/>
+      <enumerator name='RTE_TUNNEL_TYPE_GENEVE' value='2'/>
+      <enumerator name='RTE_TUNNEL_TYPE_TEREDO' value='3'/>
+      <enumerator name='RTE_TUNNEL_TYPE_NVGRE' value='4'/>
+      <enumerator name='RTE_TUNNEL_TYPE_IP_IN_GRE' value='5'/>
+      <enumerator name='RTE_L2_TUNNEL_TYPE_E_TAG' value='6'/>
+      <enumerator name='RTE_TUNNEL_TYPE_VXLAN_GPE' value='7'/>
+      <enumerator name='RTE_TUNNEL_TYPE_MAX' value='8'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-414' size-in-bits='64' id='type-id-416'/>
+    <pointer-type-def type-id='type-id-417' size-in-bits='64' id='type-id-418'/>
+    <typedef-decl name='eth_l2_tunnel_eth_type_conf_t' type-id='type-id-418' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='494' column='1' id='type-id-208'/>
+    <pointer-type-def type-id='type-id-419' size-in-bits='64' id='type-id-420'/>
+    <typedef-decl name='eth_l2_tunnel_offload_set_t' type-id='type-id-420' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='498' column='1' id='type-id-209'/>
+    <pointer-type-def type-id='type-id-421' size-in-bits='64' id='type-id-422'/>
+    <typedef-decl name='eth_set_queue_rate_limit_t' type-id='type-id-422' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='413' column='1' id='type-id-210'/>
+    <pointer-type-def type-id='type-id-110' size-in-bits='64' id='type-id-423'/>
+    <pointer-type-def type-id='type-id-424' size-in-bits='64' id='type-id-425'/>
+    <typedef-decl name='rss_hash_update_t' type-id='type-id-425' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='377' column='1' id='type-id-211'/>
+    <typedef-decl name='rss_hash_conf_get_t' type-id='type-id-425' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='381' column='1' id='type-id-212'/>
+    <class-decl name='rte_eth_rss_reta_entry64' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='684' column='1' id='type-id-426'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mask' type-id='type-id-27' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='685' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='reta' type-id='type-id-406' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='687' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-426' size-in-bits='64' id='type-id-427'/>
+    <pointer-type-def type-id='type-id-428' size-in-bits='64' id='type-id-429'/>
+    <typedef-decl name='reta_update_t' type-id='type-id-429' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='367' column='1' id='type-id-213'/>
+    <typedef-decl name='reta_query_t' type-id='type-id-429' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='372' column='1' id='type-id-214'/>
+    <class-decl name='rte_dev_reg_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='13' column='1' id='type-id-430'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='14' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offset' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='15' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='length' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='16' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='width' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='17' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='version' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='18' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-430' size-in-bits='64' id='type-id-431'/>
+    <pointer-type-def type-id='type-id-432' size-in-bits='64' id='type-id-433'/>
+    <typedef-decl name='eth_get_reg_t' type-id='type-id-433' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='471' column='1' id='type-id-215'/>
+    <typedef-decl name='eth_get_eeprom_length_t' type-id='type-id-241' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='475' column='1' id='type-id-216'/>
+    <class-decl name='rte_dev_eeprom_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='24' column='1' id='type-id-434'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='25' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offset' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='26' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='length' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='27' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='magic' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='28' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-434' size-in-bits='64' id='type-id-435'/>
+    <pointer-type-def type-id='type-id-436' size-in-bits='64' id='type-id-437'/>
+    <typedef-decl name='eth_get_eeprom_t' type-id='type-id-437' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='478' column='1' id='type-id-217'/>
+    <typedef-decl name='eth_set_eeprom_t' type-id='type-id-437' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='482' column='1' id='type-id-218'/>
+    <class-decl name='rte_eth_dev_module_info' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='34' column='1' id='type-id-438'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='eeprom_len' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-438' size-in-bits='64' id='type-id-439'/>
+    <pointer-type-def type-id='type-id-440' size-in-bits='64' id='type-id-441'/>
+    <typedef-decl name='eth_get_module_info_t' type-id='type-id-441' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='486' column='1' id='type-id-219'/>
+    <typedef-decl name='eth_get_module_eeprom_t' type-id='type-id-437' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='490' column='1' id='type-id-220'/>
+    <enum-decl name='rte_filter_type' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='28' column='1' id='type-id-442'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='RTE_ETH_FILTER_NONE' value='0'/>
+      <enumerator name='RTE_ETH_FILTER_MACVLAN' value='1'/>
+      <enumerator name='RTE_ETH_FILTER_ETHERTYPE' value='2'/>
+      <enumerator name='RTE_ETH_FILTER_FLEXIBLE' value='3'/>
+      <enumerator name='RTE_ETH_FILTER_SYN' value='4'/>
+      <enumerator name='RTE_ETH_FILTER_NTUPLE' value='5'/>
+      <enumerator name='RTE_ETH_FILTER_TUNNEL' value='6'/>
+      <enumerator name='RTE_ETH_FILTER_FDIR' value='7'/>
+      <enumerator name='RTE_ETH_FILTER_HASH' value='8'/>
+      <enumerator name='RTE_ETH_FILTER_L2_TUNNEL' value='9'/>
+      <enumerator name='RTE_ETH_FILTER_GENERIC' value='10'/>
+      <enumerator name='RTE_ETH_FILTER_MAX' value='11'/>
+    </enum-decl>
+    <enum-decl name='rte_filter_op' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='46' column='1' id='type-id-443'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='RTE_ETH_FILTER_NOP' value='0'/>
+      <enumerator name='RTE_ETH_FILTER_ADD' value='1'/>
+      <enumerator name='RTE_ETH_FILTER_UPDATE' value='2'/>
+      <enumerator name='RTE_ETH_FILTER_DELETE' value='3'/>
+      <enumerator name='RTE_ETH_FILTER_FLUSH' value='4'/>
+      <enumerator name='RTE_ETH_FILTER_GET' value='5'/>
+      <enumerator name='RTE_ETH_FILTER_SET' value='6'/>
+      <enumerator name='RTE_ETH_FILTER_INFO' value='7'/>
+      <enumerator name='RTE_ETH_FILTER_STATS' value='8'/>
+      <enumerator name='RTE_ETH_FILTER_OP_MAX' value='9'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-444' size-in-bits='64' id='type-id-445'/>
+    <typedef-decl name='eth_filter_ctrl_t' type-id='type-id-445' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='506' column='1' id='type-id-221'/>
+    <class-decl name='rte_eth_dcb_info' size-in-bits='16520' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1377' column='1' id='type-id-446'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1378' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='prio_tc' type-id='type-id-117' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1379' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='tc_bws' type-id='type-id-117' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1380' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='tc_queue' type-id='type-id-447' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1382' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dcb_tc_queue_mapping' size-in-bits='16384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1360' column='1' id='type-id-447'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tc_rxq' type-id='type-id-448' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1365' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8192'>
+        <var-decl name='tc_txq' type-id='type-id-448' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1370' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1362' column='1' id='type-id-449'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='base' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1363' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='nb_queue' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1364' column='1'/>
+      </data-member>
+    </class-decl>
+
+
+    <array-type-def dimensions='2' type-id='type-id-449' size-in-bits='1152' id='type-id-448'>
+      <subrange length='64' type-id='type-id-33' id='type-id-99'/>
+
+      <subrange length='8' type-id='type-id-33' id='type-id-119'/>
+
+    </array-type-def>
+
+
+    <pointer-type-def type-id='type-id-446' size-in-bits='64' id='type-id-450'/>
+    <pointer-type-def type-id='type-id-451' size-in-bits='64' id='type-id-452'/>
+    <typedef-decl name='eth_get_dcb_info' type-id='type-id-452' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='518' column='1' id='type-id-222'/>
+    <typedef-decl name='eth_timesync_enable_t' type-id='type-id-241' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='441' column='1' id='type-id-223'/>
+    <typedef-decl name='eth_timesync_disable_t' type-id='type-id-241' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='444' column='1' id='type-id-224'/>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='9' column='1' id='type-id-453'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tv_sec' type-id='type-id-454' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='11' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tv_nsec' type-id='type-id-455' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='long int' size-in-bits='64' id='type-id-456'/>
+    <typedef-decl name='__time_t' type-id='type-id-456' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-454'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-456' filepath='/usr/include/bits/types.h' line='196' column='1' id='type-id-455'/>
+    <pointer-type-def type-id='type-id-453' size-in-bits='64' id='type-id-457'/>
+    <pointer-type-def type-id='type-id-458' size-in-bits='64' id='type-id-459'/>
+    <typedef-decl name='eth_timesync_read_rx_timestamp_t' type-id='type-id-459' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='447' column='1' id='type-id-225'/>
+    <pointer-type-def type-id='type-id-460' size-in-bits='64' id='type-id-461'/>
+    <typedef-decl name='eth_timesync_read_tx_timestamp_t' type-id='type-id-461' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='452' column='1' id='type-id-226'/>
+    <typedef-decl name='__int64_t' type-id='type-id-456' filepath='/usr/include/bits/types.h' line='44' column='1' id='type-id-462'/>
+    <typedef-decl name='int64_t' type-id='type-id-462' filepath='/usr/include/bits/stdint-intn.h' line='27' column='1' id='type-id-463'/>
+    <pointer-type-def type-id='type-id-464' size-in-bits='64' id='type-id-465'/>
+    <typedef-decl name='eth_timesync_adjust_time' type-id='type-id-465' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='456' column='1' id='type-id-227'/>
+    <typedef-decl name='eth_timesync_read_time' type-id='type-id-461' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='459' column='1' id='type-id-228'/>
+    <qualified-type-def type-id='type-id-453' const='yes' id='type-id-466'/>
+    <pointer-type-def type-id='type-id-466' size-in-bits='64' id='type-id-467'/>
+    <pointer-type-def type-id='type-id-468' size-in-bits='64' id='type-id-469'/>
+    <typedef-decl name='eth_timesync_write_time' type-id='type-id-469' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='463' column='1' id='type-id-229'/>
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-470'/>
+    <pointer-type-def type-id='type-id-471' size-in-bits='64' id='type-id-472'/>
+    <typedef-decl name='eth_read_clock' type-id='type-id-472' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='467' column='1' id='type-id-230'/>
+    <qualified-type-def type-id='type-id-27' const='yes' id='type-id-473'/>
+    <pointer-type-def type-id='type-id-473' size-in-bits='64' id='type-id-474'/>
+    <pointer-type-def type-id='type-id-475' size-in-bits='64' id='type-id-476'/>
+    <typedef-decl name='eth_xstats_get_by_id_t' type-id='type-id-476' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='188' column='1' id='type-id-231'/>
+    <pointer-type-def type-id='type-id-477' size-in-bits='64' id='type-id-478'/>
+    <typedef-decl name='eth_xstats_get_names_by_id_t' type-id='type-id-478' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='219' column='1' id='type-id-232'/>
+    <pointer-type-def type-id='type-id-479' size-in-bits='64' id='type-id-480'/>
+    <typedef-decl name='eth_tm_ops_get_t' type-id='type-id-480' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='512' column='1' id='type-id-233'/>
+    <typedef-decl name='eth_mtr_ops_get_t' type-id='type-id-480' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='515' column='1' id='type-id-234'/>
+    <pointer-type-def type-id='type-id-481' size-in-bits='64' id='type-id-482'/>
+    <typedef-decl name='eth_pool_ops_supported_t' type-id='type-id-482' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='522' column='1' id='type-id-235'/>
+    <class-decl name='rte_eth_hairpin_cap' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='861' column='1' id='type-id-483'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max_nb_queues' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='863' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='max_rx_2_tx' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_tx_2_rx' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='867' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='max_nb_desc' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='868' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-483' size-in-bits='64' id='type-id-484'/>
+    <pointer-type-def type-id='type-id-485' size-in-bits='64' id='type-id-486'/>
+    <typedef-decl name='eth_hairpin_cap_get_t' type-id='type-id-486' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='543' column='1' id='type-id-236'/>
+    <class-decl name='rte_eth_hairpin_conf' size-in-bits='1040' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='890' column='1' id='type-id-487'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='peer_count' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='891' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='peers' type-id='type-id-488' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='892' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_hairpin_peer' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='879' column='1' id='type-id-489'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='port' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='880' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='queue' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='881' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-489' size-in-bits='1024' id='type-id-488'>
+      <subrange length='32' type-id='type-id-33' id='type-id-50'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-487' const='yes' id='type-id-490'/>
+    <pointer-type-def type-id='type-id-490' size-in-bits='64' id='type-id-491'/>
+    <pointer-type-def type-id='type-id-492' size-in-bits='64' id='type-id-493'/>
+    <typedef-decl name='eth_rx_hairpin_queue_setup_t' type-id='type-id-493' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='571' column='1' id='type-id-237'/>
+    <typedef-decl name='eth_tx_hairpin_queue_setup_t' type-id='type-id-493' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='601' column='1' id='type-id-238'/>
+    <qualified-type-def type-id='type-id-148' const='yes' id='type-id-494'/>
+    <pointer-type-def type-id='type-id-494' size-in-bits='64' id='type-id-11'/>
+    <class-decl name='rte_intr_handle' size-in-bits='213248' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='69' column='1' id='type-id-495'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-496' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-497' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='max_intr' type-id='type-id-28' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='nb_efd' type-id='type-id-28' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='efd_counter_size' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='efds' type-id='type-id-498' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16576'>
+        <var-decl name='elist' type-id='type-id-499' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='213184'>
+        <var-decl name='intr_vec' type-id='type-id-500' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='71' column='1' id='type-id-496'>
+      <data-member access='private'>
+        <var-decl name='vfio_dev_fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='uio_cfg_fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='73' column='1'/>
+      </data-member>
+    </union-decl>
+    <enum-decl name='rte_intr_handle_type' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='27' column='1' id='type-id-497'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='RTE_INTR_HANDLE_UNKNOWN' value='0'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO' value='1'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO_INTX' value='2'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_LEGACY' value='3'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSI' value='4'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSIX' value='5'/>
+      <enumerator name='RTE_INTR_HANDLE_ALARM' value='6'/>
+      <enumerator name='RTE_INTR_HANDLE_EXT' value='7'/>
+      <enumerator name='RTE_INTR_HANDLE_VDEV' value='8'/>
+      <enumerator name='RTE_INTR_HANDLE_DEV_EVENT' value='9'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_REQ' value='10'/>
+      <enumerator name='RTE_INTR_HANDLE_MAX' value='11'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='16384' id='type-id-498'>
+      <subrange length='512' type-id='type-id-33' id='type-id-501'/>
+
+    </array-type-def>
+    <class-decl name='rte_epoll_event' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='61' column='1' id='type-id-502'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='status' type-id='type-id-503' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='epfd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='epdata' type-id='type-id-504' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-28' volatile='yes' id='type-id-503'/>
+    <class-decl name='rte_epoll_data' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='47' column='1' id='type-id-504'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event' type-id='type-id-28' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='data' type-id='type-id-10' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cb_fun' type-id='type-id-505' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='cb_arg' type-id='type-id-10' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='51' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-506' size-in-bits='64' id='type-id-507'/>
+    <typedef-decl name='rte_intr_event_cb_t' type-id='type-id-507' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='45' column='1' id='type-id-505'/>
+
+    <array-type-def dimensions='1' type-id='type-id-502' size-in-bits='196608' id='type-id-499'>
+      <subrange length='512' type-id='type-id-33' id='type-id-501'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-500'/>
+    <pointer-type-def type-id='type-id-495' size-in-bits='64' id='type-id-13'/>
+    <class-decl name='rte_eth_dev_cb_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1' id='type-id-14'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-508' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-509' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_callback' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-510'/>
+    <pointer-type-def type-id='type-id-510' size-in-bits='64' id='type-id-508'/>
+    <pointer-type-def type-id='type-id-508' size-in-bits='64' id='type-id-509'/>
+    <class-decl name='rte_eth_rxtx_callback' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='758' column='1' id='type-id-511'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-512' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='759' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fn' type-id='type-id-513' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='763' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='param' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='764' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-511' size-in-bits='64' id='type-id-512'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='760' column='1' id='type-id-513'>
+      <data-member access='private'>
+        <var-decl name='rx' type-id='type-id-514' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='761' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='tx' type-id='type-id-515' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='762' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-516' size-in-bits='64' id='type-id-517'/>
+    <typedef-decl name='rte_rx_callback_fn' type-id='type-id-517' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1437' column='1' id='type-id-514'/>
+    <pointer-type-def type-id='type-id-518' size-in-bits='64' id='type-id-519'/>
+    <typedef-decl name='rte_tx_callback_fn' type-id='type-id-519' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1461' column='1' id='type-id-515'/>
+
+    <array-type-def dimensions='1' type-id='type-id-512' size-in-bits='65536' id='type-id-15'>
+      <subrange length='1024' type-id='type-id-33' id='type-id-146'/>
+
+    </array-type-def>
+    <enum-decl name='rte_eth_dev_state' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1467' column='1' id='type-id-16'>
+      <underlying-type type-id='type-id-108'/>
+      <enumerator name='RTE_ETH_DEV_UNUSED' value='0'/>
+      <enumerator name='RTE_ETH_DEV_ATTACHED' value='1'/>
+      <enumerator name='RTE_ETH_DEV_REMOVED' value='2'/>
+    </enum-decl>
+    <qualified-type-def type-id='type-id-5' const='yes' id='type-id-520'/>
+    <pointer-type-def type-id='type-id-520' size-in-bits='64' id='type-id-521'/>
+    <function-decl name='dpaa_eth_eventq_detach' mangled-name='dpaa_eth_eventq_detach' filepath='../drivers/net/dpaa/dpaa_ethdev.c' line='811' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpaa_eth_eventq_detach@@DPDK_20.0'>
+      <parameter type-id='type-id-521' name='dev' filepath='../drivers/net/dpaa/dpaa_ethdev.c' line='811' column='1'/>
+      <parameter type-id='type-id-1' name='eth_rx_queue_id' filepath='../drivers/net/dpaa/dpaa_ethdev.c' line='812' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <typedef-decl name='u16' type-id='type-id-21' filepath='../drivers/common/dpaax/compat.h' line='105' column='1' id='type-id-522'/>
+    <class-decl name='rte_event_eth_rx_adapter_queue_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.h' line='145' column='1' id='type-id-523'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_queue_flags' type-id='type-id-28' visibility='default' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.h' line='146' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='servicing_weight' type-id='type-id-21' visibility='default' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.h' line='150' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ev' type-id='type-id-524' visibility='default' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.h' line='157' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_event' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1006' column='1' id='type-id-524'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-525' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1008' column='1' id='type-id-525'>
+      <data-member access='private'>
+        <var-decl name='event' type-id='type-id-27' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1009' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-526' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1011' column='1' id='type-id-526'>
+      <data-member access='public' layout-offset-in-bits='12'>
+        <var-decl name='flow_id' type-id='type-id-28' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1012' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4'>
+        <var-decl name='sub_event_type' type-id='type-id-28' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1019' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event_type' type-id='type-id-28' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1023' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='op' type-id='type-id-4' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1027' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2'>
+        <var-decl name='rsvd' type-id='type-id-4' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1033' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='sched_type' type-id='type-id-4' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1035' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='queue_id' type-id='type-id-4' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1040' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='priority' type-id='type-id-4' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1047' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='impl_opaque' type-id='type-id-4' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1057' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-523' const='yes' id='type-id-527'/>
+    <pointer-type-def type-id='type-id-527' size-in-bits='64' id='type-id-528'/>
+    <function-decl name='dpaa_eth_eventq_attach' mangled-name='dpaa_eth_eventq_attach' filepath='../drivers/net/dpaa/dpaa_ethdev.c' line='747' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpaa_eth_eventq_attach@@DPDK_20.0'>
+      <parameter type-id='type-id-521' name='dev' filepath='../drivers/net/dpaa/dpaa_ethdev.c' line='747' column='1'/>
+      <parameter type-id='type-id-1' name='eth_rx_queue_id' filepath='../drivers/net/dpaa/dpaa_ethdev.c' line='748' column='1'/>
+      <parameter type-id='type-id-522' name='ch_id' filepath='../drivers/net/dpaa/dpaa_ethdev.c' line='749' column='1'/>
+      <parameter type-id='type-id-528' name='queue_conf' filepath='../drivers/net/dpaa/dpaa_ethdev.c' line='750' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-364'>
+      <parameter type-id='type-id-239'/>
+      <return type-id='type-id-273'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-325'>
+      <return type-id='type-id-324'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-308'>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-319'>
+      <parameter type-id='type-id-272'/>
+      <parameter type-id='type-id-10'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-312'>
+      <parameter type-id='type-id-311'/>
+      <parameter type-id='type-id-10'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-317'>
+      <parameter type-id='type-id-12'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-321'>
+      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-10'/>
+      <parameter type-id='type-id-27'/>
+      <parameter type-id='type-id-53'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-240'>
+      <parameter type-id='type-id-239'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-362'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-343'/>
+      <parameter type-id='type-id-53'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-481'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-272'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-468'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-467'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-475'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-474'/>
+      <parameter type-id='type-id-470'/>
+      <parameter type-id='type-id-39'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-444'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-442'/>
+      <parameter type-id='type-id-443'/>
+      <parameter type-id='type-id-10'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-371'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-370'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-244'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-436'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-435'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-432'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-431'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-451'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-450'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-347'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-346'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-440'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-439'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-394'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-393'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-485'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-484'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-417'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-416'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-419'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-416'/>
+      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-4'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-408'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-407'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-4'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-398'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-397'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-424'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-423'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-428'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-427'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-259'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-258'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-412'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-411'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-263'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-262'/>
+      <parameter type-id='type-id-39'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-477'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-266'/>
+      <parameter type-id='type-id-474'/>
+      <parameter type-id='type-id-39'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-267'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-266'/>
+      <parameter type-id='type-id-39'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-250'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-93'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-252'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-248'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-400'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-4'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-460'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-457'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-458'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-457'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-464'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-463'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-254'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-368'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-360'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-359'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-421'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-492'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-491'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-377'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-39'/>
+      <parameter type-id='type-id-376'/>
+      <parameter type-id='type-id-29'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-387'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-39'/>
+      <parameter type-id='type-id-386'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-269'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-4'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-366'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-402'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-4'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-471'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-470'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-479'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-10'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-334'>
+      <parameter type-id='type-id-10'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-383'>
+      <parameter type-id='type-id-10'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-389'>
+      <parameter type-id='type-id-10'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-315'>
+      <parameter type-id='type-id-311'/>
+      <parameter type-id='type-id-314'/>
+      <parameter type-id='type-id-10'/>
+      <return type-id='type-id-12'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-516'>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-84'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-10'/>
+      <return type-id='type-id-21'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-518'>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-84'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-10'/>
+      <return type-id='type-id-21'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-85'>
+      <parameter type-id='type-id-10'/>
+      <parameter type-id='type-id-84'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-21'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-381'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-28'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-506'>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-10'/>
+      <return type-id='type-id-22'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-242'>
+      <parameter type-id='type-id-239'/>
+      <return type-id='type-id-22'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-373'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-22'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-351'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-350'/>
+      <return type-id='type-id-22'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-355'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-354'/>
+      <return type-id='type-id-22'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-246'>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-22'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-71'>
+      <parameter type-id='type-id-65'/>
+      <parameter type-id='type-id-10'/>
+      <return type-id='type-id-22'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-379'>
+      <parameter type-id='type-id-10'/>
+      <return type-id='type-id-22'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-76'>
+      <parameter type-id='type-id-10'/>
+      <parameter type-id='type-id-10'/>
+      <return type-id='type-id-22'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-332'>
+      <parameter type-id='type-id-10'/>
+      <parameter type-id='type-id-272'/>
+      <parameter type-id='type-id-331'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_dpaa2.dump b/drivers/.abi/librte_pmd_dpaa2.dump
new file mode 100644
index 000000000..0c1ac6aad
--- /dev/null
+++ b/drivers/.abi/librte_pmd_dpaa2.dump
@@ -0,0 +1,3319 @@
+<abi-corpus path='gcc//drivers/librte_pmd_dpaa2.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_dpaa2.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='librte_mempool_dpaa2.so.20.0'/>
+    <dependency name='librte_bus_fslmc.so.20.0'/>
+    <dependency name='librte_common_dpaax.so.20.0'/>
+    <dependency name='librte_eventdev.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='librte_timer.so.20.0'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='dpaa2_eth_eventq_attach' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dpaa2_eth_eventq_detach' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_dpaa2_mux_flow_create' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_dpaa2_set_custom_hash' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_dpaa2_set_timestamp' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/dpaa2/base/dpaa2_hw_dpni.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-2'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-2' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-3'/>
+    <typedef-decl name='uint16_t' type-id='type-id-3' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-4'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-5'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-5' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-6'/>
+    <typedef-decl name='uint8_t' type-id='type-id-6' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-7'/>
+    <function-decl name='rte_pmd_dpaa2_set_custom_hash' mangled-name='rte_pmd_dpaa2_set_custom_hash' filepath='../drivers/net/dpaa2/base/dpaa2_hw_dpni.c' line='32' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_dpaa2_set_custom_hash@@EXPERIMENTAL'>
+      <parameter type-id='type-id-4' name='port_id' filepath='../drivers/net/dpaa2/base/dpaa2_hw_dpni.c' line='32' column='1'/>
+      <parameter type-id='type-id-4' name='offset' filepath='../drivers/net/dpaa2/base/dpaa2_hw_dpni.c' line='33' column='1'/>
+      <parameter type-id='type-id-7' name='size' filepath='../drivers/net/dpaa2/base/dpaa2_hw_dpni.c' line='34' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/dpaa2/dpaa2_mux.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_flow' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/net/dpaa2/dpaa2_mux.c' line='35' column='1' id='type-id-8'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rule' type-id='type-id-9' visibility='default' filepath='../drivers/net/dpaa2/dpaa2_mux.c' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='dpdmux_rule_cfg' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/net/dpaa2/mc/fsl_dpdmux.h' line='375' column='1' id='type-id-9'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='key_iova' type-id='type-id-10' visibility='default' filepath='../drivers/net/dpaa2/mc/fsl_dpdmux.h' line='376' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mask_iova' type-id='type-id-10' visibility='default' filepath='../drivers/net/dpaa2/mc/fsl_dpdmux.h' line='377' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='key_size' type-id='type-id-7' visibility='default' filepath='../drivers/net/dpaa2/mc/fsl_dpdmux.h' line='378' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-11'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-11' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-12'/>
+    <typedef-decl name='uint64_t' type-id='type-id-12' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-10'/>
+    <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-13'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-14'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-14' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-15'/>
+    <typedef-decl name='uint32_t' type-id='type-id-15' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-16'/>
+    <class-decl name='rte_flow_item' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1517' column='1' id='type-id-17'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1518' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='spec' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1519' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='last' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='mask' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1521' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-20'/>
+    <enum-decl name='rte_flow_item_type' filepath='../lib/librte_ethdev/rte_flow.h' line='118' column='1' id='type-id-18'>
+      <underlying-type type-id='type-id-20'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_END' value='0'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VOID' value='1'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_INVERT' value='2'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ANY' value='3'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PF' value='4'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VF' value='5'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PHY_PORT' value='6'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PORT_ID' value='7'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_RAW' value='8'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ETH' value='9'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VLAN' value='10'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV4' value='11'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV6' value='12'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP' value='13'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_UDP' value='14'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_TCP' value='15'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_SCTP' value='16'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VXLAN' value='17'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_E_TAG' value='18'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_NVGRE' value='19'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_MPLS' value='20'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GRE' value='21'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_FUZZY' value='22'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTP' value='23'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTPC' value='24'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTPU' value='25'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ESP' value='26'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GENEVE' value='27'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VXLAN_GPE' value='28'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ARP_ETH_IPV4' value='29'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV6_EXT' value='30'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6' value='31'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_NS' value='32'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_NA' value='33'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT' value='34'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT_SLA_ETH' value='35'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT_TLA_ETH' value='36'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_MARK' value='37'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_META' value='38'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GRE_KEY' value='39'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTP_PSC' value='40'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOES' value='41'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOED' value='42'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOE_PROTO_ID' value='43'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_NSH' value='44'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IGMP' value='45'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_AH' value='46'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_HIGIG2' value='47'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_TAG' value='48'/>
+    </enum-decl>
+    <type-decl name='void' id='type-id-21'/>
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-19'/>
+    <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-22'/>
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-23'/>
+    <class-decl name='rte_flow_action' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2568' column='1' id='type-id-24'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2569' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='conf' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2570' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_action_type' filepath='../lib/librte_ethdev/rte_flow.h' line='1550' column='1' id='type-id-25'>
+      <underlying-type type-id='type-id-20'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_END' value='0'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VOID' value='1'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PASSTHRU' value='2'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_JUMP' value='3'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_MARK' value='4'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_FLAG' value='5'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_QUEUE' value='6'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DROP' value='7'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_COUNT' value='8'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RSS' value='9'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PF' value='10'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VF' value='11'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PHY_PORT' value='12'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PORT_ID' value='13'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_METER' value='14'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SECURITY' value='15'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_MPLS_TTL' value='16'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_DEC_MPLS_TTL' value='17'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_NW_TTL' value='18'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_DEC_NW_TTL' value='19'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_OUT' value='20'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_IN' value='21'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_POP_VLAN' value='22'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_PUSH_VLAN' value='23'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_VID' value='24'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_PCP' value='25'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_POP_MPLS' value='26'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_PUSH_MPLS' value='27'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VXLAN_ENCAP' value='28'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VXLAN_DECAP' value='29'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_NVGRE_ENCAP' value='30'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_NVGRE_DECAP' value='31'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RAW_ENCAP' value='32'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RAW_DECAP' value='33'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV4_SRC' value='34'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV4_DST' value='35'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV6_SRC' value='36'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV6_DST' value='37'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TP_SRC' value='38'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TP_DST' value='39'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_MAC_SWAP' value='40'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TTL' value='41'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TTL' value='42'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_MAC_SRC' value='43'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_MAC_DST' value='44'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_INC_TCP_SEQ' value='45'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TCP_SEQ' value='46'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_INC_TCP_ACK' value='47'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TCP_ACK' value='48'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TAG' value='49'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_META' value='50'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-26'/>
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-27'/>
+    <function-decl name='rte_pmd_dpaa2_mux_flow_create' mangled-name='rte_pmd_dpaa2_mux_flow_create' filepath='../drivers/net/dpaa2/dpaa2_mux.c' line='57' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_dpaa2_mux_flow_create@@EXPERIMENTAL'>
+      <parameter type-id='type-id-16' name='dpdmux_id' filepath='../drivers/net/dpaa2/dpaa2_mux.c' line='57' column='1'/>
+      <parameter type-id='type-id-23' name='pattern' filepath='../drivers/net/dpaa2/dpaa2_mux.c' line='58' column='1'/>
+      <parameter type-id='type-id-27' name='actions' filepath='../drivers/net/dpaa2/dpaa2_mux.c' line='59' column='1'/>
+      <return type-id='type-id-13'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/dpaa2/dpaa2_ethdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <enum-decl name='pmd_dpaa2_ts' filepath='../drivers/net/dpaa2/rte_pmd_dpaa2.h' line='20' column='1' id='type-id-28'>
+      <underlying-type type-id='type-id-20'/>
+      <enumerator name='PMD_DPAA2_DISABLE_TS' value='0'/>
+      <enumerator name='PMD_DPAA2_ENABLE_TS' value='1'/>
+    </enum-decl>
+    <var-decl name='dpaa2_enable_ts' type-id='type-id-28' visibility='default' filepath='../drivers/net/dpaa2/dpaa2_ethdev.h' line='92' column='1'/>
+    <var-decl name='dpaa2_logtype_pmd' type-id='type-id-1' visibility='default' filepath='../drivers/net/dpaa2/dpaa2_pmd_logs.h' line='8' column='1'/>
+    <class-decl name='rte_eth_dev' size-in-bits='132608' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='777' column='1' id='type-id-29'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_pkt_burst' type-id='type-id-30' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='778' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tx_pkt_burst' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tx_pkt_prepare' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='data' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='786' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='process_private' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='787' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_ops' type-id='type-id-34' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='788' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='device' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='789' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='intr_handle' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='790' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='link_intr_cbs' type-id='type-id-37' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='792' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='post_rx_burst_cbs' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='797' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='66176'>
+        <var-decl name='pre_tx_burst_cbs' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131712'>
+        <var-decl name='state' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='803' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131776'>
+        <var-decl name='security_ctx' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131840'>
+        <var-decl name='reserved_64s' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='806' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='132096'>
+        <var-decl name='reserved_ptrs' type-id='type-id-41' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='807' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mbuf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='480' column='1' id='type-id-42'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheline0' type-id='type-id-43' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-19' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-44' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rearm_data' type-id='type-id-45' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='497' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_off' type-id='type-id-4' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_segs' type-id='type-id-4' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='port' type-id='type-id-4' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ol_flags' type-id='type-id-10' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_descriptor_fields1' type-id='type-id-43' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='pkt_len' type-id='type-id-16' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data_len' type-id='type-id-4' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='vlan_tci' type-id='type-id-4' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vlan_tci_outer' type-id='type-id-4' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='buf_len' type-id='type-id-4' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='timestamp' type-id='type-id-10' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cacheline1' type-id='type-id-43' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='pool' type-id='type-id-46' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='next' type-id='type-id-47' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv_size' type-id='type-id-4' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='timesync' type-id='type-id-4' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='seqn' type-id='type-id-16' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='shinfo' type-id='type-id-48' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dynfield1' type-id='type-id-49' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-19' size-in-bits='infinite' id='type-id-50'>
+      <subrange length='infinite' type-id='type-id-11' id='type-id-51'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER' type-id='type-id-50' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='414' column='1' id='type-id-43'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='491' column='1' id='type-id-44'>
+      <data-member access='private'>
+        <var-decl name='buf_iova' type-id='type-id-52' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='buf_physaddr' type-id='type-id-52' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_iova_t' type-id='type-id-10' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-52'/>
+
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='infinite' id='type-id-53'>
+      <subrange length='infinite' type-id='type-id-11' id='type-id-51'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER64' type-id='type-id-53' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='420' column='1' id='type-id-45'/>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-54'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-55' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-56' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-19' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-57' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-14' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-16' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-16' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-16' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-16' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-16' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-14' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-58' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-59' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-16' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-60' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-16' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-61' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-62'/>
+
+    <array-type-def dimensions='1' type-id='type-id-62' size-in-bits='256' id='type-id-55'>
+      <subrange length='32' type-id='type-id-11' id='type-id-63'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-56'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-19' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-10' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-64'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-55' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-65' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-66' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-10' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-58' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-65'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-67' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-52' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-10' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-67'/>
+    <typedef-decl name='size_t' type-id='type-id-11' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-66'/>
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-68'/>
+    <typedef-decl name='int32_t' type-id='type-id-68' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-58'/>
+    <qualified-type-def type-id='type-id-64' const='yes' id='type-id-69'/>
+    <pointer-type-def type-id='type-id-69' size-in-bits='64' id='type-id-57'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-70'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-16' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-16' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-16' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-71' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-19' size-in-bits='98304' id='type-id-71'>
+      <subrange length='1536' type-id='type-id-11' id='type-id-72'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-70' size-in-bits='64' id='type-id-59'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-60'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-73' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-74' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-75'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-76' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-46' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-77' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-76'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-73' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-75' size-in-bits='64' id='type-id-73'/>
+    <pointer-type-def type-id='type-id-54' size-in-bits='64' id='type-id-46'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-77'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-52' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-67' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-73' size-in-bits='64' id='type-id-74'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-61'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-78' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-79' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-80'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-81' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-46' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-19' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-82' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-66' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-83' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-19' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-81'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-78' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-80' size-in-bits='64' id='type-id-78'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-82'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-52' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-67' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-84' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-85'/>
+    <pointer-type-def type-id='type-id-85' size-in-bits='64' id='type-id-83'/>
+    <pointer-type-def type-id='type-id-78' size-in-bits='64' id='type-id-79'/>
+    <pointer-type-def type-id='type-id-42' size-in-bits='64' id='type-id-47'/>
+    <class-decl name='rte_mbuf_ext_shared_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='689' column='1' id='type-id-86'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_cb' type-id='type-id-87' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcb_opaque' type-id='type-id-19' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt_atomic' type-id='type-id-88' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-89' size-in-bits='64' id='type-id-90'/>
+    <typedef-decl name='rte_mbuf_extbuf_free_callback_t' type-id='type-id-90' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='684' column='1' id='type-id-87'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-88' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-91'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-92' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-93'/>
+    <typedef-decl name='__int16_t' type-id='type-id-93' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-94'/>
+    <typedef-decl name='int16_t' type-id='type-id-94' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-95'/>
+    <qualified-type-def type-id='type-id-95' volatile='yes' id='type-id-92'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-91' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-88'/>
+    <pointer-type-def type-id='type-id-86' size-in-bits='64' id='type-id-48'/>
+
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='128' id='type-id-49'>
+      <subrange length='2' type-id='type-id-11' id='type-id-96'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-97'/>
+    <pointer-type-def type-id='type-id-98' size-in-bits='64' id='type-id-99'/>
+    <typedef-decl name='eth_rx_burst_t' type-id='type-id-99' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='340' column='1' id='type-id-30'/>
+    <typedef-decl name='eth_tx_burst_t' type-id='type-id-99' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='345' column='1' id='type-id-31'/>
+    <typedef-decl name='eth_tx_prep_t' type-id='type-id-99' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='350' column='1' id='type-id-32'/>
+    <class-decl name='rte_eth_dev_data' size-in-bits='55808' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='820' column='1' id='type-id-100'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-101' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='821' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_queues' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='823' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_queues' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='824' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='nb_rx_queues' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='825' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='656'>
+        <var-decl name='nb_tx_queues' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='826' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='sriov' type-id='type-id-103' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='dev_private' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='830' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_link' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='835' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dev_conf' type-id='type-id-105' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='836' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25536'>
+        <var-decl name='mtu' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='837' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25568'>
+        <var-decl name='min_rx_buf_size' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25600'>
+        <var-decl name='rx_mbuf_alloc_failed' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='841' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25664'>
+        <var-decl name='mac_addrs' type-id='type-id-106' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='842' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25728'>
+        <var-decl name='mac_pool_sel' type-id='type-id-107' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='846' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='33920'>
+        <var-decl name='hash_mac_addrs' type-id='type-id-106' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='848' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='33984'>
+        <var-decl name='port_id' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='852' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='promiscuous' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='855' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='scattered_rx' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='856' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='all_multicast' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='857' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4'>
+        <var-decl name='dev_started' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='858' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3'>
+        <var-decl name='lro' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='859' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='34008'>
+        <var-decl name='rx_queue_state' type-id='type-id-108' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='860' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='42200'>
+        <var-decl name='tx_queue_state' type-id='type-id-108' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='862' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50400'>
+        <var-decl name='dev_flags' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='864' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50432'>
+        <var-decl name='kdrv' type-id='type-id-109' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50464'>
+        <var-decl name='numa_node' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='866' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50496'>
+        <var-decl name='vlan_filter_conf' type-id='type-id-110' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='867' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='54592'>
+        <var-decl name='owner' type-id='type-id-111' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='869' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55168'>
+        <var-decl name='representor_id' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='870' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55232'>
+        <var-decl name='reserved_64s' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='875' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55488'>
+        <var-decl name='reserved_ptrs' type-id='type-id-41' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='876' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-62' size-in-bits='512' id='type-id-101'>
+      <subrange length='64' type-id='type-id-11' id='type-id-112'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-102'/>
+    <class-decl name='rte_eth_dev_sriov' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1476' column='1' id='type-id-103'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='active' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1477' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='nb_q_per_pool' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1478' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='def_vmdq_idx' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1479' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='def_pool_q_idx' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1480' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_link' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='308' column='1' id='type-id-104'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_speed' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='309' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='15'>
+        <var-decl name='link_duplex' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='310' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='14'>
+        <var-decl name='link_autoneg' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='311' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='13'>
+        <var-decl name='link_status' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='312' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_conf' size-in-bits='24640' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1045' column='1' id='type-id-105'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_speeds' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1046' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rxmode' type-id='type-id-113' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1053' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='txmode' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1054' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='lpbk_mode' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1055' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='rx_adv_conf' type-id='type-id-115' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1068' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='17984'>
+        <var-decl name='tx_adv_conf' type-id='type-id-116' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1076' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18080'>
+        <var-decl name='dcb_capability_en' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1079' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18112'>
+        <var-decl name='fdir_conf' type-id='type-id-117' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1080' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24576'>
+        <var-decl name='intr_conf' type-id='type-id-118' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1081' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rxmode' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='394' column='1' id='type-id-113'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mq_mode' type-id='type-id-119' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='396' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_rx_pkt_len' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='397' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='max_lro_pkt_size' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='399' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='split_hdr_size' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='400' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='offloads' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='406' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-49' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='408' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='409' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_rx_mq_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='344' column='1' id='type-id-119'>
+      <underlying-type type-id='type-id-20'/>
+      <enumerator name='ETH_MQ_RX_NONE' value='0'/>
+      <enumerator name='ETH_MQ_RX_RSS' value='1'/>
+      <enumerator name='ETH_MQ_RX_DCB' value='2'/>
+      <enumerator name='ETH_MQ_RX_DCB_RSS' value='3'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_ONLY' value='4'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_RSS' value='5'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_DCB' value='6'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_DCB_RSS' value='7'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-19' size-in-bits='128' id='type-id-120'>
+      <subrange length='2' type-id='type-id-11' id='type-id-96'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_txmode' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='792' column='1' id='type-id-114'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mq_mode' type-id='type-id-121' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='793' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offloads' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='799' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pvid' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='hw_vlan_reject_tagged' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='hw_vlan_reject_untagged' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='806' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='hw_vlan_insert_pvid' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='808' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-49' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='811' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='812' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_tx_mq_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='377' column='1' id='type-id-121'>
+      <underlying-type type-id='type-id-20'/>
+      <enumerator name='ETH_MQ_TX_NONE' value='0'/>
+      <enumerator name='ETH_MQ_TX_DCB' value='1'/>
+      <enumerator name='ETH_MQ_TX_VMDQ_DCB' value='2'/>
+      <enumerator name='ETH_MQ_TX_VMDQ_ONLY' value='3'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16960' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1060' column='1' id='type-id-115'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rss_conf' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1061' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='vmdq_dcb_conf' type-id='type-id-123' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1062' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8512'>
+        <var-decl name='dcb_rx_conf' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1064' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8640'>
+        <var-decl name='vmdq_rx_conf' type-id='type-id-125' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1066' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rss_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='448' column='1' id='type-id-122'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rss_key' type-id='type-id-126' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rss_key_len' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rss_hf' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='451' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-7' size-in-bits='64' id='type-id-126'/>
+    <class-decl name='rte_eth_vmdq_dcb_conf' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='745' column='1' id='type-id-123'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-127' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='746' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='enable_default_pool' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='default_pool' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='748' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='nb_pool_maps' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='749' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pool_map' type-id='type-id-128' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8256'>
+        <var-decl name='dcb_tc' type-id='type-id-129' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='754' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_nb_pools' filepath='../lib/librte_ethdev/rte_ethdev.h' line='704' column='1' id='type-id-127'>
+      <underlying-type type-id='type-id-20'/>
+      <enumerator name='ETH_8_POOLS' value='8'/>
+      <enumerator name='ETH_16_POOLS' value='16'/>
+      <enumerator name='ETH_32_POOLS' value='32'/>
+      <enumerator name='ETH_64_POOLS' value='64'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='750' column='1' id='type-id-130'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_id' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='751' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pools' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='752' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-130' size-in-bits='8192' id='type-id-128'>
+      <subrange length='64' type-id='type-id-11' id='type-id-112'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='64' id='type-id-129'>
+      <subrange length='8' type-id='type-id-11' id='type-id-131'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_dcb_rx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='712' column='1' id='type-id-124'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-132' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-129' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='715' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_nb_tcs' filepath='../lib/librte_ethdev/rte_ethdev.h' line='695' column='1' id='type-id-132'>
+      <underlying-type type-id='type-id-20'/>
+      <enumerator name='ETH_4_TCS' value='4'/>
+      <enumerator name='ETH_8_TCS' value='8'/>
+    </enum-decl>
+    <class-decl name='rte_eth_vmdq_rx_conf' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='776' column='1' id='type-id-125'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-127' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='777' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='enable_default_pool' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='778' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='default_pool' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='enable_loop_back' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='nb_pool_maps' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='781' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rx_mode' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='782' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pool_map' type-id='type-id-128' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='786' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <union-decl name='__anonymous_union__' size-in-bits='96' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1069' column='1' id='type-id-116'>
+      <data-member access='private'>
+        <var-decl name='vmdq_dcb_tx_conf' type-id='type-id-133' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1070' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dcb_tx_conf' type-id='type-id-134' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1072' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='vmdq_tx_conf' type-id='type-id-135' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1074' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_eth_vmdq_dcb_tx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='718' column='1' id='type-id-133'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-127' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-129' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='721' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dcb_tx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='724' column='1' id='type-id-134'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-132' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-129' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='727' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vmdq_tx_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='730' column='1' id='type-id-135'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-127' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='731' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_fdir_conf' size-in-bits='6464' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1005' column='1' id='type-id-117'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mode' type-id='type-id-136' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1006' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='pballoc' type-id='type-id-137' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1007' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='status' type-id='type-id-138' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1008' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='drop_queue' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1010' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mask' type-id='type-id-139' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1011' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='flex_conf' type-id='type-id-140' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1012' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_fdir_mode' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='603' column='1' id='type-id-136'>
+      <underlying-type type-id='type-id-20'/>
+      <enumerator name='RTE_FDIR_MODE_NONE' value='0'/>
+      <enumerator name='RTE_FDIR_MODE_SIGNATURE' value='1'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT' value='2'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT_MAC_VLAN' value='3'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT_TUNNEL' value='4'/>
+    </enum-decl>
+    <enum-decl name='rte_fdir_pballoc_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='984' column='1' id='type-id-137'>
+      <underlying-type type-id='type-id-20'/>
+      <enumerator name='RTE_FDIR_PBALLOC_64K' value='0'/>
+      <enumerator name='RTE_FDIR_PBALLOC_128K' value='1'/>
+      <enumerator name='RTE_FDIR_PBALLOC_256K' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_fdir_status_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='993' column='1' id='type-id-138'>
+      <underlying-type type-id='type-id-20'/>
+      <enumerator name='RTE_FDIR_NO_REPORT_STATUS' value='0'/>
+      <enumerator name='RTE_FDIR_REPORT_STATUS' value='1'/>
+      <enumerator name='RTE_FDIR_REPORT_STATUS_ALWAYS' value='2'/>
+    </enum-decl>
+    <class-decl name='rte_eth_fdir_masks' size-in-bits='544' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='533' column='1' id='type-id-139'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_tci_mask' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='534' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ipv4_mask' type-id='type-id-141' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='536' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ipv6_mask' type-id='type-id-142' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='538' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='src_port_mask' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='540' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='dst_port_mask' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='542' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='mac_addr_byte_mask' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='545' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='tunnel_id_mask' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='547' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='tunnel_type_mask' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='548' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_ipv4_flow' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='342' column='1' id='type-id-141'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='343' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dst_ip' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='344' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tos' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='345' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='ttl' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='346' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='proto' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='347' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_ipv6_flow' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='381' column='1' id='type-id-142'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-143' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='382' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dst_ip' type-id='type-id-143' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='383' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='tc' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='384' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='264'>
+        <var-decl name='proto' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='385' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='272'>
+        <var-decl name='hop_limits' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='386' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='128' id='type-id-143'>
+      <subrange length='4' type-id='type-id-11' id='type-id-144'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_fdir_flex_conf' size-in-bits='5792' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='591' column='1' id='type-id-140'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_payloads' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='592' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='nb_flexmasks' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='593' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flex_set' type-id='type-id-145' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='594' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2336'>
+        <var-decl name='flex_mask' type-id='type-id-146' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='596' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_flex_payload_cfg' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='568' column='1' id='type-id-147'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-148' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='569' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='src_offset' type-id='type-id-149' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='570' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_payload_type' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='555' column='1' id='type-id-148'>
+      <underlying-type type-id='type-id-20'/>
+      <enumerator name='RTE_ETH_PAYLOAD_UNKNOWN' value='0'/>
+      <enumerator name='RTE_ETH_RAW_PAYLOAD' value='1'/>
+      <enumerator name='RTE_ETH_L2_PAYLOAD' value='2'/>
+      <enumerator name='RTE_ETH_L3_PAYLOAD' value='3'/>
+      <enumerator name='RTE_ETH_L4_PAYLOAD' value='4'/>
+      <enumerator name='RTE_ETH_PAYLOAD_MAX' value='8'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-4' size-in-bits='256' id='type-id-149'>
+      <subrange length='16' type-id='type-id-11' id='type-id-150'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-147' size-in-bits='2304' id='type-id-145'>
+      <subrange length='8' type-id='type-id-11' id='type-id-131'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_fdir_flex_mask' size-in-bits='144' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='581' column='1' id='type-id-151'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flow_type' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='582' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='mask' type-id='type-id-152' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='583' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='128' id='type-id-152'>
+      <subrange length='16' type-id='type-id-11' id='type-id-150'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-151' size-in-bits='3456' id='type-id-146'>
+      <subrange length='24' type-id='type-id-11' id='type-id-153'/>
+
+    </array-type-def>
+    <class-decl name='rte_intr_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1031' column='1' id='type-id-118'>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='lsc' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1033' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='rxq' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1035' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='rmv' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1037' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_ether_addr' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='60' column='1' id='type-id-154'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr_bytes' type-id='type-id-155' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='61' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='48' id='type-id-155'>
+      <subrange length='6' type-id='type-id-11' id='type-id-156'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-154' size-in-bits='64' id='type-id-106'/>
+
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='8192' id='type-id-107'>
+      <subrange length='128' type-id='type-id-11' id='type-id-157'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='8192' id='type-id-108'>
+      <subrange length='1024' type-id='type-id-11' id='type-id-158'/>
+
+    </array-type-def>
+    <enum-decl name='rte_kernel_driver' filepath='../lib/librte_eal/common/include/rte_dev.h' line='60' column='1' id='type-id-109'>
+      <underlying-type type-id='type-id-20'/>
+      <enumerator name='RTE_KDRV_UNKNOWN' value='0'/>
+      <enumerator name='RTE_KDRV_IGB_UIO' value='1'/>
+      <enumerator name='RTE_KDRV_VFIO' value='2'/>
+      <enumerator name='RTE_KDRV_UIO_GENERIC' value='3'/>
+      <enumerator name='RTE_KDRV_NIC_UIO' value='4'/>
+      <enumerator name='RTE_KDRV_NONE' value='5'/>
+    </enum-decl>
+    <class-decl name='rte_vlan_filter_conf' size-in-bits='4096' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='427' column='1' id='type-id-110'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ids' type-id='type-id-159' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='428' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='4096' id='type-id-159'>
+      <subrange length='64' type-id='type-id-11' id='type-id-112'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_dev_owner' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1490' column='1' id='type-id-111'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1491' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='name' type-id='type-id-101' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1492' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='256' id='type-id-40'>
+      <subrange length='4' type-id='type-id-11' id='type-id-144'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-19' size-in-bits='256' id='type-id-41'>
+      <subrange length='4' type-id='type-id-11' id='type-id-144'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-100' size-in-bits='64' id='type-id-33'/>
+    <class-decl name='eth_dev_ops' size-in-bits='6016' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='609' column='1' id='type-id-160'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_configure' type-id='type-id-161' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_start' type-id='type-id-162' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='611' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dev_stop' type-id='type-id-163' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='612' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_set_link_up' type-id='type-id-164' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dev_set_link_down' type-id='type-id-165' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='614' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_close' type-id='type-id-166' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='615' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='dev_reset' type-id='type-id-167' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='616' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='link_update' type-id='type-id-168' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='617' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='is_removed' type-id='type-id-169' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='618' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='promiscuous_enable' type-id='type-id-170' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='promiscuous_disable' type-id='type-id-171' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='allmulticast_enable' type-id='type-id-172' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='623' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='allmulticast_disable' type-id='type-id-173' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='624' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='mac_addr_remove' type-id='type-id-174' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='625' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='mac_addr_add' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='626' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='mac_addr_set' type-id='type-id-176' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='627' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='set_mc_addr_list' type-id='type-id-177' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='628' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mtu_set' type-id='type-id-178' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='629' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='stats_get' type-id='type-id-179' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='631' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='stats_reset' type-id='type-id-180' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='632' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='xstats_get' type-id='type-id-181' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='633' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='xstats_reset' type-id='type-id-182' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='634' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='xstats_get_names' type-id='type-id-183' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='635' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='queue_stats_mapping_set' type-id='type-id-184' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='637' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='dev_infos_get' type-id='type-id-185' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='640' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='rxq_info_get' type-id='type-id-186' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='641' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='txq_info_get' type-id='type-id-187' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='642' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='rx_burst_mode_get' type-id='type-id-188' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='643' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='tx_burst_mode_get' type-id='type-id-188' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='644' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='fw_version_get' type-id='type-id-189' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='645' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='dev_supported_ptypes_get' type-id='type-id-190' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='646' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='dev_ptypes_set' type-id='type-id-191' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='648' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='vlan_filter_set' type-id='type-id-192' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='651' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='vlan_tpid_set' type-id='type-id-193' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='652' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='vlan_strip_queue_set' type-id='type-id-194' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='653' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='vlan_offload_set' type-id='type-id-195' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='654' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='vlan_pvid_set' type-id='type-id-196' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='655' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='rx_queue_start' type-id='type-id-197' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='657' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='rx_queue_stop' type-id='type-id-198' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='658' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2496'>
+        <var-decl name='tx_queue_start' type-id='type-id-197' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='659' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='tx_queue_stop' type-id='type-id-198' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='660' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='rx_queue_setup' type-id='type-id-199' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='661' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2688'>
+        <var-decl name='rx_queue_release' type-id='type-id-200' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2752'>
+        <var-decl name='rx_queue_count' type-id='type-id-201' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='663' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2816'>
+        <var-decl name='rx_descriptor_done' type-id='type-id-202' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2880'>
+        <var-decl name='rx_descriptor_status' type-id='type-id-203' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='666' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2944'>
+        <var-decl name='tx_descriptor_status' type-id='type-id-204' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3008'>
+        <var-decl name='rx_queue_intr_enable' type-id='type-id-205' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='670' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3072'>
+        <var-decl name='rx_queue_intr_disable' type-id='type-id-206' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3136'>
+        <var-decl name='tx_queue_setup' type-id='type-id-207' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='672' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3200'>
+        <var-decl name='tx_queue_release' type-id='type-id-200' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3264'>
+        <var-decl name='tx_done_cleanup' type-id='type-id-208' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='674' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3328'>
+        <var-decl name='dev_led_on' type-id='type-id-209' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3392'>
+        <var-decl name='dev_led_off' type-id='type-id-210' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='677' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3456'>
+        <var-decl name='flow_ctrl_get' type-id='type-id-211' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='679' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3520'>
+        <var-decl name='flow_ctrl_set' type-id='type-id-212' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='680' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='priority_flow_ctrl_set' type-id='type-id-213' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='681' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3648'>
+        <var-decl name='uc_hash_table_set' type-id='type-id-214' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='683' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3712'>
+        <var-decl name='uc_all_hash_table_set' type-id='type-id-215' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='684' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3776'>
+        <var-decl name='mirror_rule_set' type-id='type-id-216' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='686' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3840'>
+        <var-decl name='mirror_rule_reset' type-id='type-id-217' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='687' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3904'>
+        <var-decl name='udp_tunnel_port_add' type-id='type-id-218' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='689' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3968'>
+        <var-decl name='udp_tunnel_port_del' type-id='type-id-219' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4032'>
+        <var-decl name='l2_tunnel_eth_type_conf' type-id='type-id-220' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4096'>
+        <var-decl name='l2_tunnel_offload_set' type-id='type-id-221' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='693' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4160'>
+        <var-decl name='set_queue_rate_limit' type-id='type-id-222' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='696' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4224'>
+        <var-decl name='rss_hash_update' type-id='type-id-223' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='698' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4288'>
+        <var-decl name='rss_hash_conf_get' type-id='type-id-224' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='699' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4352'>
+        <var-decl name='reta_update' type-id='type-id-225' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='700' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4416'>
+        <var-decl name='reta_query' type-id='type-id-226' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='701' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4480'>
+        <var-decl name='get_reg' type-id='type-id-227' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='703' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4544'>
+        <var-decl name='get_eeprom_length' type-id='type-id-228' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='704' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4608'>
+        <var-decl name='get_eeprom' type-id='type-id-229' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='705' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4672'>
+        <var-decl name='set_eeprom' type-id='type-id-230' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='706' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4736'>
+        <var-decl name='get_module_info' type-id='type-id-231' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='708' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4800'>
+        <var-decl name='get_module_eeprom' type-id='type-id-232' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='710' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4864'>
+        <var-decl name='filter_ctrl' type-id='type-id-233' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4928'>
+        <var-decl name='get_dcb_info' type-id='type-id-234' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='715' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4992'>
+        <var-decl name='timesync_enable' type-id='type-id-235' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='717' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5056'>
+        <var-decl name='timesync_disable' type-id='type-id-236' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5120'>
+        <var-decl name='timesync_read_rx_timestamp' type-id='type-id-237' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='721' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5184'>
+        <var-decl name='timesync_read_tx_timestamp' type-id='type-id-238' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='723' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5248'>
+        <var-decl name='timesync_adjust_time' type-id='type-id-239' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5312'>
+        <var-decl name='timesync_read_time' type-id='type-id-240' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='726' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5376'>
+        <var-decl name='timesync_write_time' type-id='type-id-241' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='727' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5440'>
+        <var-decl name='read_clock' type-id='type-id-242' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='729' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5504'>
+        <var-decl name='xstats_get_by_id' type-id='type-id-243' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='731' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5568'>
+        <var-decl name='xstats_get_names_by_id' type-id='type-id-244' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='733' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5632'>
+        <var-decl name='tm_ops_get' type-id='type-id-245' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='736' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5696'>
+        <var-decl name='mtr_ops_get' type-id='type-id-246' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='739' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5760'>
+        <var-decl name='pool_ops_supported' type-id='type-id-247' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='742' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5824'>
+        <var-decl name='hairpin_cap_get' type-id='type-id-248' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='745' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5888'>
+        <var-decl name='rx_hairpin_queue_setup' type-id='type-id-249' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5952'>
+        <var-decl name='tx_hairpin_queue_setup' type-id='type-id-250' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='749' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-251'/>
+    <pointer-type-def type-id='type-id-252' size-in-bits='64' id='type-id-253'/>
+    <typedef-decl name='eth_dev_configure_t' type-id='type-id-253' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='31' column='1' id='type-id-161'/>
+    <typedef-decl name='eth_dev_start_t' type-id='type-id-253' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='34' column='1' id='type-id-162'/>
+    <pointer-type-def type-id='type-id-254' size-in-bits='64' id='type-id-255'/>
+    <typedef-decl name='eth_dev_stop_t' type-id='type-id-255' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='37' column='1' id='type-id-163'/>
+    <typedef-decl name='eth_dev_set_link_up_t' type-id='type-id-253' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='40' column='1' id='type-id-164'/>
+    <typedef-decl name='eth_dev_set_link_down_t' type-id='type-id-253' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='43' column='1' id='type-id-165'/>
+    <typedef-decl name='eth_dev_close_t' type-id='type-id-255' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='46' column='1' id='type-id-166'/>
+    <typedef-decl name='eth_dev_reset_t' type-id='type-id-253' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='49' column='1' id='type-id-167'/>
+    <pointer-type-def type-id='type-id-256' size-in-bits='64' id='type-id-257'/>
+    <typedef-decl name='eth_link_update_t' type-id='type-id-257' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='155' column='1' id='type-id-168'/>
+    <typedef-decl name='eth_is_removed_t' type-id='type-id-253' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='52' column='1' id='type-id-169'/>
+    <typedef-decl name='eth_promiscuous_enable_t' type-id='type-id-253' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='78' column='1' id='type-id-170'/>
+    <typedef-decl name='eth_promiscuous_disable_t' type-id='type-id-253' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='103' column='1' id='type-id-171'/>
+    <typedef-decl name='eth_allmulticast_enable_t' type-id='type-id-253' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='128' column='1' id='type-id-172'/>
+    <typedef-decl name='eth_allmulticast_disable_t' type-id='type-id-253' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='153' column='1' id='type-id-173'/>
+    <pointer-type-def type-id='type-id-258' size-in-bits='64' id='type-id-259'/>
+    <typedef-decl name='eth_mac_addr_remove_t' type-id='type-id-259' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='391' column='1' id='type-id-174'/>
+    <pointer-type-def type-id='type-id-260' size-in-bits='64' id='type-id-261'/>
+    <typedef-decl name='eth_mac_addr_add_t' type-id='type-id-261' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='394' column='1' id='type-id-175'/>
+    <pointer-type-def type-id='type-id-262' size-in-bits='64' id='type-id-263'/>
+    <typedef-decl name='eth_mac_addr_set_t' type-id='type-id-263' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='400' column='1' id='type-id-176'/>
+    <pointer-type-def type-id='type-id-264' size-in-bits='64' id='type-id-265'/>
+    <typedef-decl name='eth_set_mc_addr_list_t' type-id='type-id-265' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='436' column='1' id='type-id-177'/>
+    <pointer-type-def type-id='type-id-266' size-in-bits='64' id='type-id-267'/>
+    <typedef-decl name='mtu_set_t' type-id='type-id-267' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='315' column='1' id='type-id-178'/>
+    <class-decl name='rte_eth_stats' size-in-bits='5632' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='243' column='1' id='type-id-268'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ipackets' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='opackets' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ibytes' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='246' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='obytes' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='imissed' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='ierrors' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='oerrors' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='rx_nombuf' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='q_ipackets' type-id='type-id-269' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='q_opackets' type-id='type-id-269' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='q_ibytes' type-id='type-id-269' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='q_obytes' type-id='type-id-269' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4608'>
+        <var-decl name='q_errors' type-id='type-id-269' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='263' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='1024' id='type-id-269'>
+      <subrange length='16' type-id='type-id-11' id='type-id-150'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-268' size-in-bits='64' id='type-id-270'/>
+    <pointer-type-def type-id='type-id-271' size-in-bits='64' id='type-id-272'/>
+    <typedef-decl name='eth_stats_get_t' type-id='type-id-272' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='159' column='1' id='type-id-179'/>
+    <typedef-decl name='eth_stats_reset_t' type-id='type-id-253' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='182' column='1' id='type-id-180'/>
+    <class-decl name='rte_eth_xstat' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1337' column='1' id='type-id-273'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1338' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='value' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1339' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-273' size-in-bits='64' id='type-id-274'/>
+    <pointer-type-def type-id='type-id-275' size-in-bits='64' id='type-id-276'/>
+    <typedef-decl name='eth_xstats_get_t' type-id='type-id-276' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='184' column='1' id='type-id-181'/>
+    <typedef-decl name='eth_xstats_reset_t' type-id='type-id-253' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='213' column='1' id='type-id-182'/>
+    <class-decl name='rte_eth_xstat_name' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1349' column='1' id='type-id-277'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-101' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1350' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-277' size-in-bits='64' id='type-id-278'/>
+    <pointer-type-def type-id='type-id-279' size-in-bits='64' id='type-id-280'/>
+    <typedef-decl name='eth_xstats_get_names_t' type-id='type-id-280' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='215' column='1' id='type-id-183'/>
+    <pointer-type-def type-id='type-id-281' size-in-bits='64' id='type-id-282'/>
+    <typedef-decl name='eth_queue_stats_mapping_set_t' type-id='type-id-282' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='224' column='1' id='type-id-184'/>
+    <class-decl name='rte_eth_dev_info' size-in-bits='2560' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1226' column='1' id='type-id-283'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='device' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1227' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='driver_name' type-id='type-id-284' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='if_index' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='min_mtu' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='max_mtu' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_flags' type-id='type-id-285' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='min_rx_bufsize' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1234' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='max_rx_pktlen' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1235' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='max_lro_pkt_size' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='max_rx_queues' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='max_tx_queues' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1239' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='max_mac_addrs' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='max_hash_mac_addrs' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1241' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='max_vfs' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1243' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='max_vmdq_pools' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_offload_capa' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_offload_capa' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='rx_queue_offload_capa' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='tx_queue_offload_capa' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='reta_size' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='hash_key_size' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='flow_type_rss_offloads' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='default_rxconf' type-id='type-id-286' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='default_txconf' type-id='type-id-287' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='vmdq_queue_base' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1744'>
+        <var-decl name='vmdq_queue_num' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1760'>
+        <var-decl name='vmdq_pool_base' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1262' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1776'>
+        <var-decl name='rx_desc_lim' type-id='type-id-288' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1263' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='tx_desc_lim' type-id='type-id-288' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1264' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1952'>
+        <var-decl name='speed_capa' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1265' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='nb_rx_queues' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1267' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2000'>
+        <var-decl name='nb_tx_queues' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1268' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2016'>
+        <var-decl name='default_rxportconf' type-id='type-id-289' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1270' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2064'>
+        <var-decl name='default_txportconf' type-id='type-id-289' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1272' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='dev_capa' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1274' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='switch_info' type-id='type-id-290' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='reserved_64s' type-id='type-id-49' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1281' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='reserved_ptrs' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1282' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-291'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-292' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-284' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-293' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-294' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-295' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-292'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-35' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-296' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-291' size-in-bits='64' id='type-id-35'/>
+    <pointer-type-def type-id='type-id-35' size-in-bits='64' id='type-id-296'/>
+    <qualified-type-def type-id='type-id-62' const='yes' id='type-id-297'/>
+    <pointer-type-def type-id='type-id-297' size-in-bits='64' id='type-id-284'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-298'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-299' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-284' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-284' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-299'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-300' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-301' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-298' size-in-bits='64' id='type-id-300'/>
+    <pointer-type-def type-id='type-id-300' size-in-bits='64' id='type-id-301'/>
+    <qualified-type-def type-id='type-id-298' const='yes' id='type-id-302'/>
+    <pointer-type-def type-id='type-id-302' size-in-bits='64' id='type-id-293'/>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-303'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-304' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-284' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-305' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-306' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-307' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-308' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-309' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-310' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-311' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-312' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-313' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-314' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-315' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-316' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-317' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-304'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-318' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-319' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-303' size-in-bits='64' id='type-id-318'/>
+    <pointer-type-def type-id='type-id-318' size-in-bits='64' id='type-id-319'/>
+    <pointer-type-def type-id='type-id-320' size-in-bits='64' id='type-id-321'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-321' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-305'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-321' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-306'/>
+    <qualified-type-def type-id='type-id-291' const='yes' id='type-id-322'/>
+    <pointer-type-def type-id='type-id-322' size-in-bits='64' id='type-id-323'/>
+    <pointer-type-def type-id='type-id-324' size-in-bits='64' id='type-id-325'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-325' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-326'/>
+    <pointer-type-def type-id='type-id-327' size-in-bits='64' id='type-id-328'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-328' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-307'/>
+    <pointer-type-def type-id='type-id-329' size-in-bits='64' id='type-id-330'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-330' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-308'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-330' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-309'/>
+    <pointer-type-def type-id='type-id-331' size-in-bits='64' id='type-id-332'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-332' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-310'/>
+    <pointer-type-def type-id='type-id-333' size-in-bits='64' id='type-id-334'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-334' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-311'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-334' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-312'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-313'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-335' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-335'>
+      <underlying-type type-id='type-id-20'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-336'>
+      <underlying-type type-id='type-id-20'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-337' size-in-bits='64' id='type-id-338'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-338' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-314'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-339'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-284' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-284' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-284' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-318' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-340' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-35' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-341'/>
+    <pointer-type-def type-id='type-id-341' size-in-bits='64' id='type-id-340'/>
+    <qualified-type-def type-id='type-id-339' const='yes' id='type-id-342'/>
+    <pointer-type-def type-id='type-id-342' size-in-bits='64' id='type-id-343'/>
+    <pointer-type-def type-id='type-id-344' size-in-bits='64' id='type-id-345'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-345' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-315'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-330' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-316'/>
+    <pointer-type-def type-id='type-id-346' size-in-bits='64' id='type-id-347'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-347' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-317'/>
+    <qualified-type-def type-id='type-id-303' const='yes' id='type-id-348'/>
+    <pointer-type-def type-id='type-id-348' size-in-bits='64' id='type-id-294'/>
+    <class-decl name='rte_devargs' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='47' column='1' id='type-id-349'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-350' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='type' type-id='type-id-351' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='policy' type-id='type-id-352' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='name' type-id='type-id-101' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='' type-id='type-id-353' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='bus' type-id='type-id-318' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='cls' type-id='type-id-340' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='bus_str' type-id='type-id-284' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='cls_str' type-id='type-id-284' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='data' type-id='type-id-284' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='66' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1' id='type-id-350'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-295' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-354' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-349' size-in-bits='64' id='type-id-295'/>
+    <pointer-type-def type-id='type-id-295' size-in-bits='64' id='type-id-354'/>
+    <enum-decl name='rte_devtype' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='31' column='1' id='type-id-351'>
+      <underlying-type type-id='type-id-20'/>
+      <enumerator name='RTE_DEVTYPE_WHITELISTED_PCI' value='0'/>
+      <enumerator name='RTE_DEVTYPE_BLACKLISTED_PCI' value='1'/>
+      <enumerator name='RTE_DEVTYPE_VIRTUAL' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_dev_policy' filepath='../lib/librte_eal/common/include/rte_dev.h' line='72' column='1' id='type-id-352'>
+      <underlying-type type-id='type-id-20'/>
+      <enumerator name='RTE_DEV_WHITELISTED' value='0'/>
+      <enumerator name='RTE_DEV_BLACKLISTED' value='1'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='57' column='1' id='type-id-353'>
+      <data-member access='private'>
+        <var-decl name='args' type-id='type-id-355' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='drv_str' type-id='type-id-284' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='60' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-62' size-in-bits='64' id='type-id-355'/>
+    <qualified-type-def type-id='type-id-16' const='yes' id='type-id-356'/>
+    <pointer-type-def type-id='type-id-356' size-in-bits='64' id='type-id-285'/>
+    <class-decl name='rte_eth_rxconf' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='818' column='1' id='type-id-286'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_thresh' type-id='type-id-357' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='819' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='rx_free_thresh' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='820' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='rx_drop_en' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='821' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='rx_deferred_start' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='822' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offloads' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='reserved_64s' type-id='type-id-49' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='830' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='reserved_ptrs' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='831' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_thresh' size-in-bits='24' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='327' column='1' id='type-id-357'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pthresh' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='328' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='hthresh' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='329' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='wthresh' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='330' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_txconf' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='837' column='1' id='type-id-287'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tx_thresh' type-id='type-id-357' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tx_rs_thresh' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='839' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='tx_free_thresh' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='840' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tx_deferred_start' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='843' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='offloads' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='849' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-49' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='851' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='852' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_desc_lim' size-in-bits='80' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='898' column='1' id='type-id-288'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_max' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='899' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='nb_min' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='900' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_align' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='901' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='nb_seg_max' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='911' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='nb_mtu_seg_max' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='924' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_portconf' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1189' column='1' id='type-id-289'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='burst_size' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1190' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='ring_size' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_queues' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1192' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_switch_info' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1204' column='1' id='type-id-290'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-284' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='domain_id' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1206' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='port_id' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1207' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-283' size-in-bits='64' id='type-id-358'/>
+    <pointer-type-def type-id='type-id-359' size-in-bits='64' id='type-id-360'/>
+    <typedef-decl name='eth_dev_infos_get_t' type-id='type-id-360' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='230' column='1' id='type-id-185'/>
+    <class-decl name='rte_eth_rxq_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1289' column='1' id='type-id-361'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mp' type-id='type-id-46' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1290' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='conf' type-id='type-id-286' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1291' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='scattered_rx' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1292' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='nb_desc' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1293' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-361' size-in-bits='64' id='type-id-362'/>
+    <pointer-type-def type-id='type-id-363' size-in-bits='64' id='type-id-364'/>
+    <typedef-decl name='eth_rxq_info_get_t' type-id='type-id-364' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='306' column='1' id='type-id-186'/>
+    <class-decl name='rte_eth_txq_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1300' column='1' id='type-id-365'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='conf' type-id='type-id-287' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1301' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='nb_desc' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1302' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-365' size-in-bits='64' id='type-id-366'/>
+    <pointer-type-def type-id='type-id-367' size-in-bits='64' id='type-id-368'/>
+    <typedef-decl name='eth_txq_info_get_t' type-id='type-id-368' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='309' column='1' id='type-id-187'/>
+    <class-decl name='rte_eth_burst_mode' size-in-bits='8256' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1318' column='1' id='type-id-369'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1319' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='info' type-id='type-id-370' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1322' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-62' size-in-bits='8192' id='type-id-370'>
+      <subrange length='1024' type-id='type-id-11' id='type-id-158'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-369' size-in-bits='64' id='type-id-371'/>
+    <pointer-type-def type-id='type-id-372' size-in-bits='64' id='type-id-373'/>
+    <typedef-decl name='eth_burst_mode_get_t' type-id='type-id-373' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='312' column='1' id='type-id-188'/>
+    <pointer-type-def type-id='type-id-374' size-in-bits='64' id='type-id-375'/>
+    <typedef-decl name='eth_fw_version_get_t' type-id='type-id-375' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='299' column='1' id='type-id-189'/>
+    <pointer-type-def type-id='type-id-376' size-in-bits='64' id='type-id-377'/>
+    <typedef-decl name='eth_dev_supported_ptypes_get_t' type-id='type-id-377' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='234' column='1' id='type-id-190'/>
+    <pointer-type-def type-id='type-id-378' size-in-bits='64' id='type-id-379'/>
+    <typedef-decl name='eth_dev_ptypes_set_t' type-id='type-id-379' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='249' column='1' id='type-id-191'/>
+    <pointer-type-def type-id='type-id-380' size-in-bits='64' id='type-id-381'/>
+    <typedef-decl name='vlan_filter_set_t' type-id='type-id-381' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='318' column='1' id='type-id-192'/>
+    <enum-decl name='rte_vlan_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='416' column='1' id='type-id-382'>
+      <underlying-type type-id='type-id-20'/>
+      <enumerator name='ETH_VLAN_TYPE_UNKNOWN' value='0'/>
+      <enumerator name='ETH_VLAN_TYPE_INNER' value='1'/>
+      <enumerator name='ETH_VLAN_TYPE_OUTER' value='2'/>
+      <enumerator name='ETH_VLAN_TYPE_MAX' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-383' size-in-bits='64' id='type-id-384'/>
+    <typedef-decl name='vlan_tpid_set_t' type-id='type-id-384' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='323' column='1' id='type-id-193'/>
+    <pointer-type-def type-id='type-id-385' size-in-bits='64' id='type-id-386'/>
+    <typedef-decl name='vlan_strip_queue_set_t' type-id='type-id-386' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='335' column='1' id='type-id-194'/>
+    <typedef-decl name='vlan_offload_set_t' type-id='type-id-257' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='327' column='1' id='type-id-195'/>
+    <typedef-decl name='vlan_pvid_set_t' type-id='type-id-381' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='330' column='1' id='type-id-196'/>
+    <typedef-decl name='eth_queue_start_t' type-id='type-id-267' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='252' column='1' id='type-id-197'/>
+    <typedef-decl name='eth_queue_stop_t' type-id='type-id-267' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='256' column='1' id='type-id-198'/>
+    <qualified-type-def type-id='type-id-286' const='yes' id='type-id-387'/>
+    <pointer-type-def type-id='type-id-387' size-in-bits='64' id='type-id-388'/>
+    <pointer-type-def type-id='type-id-389' size-in-bits='64' id='type-id-390'/>
+    <typedef-decl name='eth_rx_queue_setup_t' type-id='type-id-390' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='260' column='1' id='type-id-199'/>
+    <pointer-type-def type-id='type-id-391' size-in-bits='64' id='type-id-392'/>
+    <typedef-decl name='eth_queue_release_t' type-id='type-id-392' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='283' column='1' id='type-id-200'/>
+    <pointer-type-def type-id='type-id-393' size-in-bits='64' id='type-id-394'/>
+    <typedef-decl name='eth_rx_queue_count_t' type-id='type-id-394' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='286' column='1' id='type-id-201'/>
+    <pointer-type-def type-id='type-id-395' size-in-bits='64' id='type-id-396'/>
+    <typedef-decl name='eth_rx_descriptor_done_t' type-id='type-id-396' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='290' column='1' id='type-id-202'/>
+    <typedef-decl name='eth_rx_descriptor_status_t' type-id='type-id-396' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='293' column='1' id='type-id-203'/>
+    <typedef-decl name='eth_tx_descriptor_status_t' type-id='type-id-396' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='296' column='1' id='type-id-204'/>
+    <typedef-decl name='eth_rx_enable_intr_t' type-id='type-id-267' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='275' column='1' id='type-id-205'/>
+    <typedef-decl name='eth_rx_disable_intr_t' type-id='type-id-267' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='279' column='1' id='type-id-206'/>
+    <qualified-type-def type-id='type-id-287' const='yes' id='type-id-397'/>
+    <pointer-type-def type-id='type-id-397' size-in-bits='64' id='type-id-398'/>
+    <pointer-type-def type-id='type-id-399' size-in-bits='64' id='type-id-400'/>
+    <typedef-decl name='eth_tx_queue_setup_t' type-id='type-id-400' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='268' column='1' id='type-id-207'/>
+    <pointer-type-def type-id='type-id-401' size-in-bits='64' id='type-id-402'/>
+    <typedef-decl name='eth_tx_done_cleanup_t' type-id='type-id-402' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='303' column='1' id='type-id-208'/>
+    <typedef-decl name='eth_dev_led_on_t' type-id='type-id-253' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='385' column='1' id='type-id-209'/>
+    <typedef-decl name='eth_dev_led_off_t' type-id='type-id-253' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='388' column='1' id='type-id-210'/>
+    <class-decl name='rte_eth_fc_conf' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='942' column='1' id='type-id-403'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='high_water' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='943' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='low_water' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='944' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pause_time' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='945' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='send_xon' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='946' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='mode' type-id='type-id-404' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='947' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mac_ctrl_frame_fwd' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='948' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='autoneg' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='949' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_fc_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='930' column='1' id='type-id-404'>
+      <underlying-type type-id='type-id-20'/>
+      <enumerator name='RTE_FC_NONE' value='0'/>
+      <enumerator name='RTE_FC_RX_PAUSE' value='1'/>
+      <enumerator name='RTE_FC_TX_PAUSE' value='2'/>
+      <enumerator name='RTE_FC_FULL' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-403' size-in-bits='64' id='type-id-405'/>
+    <pointer-type-def type-id='type-id-406' size-in-bits='64' id='type-id-407'/>
+    <typedef-decl name='flow_ctrl_get_t' type-id='type-id-407' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='355' column='1' id='type-id-211'/>
+    <typedef-decl name='flow_ctrl_set_t' type-id='type-id-407' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='359' column='1' id='type-id-212'/>
+    <class-decl name='rte_eth_pfc_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='957' column='1' id='type-id-408'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fc' type-id='type-id-403' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='958' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='priority' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='959' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-408' size-in-bits='64' id='type-id-409'/>
+    <pointer-type-def type-id='type-id-410' size-in-bits='64' id='type-id-411'/>
+    <typedef-decl name='priority_flow_ctrl_set_t' type-id='type-id-411' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='363' column='1' id='type-id-213'/>
+    <pointer-type-def type-id='type-id-412' size-in-bits='64' id='type-id-413'/>
+    <typedef-decl name='eth_uc_hash_table_set_t' type-id='type-id-413' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='404' column='1' id='type-id-214'/>
+    <pointer-type-def type-id='type-id-414' size-in-bits='64' id='type-id-415'/>
+    <typedef-decl name='eth_uc_all_hash_table_set_t' type-id='type-id-415' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='409' column='1' id='type-id-215'/>
+    <class-decl name='rte_eth_mirror_conf' size-in-bits='1216' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='670' column='1' id='type-id-416'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rule_type' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='dst_pool' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='672' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pool_mask' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vlan' type-id='type-id-417' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='675' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vlan_mirror' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='661' column='1' id='type-id-417'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_mask' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='vlan_id' type-id='type-id-418' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='664' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-4' size-in-bits='1024' id='type-id-418'>
+      <subrange length='64' type-id='type-id-11' id='type-id-112'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-416' size-in-bits='64' id='type-id-419'/>
+    <pointer-type-def type-id='type-id-420' size-in-bits='64' id='type-id-421'/>
+    <typedef-decl name='eth_mirror_rule_set_t' type-id='type-id-421' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='418' column='1' id='type-id-216'/>
+    <typedef-decl name='eth_mirror_rule_reset_t' type-id='type-id-415' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='424' column='1' id='type-id-217'/>
+    <class-decl name='rte_eth_udp_tunnel' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1023' column='1' id='type-id-422'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='udp_port' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1024' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='prot_type' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1025' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-422' size-in-bits='64' id='type-id-423'/>
+    <pointer-type-def type-id='type-id-424' size-in-bits='64' id='type-id-425'/>
+    <typedef-decl name='eth_udp_tunnel_port_add_t' type-id='type-id-425' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='428' column='1' id='type-id-218'/>
+    <typedef-decl name='eth_udp_tunnel_port_del_t' type-id='type-id-425' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='432' column='1' id='type-id-219'/>
+    <class-decl name='rte_eth_l2_tunnel_conf' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='751' column='1' id='type-id-426'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='l2_tunnel_type' type-id='type-id-427' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='752' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ether_type' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tunnel_id' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='754' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='vf_id' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='755' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pool' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='756' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_tunnel_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='965' column='1' id='type-id-427'>
+      <underlying-type type-id='type-id-20'/>
+      <enumerator name='RTE_TUNNEL_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_TUNNEL_TYPE_VXLAN' value='1'/>
+      <enumerator name='RTE_TUNNEL_TYPE_GENEVE' value='2'/>
+      <enumerator name='RTE_TUNNEL_TYPE_TEREDO' value='3'/>
+      <enumerator name='RTE_TUNNEL_TYPE_NVGRE' value='4'/>
+      <enumerator name='RTE_TUNNEL_TYPE_IP_IN_GRE' value='5'/>
+      <enumerator name='RTE_L2_TUNNEL_TYPE_E_TAG' value='6'/>
+      <enumerator name='RTE_TUNNEL_TYPE_VXLAN_GPE' value='7'/>
+      <enumerator name='RTE_TUNNEL_TYPE_MAX' value='8'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-426' size-in-bits='64' id='type-id-428'/>
+    <pointer-type-def type-id='type-id-429' size-in-bits='64' id='type-id-430'/>
+    <typedef-decl name='eth_l2_tunnel_eth_type_conf_t' type-id='type-id-430' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='494' column='1' id='type-id-220'/>
+    <pointer-type-def type-id='type-id-431' size-in-bits='64' id='type-id-432'/>
+    <typedef-decl name='eth_l2_tunnel_offload_set_t' type-id='type-id-432' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='498' column='1' id='type-id-221'/>
+    <pointer-type-def type-id='type-id-433' size-in-bits='64' id='type-id-434'/>
+    <typedef-decl name='eth_set_queue_rate_limit_t' type-id='type-id-434' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='413' column='1' id='type-id-222'/>
+    <pointer-type-def type-id='type-id-122' size-in-bits='64' id='type-id-435'/>
+    <pointer-type-def type-id='type-id-436' size-in-bits='64' id='type-id-437'/>
+    <typedef-decl name='rss_hash_update_t' type-id='type-id-437' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='377' column='1' id='type-id-223'/>
+    <typedef-decl name='rss_hash_conf_get_t' type-id='type-id-437' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='381' column='1' id='type-id-224'/>
+    <class-decl name='rte_eth_rss_reta_entry64' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='684' column='1' id='type-id-438'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mask' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='685' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='reta' type-id='type-id-418' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='687' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-438' size-in-bits='64' id='type-id-439'/>
+    <pointer-type-def type-id='type-id-440' size-in-bits='64' id='type-id-441'/>
+    <typedef-decl name='reta_update_t' type-id='type-id-441' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='367' column='1' id='type-id-225'/>
+    <typedef-decl name='reta_query_t' type-id='type-id-441' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='372' column='1' id='type-id-226'/>
+    <class-decl name='rte_dev_reg_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='13' column='1' id='type-id-442'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='14' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offset' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='15' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='length' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='16' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='width' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='17' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='version' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='18' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-442' size-in-bits='64' id='type-id-443'/>
+    <pointer-type-def type-id='type-id-444' size-in-bits='64' id='type-id-445'/>
+    <typedef-decl name='eth_get_reg_t' type-id='type-id-445' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='471' column='1' id='type-id-227'/>
+    <typedef-decl name='eth_get_eeprom_length_t' type-id='type-id-253' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='475' column='1' id='type-id-228'/>
+    <class-decl name='rte_dev_eeprom_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='24' column='1' id='type-id-446'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='25' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offset' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='26' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='length' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='27' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='magic' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='28' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-446' size-in-bits='64' id='type-id-447'/>
+    <pointer-type-def type-id='type-id-448' size-in-bits='64' id='type-id-449'/>
+    <typedef-decl name='eth_get_eeprom_t' type-id='type-id-449' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='478' column='1' id='type-id-229'/>
+    <typedef-decl name='eth_set_eeprom_t' type-id='type-id-449' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='482' column='1' id='type-id-230'/>
+    <class-decl name='rte_eth_dev_module_info' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='34' column='1' id='type-id-450'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='eeprom_len' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-450' size-in-bits='64' id='type-id-451'/>
+    <pointer-type-def type-id='type-id-452' size-in-bits='64' id='type-id-453'/>
+    <typedef-decl name='eth_get_module_info_t' type-id='type-id-453' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='486' column='1' id='type-id-231'/>
+    <typedef-decl name='eth_get_module_eeprom_t' type-id='type-id-449' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='490' column='1' id='type-id-232'/>
+    <enum-decl name='rte_filter_type' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='28' column='1' id='type-id-454'>
+      <underlying-type type-id='type-id-20'/>
+      <enumerator name='RTE_ETH_FILTER_NONE' value='0'/>
+      <enumerator name='RTE_ETH_FILTER_MACVLAN' value='1'/>
+      <enumerator name='RTE_ETH_FILTER_ETHERTYPE' value='2'/>
+      <enumerator name='RTE_ETH_FILTER_FLEXIBLE' value='3'/>
+      <enumerator name='RTE_ETH_FILTER_SYN' value='4'/>
+      <enumerator name='RTE_ETH_FILTER_NTUPLE' value='5'/>
+      <enumerator name='RTE_ETH_FILTER_TUNNEL' value='6'/>
+      <enumerator name='RTE_ETH_FILTER_FDIR' value='7'/>
+      <enumerator name='RTE_ETH_FILTER_HASH' value='8'/>
+      <enumerator name='RTE_ETH_FILTER_L2_TUNNEL' value='9'/>
+      <enumerator name='RTE_ETH_FILTER_GENERIC' value='10'/>
+      <enumerator name='RTE_ETH_FILTER_MAX' value='11'/>
+    </enum-decl>
+    <enum-decl name='rte_filter_op' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='46' column='1' id='type-id-455'>
+      <underlying-type type-id='type-id-20'/>
+      <enumerator name='RTE_ETH_FILTER_NOP' value='0'/>
+      <enumerator name='RTE_ETH_FILTER_ADD' value='1'/>
+      <enumerator name='RTE_ETH_FILTER_UPDATE' value='2'/>
+      <enumerator name='RTE_ETH_FILTER_DELETE' value='3'/>
+      <enumerator name='RTE_ETH_FILTER_FLUSH' value='4'/>
+      <enumerator name='RTE_ETH_FILTER_GET' value='5'/>
+      <enumerator name='RTE_ETH_FILTER_SET' value='6'/>
+      <enumerator name='RTE_ETH_FILTER_INFO' value='7'/>
+      <enumerator name='RTE_ETH_FILTER_STATS' value='8'/>
+      <enumerator name='RTE_ETH_FILTER_OP_MAX' value='9'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-456' size-in-bits='64' id='type-id-457'/>
+    <typedef-decl name='eth_filter_ctrl_t' type-id='type-id-457' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='506' column='1' id='type-id-233'/>
+    <class-decl name='rte_eth_dcb_info' size-in-bits='16520' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1377' column='1' id='type-id-458'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1378' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='prio_tc' type-id='type-id-129' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1379' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='tc_bws' type-id='type-id-129' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1380' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='tc_queue' type-id='type-id-459' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1382' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dcb_tc_queue_mapping' size-in-bits='16384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1360' column='1' id='type-id-459'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tc_rxq' type-id='type-id-460' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1365' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8192'>
+        <var-decl name='tc_txq' type-id='type-id-460' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1370' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1362' column='1' id='type-id-461'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='base' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1363' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='nb_queue' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1364' column='1'/>
+      </data-member>
+    </class-decl>
+
+
+    <array-type-def dimensions='2' type-id='type-id-461' size-in-bits='1152' id='type-id-460'>
+      <subrange length='64' type-id='type-id-11' id='type-id-112'/>
+
+      <subrange length='8' type-id='type-id-11' id='type-id-131'/>
+
+    </array-type-def>
+
+
+    <pointer-type-def type-id='type-id-458' size-in-bits='64' id='type-id-462'/>
+    <pointer-type-def type-id='type-id-463' size-in-bits='64' id='type-id-464'/>
+    <typedef-decl name='eth_get_dcb_info' type-id='type-id-464' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='518' column='1' id='type-id-234'/>
+    <typedef-decl name='eth_timesync_enable_t' type-id='type-id-253' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='441' column='1' id='type-id-235'/>
+    <typedef-decl name='eth_timesync_disable_t' type-id='type-id-253' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='444' column='1' id='type-id-236'/>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='9' column='1' id='type-id-465'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tv_sec' type-id='type-id-466' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='11' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tv_nsec' type-id='type-id-467' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='long int' size-in-bits='64' id='type-id-468'/>
+    <typedef-decl name='__time_t' type-id='type-id-468' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-466'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-468' filepath='/usr/include/bits/types.h' line='196' column='1' id='type-id-467'/>
+    <pointer-type-def type-id='type-id-465' size-in-bits='64' id='type-id-469'/>
+    <pointer-type-def type-id='type-id-470' size-in-bits='64' id='type-id-471'/>
+    <typedef-decl name='eth_timesync_read_rx_timestamp_t' type-id='type-id-471' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='447' column='1' id='type-id-237'/>
+    <pointer-type-def type-id='type-id-472' size-in-bits='64' id='type-id-473'/>
+    <typedef-decl name='eth_timesync_read_tx_timestamp_t' type-id='type-id-473' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='452' column='1' id='type-id-238'/>
+    <typedef-decl name='__int64_t' type-id='type-id-468' filepath='/usr/include/bits/types.h' line='44' column='1' id='type-id-474'/>
+    <typedef-decl name='int64_t' type-id='type-id-474' filepath='/usr/include/bits/stdint-intn.h' line='27' column='1' id='type-id-475'/>
+    <pointer-type-def type-id='type-id-476' size-in-bits='64' id='type-id-477'/>
+    <typedef-decl name='eth_timesync_adjust_time' type-id='type-id-477' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='456' column='1' id='type-id-239'/>
+    <typedef-decl name='eth_timesync_read_time' type-id='type-id-473' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='459' column='1' id='type-id-240'/>
+    <qualified-type-def type-id='type-id-465' const='yes' id='type-id-478'/>
+    <pointer-type-def type-id='type-id-478' size-in-bits='64' id='type-id-479'/>
+    <pointer-type-def type-id='type-id-480' size-in-bits='64' id='type-id-481'/>
+    <typedef-decl name='eth_timesync_write_time' type-id='type-id-481' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='463' column='1' id='type-id-241'/>
+    <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-482'/>
+    <pointer-type-def type-id='type-id-483' size-in-bits='64' id='type-id-484'/>
+    <typedef-decl name='eth_read_clock' type-id='type-id-484' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='467' column='1' id='type-id-242'/>
+    <qualified-type-def type-id='type-id-10' const='yes' id='type-id-485'/>
+    <pointer-type-def type-id='type-id-485' size-in-bits='64' id='type-id-486'/>
+    <pointer-type-def type-id='type-id-487' size-in-bits='64' id='type-id-488'/>
+    <typedef-decl name='eth_xstats_get_by_id_t' type-id='type-id-488' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='188' column='1' id='type-id-243'/>
+    <pointer-type-def type-id='type-id-489' size-in-bits='64' id='type-id-490'/>
+    <typedef-decl name='eth_xstats_get_names_by_id_t' type-id='type-id-490' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='219' column='1' id='type-id-244'/>
+    <pointer-type-def type-id='type-id-491' size-in-bits='64' id='type-id-492'/>
+    <typedef-decl name='eth_tm_ops_get_t' type-id='type-id-492' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='512' column='1' id='type-id-245'/>
+    <typedef-decl name='eth_mtr_ops_get_t' type-id='type-id-492' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='515' column='1' id='type-id-246'/>
+    <pointer-type-def type-id='type-id-493' size-in-bits='64' id='type-id-494'/>
+    <typedef-decl name='eth_pool_ops_supported_t' type-id='type-id-494' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='522' column='1' id='type-id-247'/>
+    <class-decl name='rte_eth_hairpin_cap' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='861' column='1' id='type-id-495'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max_nb_queues' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='863' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='max_rx_2_tx' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_tx_2_rx' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='867' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='max_nb_desc' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='868' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-495' size-in-bits='64' id='type-id-496'/>
+    <pointer-type-def type-id='type-id-497' size-in-bits='64' id='type-id-498'/>
+    <typedef-decl name='eth_hairpin_cap_get_t' type-id='type-id-498' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='543' column='1' id='type-id-248'/>
+    <class-decl name='rte_eth_hairpin_conf' size-in-bits='1040' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='890' column='1' id='type-id-499'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='peer_count' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='891' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='peers' type-id='type-id-500' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='892' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_hairpin_peer' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='879' column='1' id='type-id-501'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='port' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='880' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='queue' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='881' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-501' size-in-bits='1024' id='type-id-500'>
+      <subrange length='32' type-id='type-id-11' id='type-id-63'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-499' const='yes' id='type-id-502'/>
+    <pointer-type-def type-id='type-id-502' size-in-bits='64' id='type-id-503'/>
+    <pointer-type-def type-id='type-id-504' size-in-bits='64' id='type-id-505'/>
+    <typedef-decl name='eth_rx_hairpin_queue_setup_t' type-id='type-id-505' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='571' column='1' id='type-id-249'/>
+    <typedef-decl name='eth_tx_hairpin_queue_setup_t' type-id='type-id-505' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='601' column='1' id='type-id-250'/>
+    <qualified-type-def type-id='type-id-160' const='yes' id='type-id-506'/>
+    <pointer-type-def type-id='type-id-506' size-in-bits='64' id='type-id-34'/>
+    <class-decl name='rte_intr_handle' size-in-bits='213248' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='69' column='1' id='type-id-507'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-508' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-509' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='max_intr' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='nb_efd' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='efd_counter_size' type-id='type-id-7' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='efds' type-id='type-id-510' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16576'>
+        <var-decl name='elist' type-id='type-id-511' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='213184'>
+        <var-decl name='intr_vec' type-id='type-id-512' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='71' column='1' id='type-id-508'>
+      <data-member access='private'>
+        <var-decl name='vfio_dev_fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='uio_cfg_fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='73' column='1'/>
+      </data-member>
+    </union-decl>
+    <enum-decl name='rte_intr_handle_type' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='27' column='1' id='type-id-509'>
+      <underlying-type type-id='type-id-20'/>
+      <enumerator name='RTE_INTR_HANDLE_UNKNOWN' value='0'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO' value='1'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO_INTX' value='2'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_LEGACY' value='3'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSI' value='4'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSIX' value='5'/>
+      <enumerator name='RTE_INTR_HANDLE_ALARM' value='6'/>
+      <enumerator name='RTE_INTR_HANDLE_EXT' value='7'/>
+      <enumerator name='RTE_INTR_HANDLE_VDEV' value='8'/>
+      <enumerator name='RTE_INTR_HANDLE_DEV_EVENT' value='9'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_REQ' value='10'/>
+      <enumerator name='RTE_INTR_HANDLE_MAX' value='11'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='16384' id='type-id-510'>
+      <subrange length='512' type-id='type-id-11' id='type-id-513'/>
+
+    </array-type-def>
+    <class-decl name='rte_epoll_event' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='61' column='1' id='type-id-514'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='status' type-id='type-id-515' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='epfd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='epdata' type-id='type-id-516' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-16' volatile='yes' id='type-id-515'/>
+    <class-decl name='rte_epoll_data' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='47' column='1' id='type-id-516'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='data' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cb_fun' type-id='type-id-517' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='cb_arg' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='51' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-518' size-in-bits='64' id='type-id-519'/>
+    <typedef-decl name='rte_intr_event_cb_t' type-id='type-id-519' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='45' column='1' id='type-id-517'/>
+
+    <array-type-def dimensions='1' type-id='type-id-514' size-in-bits='196608' id='type-id-511'>
+      <subrange length='512' type-id='type-id-11' id='type-id-513'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-512'/>
+    <pointer-type-def type-id='type-id-507' size-in-bits='64' id='type-id-36'/>
+    <class-decl name='rte_eth_dev_cb_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1' id='type-id-37'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-520' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-521' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_callback' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-522'/>
+    <pointer-type-def type-id='type-id-522' size-in-bits='64' id='type-id-520'/>
+    <pointer-type-def type-id='type-id-520' size-in-bits='64' id='type-id-521'/>
+    <class-decl name='rte_eth_rxtx_callback' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='758' column='1' id='type-id-523'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-524' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='759' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fn' type-id='type-id-525' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='763' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='param' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='764' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-523' size-in-bits='64' id='type-id-524'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='760' column='1' id='type-id-525'>
+      <data-member access='private'>
+        <var-decl name='rx' type-id='type-id-526' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='761' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='tx' type-id='type-id-527' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='762' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-528' size-in-bits='64' id='type-id-529'/>
+    <typedef-decl name='rte_rx_callback_fn' type-id='type-id-529' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1437' column='1' id='type-id-526'/>
+    <pointer-type-def type-id='type-id-530' size-in-bits='64' id='type-id-531'/>
+    <typedef-decl name='rte_tx_callback_fn' type-id='type-id-531' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1461' column='1' id='type-id-527'/>
+
+    <array-type-def dimensions='1' type-id='type-id-524' size-in-bits='65536' id='type-id-38'>
+      <subrange length='1024' type-id='type-id-11' id='type-id-158'/>
+
+    </array-type-def>
+    <enum-decl name='rte_eth_dev_state' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1467' column='1' id='type-id-39'>
+      <underlying-type type-id='type-id-20'/>
+      <enumerator name='RTE_ETH_DEV_UNUSED' value='0'/>
+      <enumerator name='RTE_ETH_DEV_ATTACHED' value='1'/>
+      <enumerator name='RTE_ETH_DEV_REMOVED' value='2'/>
+    </enum-decl>
+    <qualified-type-def type-id='type-id-29' const='yes' id='type-id-532'/>
+    <pointer-type-def type-id='type-id-532' size-in-bits='64' id='type-id-533'/>
+    <function-decl name='dpaa2_eth_eventq_detach' mangled-name='dpaa2_eth_eventq_detach' filepath='../drivers/net/dpaa2/dpaa2_ethdev.c' line='2094' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpaa2_eth_eventq_detach@@DPDK_20.0'>
+      <parameter type-id='type-id-533' name='dev' filepath='../drivers/net/dpaa2/dpaa2_ethdev.c' line='2094' column='1'/>
+      <parameter type-id='type-id-1' name='eth_rx_queue_id' filepath='../drivers/net/dpaa2/dpaa2_ethdev.c' line='2095' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='dpaa2_dpcon_dev' size-in-bits='320' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='190' column='1' id='type-id-534'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-535' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dpcon' type-id='type-id-536' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='192' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='token' type-id='type-id-4' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='193' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='208'>
+        <var-decl name='in_use' type-id='type-id-88' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='dpcon_id' type-id='type-id-16' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='qbman_ch_id' type-id='type-id-4' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='196' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='272'>
+        <var-decl name='num_priorities' type-id='type-id-7' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='197' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='280'>
+        <var-decl name='channel_index' type-id='type-id-7' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='198' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='191' column='1' id='type-id-535'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-537' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-538' visibility='default' filepath='../drivers/bus/fslmc/portal/dpaa2_hw_pvt.h' line='191' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-534' size-in-bits='64' id='type-id-537'/>
+    <pointer-type-def type-id='type-id-537' size-in-bits='64' id='type-id-538'/>
+    <class-decl name='fsl_mc_io' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_mc_sys.h' line='57' column='1' id='type-id-536'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='regs' type-id='type-id-19' visibility='default' filepath='../drivers/bus/fslmc/mc/fsl_mc_sys.h' line='58' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_event_eth_rx_adapter_queue_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.h' line='145' column='1' id='type-id-539'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_queue_flags' type-id='type-id-16' visibility='default' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.h' line='146' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='servicing_weight' type-id='type-id-4' visibility='default' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.h' line='150' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ev' type-id='type-id-540' visibility='default' filepath='../lib/librte_eventdev/rte_event_eth_rx_adapter.h' line='157' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_event' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1006' column='1' id='type-id-540'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-541' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1008' column='1' id='type-id-541'>
+      <data-member access='private'>
+        <var-decl name='event' type-id='type-id-10' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1009' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-542' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1011' column='1' id='type-id-542'>
+      <data-member access='public' layout-offset-in-bits='12'>
+        <var-decl name='flow_id' type-id='type-id-16' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1012' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4'>
+        <var-decl name='sub_event_type' type-id='type-id-16' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1019' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event_type' type-id='type-id-16' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1023' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='op' type-id='type-id-7' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1027' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2'>
+        <var-decl name='rsvd' type-id='type-id-7' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1033' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='sched_type' type-id='type-id-7' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1035' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='queue_id' type-id='type-id-7' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1040' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='priority' type-id='type-id-7' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1047' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='impl_opaque' type-id='type-id-7' visibility='default' filepath='../lib/librte_eventdev/rte_eventdev.h' line='1057' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-539' const='yes' id='type-id-543'/>
+    <pointer-type-def type-id='type-id-543' size-in-bits='64' id='type-id-544'/>
+    <function-decl name='dpaa2_eth_eventq_attach' mangled-name='dpaa2_eth_eventq_attach' filepath='../drivers/net/dpaa2/dpaa2_ethdev.c' line='2008' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dpaa2_eth_eventq_attach@@DPDK_20.0'>
+      <parameter type-id='type-id-533' name='dev' filepath='../drivers/net/dpaa2/dpaa2_ethdev.c' line='2008' column='1'/>
+      <parameter type-id='type-id-1' name='eth_rx_queue_id' filepath='../drivers/net/dpaa2/dpaa2_ethdev.c' line='2009' column='1'/>
+      <parameter type-id='type-id-537' name='dpcon' filepath='../drivers/net/dpaa2/dpaa2_ethdev.c' line='2010' column='1'/>
+      <parameter type-id='type-id-544' name='queue_conf' filepath='../drivers/net/dpaa2/dpaa2_ethdev.c' line='2011' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_dpaa2_set_timestamp' mangled-name='rte_pmd_dpaa2_set_timestamp' filepath='../drivers/net/dpaa2/dpaa2_ethdev.c' line='112' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_dpaa2_set_timestamp@@EXPERIMENTAL'>
+      <parameter type-id='type-id-28' name='enable' filepath='../drivers/net/dpaa2/dpaa2_ethdev.c' line='112' column='1'/>
+      <return type-id='type-id-21'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='type-id-376'>
+      <parameter type-id='type-id-251'/>
+      <return type-id='type-id-285'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-337'>
+      <return type-id='type-id-336'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-320'>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-331'>
+      <parameter type-id='type-id-284'/>
+      <parameter type-id='type-id-19'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-324'>
+      <parameter type-id='type-id-323'/>
+      <parameter type-id='type-id-19'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-329'>
+      <parameter type-id='type-id-35'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-333'>
+      <parameter type-id='type-id-35'/>
+      <parameter type-id='type-id-19'/>
+      <parameter type-id='type-id-10'/>
+      <parameter type-id='type-id-66'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-252'>
+      <parameter type-id='type-id-251'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-374'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-355'/>
+      <parameter type-id='type-id-66'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-493'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-284'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-480'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-479'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-487'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-486'/>
+      <parameter type-id='type-id-482'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-456'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-454'/>
+      <parameter type-id='type-id-455'/>
+      <parameter type-id='type-id-19'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-383'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-382'/>
+      <parameter type-id='type-id-4'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-256'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-448'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-447'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-444'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-443'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-463'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-462'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-359'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-358'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-452'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-451'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-406'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-405'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-497'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-496'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-429'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-428'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-431'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-428'/>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-420'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-419'/>
+      <parameter type-id='type-id-7'/>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-410'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-409'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-436'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-435'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-440'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-439'/>
+      <parameter type-id='type-id-4'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-271'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-270'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-424'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-423'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-275'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-274'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-489'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-278'/>
+      <parameter type-id='type-id-486'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-279'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-278'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-262'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-106'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-264'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-106'/>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-260'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-106'/>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-412'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-106'/>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-472'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-469'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-470'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-469'/>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-476'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-475'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-266'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-4'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-380'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-372'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-371'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-433'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-4'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-504'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-503'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-389'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-388'/>
+      <parameter type-id='type-id-46'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-399'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-398'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-281'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-7'/>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-378'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-414'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-483'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-482'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-491'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-19'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-346'>
+      <parameter type-id='type-id-19'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-395'>
+      <parameter type-id='type-id-19'/>
+      <parameter type-id='type-id-4'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-401'>
+      <parameter type-id='type-id-19'/>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-327'>
+      <parameter type-id='type-id-323'/>
+      <parameter type-id='type-id-326'/>
+      <parameter type-id='type-id-19'/>
+      <return type-id='type-id-35'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-528'>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-97'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-19'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-530'>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-97'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-19'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-98'>
+      <parameter type-id='type-id-19'/>
+      <parameter type-id='type-id-97'/>
+      <parameter type-id='type-id-4'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-393'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-4'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-518'>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-19'/>
+      <return type-id='type-id-21'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-254'>
+      <parameter type-id='type-id-251'/>
+      <return type-id='type-id-21'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-385'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-21'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-363'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-362'/>
+      <return type-id='type-id-21'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-367'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-366'/>
+      <return type-id='type-id-21'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-258'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-21'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-84'>
+      <parameter type-id='type-id-78'/>
+      <parameter type-id='type-id-19'/>
+      <return type-id='type-id-21'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-391'>
+      <parameter type-id='type-id-19'/>
+      <return type-id='type-id-21'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-89'>
+      <parameter type-id='type-id-19'/>
+      <parameter type-id='type-id-19'/>
+      <return type-id='type-id-21'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-344'>
+      <parameter type-id='type-id-19'/>
+      <parameter type-id='type-id-284'/>
+      <parameter type-id='type-id-343'/>
+      <return type-id='type-id-19'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/dpaa2/dpaa2_flow.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='dpaa2_filter_type' type-id='type-id-454' visibility='default' filepath='../drivers/net/dpaa2/dpaa2_ethdev.h' line='99' column='1'/>
+    <class-decl name='rte_flow_ops' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='63' column='1' id='type-id-545'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='validate' type-id='type-id-546' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='create' type-id='type-id-547' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='destroy' type-id='type-id-548' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='flush' type-id='type-id-549' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='query' type-id='type-id-550' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='isolate' type-id='type-id-551' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='95' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_flow_attr' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='75' column='1' id='type-id-552'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='group' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='priority' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='ingress' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='egress' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='transfer' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='98' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='reserved' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='99' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-552' const='yes' id='type-id-553'/>
+    <pointer-type-def type-id='type-id-553' size-in-bits='64' id='type-id-554'/>
+    <qualified-type-def type-id='type-id-17' const='yes' id='type-id-555'/>
+    <pointer-type-def type-id='type-id-555' size-in-bits='64' id='type-id-556'/>
+    <qualified-type-def type-id='type-id-24' const='yes' id='type-id-557'/>
+    <pointer-type-def type-id='type-id-557' size-in-bits='64' id='type-id-558'/>
+    <class-decl name='rte_flow_error' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2618' column='1' id='type-id-559'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-560' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2619' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='cause' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2620' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='message' type-id='type-id-284' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2621' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_error_type' filepath='../lib/librte_ethdev/rte_flow.h' line='2587' column='1' id='type-id-560'>
+      <underlying-type type-id='type-id-20'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_UNSPECIFIED' value='1'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_HANDLE' value='2'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_GROUP' value='3'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_PRIORITY' value='4'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_INGRESS' value='5'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_EGRESS' value='6'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_TRANSFER' value='7'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR' value='8'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_NUM' value='9'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_SPEC' value='10'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_LAST' value='11'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_MASK' value='12'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM' value='13'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION_NUM' value='14'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION_CONF' value='15'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION' value='16'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-559' size-in-bits='64' id='type-id-561'/>
+    <pointer-type-def type-id='type-id-562' size-in-bits='64' id='type-id-546'/>
+    <class-decl name='rte_flow' size-in-bits='448' is-struct='yes' visibility='default' filepath='../drivers/net/dpaa2/dpaa2_flow.c' line='25' column='1' id='type-id-563'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-564' visibility='default' filepath='../drivers/net/dpaa2/dpaa2_flow.c' line='26' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rule' type-id='type-id-565' visibility='default' filepath='../drivers/net/dpaa2/dpaa2_flow.c' line='27' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='key_size' type-id='type-id-7' visibility='default' filepath='../drivers/net/dpaa2/dpaa2_flow.c' line='28' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='328'>
+        <var-decl name='tc_id' type-id='type-id-7' visibility='default' filepath='../drivers/net/dpaa2/dpaa2_flow.c' line='29' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='flow_type' type-id='type-id-7' visibility='default' filepath='../drivers/net/dpaa2/dpaa2_flow.c' line='30' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='344'>
+        <var-decl name='index' type-id='type-id-7' visibility='default' filepath='../drivers/net/dpaa2/dpaa2_flow.c' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='action' type-id='type-id-25' visibility='default' filepath='../drivers/net/dpaa2/dpaa2_flow.c' line='32' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='flow_id' type-id='type-id-4' visibility='default' filepath='../drivers/net/dpaa2/dpaa2_flow.c' line='33' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/dpaa2/dpaa2_flow.c' line='26' column='1' id='type-id-564'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='le_next' type-id='type-id-566' visibility='default' filepath='../drivers/net/dpaa2/dpaa2_flow.c' line='26' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='le_prev' type-id='type-id-567' visibility='default' filepath='../drivers/net/dpaa2/dpaa2_flow.c' line='26' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-563' size-in-bits='64' id='type-id-566'/>
+    <pointer-type-def type-id='type-id-566' size-in-bits='64' id='type-id-567'/>
+    <class-decl name='dpni_rule_cfg' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/net/dpaa2/mc/fsl_dpni.h' line='1195' column='1' id='type-id-565'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='key_iova' type-id='type-id-10' visibility='default' filepath='../drivers/net/dpaa2/mc/fsl_dpni.h' line='1196' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mask_iova' type-id='type-id-10' visibility='default' filepath='../drivers/net/dpaa2/mc/fsl_dpni.h' line='1197' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='key_size' type-id='type-id-7' visibility='default' filepath='../drivers/net/dpaa2/mc/fsl_dpni.h' line='1198' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-568' size-in-bits='64' id='type-id-547'/>
+    <pointer-type-def type-id='type-id-569' size-in-bits='64' id='type-id-548'/>
+    <pointer-type-def type-id='type-id-570' size-in-bits='64' id='type-id-549'/>
+    <pointer-type-def type-id='type-id-571' size-in-bits='64' id='type-id-550'/>
+    <pointer-type-def type-id='type-id-572' size-in-bits='64' id='type-id-551'/>
+    <qualified-type-def type-id='type-id-545' const='yes' id='type-id-573'/>
+    <var-decl name='dpaa2_flow_ops' type-id='type-id-573' visibility='default' filepath='../drivers/net/dpaa2/dpaa2_ethdev.h' line='98' column='1'/>
+    <function-type size-in-bits='64' id='type-id-562'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-554'/>
+      <parameter type-id='type-id-556'/>
+      <parameter type-id='type-id-558'/>
+      <parameter type-id='type-id-561'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-572'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-561'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-571'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-566'/>
+      <parameter type-id='type-id-558'/>
+      <parameter type-id='type-id-19'/>
+      <parameter type-id='type-id-561'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-569'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-566'/>
+      <parameter type-id='type-id-561'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-570'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-561'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-568'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-554'/>
+      <parameter type-id='type-id-556'/>
+      <parameter type-id='type-id-558'/>
+      <parameter type-id='type-id-561'/>
+      <return type-id='type-id-566'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_dpaa2_event.dump b/drivers/.abi/librte_pmd_dpaa2_event.dump
new file mode 100644
index 000000000..b331dade7
--- /dev/null
+++ b/drivers/.abi/librte_pmd_dpaa2_event.dump
@@ -0,0 +1,36 @@
+<abi-corpus path='gcc//drivers/librte_pmd_dpaa2_event.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_dpaa2_event.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eventdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='librte_timer.so.20.0'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='librte_pmd_dpaa2.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_mempool_dpaa2.so.20.0'/>
+    <dependency name='librte_bus_fslmc.so.20.0'/>
+    <dependency name='librte_common_dpaax.so.20.0'/>
+    <dependency name='librte_pmd_dpaa2_sec.so.20.0'/>
+    <dependency name='librte_security.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/event/dpaa2/dpaa2_eventdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='dpaa2_logtype_event' type-id='type-id-1' visibility='default' filepath='../drivers/event/dpaa2/dpaa2_eventdev_logs.h' line='8' column='1'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_dpaa_event.dump b/drivers/.abi/librte_pmd_dpaa_event.dump
new file mode 100644
index 000000000..403df8082
--- /dev/null
+++ b/drivers/.abi/librte_pmd_dpaa_event.dump
@@ -0,0 +1,32 @@
+<abi-corpus path='gcc//drivers/librte_pmd_dpaa_event.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_dpaa_event.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eventdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='librte_timer.so.20.0'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='librte_pmd_dpaa.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='librte_mempool_dpaa.so.20.0'/>
+    <dependency name='librte_bus_dpaa.so.20.0'/>
+    <dependency name='librte_common_dpaax.so.20.0'/>
+    <dependency name='librte_pmd_dpaa_sec.so.20.0'/>
+    <dependency name='librte_security.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_dsw_event.dump b/drivers/.abi/librte_pmd_dsw_event.dump
new file mode 100644
index 000000000..829cac725
--- /dev/null
+++ b/drivers/.abi/librte_pmd_dsw_event.dump
@@ -0,0 +1,23 @@
+<abi-corpus path='gcc//drivers/librte_pmd_dsw_event.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_dsw_event.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eventdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='librte_timer.so.20.0'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+  </elf-needed>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_ena.dump b/drivers/.abi/librte_pmd_ena.dump
new file mode 100644
index 000000000..816feb0b3
--- /dev/null
+++ b/drivers/.abi/librte_pmd_ena.dump
@@ -0,0 +1,32 @@
+<abi-corpus path='gcc//drivers/librte_pmd_ena.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_ena.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='librte_timer.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/ena/ena_ethdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-1'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-2'/>
+    <typedef-decl name='uint32_t' type-id='type-id-2' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-3'/>
+    <var-decl name='ena_alloc_cnt' type-id='type-id-3' visibility='default' filepath='../drivers/net/ena/base/ena_plat_dpdk.h' line='181' column='1'/>
+    <type-decl name='int' size-in-bits='32' id='type-id-4'/>
+    <var-decl name='ena_logtype_init' type-id='type-id-4' visibility='default' filepath='../drivers/net/ena/ena_logs.h' line='9' column='1'/>
+    <var-decl name='ena_logtype_driver' type-id='type-id-4' visibility='default' filepath='../drivers/net/ena/ena_logs.h' line='41' column='1'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_enetc.dump b/drivers/.abi/librte_pmd_enetc.dump
new file mode 100644
index 000000000..6cdaa039d
--- /dev/null
+++ b/drivers/.abi/librte_pmd_enetc.dump
@@ -0,0 +1,27 @@
+<abi-corpus path='gcc//drivers/librte_pmd_enetc.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_enetc.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='librte_common_dpaax.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/enetc/enetc_ethdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='enetc_logtype_pmd' type-id='type-id-1' visibility='default' filepath='../drivers/net/enetc/enetc_logs.h' line='8' column='1'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_enic.dump b/drivers/.abi/librte_pmd_enic.dump
new file mode 100644
index 000000000..54af09f93
--- /dev/null
+++ b/drivers/.abi/librte_pmd_enic.dump
@@ -0,0 +1,3282 @@
+<abi-corpus path='gcc//drivers/librte_pmd_enic.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_enic.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/enic/enic_ethdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='enic_pmd_logtype' type-id='type-id-1' visibility='default' filepath='../drivers/net/enic/enic_compat.h' line='50' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/enic/enic_flow.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_flow_ops' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='63' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='validate' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='create' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='destroy' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='flush' type-id='type-id-6' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='query' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='isolate' type-id='type-id-8' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='95' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev' size-in-bits='132608' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='777' column='1' id='type-id-9'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_pkt_burst' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='778' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tx_pkt_burst' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tx_pkt_prepare' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='data' type-id='type-id-13' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='786' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='process_private' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='787' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_ops' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='788' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='device' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='789' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='intr_handle' type-id='type-id-17' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='790' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='link_intr_cbs' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='792' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='post_rx_burst_cbs' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='797' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='66176'>
+        <var-decl name='pre_tx_burst_cbs' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131712'>
+        <var-decl name='state' type-id='type-id-20' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='803' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131776'>
+        <var-decl name='security_ctx' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131840'>
+        <var-decl name='reserved_64s' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='806' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='132096'>
+        <var-decl name='reserved_ptrs' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='807' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-23'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-23' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-24'/>
+    <typedef-decl name='uint16_t' type-id='type-id-24' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-25'/>
+    <type-decl name='void' id='type-id-26'/>
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-14'/>
+    <class-decl name='rte_mbuf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='480' column='1' id='type-id-27'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheline0' type-id='type-id-28' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-14' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-29' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rearm_data' type-id='type-id-30' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='497' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_off' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_segs' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='port' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ol_flags' type-id='type-id-31' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_descriptor_fields1' type-id='type-id-28' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='pkt_len' type-id='type-id-32' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data_len' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='vlan_tci' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vlan_tci_outer' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='buf_len' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='timestamp' type-id='type-id-31' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cacheline1' type-id='type-id-28' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='pool' type-id='type-id-33' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='next' type-id='type-id-34' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='timesync' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='seqn' type-id='type-id-32' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='shinfo' type-id='type-id-35' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dynfield1' type-id='type-id-36' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-37'/>
+
+    <array-type-def dimensions='1' type-id='type-id-14' size-in-bits='infinite' id='type-id-38'>
+      <subrange length='infinite' type-id='type-id-37' id='type-id-39'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER' type-id='type-id-38' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='414' column='1' id='type-id-28'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='491' column='1' id='type-id-29'>
+      <data-member access='private'>
+        <var-decl name='buf_iova' type-id='type-id-40' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='buf_physaddr' type-id='type-id-40' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='__uint64_t' type-id='type-id-37' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-41'/>
+    <typedef-decl name='uint64_t' type-id='type-id-41' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-31'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-31' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-40'/>
+
+    <array-type-def dimensions='1' type-id='type-id-31' size-in-bits='infinite' id='type-id-42'>
+      <subrange length='infinite' type-id='type-id-37' id='type-id-39'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER64' type-id='type-id-42' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='420' column='1' id='type-id-30'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-43'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-43' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-44'/>
+    <typedef-decl name='uint32_t' type-id='type-id-44' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-32'/>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-45'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-46' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-47' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-14' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-48' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-43' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-43' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-50' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-51' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-52' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-53'/>
+
+    <array-type-def dimensions='1' type-id='type-id-53' size-in-bits='256' id='type-id-46'>
+      <subrange length='32' type-id='type-id-37' id='type-id-54'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-47'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-14' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-31' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-55'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-46' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-56' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-57' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-31' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-49' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-32' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-56'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-58' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-40' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-31' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-58'/>
+    <typedef-decl name='size_t' type-id='type-id-37' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-57'/>
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-59'/>
+    <typedef-decl name='int32_t' type-id='type-id-59' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-49'/>
+    <qualified-type-def type-id='type-id-55' const='yes' id='type-id-60'/>
+    <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-48'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-61'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-62' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-14' size-in-bits='98304' id='type-id-62'>
+      <subrange length='1536' type-id='type-id-37' id='type-id-63'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-61' size-in-bits='64' id='type-id-50'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-51'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-64' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-65' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-66'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-67' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-33' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-68' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-67'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-64' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-64'/>
+    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-33'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-68'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-40' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-58' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-64' size-in-bits='64' id='type-id-65'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-52'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-69' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-70' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-71'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-72' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-33' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-14' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-73' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-57' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-74' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-14' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-72'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-69' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-69'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-73'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-40' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-58' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-75' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-76'/>
+    <pointer-type-def type-id='type-id-76' size-in-bits='64' id='type-id-74'/>
+    <pointer-type-def type-id='type-id-69' size-in-bits='64' id='type-id-70'/>
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-34'/>
+    <class-decl name='rte_mbuf_ext_shared_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='689' column='1' id='type-id-77'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_cb' type-id='type-id-78' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcb_opaque' type-id='type-id-14' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt_atomic' type-id='type-id-79' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-80' size-in-bits='64' id='type-id-81'/>
+    <typedef-decl name='rte_mbuf_extbuf_free_callback_t' type-id='type-id-81' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='684' column='1' id='type-id-78'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-79' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-82'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-83' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-84'/>
+    <typedef-decl name='__int16_t' type-id='type-id-84' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-85'/>
+    <typedef-decl name='int16_t' type-id='type-id-85' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-86'/>
+    <qualified-type-def type-id='type-id-86' volatile='yes' id='type-id-83'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-82' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-79'/>
+    <pointer-type-def type-id='type-id-77' size-in-bits='64' id='type-id-35'/>
+
+    <array-type-def dimensions='1' type-id='type-id-31' size-in-bits='128' id='type-id-36'>
+      <subrange length='2' type-id='type-id-37' id='type-id-87'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-88'/>
+    <pointer-type-def type-id='type-id-89' size-in-bits='64' id='type-id-90'/>
+    <typedef-decl name='eth_rx_burst_t' type-id='type-id-90' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='340' column='1' id='type-id-10'/>
+    <typedef-decl name='eth_tx_burst_t' type-id='type-id-90' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='345' column='1' id='type-id-11'/>
+    <typedef-decl name='eth_tx_prep_t' type-id='type-id-90' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='350' column='1' id='type-id-12'/>
+    <class-decl name='rte_eth_dev_data' size-in-bits='55808' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='820' column='1' id='type-id-91'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='821' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_queues' type-id='type-id-93' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='823' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_queues' type-id='type-id-93' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='824' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='nb_rx_queues' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='825' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='656'>
+        <var-decl name='nb_tx_queues' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='826' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='sriov' type-id='type-id-94' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='dev_private' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='830' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_link' type-id='type-id-95' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='835' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dev_conf' type-id='type-id-96' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='836' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25536'>
+        <var-decl name='mtu' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='837' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25568'>
+        <var-decl name='min_rx_buf_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25600'>
+        <var-decl name='rx_mbuf_alloc_failed' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='841' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25664'>
+        <var-decl name='mac_addrs' type-id='type-id-97' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='842' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25728'>
+        <var-decl name='mac_pool_sel' type-id='type-id-98' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='846' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='33920'>
+        <var-decl name='hash_mac_addrs' type-id='type-id-97' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='848' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='33984'>
+        <var-decl name='port_id' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='852' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='promiscuous' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='855' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='scattered_rx' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='856' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='all_multicast' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='857' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4'>
+        <var-decl name='dev_started' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='858' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3'>
+        <var-decl name='lro' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='859' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='34008'>
+        <var-decl name='rx_queue_state' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='860' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='42200'>
+        <var-decl name='tx_queue_state' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='862' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50400'>
+        <var-decl name='dev_flags' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='864' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50432'>
+        <var-decl name='kdrv' type-id='type-id-101' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50464'>
+        <var-decl name='numa_node' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='866' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50496'>
+        <var-decl name='vlan_filter_conf' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='867' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='54592'>
+        <var-decl name='owner' type-id='type-id-103' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='869' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55168'>
+        <var-decl name='representor_id' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='870' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55232'>
+        <var-decl name='reserved_64s' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='875' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55488'>
+        <var-decl name='reserved_ptrs' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='876' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-53' size-in-bits='512' id='type-id-92'>
+      <subrange length='64' type-id='type-id-37' id='type-id-104'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-93'/>
+    <class-decl name='rte_eth_dev_sriov' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1476' column='1' id='type-id-94'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='active' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1477' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='nb_q_per_pool' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1478' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='def_vmdq_idx' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1479' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='def_pool_q_idx' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1480' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-105'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-105' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-106'/>
+    <typedef-decl name='uint8_t' type-id='type-id-106' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-99'/>
+    <class-decl name='rte_eth_link' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='308' column='1' id='type-id-95'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_speed' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='309' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='15'>
+        <var-decl name='link_duplex' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='310' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='14'>
+        <var-decl name='link_autoneg' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='311' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='13'>
+        <var-decl name='link_status' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='312' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_conf' size-in-bits='24640' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1045' column='1' id='type-id-96'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_speeds' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1046' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rxmode' type-id='type-id-107' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1053' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='txmode' type-id='type-id-108' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1054' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='lpbk_mode' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1055' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='rx_adv_conf' type-id='type-id-109' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1068' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='17984'>
+        <var-decl name='tx_adv_conf' type-id='type-id-110' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1076' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18080'>
+        <var-decl name='dcb_capability_en' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1079' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18112'>
+        <var-decl name='fdir_conf' type-id='type-id-111' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1080' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24576'>
+        <var-decl name='intr_conf' type-id='type-id-112' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1081' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rxmode' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='394' column='1' id='type-id-107'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mq_mode' type-id='type-id-113' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='396' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_rx_pkt_len' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='397' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='max_lro_pkt_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='399' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='split_hdr_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='400' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='offloads' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='406' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='408' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='409' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-115'/>
+    <enum-decl name='rte_eth_rx_mq_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='344' column='1' id='type-id-113'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='ETH_MQ_RX_NONE' value='0'/>
+      <enumerator name='ETH_MQ_RX_RSS' value='1'/>
+      <enumerator name='ETH_MQ_RX_DCB' value='2'/>
+      <enumerator name='ETH_MQ_RX_DCB_RSS' value='3'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_ONLY' value='4'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_RSS' value='5'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_DCB' value='6'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_DCB_RSS' value='7'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-14' size-in-bits='128' id='type-id-114'>
+      <subrange length='2' type-id='type-id-37' id='type-id-87'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_txmode' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='792' column='1' id='type-id-108'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mq_mode' type-id='type-id-116' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='793' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offloads' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='799' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pvid' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='hw_vlan_reject_tagged' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='hw_vlan_reject_untagged' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='806' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='hw_vlan_insert_pvid' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='808' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='811' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='812' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_tx_mq_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='377' column='1' id='type-id-116'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='ETH_MQ_TX_NONE' value='0'/>
+      <enumerator name='ETH_MQ_TX_DCB' value='1'/>
+      <enumerator name='ETH_MQ_TX_VMDQ_DCB' value='2'/>
+      <enumerator name='ETH_MQ_TX_VMDQ_ONLY' value='3'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16960' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1060' column='1' id='type-id-109'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rss_conf' type-id='type-id-117' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1061' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='vmdq_dcb_conf' type-id='type-id-118' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1062' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8512'>
+        <var-decl name='dcb_rx_conf' type-id='type-id-119' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1064' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8640'>
+        <var-decl name='vmdq_rx_conf' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1066' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rss_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='448' column='1' id='type-id-117'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rss_key' type-id='type-id-121' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rss_key_len' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rss_hf' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='451' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-99' size-in-bits='64' id='type-id-121'/>
+    <class-decl name='rte_eth_vmdq_dcb_conf' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='745' column='1' id='type-id-118'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='746' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='enable_default_pool' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='default_pool' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='748' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='nb_pool_maps' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='749' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pool_map' type-id='type-id-123' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8256'>
+        <var-decl name='dcb_tc' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='754' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_nb_pools' filepath='../lib/librte_ethdev/rte_ethdev.h' line='704' column='1' id='type-id-122'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='ETH_8_POOLS' value='8'/>
+      <enumerator name='ETH_16_POOLS' value='16'/>
+      <enumerator name='ETH_32_POOLS' value='32'/>
+      <enumerator name='ETH_64_POOLS' value='64'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='750' column='1' id='type-id-125'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_id' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='751' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pools' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='752' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-125' size-in-bits='8192' id='type-id-123'>
+      <subrange length='64' type-id='type-id-37' id='type-id-104'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-99' size-in-bits='64' id='type-id-124'>
+      <subrange length='8' type-id='type-id-37' id='type-id-126'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_dcb_rx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='712' column='1' id='type-id-119'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-127' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='715' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_nb_tcs' filepath='../lib/librte_ethdev/rte_ethdev.h' line='695' column='1' id='type-id-127'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='ETH_4_TCS' value='4'/>
+      <enumerator name='ETH_8_TCS' value='8'/>
+    </enum-decl>
+    <class-decl name='rte_eth_vmdq_rx_conf' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='776' column='1' id='type-id-120'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='777' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='enable_default_pool' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='778' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='default_pool' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='enable_loop_back' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='nb_pool_maps' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='781' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rx_mode' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='782' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pool_map' type-id='type-id-123' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='786' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <union-decl name='__anonymous_union__' size-in-bits='96' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1069' column='1' id='type-id-110'>
+      <data-member access='private'>
+        <var-decl name='vmdq_dcb_tx_conf' type-id='type-id-128' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1070' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dcb_tx_conf' type-id='type-id-129' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1072' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='vmdq_tx_conf' type-id='type-id-130' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1074' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_eth_vmdq_dcb_tx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='718' column='1' id='type-id-128'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='721' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dcb_tx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='724' column='1' id='type-id-129'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-127' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='727' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vmdq_tx_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='730' column='1' id='type-id-130'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='731' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_fdir_conf' size-in-bits='6464' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1005' column='1' id='type-id-111'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mode' type-id='type-id-131' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1006' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='pballoc' type-id='type-id-132' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1007' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='status' type-id='type-id-133' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1008' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='drop_queue' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1010' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mask' type-id='type-id-134' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1011' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='flex_conf' type-id='type-id-135' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1012' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_fdir_mode' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='603' column='1' id='type-id-131'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_FDIR_MODE_NONE' value='0'/>
+      <enumerator name='RTE_FDIR_MODE_SIGNATURE' value='1'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT' value='2'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT_MAC_VLAN' value='3'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT_TUNNEL' value='4'/>
+    </enum-decl>
+    <enum-decl name='rte_fdir_pballoc_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='984' column='1' id='type-id-132'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_FDIR_PBALLOC_64K' value='0'/>
+      <enumerator name='RTE_FDIR_PBALLOC_128K' value='1'/>
+      <enumerator name='RTE_FDIR_PBALLOC_256K' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_fdir_status_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='993' column='1' id='type-id-133'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_FDIR_NO_REPORT_STATUS' value='0'/>
+      <enumerator name='RTE_FDIR_REPORT_STATUS' value='1'/>
+      <enumerator name='RTE_FDIR_REPORT_STATUS_ALWAYS' value='2'/>
+    </enum-decl>
+    <class-decl name='rte_eth_fdir_masks' size-in-bits='544' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='533' column='1' id='type-id-134'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_tci_mask' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='534' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ipv4_mask' type-id='type-id-136' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='536' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ipv6_mask' type-id='type-id-137' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='538' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='src_port_mask' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='540' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='dst_port_mask' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='542' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='mac_addr_byte_mask' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='545' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='tunnel_id_mask' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='547' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='tunnel_type_mask' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='548' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_ipv4_flow' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='342' column='1' id='type-id-136'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='343' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dst_ip' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='344' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tos' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='345' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='ttl' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='346' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='proto' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='347' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_ipv6_flow' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='381' column='1' id='type-id-137'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-138' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='382' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dst_ip' type-id='type-id-138' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='383' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='tc' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='384' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='264'>
+        <var-decl name='proto' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='385' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='272'>
+        <var-decl name='hop_limits' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='386' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-32' size-in-bits='128' id='type-id-138'>
+      <subrange length='4' type-id='type-id-37' id='type-id-139'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_fdir_flex_conf' size-in-bits='5792' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='591' column='1' id='type-id-135'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_payloads' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='592' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='nb_flexmasks' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='593' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flex_set' type-id='type-id-140' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='594' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2336'>
+        <var-decl name='flex_mask' type-id='type-id-141' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='596' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_flex_payload_cfg' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='568' column='1' id='type-id-142'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-143' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='569' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='src_offset' type-id='type-id-144' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='570' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_payload_type' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='555' column='1' id='type-id-143'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_ETH_PAYLOAD_UNKNOWN' value='0'/>
+      <enumerator name='RTE_ETH_RAW_PAYLOAD' value='1'/>
+      <enumerator name='RTE_ETH_L2_PAYLOAD' value='2'/>
+      <enumerator name='RTE_ETH_L3_PAYLOAD' value='3'/>
+      <enumerator name='RTE_ETH_L4_PAYLOAD' value='4'/>
+      <enumerator name='RTE_ETH_PAYLOAD_MAX' value='8'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-25' size-in-bits='256' id='type-id-144'>
+      <subrange length='16' type-id='type-id-37' id='type-id-145'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-142' size-in-bits='2304' id='type-id-140'>
+      <subrange length='8' type-id='type-id-37' id='type-id-126'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_fdir_flex_mask' size-in-bits='144' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='581' column='1' id='type-id-146'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flow_type' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='582' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='mask' type-id='type-id-147' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='583' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-99' size-in-bits='128' id='type-id-147'>
+      <subrange length='16' type-id='type-id-37' id='type-id-145'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-146' size-in-bits='3456' id='type-id-141'>
+      <subrange length='24' type-id='type-id-37' id='type-id-148'/>
+
+    </array-type-def>
+    <class-decl name='rte_intr_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1031' column='1' id='type-id-112'>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='lsc' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1033' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='rxq' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1035' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='rmv' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1037' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_ether_addr' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='60' column='1' id='type-id-149'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr_bytes' type-id='type-id-150' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='61' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-99' size-in-bits='48' id='type-id-150'>
+      <subrange length='6' type-id='type-id-37' id='type-id-151'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-149' size-in-bits='64' id='type-id-97'/>
+
+    <array-type-def dimensions='1' type-id='type-id-31' size-in-bits='8192' id='type-id-98'>
+      <subrange length='128' type-id='type-id-37' id='type-id-152'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-99' size-in-bits='8192' id='type-id-100'>
+      <subrange length='1024' type-id='type-id-37' id='type-id-153'/>
+
+    </array-type-def>
+    <enum-decl name='rte_kernel_driver' filepath='../lib/librte_eal/common/include/rte_dev.h' line='60' column='1' id='type-id-101'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_KDRV_UNKNOWN' value='0'/>
+      <enumerator name='RTE_KDRV_IGB_UIO' value='1'/>
+      <enumerator name='RTE_KDRV_VFIO' value='2'/>
+      <enumerator name='RTE_KDRV_UIO_GENERIC' value='3'/>
+      <enumerator name='RTE_KDRV_NIC_UIO' value='4'/>
+      <enumerator name='RTE_KDRV_NONE' value='5'/>
+    </enum-decl>
+    <class-decl name='rte_vlan_filter_conf' size-in-bits='4096' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='427' column='1' id='type-id-102'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ids' type-id='type-id-154' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='428' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-31' size-in-bits='4096' id='type-id-154'>
+      <subrange length='64' type-id='type-id-37' id='type-id-104'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_dev_owner' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1490' column='1' id='type-id-103'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1491' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='name' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1492' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-31' size-in-bits='256' id='type-id-21'>
+      <subrange length='4' type-id='type-id-37' id='type-id-139'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-14' size-in-bits='256' id='type-id-22'>
+      <subrange length='4' type-id='type-id-37' id='type-id-139'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-91' size-in-bits='64' id='type-id-13'/>
+    <class-decl name='eth_dev_ops' size-in-bits='6016' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='609' column='1' id='type-id-155'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_configure' type-id='type-id-156' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_start' type-id='type-id-157' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='611' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dev_stop' type-id='type-id-158' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='612' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_set_link_up' type-id='type-id-159' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dev_set_link_down' type-id='type-id-160' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='614' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_close' type-id='type-id-161' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='615' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='dev_reset' type-id='type-id-162' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='616' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='link_update' type-id='type-id-163' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='617' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='is_removed' type-id='type-id-164' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='618' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='promiscuous_enable' type-id='type-id-165' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='promiscuous_disable' type-id='type-id-166' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='allmulticast_enable' type-id='type-id-167' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='623' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='allmulticast_disable' type-id='type-id-168' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='624' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='mac_addr_remove' type-id='type-id-169' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='625' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='mac_addr_add' type-id='type-id-170' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='626' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='mac_addr_set' type-id='type-id-171' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='627' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='set_mc_addr_list' type-id='type-id-172' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='628' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mtu_set' type-id='type-id-173' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='629' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='stats_get' type-id='type-id-174' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='631' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='stats_reset' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='632' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='xstats_get' type-id='type-id-176' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='633' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='xstats_reset' type-id='type-id-177' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='634' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='xstats_get_names' type-id='type-id-178' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='635' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='queue_stats_mapping_set' type-id='type-id-179' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='637' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='dev_infos_get' type-id='type-id-180' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='640' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='rxq_info_get' type-id='type-id-181' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='641' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='txq_info_get' type-id='type-id-182' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='642' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='rx_burst_mode_get' type-id='type-id-183' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='643' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='tx_burst_mode_get' type-id='type-id-183' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='644' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='fw_version_get' type-id='type-id-184' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='645' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='dev_supported_ptypes_get' type-id='type-id-185' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='646' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='dev_ptypes_set' type-id='type-id-186' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='648' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='vlan_filter_set' type-id='type-id-187' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='651' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='vlan_tpid_set' type-id='type-id-188' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='652' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='vlan_strip_queue_set' type-id='type-id-189' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='653' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='vlan_offload_set' type-id='type-id-190' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='654' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='vlan_pvid_set' type-id='type-id-191' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='655' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='rx_queue_start' type-id='type-id-192' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='657' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='rx_queue_stop' type-id='type-id-193' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='658' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2496'>
+        <var-decl name='tx_queue_start' type-id='type-id-192' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='659' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='tx_queue_stop' type-id='type-id-193' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='660' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='rx_queue_setup' type-id='type-id-194' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='661' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2688'>
+        <var-decl name='rx_queue_release' type-id='type-id-195' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2752'>
+        <var-decl name='rx_queue_count' type-id='type-id-196' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='663' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2816'>
+        <var-decl name='rx_descriptor_done' type-id='type-id-197' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2880'>
+        <var-decl name='rx_descriptor_status' type-id='type-id-198' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='666' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2944'>
+        <var-decl name='tx_descriptor_status' type-id='type-id-199' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3008'>
+        <var-decl name='rx_queue_intr_enable' type-id='type-id-200' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='670' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3072'>
+        <var-decl name='rx_queue_intr_disable' type-id='type-id-201' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3136'>
+        <var-decl name='tx_queue_setup' type-id='type-id-202' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='672' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3200'>
+        <var-decl name='tx_queue_release' type-id='type-id-195' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3264'>
+        <var-decl name='tx_done_cleanup' type-id='type-id-203' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='674' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3328'>
+        <var-decl name='dev_led_on' type-id='type-id-204' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3392'>
+        <var-decl name='dev_led_off' type-id='type-id-205' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='677' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3456'>
+        <var-decl name='flow_ctrl_get' type-id='type-id-206' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='679' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3520'>
+        <var-decl name='flow_ctrl_set' type-id='type-id-207' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='680' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='priority_flow_ctrl_set' type-id='type-id-208' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='681' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3648'>
+        <var-decl name='uc_hash_table_set' type-id='type-id-209' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='683' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3712'>
+        <var-decl name='uc_all_hash_table_set' type-id='type-id-210' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='684' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3776'>
+        <var-decl name='mirror_rule_set' type-id='type-id-211' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='686' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3840'>
+        <var-decl name='mirror_rule_reset' type-id='type-id-212' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='687' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3904'>
+        <var-decl name='udp_tunnel_port_add' type-id='type-id-213' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='689' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3968'>
+        <var-decl name='udp_tunnel_port_del' type-id='type-id-214' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4032'>
+        <var-decl name='l2_tunnel_eth_type_conf' type-id='type-id-215' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4096'>
+        <var-decl name='l2_tunnel_offload_set' type-id='type-id-216' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='693' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4160'>
+        <var-decl name='set_queue_rate_limit' type-id='type-id-217' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='696' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4224'>
+        <var-decl name='rss_hash_update' type-id='type-id-218' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='698' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4288'>
+        <var-decl name='rss_hash_conf_get' type-id='type-id-219' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='699' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4352'>
+        <var-decl name='reta_update' type-id='type-id-220' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='700' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4416'>
+        <var-decl name='reta_query' type-id='type-id-221' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='701' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4480'>
+        <var-decl name='get_reg' type-id='type-id-222' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='703' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4544'>
+        <var-decl name='get_eeprom_length' type-id='type-id-223' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='704' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4608'>
+        <var-decl name='get_eeprom' type-id='type-id-224' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='705' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4672'>
+        <var-decl name='set_eeprom' type-id='type-id-225' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='706' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4736'>
+        <var-decl name='get_module_info' type-id='type-id-226' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='708' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4800'>
+        <var-decl name='get_module_eeprom' type-id='type-id-227' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='710' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4864'>
+        <var-decl name='filter_ctrl' type-id='type-id-228' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4928'>
+        <var-decl name='get_dcb_info' type-id='type-id-229' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='715' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4992'>
+        <var-decl name='timesync_enable' type-id='type-id-230' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='717' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5056'>
+        <var-decl name='timesync_disable' type-id='type-id-231' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5120'>
+        <var-decl name='timesync_read_rx_timestamp' type-id='type-id-232' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='721' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5184'>
+        <var-decl name='timesync_read_tx_timestamp' type-id='type-id-233' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='723' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5248'>
+        <var-decl name='timesync_adjust_time' type-id='type-id-234' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5312'>
+        <var-decl name='timesync_read_time' type-id='type-id-235' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='726' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5376'>
+        <var-decl name='timesync_write_time' type-id='type-id-236' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='727' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5440'>
+        <var-decl name='read_clock' type-id='type-id-237' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='729' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5504'>
+        <var-decl name='xstats_get_by_id' type-id='type-id-238' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='731' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5568'>
+        <var-decl name='xstats_get_names_by_id' type-id='type-id-239' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='733' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5632'>
+        <var-decl name='tm_ops_get' type-id='type-id-240' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='736' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5696'>
+        <var-decl name='mtr_ops_get' type-id='type-id-241' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='739' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5760'>
+        <var-decl name='pool_ops_supported' type-id='type-id-242' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='742' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5824'>
+        <var-decl name='hairpin_cap_get' type-id='type-id-243' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='745' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5888'>
+        <var-decl name='rx_hairpin_queue_setup' type-id='type-id-244' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5952'>
+        <var-decl name='tx_hairpin_queue_setup' type-id='type-id-245' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='749' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-246'/>
+    <pointer-type-def type-id='type-id-247' size-in-bits='64' id='type-id-248'/>
+    <typedef-decl name='eth_dev_configure_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='31' column='1' id='type-id-156'/>
+    <typedef-decl name='eth_dev_start_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='34' column='1' id='type-id-157'/>
+    <pointer-type-def type-id='type-id-249' size-in-bits='64' id='type-id-250'/>
+    <typedef-decl name='eth_dev_stop_t' type-id='type-id-250' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='37' column='1' id='type-id-158'/>
+    <typedef-decl name='eth_dev_set_link_up_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='40' column='1' id='type-id-159'/>
+    <typedef-decl name='eth_dev_set_link_down_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='43' column='1' id='type-id-160'/>
+    <typedef-decl name='eth_dev_close_t' type-id='type-id-250' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='46' column='1' id='type-id-161'/>
+    <typedef-decl name='eth_dev_reset_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='49' column='1' id='type-id-162'/>
+    <pointer-type-def type-id='type-id-251' size-in-bits='64' id='type-id-252'/>
+    <typedef-decl name='eth_link_update_t' type-id='type-id-252' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='155' column='1' id='type-id-163'/>
+    <typedef-decl name='eth_is_removed_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='52' column='1' id='type-id-164'/>
+    <typedef-decl name='eth_promiscuous_enable_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='78' column='1' id='type-id-165'/>
+    <typedef-decl name='eth_promiscuous_disable_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='103' column='1' id='type-id-166'/>
+    <typedef-decl name='eth_allmulticast_enable_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='128' column='1' id='type-id-167'/>
+    <typedef-decl name='eth_allmulticast_disable_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='153' column='1' id='type-id-168'/>
+    <pointer-type-def type-id='type-id-253' size-in-bits='64' id='type-id-254'/>
+    <typedef-decl name='eth_mac_addr_remove_t' type-id='type-id-254' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='391' column='1' id='type-id-169'/>
+    <pointer-type-def type-id='type-id-255' size-in-bits='64' id='type-id-256'/>
+    <typedef-decl name='eth_mac_addr_add_t' type-id='type-id-256' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='394' column='1' id='type-id-170'/>
+    <pointer-type-def type-id='type-id-257' size-in-bits='64' id='type-id-258'/>
+    <typedef-decl name='eth_mac_addr_set_t' type-id='type-id-258' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='400' column='1' id='type-id-171'/>
+    <pointer-type-def type-id='type-id-259' size-in-bits='64' id='type-id-260'/>
+    <typedef-decl name='eth_set_mc_addr_list_t' type-id='type-id-260' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='436' column='1' id='type-id-172'/>
+    <pointer-type-def type-id='type-id-261' size-in-bits='64' id='type-id-262'/>
+    <typedef-decl name='mtu_set_t' type-id='type-id-262' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='315' column='1' id='type-id-173'/>
+    <class-decl name='rte_eth_stats' size-in-bits='5632' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='243' column='1' id='type-id-263'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ipackets' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='opackets' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ibytes' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='246' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='obytes' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='imissed' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='ierrors' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='oerrors' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='rx_nombuf' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='q_ipackets' type-id='type-id-264' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='q_opackets' type-id='type-id-264' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='q_ibytes' type-id='type-id-264' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='q_obytes' type-id='type-id-264' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4608'>
+        <var-decl name='q_errors' type-id='type-id-264' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='263' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-31' size-in-bits='1024' id='type-id-264'>
+      <subrange length='16' type-id='type-id-37' id='type-id-145'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-263' size-in-bits='64' id='type-id-265'/>
+    <pointer-type-def type-id='type-id-266' size-in-bits='64' id='type-id-267'/>
+    <typedef-decl name='eth_stats_get_t' type-id='type-id-267' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='159' column='1' id='type-id-174'/>
+    <typedef-decl name='eth_stats_reset_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='182' column='1' id='type-id-175'/>
+    <class-decl name='rte_eth_xstat' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1337' column='1' id='type-id-268'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1338' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='value' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1339' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-268' size-in-bits='64' id='type-id-269'/>
+    <pointer-type-def type-id='type-id-270' size-in-bits='64' id='type-id-271'/>
+    <typedef-decl name='eth_xstats_get_t' type-id='type-id-271' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='184' column='1' id='type-id-176'/>
+    <typedef-decl name='eth_xstats_reset_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='213' column='1' id='type-id-177'/>
+    <class-decl name='rte_eth_xstat_name' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1349' column='1' id='type-id-272'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1350' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-272' size-in-bits='64' id='type-id-273'/>
+    <pointer-type-def type-id='type-id-274' size-in-bits='64' id='type-id-275'/>
+    <typedef-decl name='eth_xstats_get_names_t' type-id='type-id-275' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='215' column='1' id='type-id-178'/>
+    <pointer-type-def type-id='type-id-276' size-in-bits='64' id='type-id-277'/>
+    <typedef-decl name='eth_queue_stats_mapping_set_t' type-id='type-id-277' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='224' column='1' id='type-id-179'/>
+    <class-decl name='rte_eth_dev_info' size-in-bits='2560' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1226' column='1' id='type-id-278'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='device' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1227' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='driver_name' type-id='type-id-279' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='if_index' type-id='type-id-43' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='min_mtu' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='max_mtu' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_flags' type-id='type-id-280' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='min_rx_bufsize' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1234' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='max_rx_pktlen' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1235' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='max_lro_pkt_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='max_rx_queues' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='max_tx_queues' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1239' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='max_mac_addrs' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='max_hash_mac_addrs' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1241' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='max_vfs' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1243' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='max_vmdq_pools' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_offload_capa' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_offload_capa' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='rx_queue_offload_capa' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='tx_queue_offload_capa' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='reta_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='hash_key_size' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='flow_type_rss_offloads' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='default_rxconf' type-id='type-id-281' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='default_txconf' type-id='type-id-282' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='vmdq_queue_base' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1744'>
+        <var-decl name='vmdq_queue_num' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1760'>
+        <var-decl name='vmdq_pool_base' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1262' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1776'>
+        <var-decl name='rx_desc_lim' type-id='type-id-283' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1263' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='tx_desc_lim' type-id='type-id-283' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1264' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1952'>
+        <var-decl name='speed_capa' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1265' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='nb_rx_queues' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1267' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2000'>
+        <var-decl name='nb_tx_queues' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1268' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2016'>
+        <var-decl name='default_rxportconf' type-id='type-id-284' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1270' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2064'>
+        <var-decl name='default_txportconf' type-id='type-id-284' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1272' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='dev_capa' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1274' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='switch_info' type-id='type-id-285' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='reserved_64s' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1281' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='reserved_ptrs' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1282' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-286'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-287' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-288' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-289' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-290' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-287'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-291' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-286' size-in-bits='64' id='type-id-16'/>
+    <pointer-type-def type-id='type-id-16' size-in-bits='64' id='type-id-291'/>
+    <qualified-type-def type-id='type-id-53' const='yes' id='type-id-292'/>
+    <pointer-type-def type-id='type-id-292' size-in-bits='64' id='type-id-279'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-293'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-294' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-294'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-295' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-296' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-293' size-in-bits='64' id='type-id-295'/>
+    <pointer-type-def type-id='type-id-295' size-in-bits='64' id='type-id-296'/>
+    <qualified-type-def type-id='type-id-293' const='yes' id='type-id-297'/>
+    <pointer-type-def type-id='type-id-297' size-in-bits='64' id='type-id-288'/>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-298'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-299' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-300' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-301' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-302' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-303' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-304' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-305' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-306' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-307' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-308' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-309' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-310' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-311' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-312' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-299'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-313' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-314' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-298' size-in-bits='64' id='type-id-313'/>
+    <pointer-type-def type-id='type-id-313' size-in-bits='64' id='type-id-314'/>
+    <pointer-type-def type-id='type-id-315' size-in-bits='64' id='type-id-316'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-316' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-300'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-316' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-301'/>
+    <qualified-type-def type-id='type-id-286' const='yes' id='type-id-317'/>
+    <pointer-type-def type-id='type-id-317' size-in-bits='64' id='type-id-318'/>
+    <pointer-type-def type-id='type-id-319' size-in-bits='64' id='type-id-320'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-320' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-321'/>
+    <pointer-type-def type-id='type-id-322' size-in-bits='64' id='type-id-323'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-323' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-302'/>
+    <pointer-type-def type-id='type-id-324' size-in-bits='64' id='type-id-325'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-325' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-303'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-325' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-304'/>
+    <pointer-type-def type-id='type-id-326' size-in-bits='64' id='type-id-327'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-327' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-305'/>
+    <pointer-type-def type-id='type-id-328' size-in-bits='64' id='type-id-329'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-329' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-306'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-329' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-307'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-308'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-330' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-330'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-331'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-332' size-in-bits='64' id='type-id-333'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-333' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-309'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-334'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-313' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-335' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-14' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-336'/>
+    <pointer-type-def type-id='type-id-336' size-in-bits='64' id='type-id-335'/>
+    <qualified-type-def type-id='type-id-334' const='yes' id='type-id-337'/>
+    <pointer-type-def type-id='type-id-337' size-in-bits='64' id='type-id-338'/>
+    <pointer-type-def type-id='type-id-339' size-in-bits='64' id='type-id-340'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-340' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-310'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-325' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-311'/>
+    <pointer-type-def type-id='type-id-341' size-in-bits='64' id='type-id-342'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-342' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-312'/>
+    <qualified-type-def type-id='type-id-298' const='yes' id='type-id-343'/>
+    <pointer-type-def type-id='type-id-343' size-in-bits='64' id='type-id-289'/>
+    <class-decl name='rte_devargs' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='47' column='1' id='type-id-344'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-345' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='type' type-id='type-id-346' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='policy' type-id='type-id-347' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='name' type-id='type-id-92' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='' type-id='type-id-348' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='bus' type-id='type-id-313' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='cls' type-id='type-id-335' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='bus_str' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='cls_str' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='data' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='66' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1' id='type-id-345'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-290' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-349' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-344' size-in-bits='64' id='type-id-290'/>
+    <pointer-type-def type-id='type-id-290' size-in-bits='64' id='type-id-349'/>
+    <enum-decl name='rte_devtype' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='31' column='1' id='type-id-346'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_DEVTYPE_WHITELISTED_PCI' value='0'/>
+      <enumerator name='RTE_DEVTYPE_BLACKLISTED_PCI' value='1'/>
+      <enumerator name='RTE_DEVTYPE_VIRTUAL' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_dev_policy' filepath='../lib/librte_eal/common/include/rte_dev.h' line='72' column='1' id='type-id-347'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_DEV_WHITELISTED' value='0'/>
+      <enumerator name='RTE_DEV_BLACKLISTED' value='1'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='57' column='1' id='type-id-348'>
+      <data-member access='private'>
+        <var-decl name='args' type-id='type-id-350' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='drv_str' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='60' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-350'/>
+    <qualified-type-def type-id='type-id-32' const='yes' id='type-id-351'/>
+    <pointer-type-def type-id='type-id-351' size-in-bits='64' id='type-id-280'/>
+    <class-decl name='rte_eth_rxconf' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='818' column='1' id='type-id-281'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_thresh' type-id='type-id-352' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='819' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='rx_free_thresh' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='820' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='rx_drop_en' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='821' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='rx_deferred_start' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='822' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offloads' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='reserved_64s' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='830' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='reserved_ptrs' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='831' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_thresh' size-in-bits='24' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='327' column='1' id='type-id-352'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pthresh' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='328' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='hthresh' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='329' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='wthresh' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='330' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_txconf' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='837' column='1' id='type-id-282'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tx_thresh' type-id='type-id-352' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tx_rs_thresh' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='839' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='tx_free_thresh' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='840' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tx_deferred_start' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='843' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='offloads' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='849' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='851' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='852' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_desc_lim' size-in-bits='80' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='898' column='1' id='type-id-283'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='899' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='nb_min' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='900' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_align' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='901' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='nb_seg_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='911' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='nb_mtu_seg_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='924' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_portconf' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1189' column='1' id='type-id-284'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='burst_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1190' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='ring_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_queues' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1192' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_switch_info' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1204' column='1' id='type-id-285'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-279' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='domain_id' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1206' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='port_id' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1207' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-278' size-in-bits='64' id='type-id-353'/>
+    <pointer-type-def type-id='type-id-354' size-in-bits='64' id='type-id-355'/>
+    <typedef-decl name='eth_dev_infos_get_t' type-id='type-id-355' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='230' column='1' id='type-id-180'/>
+    <class-decl name='rte_eth_rxq_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1289' column='1' id='type-id-356'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mp' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1290' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='conf' type-id='type-id-281' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1291' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='scattered_rx' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1292' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='nb_desc' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1293' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-356' size-in-bits='64' id='type-id-357'/>
+    <pointer-type-def type-id='type-id-358' size-in-bits='64' id='type-id-359'/>
+    <typedef-decl name='eth_rxq_info_get_t' type-id='type-id-359' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='306' column='1' id='type-id-181'/>
+    <class-decl name='rte_eth_txq_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1300' column='1' id='type-id-360'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='conf' type-id='type-id-282' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1301' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='nb_desc' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1302' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-360' size-in-bits='64' id='type-id-361'/>
+    <pointer-type-def type-id='type-id-362' size-in-bits='64' id='type-id-363'/>
+    <typedef-decl name='eth_txq_info_get_t' type-id='type-id-363' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='309' column='1' id='type-id-182'/>
+    <class-decl name='rte_eth_burst_mode' size-in-bits='8256' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1318' column='1' id='type-id-364'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1319' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='info' type-id='type-id-365' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1322' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-53' size-in-bits='8192' id='type-id-365'>
+      <subrange length='1024' type-id='type-id-37' id='type-id-153'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-364' size-in-bits='64' id='type-id-366'/>
+    <pointer-type-def type-id='type-id-367' size-in-bits='64' id='type-id-368'/>
+    <typedef-decl name='eth_burst_mode_get_t' type-id='type-id-368' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='312' column='1' id='type-id-183'/>
+    <pointer-type-def type-id='type-id-369' size-in-bits='64' id='type-id-370'/>
+    <typedef-decl name='eth_fw_version_get_t' type-id='type-id-370' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='299' column='1' id='type-id-184'/>
+    <pointer-type-def type-id='type-id-371' size-in-bits='64' id='type-id-372'/>
+    <typedef-decl name='eth_dev_supported_ptypes_get_t' type-id='type-id-372' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='234' column='1' id='type-id-185'/>
+    <pointer-type-def type-id='type-id-373' size-in-bits='64' id='type-id-374'/>
+    <typedef-decl name='eth_dev_ptypes_set_t' type-id='type-id-374' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='249' column='1' id='type-id-186'/>
+    <pointer-type-def type-id='type-id-375' size-in-bits='64' id='type-id-376'/>
+    <typedef-decl name='vlan_filter_set_t' type-id='type-id-376' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='318' column='1' id='type-id-187'/>
+    <enum-decl name='rte_vlan_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='416' column='1' id='type-id-377'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='ETH_VLAN_TYPE_UNKNOWN' value='0'/>
+      <enumerator name='ETH_VLAN_TYPE_INNER' value='1'/>
+      <enumerator name='ETH_VLAN_TYPE_OUTER' value='2'/>
+      <enumerator name='ETH_VLAN_TYPE_MAX' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-378' size-in-bits='64' id='type-id-379'/>
+    <typedef-decl name='vlan_tpid_set_t' type-id='type-id-379' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='323' column='1' id='type-id-188'/>
+    <pointer-type-def type-id='type-id-380' size-in-bits='64' id='type-id-381'/>
+    <typedef-decl name='vlan_strip_queue_set_t' type-id='type-id-381' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='335' column='1' id='type-id-189'/>
+    <typedef-decl name='vlan_offload_set_t' type-id='type-id-252' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='327' column='1' id='type-id-190'/>
+    <typedef-decl name='vlan_pvid_set_t' type-id='type-id-376' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='330' column='1' id='type-id-191'/>
+    <typedef-decl name='eth_queue_start_t' type-id='type-id-262' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='252' column='1' id='type-id-192'/>
+    <typedef-decl name='eth_queue_stop_t' type-id='type-id-262' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='256' column='1' id='type-id-193'/>
+    <qualified-type-def type-id='type-id-281' const='yes' id='type-id-382'/>
+    <pointer-type-def type-id='type-id-382' size-in-bits='64' id='type-id-383'/>
+    <pointer-type-def type-id='type-id-384' size-in-bits='64' id='type-id-385'/>
+    <typedef-decl name='eth_rx_queue_setup_t' type-id='type-id-385' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='260' column='1' id='type-id-194'/>
+    <pointer-type-def type-id='type-id-386' size-in-bits='64' id='type-id-387'/>
+    <typedef-decl name='eth_queue_release_t' type-id='type-id-387' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='283' column='1' id='type-id-195'/>
+    <pointer-type-def type-id='type-id-388' size-in-bits='64' id='type-id-389'/>
+    <typedef-decl name='eth_rx_queue_count_t' type-id='type-id-389' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='286' column='1' id='type-id-196'/>
+    <pointer-type-def type-id='type-id-390' size-in-bits='64' id='type-id-391'/>
+    <typedef-decl name='eth_rx_descriptor_done_t' type-id='type-id-391' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='290' column='1' id='type-id-197'/>
+    <typedef-decl name='eth_rx_descriptor_status_t' type-id='type-id-391' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='293' column='1' id='type-id-198'/>
+    <typedef-decl name='eth_tx_descriptor_status_t' type-id='type-id-391' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='296' column='1' id='type-id-199'/>
+    <typedef-decl name='eth_rx_enable_intr_t' type-id='type-id-262' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='275' column='1' id='type-id-200'/>
+    <typedef-decl name='eth_rx_disable_intr_t' type-id='type-id-262' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='279' column='1' id='type-id-201'/>
+    <qualified-type-def type-id='type-id-282' const='yes' id='type-id-392'/>
+    <pointer-type-def type-id='type-id-392' size-in-bits='64' id='type-id-393'/>
+    <pointer-type-def type-id='type-id-394' size-in-bits='64' id='type-id-395'/>
+    <typedef-decl name='eth_tx_queue_setup_t' type-id='type-id-395' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='268' column='1' id='type-id-202'/>
+    <pointer-type-def type-id='type-id-396' size-in-bits='64' id='type-id-397'/>
+    <typedef-decl name='eth_tx_done_cleanup_t' type-id='type-id-397' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='303' column='1' id='type-id-203'/>
+    <typedef-decl name='eth_dev_led_on_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='385' column='1' id='type-id-204'/>
+    <typedef-decl name='eth_dev_led_off_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='388' column='1' id='type-id-205'/>
+    <class-decl name='rte_eth_fc_conf' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='942' column='1' id='type-id-398'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='high_water' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='943' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='low_water' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='944' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pause_time' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='945' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='send_xon' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='946' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='mode' type-id='type-id-399' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='947' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mac_ctrl_frame_fwd' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='948' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='autoneg' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='949' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_fc_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='930' column='1' id='type-id-399'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_FC_NONE' value='0'/>
+      <enumerator name='RTE_FC_RX_PAUSE' value='1'/>
+      <enumerator name='RTE_FC_TX_PAUSE' value='2'/>
+      <enumerator name='RTE_FC_FULL' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-398' size-in-bits='64' id='type-id-400'/>
+    <pointer-type-def type-id='type-id-401' size-in-bits='64' id='type-id-402'/>
+    <typedef-decl name='flow_ctrl_get_t' type-id='type-id-402' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='355' column='1' id='type-id-206'/>
+    <typedef-decl name='flow_ctrl_set_t' type-id='type-id-402' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='359' column='1' id='type-id-207'/>
+    <class-decl name='rte_eth_pfc_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='957' column='1' id='type-id-403'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fc' type-id='type-id-398' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='958' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='priority' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='959' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-403' size-in-bits='64' id='type-id-404'/>
+    <pointer-type-def type-id='type-id-405' size-in-bits='64' id='type-id-406'/>
+    <typedef-decl name='priority_flow_ctrl_set_t' type-id='type-id-406' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='363' column='1' id='type-id-208'/>
+    <pointer-type-def type-id='type-id-407' size-in-bits='64' id='type-id-408'/>
+    <typedef-decl name='eth_uc_hash_table_set_t' type-id='type-id-408' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='404' column='1' id='type-id-209'/>
+    <pointer-type-def type-id='type-id-409' size-in-bits='64' id='type-id-410'/>
+    <typedef-decl name='eth_uc_all_hash_table_set_t' type-id='type-id-410' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='409' column='1' id='type-id-210'/>
+    <class-decl name='rte_eth_mirror_conf' size-in-bits='1216' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='670' column='1' id='type-id-411'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rule_type' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='dst_pool' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='672' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pool_mask' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vlan' type-id='type-id-412' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='675' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vlan_mirror' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='661' column='1' id='type-id-412'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_mask' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='vlan_id' type-id='type-id-413' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='664' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-25' size-in-bits='1024' id='type-id-413'>
+      <subrange length='64' type-id='type-id-37' id='type-id-104'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-411' size-in-bits='64' id='type-id-414'/>
+    <pointer-type-def type-id='type-id-415' size-in-bits='64' id='type-id-416'/>
+    <typedef-decl name='eth_mirror_rule_set_t' type-id='type-id-416' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='418' column='1' id='type-id-211'/>
+    <typedef-decl name='eth_mirror_rule_reset_t' type-id='type-id-410' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='424' column='1' id='type-id-212'/>
+    <class-decl name='rte_eth_udp_tunnel' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1023' column='1' id='type-id-417'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='udp_port' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1024' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='prot_type' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1025' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-417' size-in-bits='64' id='type-id-418'/>
+    <pointer-type-def type-id='type-id-419' size-in-bits='64' id='type-id-420'/>
+    <typedef-decl name='eth_udp_tunnel_port_add_t' type-id='type-id-420' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='428' column='1' id='type-id-213'/>
+    <typedef-decl name='eth_udp_tunnel_port_del_t' type-id='type-id-420' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='432' column='1' id='type-id-214'/>
+    <class-decl name='rte_eth_l2_tunnel_conf' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='751' column='1' id='type-id-421'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='l2_tunnel_type' type-id='type-id-422' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='752' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ether_type' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tunnel_id' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='754' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='vf_id' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='755' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pool' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='756' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_tunnel_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='965' column='1' id='type-id-422'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_TUNNEL_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_TUNNEL_TYPE_VXLAN' value='1'/>
+      <enumerator name='RTE_TUNNEL_TYPE_GENEVE' value='2'/>
+      <enumerator name='RTE_TUNNEL_TYPE_TEREDO' value='3'/>
+      <enumerator name='RTE_TUNNEL_TYPE_NVGRE' value='4'/>
+      <enumerator name='RTE_TUNNEL_TYPE_IP_IN_GRE' value='5'/>
+      <enumerator name='RTE_L2_TUNNEL_TYPE_E_TAG' value='6'/>
+      <enumerator name='RTE_TUNNEL_TYPE_VXLAN_GPE' value='7'/>
+      <enumerator name='RTE_TUNNEL_TYPE_MAX' value='8'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-421' size-in-bits='64' id='type-id-423'/>
+    <pointer-type-def type-id='type-id-424' size-in-bits='64' id='type-id-425'/>
+    <typedef-decl name='eth_l2_tunnel_eth_type_conf_t' type-id='type-id-425' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='494' column='1' id='type-id-215'/>
+    <pointer-type-def type-id='type-id-426' size-in-bits='64' id='type-id-427'/>
+    <typedef-decl name='eth_l2_tunnel_offload_set_t' type-id='type-id-427' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='498' column='1' id='type-id-216'/>
+    <pointer-type-def type-id='type-id-428' size-in-bits='64' id='type-id-429'/>
+    <typedef-decl name='eth_set_queue_rate_limit_t' type-id='type-id-429' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='413' column='1' id='type-id-217'/>
+    <pointer-type-def type-id='type-id-117' size-in-bits='64' id='type-id-430'/>
+    <pointer-type-def type-id='type-id-431' size-in-bits='64' id='type-id-432'/>
+    <typedef-decl name='rss_hash_update_t' type-id='type-id-432' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='377' column='1' id='type-id-218'/>
+    <typedef-decl name='rss_hash_conf_get_t' type-id='type-id-432' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='381' column='1' id='type-id-219'/>
+    <class-decl name='rte_eth_rss_reta_entry64' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='684' column='1' id='type-id-433'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mask' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='685' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='reta' type-id='type-id-413' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='687' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-433' size-in-bits='64' id='type-id-434'/>
+    <pointer-type-def type-id='type-id-435' size-in-bits='64' id='type-id-436'/>
+    <typedef-decl name='reta_update_t' type-id='type-id-436' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='367' column='1' id='type-id-220'/>
+    <typedef-decl name='reta_query_t' type-id='type-id-436' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='372' column='1' id='type-id-221'/>
+    <class-decl name='rte_dev_reg_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='13' column='1' id='type-id-437'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='14' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offset' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='15' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='length' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='16' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='width' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='17' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='version' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='18' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-437' size-in-bits='64' id='type-id-438'/>
+    <pointer-type-def type-id='type-id-439' size-in-bits='64' id='type-id-440'/>
+    <typedef-decl name='eth_get_reg_t' type-id='type-id-440' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='471' column='1' id='type-id-222'/>
+    <typedef-decl name='eth_get_eeprom_length_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='475' column='1' id='type-id-223'/>
+    <class-decl name='rte_dev_eeprom_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='24' column='1' id='type-id-441'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='25' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offset' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='26' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='length' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='27' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='magic' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='28' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-441' size-in-bits='64' id='type-id-442'/>
+    <pointer-type-def type-id='type-id-443' size-in-bits='64' id='type-id-444'/>
+    <typedef-decl name='eth_get_eeprom_t' type-id='type-id-444' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='478' column='1' id='type-id-224'/>
+    <typedef-decl name='eth_set_eeprom_t' type-id='type-id-444' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='482' column='1' id='type-id-225'/>
+    <class-decl name='rte_eth_dev_module_info' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='34' column='1' id='type-id-445'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='eeprom_len' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-445' size-in-bits='64' id='type-id-446'/>
+    <pointer-type-def type-id='type-id-447' size-in-bits='64' id='type-id-448'/>
+    <typedef-decl name='eth_get_module_info_t' type-id='type-id-448' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='486' column='1' id='type-id-226'/>
+    <typedef-decl name='eth_get_module_eeprom_t' type-id='type-id-444' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='490' column='1' id='type-id-227'/>
+    <enum-decl name='rte_filter_type' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='28' column='1' id='type-id-449'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_ETH_FILTER_NONE' value='0'/>
+      <enumerator name='RTE_ETH_FILTER_MACVLAN' value='1'/>
+      <enumerator name='RTE_ETH_FILTER_ETHERTYPE' value='2'/>
+      <enumerator name='RTE_ETH_FILTER_FLEXIBLE' value='3'/>
+      <enumerator name='RTE_ETH_FILTER_SYN' value='4'/>
+      <enumerator name='RTE_ETH_FILTER_NTUPLE' value='5'/>
+      <enumerator name='RTE_ETH_FILTER_TUNNEL' value='6'/>
+      <enumerator name='RTE_ETH_FILTER_FDIR' value='7'/>
+      <enumerator name='RTE_ETH_FILTER_HASH' value='8'/>
+      <enumerator name='RTE_ETH_FILTER_L2_TUNNEL' value='9'/>
+      <enumerator name='RTE_ETH_FILTER_GENERIC' value='10'/>
+      <enumerator name='RTE_ETH_FILTER_MAX' value='11'/>
+    </enum-decl>
+    <enum-decl name='rte_filter_op' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='46' column='1' id='type-id-450'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_ETH_FILTER_NOP' value='0'/>
+      <enumerator name='RTE_ETH_FILTER_ADD' value='1'/>
+      <enumerator name='RTE_ETH_FILTER_UPDATE' value='2'/>
+      <enumerator name='RTE_ETH_FILTER_DELETE' value='3'/>
+      <enumerator name='RTE_ETH_FILTER_FLUSH' value='4'/>
+      <enumerator name='RTE_ETH_FILTER_GET' value='5'/>
+      <enumerator name='RTE_ETH_FILTER_SET' value='6'/>
+      <enumerator name='RTE_ETH_FILTER_INFO' value='7'/>
+      <enumerator name='RTE_ETH_FILTER_STATS' value='8'/>
+      <enumerator name='RTE_ETH_FILTER_OP_MAX' value='9'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-451' size-in-bits='64' id='type-id-452'/>
+    <typedef-decl name='eth_filter_ctrl_t' type-id='type-id-452' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='506' column='1' id='type-id-228'/>
+    <class-decl name='rte_eth_dcb_info' size-in-bits='16520' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1377' column='1' id='type-id-453'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1378' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='prio_tc' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1379' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='tc_bws' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1380' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='tc_queue' type-id='type-id-454' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1382' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dcb_tc_queue_mapping' size-in-bits='16384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1360' column='1' id='type-id-454'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tc_rxq' type-id='type-id-455' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1365' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8192'>
+        <var-decl name='tc_txq' type-id='type-id-455' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1370' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1362' column='1' id='type-id-456'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='base' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1363' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='nb_queue' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1364' column='1'/>
+      </data-member>
+    </class-decl>
+
+
+    <array-type-def dimensions='2' type-id='type-id-456' size-in-bits='1152' id='type-id-455'>
+      <subrange length='64' type-id='type-id-37' id='type-id-104'/>
+
+      <subrange length='8' type-id='type-id-37' id='type-id-126'/>
+
+    </array-type-def>
+
+
+    <pointer-type-def type-id='type-id-453' size-in-bits='64' id='type-id-457'/>
+    <pointer-type-def type-id='type-id-458' size-in-bits='64' id='type-id-459'/>
+    <typedef-decl name='eth_get_dcb_info' type-id='type-id-459' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='518' column='1' id='type-id-229'/>
+    <typedef-decl name='eth_timesync_enable_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='441' column='1' id='type-id-230'/>
+    <typedef-decl name='eth_timesync_disable_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='444' column='1' id='type-id-231'/>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='9' column='1' id='type-id-460'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tv_sec' type-id='type-id-461' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='11' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tv_nsec' type-id='type-id-462' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='long int' size-in-bits='64' id='type-id-463'/>
+    <typedef-decl name='__time_t' type-id='type-id-463' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-461'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-463' filepath='/usr/include/bits/types.h' line='196' column='1' id='type-id-462'/>
+    <pointer-type-def type-id='type-id-460' size-in-bits='64' id='type-id-464'/>
+    <pointer-type-def type-id='type-id-465' size-in-bits='64' id='type-id-466'/>
+    <typedef-decl name='eth_timesync_read_rx_timestamp_t' type-id='type-id-466' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='447' column='1' id='type-id-232'/>
+    <pointer-type-def type-id='type-id-467' size-in-bits='64' id='type-id-468'/>
+    <typedef-decl name='eth_timesync_read_tx_timestamp_t' type-id='type-id-468' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='452' column='1' id='type-id-233'/>
+    <typedef-decl name='__int64_t' type-id='type-id-463' filepath='/usr/include/bits/types.h' line='44' column='1' id='type-id-469'/>
+    <typedef-decl name='int64_t' type-id='type-id-469' filepath='/usr/include/bits/stdint-intn.h' line='27' column='1' id='type-id-470'/>
+    <pointer-type-def type-id='type-id-471' size-in-bits='64' id='type-id-472'/>
+    <typedef-decl name='eth_timesync_adjust_time' type-id='type-id-472' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='456' column='1' id='type-id-234'/>
+    <typedef-decl name='eth_timesync_read_time' type-id='type-id-468' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='459' column='1' id='type-id-235'/>
+    <qualified-type-def type-id='type-id-460' const='yes' id='type-id-473'/>
+    <pointer-type-def type-id='type-id-473' size-in-bits='64' id='type-id-474'/>
+    <pointer-type-def type-id='type-id-475' size-in-bits='64' id='type-id-476'/>
+    <typedef-decl name='eth_timesync_write_time' type-id='type-id-476' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='463' column='1' id='type-id-236'/>
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-477'/>
+    <pointer-type-def type-id='type-id-478' size-in-bits='64' id='type-id-479'/>
+    <typedef-decl name='eth_read_clock' type-id='type-id-479' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='467' column='1' id='type-id-237'/>
+    <qualified-type-def type-id='type-id-31' const='yes' id='type-id-480'/>
+    <pointer-type-def type-id='type-id-480' size-in-bits='64' id='type-id-481'/>
+    <pointer-type-def type-id='type-id-482' size-in-bits='64' id='type-id-483'/>
+    <typedef-decl name='eth_xstats_get_by_id_t' type-id='type-id-483' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='188' column='1' id='type-id-238'/>
+    <pointer-type-def type-id='type-id-484' size-in-bits='64' id='type-id-485'/>
+    <typedef-decl name='eth_xstats_get_names_by_id_t' type-id='type-id-485' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='219' column='1' id='type-id-239'/>
+    <pointer-type-def type-id='type-id-486' size-in-bits='64' id='type-id-487'/>
+    <typedef-decl name='eth_tm_ops_get_t' type-id='type-id-487' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='512' column='1' id='type-id-240'/>
+    <typedef-decl name='eth_mtr_ops_get_t' type-id='type-id-487' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='515' column='1' id='type-id-241'/>
+    <pointer-type-def type-id='type-id-488' size-in-bits='64' id='type-id-489'/>
+    <typedef-decl name='eth_pool_ops_supported_t' type-id='type-id-489' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='522' column='1' id='type-id-242'/>
+    <class-decl name='rte_eth_hairpin_cap' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='861' column='1' id='type-id-490'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max_nb_queues' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='863' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='max_rx_2_tx' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_tx_2_rx' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='867' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='max_nb_desc' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='868' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-490' size-in-bits='64' id='type-id-491'/>
+    <pointer-type-def type-id='type-id-492' size-in-bits='64' id='type-id-493'/>
+    <typedef-decl name='eth_hairpin_cap_get_t' type-id='type-id-493' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='543' column='1' id='type-id-243'/>
+    <class-decl name='rte_eth_hairpin_conf' size-in-bits='1040' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='890' column='1' id='type-id-494'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='peer_count' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='891' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='peers' type-id='type-id-495' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='892' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_hairpin_peer' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='879' column='1' id='type-id-496'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='port' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='880' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='queue' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='881' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-496' size-in-bits='1024' id='type-id-495'>
+      <subrange length='32' type-id='type-id-37' id='type-id-54'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-494' const='yes' id='type-id-497'/>
+    <pointer-type-def type-id='type-id-497' size-in-bits='64' id='type-id-498'/>
+    <pointer-type-def type-id='type-id-499' size-in-bits='64' id='type-id-500'/>
+    <typedef-decl name='eth_rx_hairpin_queue_setup_t' type-id='type-id-500' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='571' column='1' id='type-id-244'/>
+    <typedef-decl name='eth_tx_hairpin_queue_setup_t' type-id='type-id-500' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='601' column='1' id='type-id-245'/>
+    <qualified-type-def type-id='type-id-155' const='yes' id='type-id-501'/>
+    <pointer-type-def type-id='type-id-501' size-in-bits='64' id='type-id-15'/>
+    <class-decl name='rte_intr_handle' size-in-bits='213248' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='69' column='1' id='type-id-502'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-503' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-504' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='max_intr' type-id='type-id-32' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='nb_efd' type-id='type-id-32' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='efd_counter_size' type-id='type-id-99' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='efds' type-id='type-id-505' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16576'>
+        <var-decl name='elist' type-id='type-id-506' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='213184'>
+        <var-decl name='intr_vec' type-id='type-id-507' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='71' column='1' id='type-id-503'>
+      <data-member access='private'>
+        <var-decl name='vfio_dev_fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='uio_cfg_fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='73' column='1'/>
+      </data-member>
+    </union-decl>
+    <enum-decl name='rte_intr_handle_type' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='27' column='1' id='type-id-504'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_INTR_HANDLE_UNKNOWN' value='0'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO' value='1'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO_INTX' value='2'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_LEGACY' value='3'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSI' value='4'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSIX' value='5'/>
+      <enumerator name='RTE_INTR_HANDLE_ALARM' value='6'/>
+      <enumerator name='RTE_INTR_HANDLE_EXT' value='7'/>
+      <enumerator name='RTE_INTR_HANDLE_VDEV' value='8'/>
+      <enumerator name='RTE_INTR_HANDLE_DEV_EVENT' value='9'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_REQ' value='10'/>
+      <enumerator name='RTE_INTR_HANDLE_MAX' value='11'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='16384' id='type-id-505'>
+      <subrange length='512' type-id='type-id-37' id='type-id-508'/>
+
+    </array-type-def>
+    <class-decl name='rte_epoll_event' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='61' column='1' id='type-id-509'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='status' type-id='type-id-510' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='epfd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='epdata' type-id='type-id-511' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-32' volatile='yes' id='type-id-510'/>
+    <class-decl name='rte_epoll_data' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='47' column='1' id='type-id-511'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event' type-id='type-id-32' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='data' type-id='type-id-14' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cb_fun' type-id='type-id-512' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='cb_arg' type-id='type-id-14' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='51' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-513' size-in-bits='64' id='type-id-514'/>
+    <typedef-decl name='rte_intr_event_cb_t' type-id='type-id-514' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='45' column='1' id='type-id-512'/>
+
+    <array-type-def dimensions='1' type-id='type-id-509' size-in-bits='196608' id='type-id-506'>
+      <subrange length='512' type-id='type-id-37' id='type-id-508'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-507'/>
+    <pointer-type-def type-id='type-id-502' size-in-bits='64' id='type-id-17'/>
+    <class-decl name='rte_eth_dev_cb_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1' id='type-id-18'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-515' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-516' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_callback' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-517'/>
+    <pointer-type-def type-id='type-id-517' size-in-bits='64' id='type-id-515'/>
+    <pointer-type-def type-id='type-id-515' size-in-bits='64' id='type-id-516'/>
+    <class-decl name='rte_eth_rxtx_callback' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='758' column='1' id='type-id-518'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-519' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='759' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fn' type-id='type-id-520' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='763' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='param' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='764' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-518' size-in-bits='64' id='type-id-519'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='760' column='1' id='type-id-520'>
+      <data-member access='private'>
+        <var-decl name='rx' type-id='type-id-521' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='761' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='tx' type-id='type-id-522' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='762' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-523' size-in-bits='64' id='type-id-524'/>
+    <typedef-decl name='rte_rx_callback_fn' type-id='type-id-524' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1437' column='1' id='type-id-521'/>
+    <pointer-type-def type-id='type-id-525' size-in-bits='64' id='type-id-526'/>
+    <typedef-decl name='rte_tx_callback_fn' type-id='type-id-526' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1461' column='1' id='type-id-522'/>
+
+    <array-type-def dimensions='1' type-id='type-id-519' size-in-bits='65536' id='type-id-19'>
+      <subrange length='1024' type-id='type-id-37' id='type-id-153'/>
+
+    </array-type-def>
+    <enum-decl name='rte_eth_dev_state' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1467' column='1' id='type-id-20'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_ETH_DEV_UNUSED' value='0'/>
+      <enumerator name='RTE_ETH_DEV_ATTACHED' value='1'/>
+      <enumerator name='RTE_ETH_DEV_REMOVED' value='2'/>
+    </enum-decl>
+    <class-decl name='rte_flow_attr' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='75' column='1' id='type-id-527'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='group' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='priority' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='ingress' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='egress' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='transfer' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='98' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='reserved' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='99' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-527' const='yes' id='type-id-528'/>
+    <pointer-type-def type-id='type-id-528' size-in-bits='64' id='type-id-529'/>
+    <class-decl name='rte_flow_item' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1517' column='1' id='type-id-530'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-531' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1518' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='spec' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1519' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='last' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='mask' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1521' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_item_type' filepath='../lib/librte_ethdev/rte_flow.h' line='118' column='1' id='type-id-531'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_END' value='0'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VOID' value='1'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_INVERT' value='2'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ANY' value='3'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PF' value='4'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VF' value='5'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PHY_PORT' value='6'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PORT_ID' value='7'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_RAW' value='8'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ETH' value='9'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VLAN' value='10'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV4' value='11'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV6' value='12'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP' value='13'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_UDP' value='14'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_TCP' value='15'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_SCTP' value='16'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VXLAN' value='17'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_E_TAG' value='18'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_NVGRE' value='19'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_MPLS' value='20'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GRE' value='21'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_FUZZY' value='22'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTP' value='23'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTPC' value='24'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTPU' value='25'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ESP' value='26'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GENEVE' value='27'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VXLAN_GPE' value='28'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ARP_ETH_IPV4' value='29'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV6_EXT' value='30'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6' value='31'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_NS' value='32'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_NA' value='33'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT' value='34'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT_SLA_ETH' value='35'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT_TLA_ETH' value='36'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_MARK' value='37'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_META' value='38'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GRE_KEY' value='39'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTP_PSC' value='40'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOES' value='41'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOED' value='42'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOE_PROTO_ID' value='43'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_NSH' value='44'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IGMP' value='45'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_AH' value='46'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_HIGIG2' value='47'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_TAG' value='48'/>
+    </enum-decl>
+    <qualified-type-def type-id='type-id-530' const='yes' id='type-id-532'/>
+    <pointer-type-def type-id='type-id-532' size-in-bits='64' id='type-id-533'/>
+    <class-decl name='rte_flow_action' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2568' column='1' id='type-id-534'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-535' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2569' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='conf' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2570' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_action_type' filepath='../lib/librte_ethdev/rte_flow.h' line='1550' column='1' id='type-id-535'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_END' value='0'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VOID' value='1'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PASSTHRU' value='2'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_JUMP' value='3'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_MARK' value='4'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_FLAG' value='5'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_QUEUE' value='6'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DROP' value='7'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_COUNT' value='8'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RSS' value='9'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PF' value='10'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VF' value='11'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PHY_PORT' value='12'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PORT_ID' value='13'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_METER' value='14'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SECURITY' value='15'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_MPLS_TTL' value='16'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_DEC_MPLS_TTL' value='17'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_NW_TTL' value='18'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_DEC_NW_TTL' value='19'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_OUT' value='20'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_IN' value='21'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_POP_VLAN' value='22'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_PUSH_VLAN' value='23'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_VID' value='24'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_PCP' value='25'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_POP_MPLS' value='26'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_PUSH_MPLS' value='27'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VXLAN_ENCAP' value='28'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VXLAN_DECAP' value='29'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_NVGRE_ENCAP' value='30'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_NVGRE_DECAP' value='31'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RAW_ENCAP' value='32'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RAW_DECAP' value='33'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV4_SRC' value='34'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV4_DST' value='35'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV6_SRC' value='36'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV6_DST' value='37'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TP_SRC' value='38'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TP_DST' value='39'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_MAC_SWAP' value='40'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TTL' value='41'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TTL' value='42'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_MAC_SRC' value='43'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_MAC_DST' value='44'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_INC_TCP_SEQ' value='45'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TCP_SEQ' value='46'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_INC_TCP_ACK' value='47'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TCP_ACK' value='48'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TAG' value='49'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_META' value='50'/>
+    </enum-decl>
+    <qualified-type-def type-id='type-id-534' const='yes' id='type-id-536'/>
+    <pointer-type-def type-id='type-id-536' size-in-bits='64' id='type-id-537'/>
+    <class-decl name='rte_flow_error' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2618' column='1' id='type-id-538'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-539' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2619' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='cause' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2620' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='message' type-id='type-id-279' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2621' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_error_type' filepath='../lib/librte_ethdev/rte_flow.h' line='2587' column='1' id='type-id-539'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_UNSPECIFIED' value='1'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_HANDLE' value='2'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_GROUP' value='3'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_PRIORITY' value='4'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_INGRESS' value='5'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_EGRESS' value='6'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_TRANSFER' value='7'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR' value='8'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_NUM' value='9'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_SPEC' value='10'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_LAST' value='11'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_MASK' value='12'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM' value='13'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION_NUM' value='14'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION_CONF' value='15'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION' value='16'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-538' size-in-bits='64' id='type-id-540'/>
+    <pointer-type-def type-id='type-id-541' size-in-bits='64' id='type-id-3'/>
+    <class-decl name='rte_flow' size-in-bits='4480' is-struct='yes' visibility='default' filepath='../drivers/net/enic/enic.h' line='97' column='1' id='type-id-542'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-543' visibility='default' filepath='../drivers/net/enic/enic.h' line='98' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='enic_filter_id' type-id='type-id-25' visibility='default' filepath='../drivers/net/enic/enic.h' line='100' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='enic_filter' type-id='type-id-544' visibility='default' filepath='../drivers/net/enic/enic.h' line='101' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4416'>
+        <var-decl name='fm' type-id='type-id-545' visibility='default' filepath='../drivers/net/enic/enic.h' line='103' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/enic/enic.h' line='98' column='1' id='type-id-543'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='le_next' type-id='type-id-546' visibility='default' filepath='../drivers/net/enic/enic.h' line='98' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='le_prev' type-id='type-id-547' visibility='default' filepath='../drivers/net/enic/enic.h' line='98' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-542' size-in-bits='64' id='type-id-546'/>
+    <pointer-type-def type-id='type-id-546' size-in-bits='64' id='type-id-547'/>
+    <class-decl name='filter_v2' size-in-bits='4240' is-struct='yes' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='941' column='1' id='type-id-544'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-548' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='942' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='u' type-id='type-id-549' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='949' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='u32' type-id='type-id-43' filepath='../drivers/net/enic/enic_compat.h' line='72' column='1' id='type-id-548'/>
+    <union-decl name='__anonymous_union__' size-in-bits='4208' is-anonymous='yes' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='943' column='1' id='type-id-549'>
+      <data-member access='private'>
+        <var-decl name='usnic' type-id='type-id-550' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='944' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='ipv4' type-id='type-id-551' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='945' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='mac_vlan' type-id='type-id-552' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='946' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='vlan_3tuple' type-id='type-id-553' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='947' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='generic_1' type-id='type-id-554' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='948' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='filter_usnic_id' size-in-bits='104' is-struct='yes' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='749' column='1' id='type-id-550'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-548' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='750' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='vlan' type-id='type-id-555' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='751' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='ethtype' type-id='type-id-555' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='752' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='proto_version' type-id='type-id-556' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='usnic_id' type-id='type-id-548' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='754' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='u16' type-id='type-id-23' filepath='../drivers/net/enic/enic_compat.h' line='71' column='1' id='type-id-555'/>
+    <typedef-decl name='u8' type-id='type-id-105' filepath='../drivers/net/enic/enic_compat.h' line='70' column='1' id='type-id-556'/>
+    <class-decl name='filter_ipv4_5tuple' size-in-bits='160' is-struct='yes' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='777' column='1' id='type-id-551'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-548' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='778' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='protocol' type-id='type-id-548' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='src_addr' type-id='type-id-548' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='dst_addr' type-id='type-id-548' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='781' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='src_port' type-id='type-id-555' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='782' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='dst_port' type-id='type-id-555' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='783' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='filter_mac_vlan' size-in-bits='96' is-struct='yes' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='794' column='1' id='type-id-552'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-548' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='795' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='vlan' type-id='type-id-555' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='796' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='mac_addr' type-id='type-id-557' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='797' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-556' size-in-bits='48' id='type-id-557'>
+      <subrange length='6' type-id='type-id-37' id='type-id-151'/>
+
+    </array-type-def>
+    <class-decl name='filter_vlan_ip_3tuple' size-in-bits='240' is-struct='yes' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='812' column='1' id='type-id-553'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-548' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='813' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='vlan' type-id='type-id-555' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='814' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='l3_protocol' type-id='type-id-555' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='815' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='u' type-id='type-id-558' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='819' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='l4_protocol' type-id='type-id-548' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='820' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='dst_port' type-id='type-id-555' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='821' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='816' column='1' id='type-id-558'>
+      <data-member access='private'>
+        <var-decl name='dst_addr_v4' type-id='type-id-548' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='817' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dst_addr_v6' type-id='type-id-559' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='818' column='1'/>
+      </data-member>
+    </union-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-556' size-in-bits='128' id='type-id-559'>
+      <subrange length='16' type-id='type-id-37' id='type-id-145'/>
+
+    </array-type-def>
+    <class-decl name='filter_generic_1' size-in-bits='4208' is-struct='yes' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='849' column='1' id='type-id-554'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='position' type-id='type-id-555' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='850' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='mask_flags' type-id='type-id-548' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='851' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='val_flags' type-id='type-id-548' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='852' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='mask_vlan' type-id='type-id-555' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='853' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='val_vlan' type-id='type-id-555' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='854' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='112'>
+        <var-decl name='layer' type-id='type-id-560' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='858' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='1024' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='855' column='1' id='type-id-561'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mask' type-id='type-id-562' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='856' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='val' type-id='type-id-562' visibility='default' filepath='../drivers/net/enic/base/vnic_devcmd.h' line='857' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-556' size-in-bits='512' id='type-id-562'>
+      <subrange length='64' type-id='type-id-37' id='type-id-104'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-561' size-in-bits='4096' id='type-id-560'>
+      <subrange length='4' type-id='type-id-37' id='type-id-139'/>
+
+    </array-type-def>
+    <class-decl name='enic_fm_flow' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-563'/>
+    <pointer-type-def type-id='type-id-563' size-in-bits='64' id='type-id-545'/>
+    <pointer-type-def type-id='type-id-564' size-in-bits='64' id='type-id-4'/>
+    <pointer-type-def type-id='type-id-565' size-in-bits='64' id='type-id-5'/>
+    <pointer-type-def type-id='type-id-566' size-in-bits='64' id='type-id-6'/>
+    <pointer-type-def type-id='type-id-567' size-in-bits='64' id='type-id-7'/>
+    <pointer-type-def type-id='type-id-568' size-in-bits='64' id='type-id-8'/>
+    <qualified-type-def type-id='type-id-2' const='yes' id='type-id-569'/>
+    <var-decl name='enic_flow_ops' type-id='type-id-569' visibility='default' filepath='../drivers/net/enic/enic.h' line='365' column='1'/>
+    <function-type size-in-bits='64' id='type-id-371'>
+      <parameter type-id='type-id-246'/>
+      <return type-id='type-id-280'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-332'>
+      <return type-id='type-id-331'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-315'>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-326'>
+      <parameter type-id='type-id-279'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-319'>
+      <parameter type-id='type-id-318'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-324'>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-328'>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-31'/>
+      <parameter type-id='type-id-57'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-247'>
+      <parameter type-id='type-id-246'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-369'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-350'/>
+      <parameter type-id='type-id-57'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-488'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-279'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-541'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-529'/>
+      <parameter type-id='type-id-533'/>
+      <parameter type-id='type-id-537'/>
+      <parameter type-id='type-id-540'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-475'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-474'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-482'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-481'/>
+      <parameter type-id='type-id-477'/>
+      <parameter type-id='type-id-43'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-451'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-449'/>
+      <parameter type-id='type-id-450'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-378'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-377'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-251'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-568'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-540'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-443'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-442'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-439'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-438'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-458'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-457'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-354'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-353'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-447'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-446'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-401'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-400'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-492'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-491'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-424'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-423'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-426'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-32'/>
+      <parameter type-id='type-id-99'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-415'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-414'/>
+      <parameter type-id='type-id-99'/>
+      <parameter type-id='type-id-99'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-405'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-404'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-431'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-430'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-435'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-434'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-266'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-265'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-419'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-418'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-270'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-43'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-484'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-273'/>
+      <parameter type-id='type-id-481'/>
+      <parameter type-id='type-id-43'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-274'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-273'/>
+      <parameter type-id='type-id-43'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-257'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-97'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-259'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-97'/>
+      <parameter type-id='type-id-32'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-255'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-97'/>
+      <parameter type-id='type-id-32'/>
+      <parameter type-id='type-id-32'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-407'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-97'/>
+      <parameter type-id='type-id-99'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-567'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-546'/>
+      <parameter type-id='type-id-537'/>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-540'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-565'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-546'/>
+      <parameter type-id='type-id-540'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-566'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-540'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-467'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-464'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-465'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-464'/>
+      <parameter type-id='type-id-32'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-471'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-470'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-261'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-375'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-367'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-366'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-428'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-499'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-498'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-384'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-383'/>
+      <parameter type-id='type-id-33'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-394'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-393'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-276'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-99'/>
+      <parameter type-id='type-id-99'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-373'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-32'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-409'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-99'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-478'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-477'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-486'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-341'>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-390'>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-396'>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-32'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-322'>
+      <parameter type-id='type-id-318'/>
+      <parameter type-id='type-id-321'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-564'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-529'/>
+      <parameter type-id='type-id-533'/>
+      <parameter type-id='type-id-537'/>
+      <parameter type-id='type-id-540'/>
+      <return type-id='type-id-546'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-523'>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-88'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-25'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-525'>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-88'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-25'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-89'>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-88'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-25'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-388'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-513'>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-249'>
+      <parameter type-id='type-id-246'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-380'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-358'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-357'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-362'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-361'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-253'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-32'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-75'>
+      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-386'>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-80'>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-339'>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-279'/>
+      <parameter type-id='type-id-338'/>
+      <return type-id='type-id-14'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/enic/enic_fm_flow.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='enic_fm_flow_ops' type-id='type-id-569' visibility='default' filepath='../drivers/net/enic/enic.h' line='366' column='1'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_failsafe.dump b/drivers/.abi/librte_pmd_failsafe.dump
new file mode 100644
index 000000000..758b28869
--- /dev/null
+++ b/drivers/.abi/librte_pmd_failsafe.dump
@@ -0,0 +1,3162 @@
+<abi-corpus path='gcc//drivers/librte_pmd_failsafe.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_failsafe.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/failsafe/failsafe_args.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-1'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-2'/>
+    <typedef-decl name='uint64_t' type-id='type-id-2' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-3'/>
+    <var-decl name='failsafe_hotplug_poll' type-id='type-id-3' visibility='default' filepath='../drivers/net/failsafe/failsafe_private.h' line='249' column='1'/>
+    <type-decl name='int' size-in-bits='32' id='type-id-4'/>
+    <var-decl name='failsafe_mac_from_arg' type-id='type-id-4' visibility='default' filepath='../drivers/net/failsafe/failsafe_private.h' line='250' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/failsafe/failsafe.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='failsafe_logtype' type-id='type-id-4' visibility='default' filepath='../drivers/net/failsafe/failsafe_private.h' line='350' column='1'/>
+    <type-decl name='char' size-in-bits='8' id='type-id-5'/>
+    <qualified-type-def type-id='type-id-5' const='yes' id='type-id-6'/>
+
+    <array-type-def dimensions='1' type-id='type-id-6' size-in-bits='infinite' id='type-id-7'>
+      <subrange length='infinite' id='type-id-8'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-7' const='yes' id='type-id-9'/>
+    <var-decl name='pmd_failsafe_driver_name' type-id='type-id-9' visibility='default' filepath='../drivers/net/failsafe/failsafe_private.h' line='246' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/failsafe/failsafe_flow.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_flow_ops' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='63' column='1' id='type-id-10'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='validate' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='create' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='destroy' type-id='type-id-13' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='flush' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='query' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='isolate' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='95' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev' size-in-bits='132608' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='777' column='1' id='type-id-17'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_pkt_burst' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='778' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tx_pkt_burst' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tx_pkt_prepare' type-id='type-id-20' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='data' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='786' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='process_private' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='787' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_ops' type-id='type-id-23' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='788' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='device' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='789' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='intr_handle' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='790' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='link_intr_cbs' type-id='type-id-26' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='792' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='post_rx_burst_cbs' type-id='type-id-27' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='797' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='66176'>
+        <var-decl name='pre_tx_burst_cbs' type-id='type-id-27' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131712'>
+        <var-decl name='state' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='803' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131776'>
+        <var-decl name='security_ctx' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131840'>
+        <var-decl name='reserved_64s' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='806' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='132096'>
+        <var-decl name='reserved_ptrs' type-id='type-id-30' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='807' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-31'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-31' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-32'/>
+    <typedef-decl name='uint16_t' type-id='type-id-32' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-33'/>
+    <type-decl name='void' id='type-id-34'/>
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-22'/>
+    <class-decl name='rte_mbuf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='480' column='1' id='type-id-35'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheline0' type-id='type-id-36' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-22' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-37' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rearm_data' type-id='type-id-38' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='497' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_off' type-id='type-id-33' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_segs' type-id='type-id-33' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='port' type-id='type-id-33' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ol_flags' type-id='type-id-3' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_descriptor_fields1' type-id='type-id-36' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='pkt_len' type-id='type-id-39' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data_len' type-id='type-id-33' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='vlan_tci' type-id='type-id-33' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vlan_tci_outer' type-id='type-id-33' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='buf_len' type-id='type-id-33' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='timestamp' type-id='type-id-3' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cacheline1' type-id='type-id-36' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='pool' type-id='type-id-40' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='next' type-id='type-id-41' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv_size' type-id='type-id-33' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='timesync' type-id='type-id-33' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='seqn' type-id='type-id-39' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='shinfo' type-id='type-id-42' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dynfield1' type-id='type-id-43' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-22' size-in-bits='infinite' id='type-id-44'>
+      <subrange length='infinite' type-id='type-id-1' id='type-id-8'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER' type-id='type-id-44' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='414' column='1' id='type-id-36'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='491' column='1' id='type-id-37'>
+      <data-member access='private'>
+        <var-decl name='buf_iova' type-id='type-id-45' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='buf_physaddr' type-id='type-id-45' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_iova_t' type-id='type-id-3' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-45'/>
+
+    <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='infinite' id='type-id-46'>
+      <subrange length='infinite' type-id='type-id-1' id='type-id-8'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER64' type-id='type-id-46' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='420' column='1' id='type-id-38'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-47'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-47' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-48'/>
+    <typedef-decl name='uint32_t' type-id='type-id-48' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-39'/>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-49'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-50' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-51' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-22' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-52' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-47' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-4' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-47' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-53' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-54' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-55' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-56' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-5' size-in-bits='256' id='type-id-50'>
+      <subrange length='32' type-id='type-id-1' id='type-id-57'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-51'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-22' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-3' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-58'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-50' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-59' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-60' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-3' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-53' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-39' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-59'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-61' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-45' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-3' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-61'/>
+    <typedef-decl name='size_t' type-id='type-id-1' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-60'/>
+    <typedef-decl name='__int32_t' type-id='type-id-4' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-62'/>
+    <typedef-decl name='int32_t' type-id='type-id-62' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-53'/>
+    <qualified-type-def type-id='type-id-58' const='yes' id='type-id-63'/>
+    <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-52'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-64'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-65' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-22' size-in-bits='98304' id='type-id-65'>
+      <subrange length='1536' type-id='type-id-1' id='type-id-66'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-64' size-in-bits='64' id='type-id-54'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-55'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-67' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-68' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-69'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-70' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-40' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-71' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-70'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-67' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-69' size-in-bits='64' id='type-id-67'/>
+    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-40'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-71'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-45' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-61' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-67' size-in-bits='64' id='type-id-68'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-56'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-72' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-73' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-74'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-75' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-40' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-22' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-76' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-60' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-77' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-22' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-75'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-72' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-74' size-in-bits='64' id='type-id-72'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-76'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-45' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-61' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-78' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-79'/>
+    <pointer-type-def type-id='type-id-79' size-in-bits='64' id='type-id-77'/>
+    <pointer-type-def type-id='type-id-72' size-in-bits='64' id='type-id-73'/>
+    <pointer-type-def type-id='type-id-35' size-in-bits='64' id='type-id-41'/>
+    <class-decl name='rte_mbuf_ext_shared_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='689' column='1' id='type-id-80'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_cb' type-id='type-id-81' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcb_opaque' type-id='type-id-22' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt_atomic' type-id='type-id-82' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-84'/>
+    <typedef-decl name='rte_mbuf_extbuf_free_callback_t' type-id='type-id-84' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='684' column='1' id='type-id-81'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-82' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-85'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-86' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-87'/>
+    <typedef-decl name='__int16_t' type-id='type-id-87' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-88'/>
+    <typedef-decl name='int16_t' type-id='type-id-88' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-89'/>
+    <qualified-type-def type-id='type-id-89' volatile='yes' id='type-id-86'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-85' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-82'/>
+    <pointer-type-def type-id='type-id-80' size-in-bits='64' id='type-id-42'/>
+
+    <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='128' id='type-id-43'>
+      <subrange length='2' type-id='type-id-1' id='type-id-90'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-91'/>
+    <pointer-type-def type-id='type-id-92' size-in-bits='64' id='type-id-93'/>
+    <typedef-decl name='eth_rx_burst_t' type-id='type-id-93' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='340' column='1' id='type-id-18'/>
+    <typedef-decl name='eth_tx_burst_t' type-id='type-id-93' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='345' column='1' id='type-id-19'/>
+    <typedef-decl name='eth_tx_prep_t' type-id='type-id-93' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='350' column='1' id='type-id-20'/>
+    <class-decl name='rte_eth_dev_data' size-in-bits='55808' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='820' column='1' id='type-id-94'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-95' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='821' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_queues' type-id='type-id-96' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='823' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_queues' type-id='type-id-96' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='824' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='nb_rx_queues' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='825' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='656'>
+        <var-decl name='nb_tx_queues' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='826' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='sriov' type-id='type-id-97' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='dev_private' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='830' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_link' type-id='type-id-98' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='835' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dev_conf' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='836' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25536'>
+        <var-decl name='mtu' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='837' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25568'>
+        <var-decl name='min_rx_buf_size' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25600'>
+        <var-decl name='rx_mbuf_alloc_failed' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='841' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25664'>
+        <var-decl name='mac_addrs' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='842' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25728'>
+        <var-decl name='mac_pool_sel' type-id='type-id-101' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='846' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='33920'>
+        <var-decl name='hash_mac_addrs' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='848' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='33984'>
+        <var-decl name='port_id' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='852' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='promiscuous' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='855' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='scattered_rx' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='856' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='all_multicast' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='857' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4'>
+        <var-decl name='dev_started' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='858' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3'>
+        <var-decl name='lro' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='859' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='34008'>
+        <var-decl name='rx_queue_state' type-id='type-id-103' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='860' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='42200'>
+        <var-decl name='tx_queue_state' type-id='type-id-103' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='862' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50400'>
+        <var-decl name='dev_flags' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='864' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50432'>
+        <var-decl name='kdrv' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50464'>
+        <var-decl name='numa_node' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='866' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50496'>
+        <var-decl name='vlan_filter_conf' type-id='type-id-105' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='867' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='54592'>
+        <var-decl name='owner' type-id='type-id-106' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='869' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55168'>
+        <var-decl name='representor_id' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='870' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55232'>
+        <var-decl name='reserved_64s' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='875' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55488'>
+        <var-decl name='reserved_ptrs' type-id='type-id-30' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='876' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-5' size-in-bits='512' id='type-id-95'>
+      <subrange length='64' type-id='type-id-1' id='type-id-107'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-96'/>
+    <class-decl name='rte_eth_dev_sriov' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1476' column='1' id='type-id-97'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='active' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1477' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='nb_q_per_pool' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1478' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='def_vmdq_idx' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1479' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='def_pool_q_idx' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1480' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-108'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-108' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-109'/>
+    <typedef-decl name='uint8_t' type-id='type-id-109' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-102'/>
+    <class-decl name='rte_eth_link' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='308' column='1' id='type-id-98'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_speed' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='309' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='15'>
+        <var-decl name='link_duplex' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='310' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='14'>
+        <var-decl name='link_autoneg' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='311' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='13'>
+        <var-decl name='link_status' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='312' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_conf' size-in-bits='24640' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1045' column='1' id='type-id-99'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_speeds' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1046' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rxmode' type-id='type-id-110' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1053' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='txmode' type-id='type-id-111' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1054' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='lpbk_mode' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1055' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='rx_adv_conf' type-id='type-id-112' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1068' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='17984'>
+        <var-decl name='tx_adv_conf' type-id='type-id-113' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1076' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18080'>
+        <var-decl name='dcb_capability_en' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1079' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18112'>
+        <var-decl name='fdir_conf' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1080' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24576'>
+        <var-decl name='intr_conf' type-id='type-id-115' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1081' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rxmode' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='394' column='1' id='type-id-110'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mq_mode' type-id='type-id-116' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='396' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_rx_pkt_len' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='397' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='max_lro_pkt_size' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='399' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='split_hdr_size' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='400' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='offloads' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='406' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-43' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='408' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-117' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='409' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-118'/>
+    <enum-decl name='rte_eth_rx_mq_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='344' column='1' id='type-id-116'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='ETH_MQ_RX_NONE' value='0'/>
+      <enumerator name='ETH_MQ_RX_RSS' value='1'/>
+      <enumerator name='ETH_MQ_RX_DCB' value='2'/>
+      <enumerator name='ETH_MQ_RX_DCB_RSS' value='3'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_ONLY' value='4'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_RSS' value='5'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_DCB' value='6'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_DCB_RSS' value='7'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-22' size-in-bits='128' id='type-id-117'>
+      <subrange length='2' type-id='type-id-1' id='type-id-90'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_txmode' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='792' column='1' id='type-id-111'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mq_mode' type-id='type-id-119' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='793' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offloads' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='799' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pvid' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='hw_vlan_reject_tagged' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='hw_vlan_reject_untagged' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='806' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='hw_vlan_insert_pvid' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='808' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-43' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='811' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-117' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='812' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_tx_mq_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='377' column='1' id='type-id-119'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='ETH_MQ_TX_NONE' value='0'/>
+      <enumerator name='ETH_MQ_TX_DCB' value='1'/>
+      <enumerator name='ETH_MQ_TX_VMDQ_DCB' value='2'/>
+      <enumerator name='ETH_MQ_TX_VMDQ_ONLY' value='3'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16960' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1060' column='1' id='type-id-112'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rss_conf' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1061' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='vmdq_dcb_conf' type-id='type-id-121' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1062' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8512'>
+        <var-decl name='dcb_rx_conf' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1064' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8640'>
+        <var-decl name='vmdq_rx_conf' type-id='type-id-123' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1066' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rss_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='448' column='1' id='type-id-120'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rss_key' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rss_key_len' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rss_hf' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='451' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-102' size-in-bits='64' id='type-id-124'/>
+    <class-decl name='rte_eth_vmdq_dcb_conf' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='745' column='1' id='type-id-121'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-125' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='746' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='enable_default_pool' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='default_pool' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='748' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='nb_pool_maps' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='749' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pool_map' type-id='type-id-126' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8256'>
+        <var-decl name='dcb_tc' type-id='type-id-127' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='754' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_nb_pools' filepath='../lib/librte_ethdev/rte_ethdev.h' line='704' column='1' id='type-id-125'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='ETH_8_POOLS' value='8'/>
+      <enumerator name='ETH_16_POOLS' value='16'/>
+      <enumerator name='ETH_32_POOLS' value='32'/>
+      <enumerator name='ETH_64_POOLS' value='64'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='750' column='1' id='type-id-128'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_id' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='751' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pools' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='752' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-128' size-in-bits='8192' id='type-id-126'>
+      <subrange length='64' type-id='type-id-1' id='type-id-107'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-102' size-in-bits='64' id='type-id-127'>
+      <subrange length='8' type-id='type-id-1' id='type-id-129'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_dcb_rx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='712' column='1' id='type-id-122'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-130' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-127' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='715' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_nb_tcs' filepath='../lib/librte_ethdev/rte_ethdev.h' line='695' column='1' id='type-id-130'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='ETH_4_TCS' value='4'/>
+      <enumerator name='ETH_8_TCS' value='8'/>
+    </enum-decl>
+    <class-decl name='rte_eth_vmdq_rx_conf' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='776' column='1' id='type-id-123'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-125' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='777' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='enable_default_pool' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='778' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='default_pool' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='enable_loop_back' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='nb_pool_maps' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='781' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rx_mode' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='782' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pool_map' type-id='type-id-126' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='786' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <union-decl name='__anonymous_union__' size-in-bits='96' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1069' column='1' id='type-id-113'>
+      <data-member access='private'>
+        <var-decl name='vmdq_dcb_tx_conf' type-id='type-id-131' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1070' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dcb_tx_conf' type-id='type-id-132' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1072' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='vmdq_tx_conf' type-id='type-id-133' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1074' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_eth_vmdq_dcb_tx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='718' column='1' id='type-id-131'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-125' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-127' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='721' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dcb_tx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='724' column='1' id='type-id-132'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-130' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-127' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='727' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vmdq_tx_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='730' column='1' id='type-id-133'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-125' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='731' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_fdir_conf' size-in-bits='6464' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1005' column='1' id='type-id-114'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mode' type-id='type-id-134' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1006' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='pballoc' type-id='type-id-135' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1007' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='status' type-id='type-id-136' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1008' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='drop_queue' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1010' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mask' type-id='type-id-137' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1011' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='flex_conf' type-id='type-id-138' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1012' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_fdir_mode' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='603' column='1' id='type-id-134'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='RTE_FDIR_MODE_NONE' value='0'/>
+      <enumerator name='RTE_FDIR_MODE_SIGNATURE' value='1'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT' value='2'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT_MAC_VLAN' value='3'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT_TUNNEL' value='4'/>
+    </enum-decl>
+    <enum-decl name='rte_fdir_pballoc_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='984' column='1' id='type-id-135'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='RTE_FDIR_PBALLOC_64K' value='0'/>
+      <enumerator name='RTE_FDIR_PBALLOC_128K' value='1'/>
+      <enumerator name='RTE_FDIR_PBALLOC_256K' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_fdir_status_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='993' column='1' id='type-id-136'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='RTE_FDIR_NO_REPORT_STATUS' value='0'/>
+      <enumerator name='RTE_FDIR_REPORT_STATUS' value='1'/>
+      <enumerator name='RTE_FDIR_REPORT_STATUS_ALWAYS' value='2'/>
+    </enum-decl>
+    <class-decl name='rte_eth_fdir_masks' size-in-bits='544' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='533' column='1' id='type-id-137'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_tci_mask' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='534' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ipv4_mask' type-id='type-id-139' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='536' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ipv6_mask' type-id='type-id-140' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='538' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='src_port_mask' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='540' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='dst_port_mask' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='542' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='mac_addr_byte_mask' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='545' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='tunnel_id_mask' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='547' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='tunnel_type_mask' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='548' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_ipv4_flow' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='342' column='1' id='type-id-139'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='343' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dst_ip' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='344' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tos' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='345' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='ttl' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='346' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='proto' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='347' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_ipv6_flow' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='381' column='1' id='type-id-140'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-141' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='382' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dst_ip' type-id='type-id-141' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='383' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='tc' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='384' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='264'>
+        <var-decl name='proto' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='385' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='272'>
+        <var-decl name='hop_limits' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='386' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-39' size-in-bits='128' id='type-id-141'>
+      <subrange length='4' type-id='type-id-1' id='type-id-142'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_fdir_flex_conf' size-in-bits='5792' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='591' column='1' id='type-id-138'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_payloads' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='592' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='nb_flexmasks' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='593' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flex_set' type-id='type-id-143' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='594' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2336'>
+        <var-decl name='flex_mask' type-id='type-id-144' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='596' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_flex_payload_cfg' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='568' column='1' id='type-id-145'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-146' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='569' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='src_offset' type-id='type-id-147' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='570' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_payload_type' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='555' column='1' id='type-id-146'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='RTE_ETH_PAYLOAD_UNKNOWN' value='0'/>
+      <enumerator name='RTE_ETH_RAW_PAYLOAD' value='1'/>
+      <enumerator name='RTE_ETH_L2_PAYLOAD' value='2'/>
+      <enumerator name='RTE_ETH_L3_PAYLOAD' value='3'/>
+      <enumerator name='RTE_ETH_L4_PAYLOAD' value='4'/>
+      <enumerator name='RTE_ETH_PAYLOAD_MAX' value='8'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-33' size-in-bits='256' id='type-id-147'>
+      <subrange length='16' type-id='type-id-1' id='type-id-148'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-145' size-in-bits='2304' id='type-id-143'>
+      <subrange length='8' type-id='type-id-1' id='type-id-129'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_fdir_flex_mask' size-in-bits='144' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='581' column='1' id='type-id-149'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flow_type' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='582' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='mask' type-id='type-id-150' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='583' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-102' size-in-bits='128' id='type-id-150'>
+      <subrange length='16' type-id='type-id-1' id='type-id-148'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-149' size-in-bits='3456' id='type-id-144'>
+      <subrange length='24' type-id='type-id-1' id='type-id-151'/>
+
+    </array-type-def>
+    <class-decl name='rte_intr_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1031' column='1' id='type-id-115'>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='lsc' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1033' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='rxq' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1035' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='rmv' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1037' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_ether_addr' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='60' column='1' id='type-id-152'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr_bytes' type-id='type-id-153' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='61' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-102' size-in-bits='48' id='type-id-153'>
+      <subrange length='6' type-id='type-id-1' id='type-id-154'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-152' size-in-bits='64' id='type-id-100'/>
+
+    <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='8192' id='type-id-101'>
+      <subrange length='128' type-id='type-id-1' id='type-id-155'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-102' size-in-bits='8192' id='type-id-103'>
+      <subrange length='1024' type-id='type-id-1' id='type-id-156'/>
+
+    </array-type-def>
+    <enum-decl name='rte_kernel_driver' filepath='../lib/librte_eal/common/include/rte_dev.h' line='60' column='1' id='type-id-104'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='RTE_KDRV_UNKNOWN' value='0'/>
+      <enumerator name='RTE_KDRV_IGB_UIO' value='1'/>
+      <enumerator name='RTE_KDRV_VFIO' value='2'/>
+      <enumerator name='RTE_KDRV_UIO_GENERIC' value='3'/>
+      <enumerator name='RTE_KDRV_NIC_UIO' value='4'/>
+      <enumerator name='RTE_KDRV_NONE' value='5'/>
+    </enum-decl>
+    <class-decl name='rte_vlan_filter_conf' size-in-bits='4096' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='427' column='1' id='type-id-105'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ids' type-id='type-id-157' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='428' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='4096' id='type-id-157'>
+      <subrange length='64' type-id='type-id-1' id='type-id-107'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_dev_owner' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1490' column='1' id='type-id-106'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1491' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='name' type-id='type-id-95' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1492' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='256' id='type-id-29'>
+      <subrange length='4' type-id='type-id-1' id='type-id-142'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-22' size-in-bits='256' id='type-id-30'>
+      <subrange length='4' type-id='type-id-1' id='type-id-142'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-21'/>
+    <class-decl name='eth_dev_ops' size-in-bits='6016' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='609' column='1' id='type-id-158'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_configure' type-id='type-id-159' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_start' type-id='type-id-160' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='611' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dev_stop' type-id='type-id-161' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='612' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_set_link_up' type-id='type-id-162' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dev_set_link_down' type-id='type-id-163' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='614' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_close' type-id='type-id-164' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='615' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='dev_reset' type-id='type-id-165' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='616' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='link_update' type-id='type-id-166' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='617' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='is_removed' type-id='type-id-167' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='618' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='promiscuous_enable' type-id='type-id-168' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='promiscuous_disable' type-id='type-id-169' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='allmulticast_enable' type-id='type-id-170' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='623' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='allmulticast_disable' type-id='type-id-171' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='624' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='mac_addr_remove' type-id='type-id-172' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='625' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='mac_addr_add' type-id='type-id-173' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='626' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='mac_addr_set' type-id='type-id-174' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='627' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='set_mc_addr_list' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='628' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mtu_set' type-id='type-id-176' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='629' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='stats_get' type-id='type-id-177' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='631' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='stats_reset' type-id='type-id-178' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='632' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='xstats_get' type-id='type-id-179' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='633' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='xstats_reset' type-id='type-id-180' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='634' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='xstats_get_names' type-id='type-id-181' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='635' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='queue_stats_mapping_set' type-id='type-id-182' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='637' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='dev_infos_get' type-id='type-id-183' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='640' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='rxq_info_get' type-id='type-id-184' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='641' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='txq_info_get' type-id='type-id-185' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='642' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='rx_burst_mode_get' type-id='type-id-186' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='643' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='tx_burst_mode_get' type-id='type-id-186' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='644' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='fw_version_get' type-id='type-id-187' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='645' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='dev_supported_ptypes_get' type-id='type-id-188' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='646' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='dev_ptypes_set' type-id='type-id-189' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='648' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='vlan_filter_set' type-id='type-id-190' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='651' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='vlan_tpid_set' type-id='type-id-191' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='652' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='vlan_strip_queue_set' type-id='type-id-192' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='653' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='vlan_offload_set' type-id='type-id-193' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='654' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='vlan_pvid_set' type-id='type-id-194' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='655' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='rx_queue_start' type-id='type-id-195' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='657' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='rx_queue_stop' type-id='type-id-196' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='658' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2496'>
+        <var-decl name='tx_queue_start' type-id='type-id-195' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='659' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='tx_queue_stop' type-id='type-id-196' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='660' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='rx_queue_setup' type-id='type-id-197' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='661' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2688'>
+        <var-decl name='rx_queue_release' type-id='type-id-198' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2752'>
+        <var-decl name='rx_queue_count' type-id='type-id-199' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='663' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2816'>
+        <var-decl name='rx_descriptor_done' type-id='type-id-200' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2880'>
+        <var-decl name='rx_descriptor_status' type-id='type-id-201' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='666' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2944'>
+        <var-decl name='tx_descriptor_status' type-id='type-id-202' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3008'>
+        <var-decl name='rx_queue_intr_enable' type-id='type-id-203' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='670' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3072'>
+        <var-decl name='rx_queue_intr_disable' type-id='type-id-204' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3136'>
+        <var-decl name='tx_queue_setup' type-id='type-id-205' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='672' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3200'>
+        <var-decl name='tx_queue_release' type-id='type-id-198' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3264'>
+        <var-decl name='tx_done_cleanup' type-id='type-id-206' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='674' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3328'>
+        <var-decl name='dev_led_on' type-id='type-id-207' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3392'>
+        <var-decl name='dev_led_off' type-id='type-id-208' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='677' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3456'>
+        <var-decl name='flow_ctrl_get' type-id='type-id-209' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='679' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3520'>
+        <var-decl name='flow_ctrl_set' type-id='type-id-210' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='680' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='priority_flow_ctrl_set' type-id='type-id-211' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='681' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3648'>
+        <var-decl name='uc_hash_table_set' type-id='type-id-212' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='683' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3712'>
+        <var-decl name='uc_all_hash_table_set' type-id='type-id-213' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='684' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3776'>
+        <var-decl name='mirror_rule_set' type-id='type-id-214' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='686' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3840'>
+        <var-decl name='mirror_rule_reset' type-id='type-id-215' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='687' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3904'>
+        <var-decl name='udp_tunnel_port_add' type-id='type-id-216' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='689' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3968'>
+        <var-decl name='udp_tunnel_port_del' type-id='type-id-217' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4032'>
+        <var-decl name='l2_tunnel_eth_type_conf' type-id='type-id-218' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4096'>
+        <var-decl name='l2_tunnel_offload_set' type-id='type-id-219' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='693' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4160'>
+        <var-decl name='set_queue_rate_limit' type-id='type-id-220' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='696' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4224'>
+        <var-decl name='rss_hash_update' type-id='type-id-221' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='698' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4288'>
+        <var-decl name='rss_hash_conf_get' type-id='type-id-222' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='699' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4352'>
+        <var-decl name='reta_update' type-id='type-id-223' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='700' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4416'>
+        <var-decl name='reta_query' type-id='type-id-224' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='701' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4480'>
+        <var-decl name='get_reg' type-id='type-id-225' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='703' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4544'>
+        <var-decl name='get_eeprom_length' type-id='type-id-226' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='704' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4608'>
+        <var-decl name='get_eeprom' type-id='type-id-227' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='705' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4672'>
+        <var-decl name='set_eeprom' type-id='type-id-228' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='706' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4736'>
+        <var-decl name='get_module_info' type-id='type-id-229' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='708' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4800'>
+        <var-decl name='get_module_eeprom' type-id='type-id-230' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='710' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4864'>
+        <var-decl name='filter_ctrl' type-id='type-id-231' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4928'>
+        <var-decl name='get_dcb_info' type-id='type-id-232' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='715' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4992'>
+        <var-decl name='timesync_enable' type-id='type-id-233' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='717' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5056'>
+        <var-decl name='timesync_disable' type-id='type-id-234' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5120'>
+        <var-decl name='timesync_read_rx_timestamp' type-id='type-id-235' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='721' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5184'>
+        <var-decl name='timesync_read_tx_timestamp' type-id='type-id-236' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='723' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5248'>
+        <var-decl name='timesync_adjust_time' type-id='type-id-237' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5312'>
+        <var-decl name='timesync_read_time' type-id='type-id-238' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='726' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5376'>
+        <var-decl name='timesync_write_time' type-id='type-id-239' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='727' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5440'>
+        <var-decl name='read_clock' type-id='type-id-240' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='729' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5504'>
+        <var-decl name='xstats_get_by_id' type-id='type-id-241' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='731' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5568'>
+        <var-decl name='xstats_get_names_by_id' type-id='type-id-242' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='733' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5632'>
+        <var-decl name='tm_ops_get' type-id='type-id-243' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='736' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5696'>
+        <var-decl name='mtr_ops_get' type-id='type-id-244' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='739' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5760'>
+        <var-decl name='pool_ops_supported' type-id='type-id-245' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='742' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5824'>
+        <var-decl name='hairpin_cap_get' type-id='type-id-246' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='745' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5888'>
+        <var-decl name='rx_hairpin_queue_setup' type-id='type-id-247' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5952'>
+        <var-decl name='tx_hairpin_queue_setup' type-id='type-id-248' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='749' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-249'/>
+    <pointer-type-def type-id='type-id-250' size-in-bits='64' id='type-id-251'/>
+    <typedef-decl name='eth_dev_configure_t' type-id='type-id-251' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='31' column='1' id='type-id-159'/>
+    <typedef-decl name='eth_dev_start_t' type-id='type-id-251' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='34' column='1' id='type-id-160'/>
+    <pointer-type-def type-id='type-id-252' size-in-bits='64' id='type-id-253'/>
+    <typedef-decl name='eth_dev_stop_t' type-id='type-id-253' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='37' column='1' id='type-id-161'/>
+    <typedef-decl name='eth_dev_set_link_up_t' type-id='type-id-251' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='40' column='1' id='type-id-162'/>
+    <typedef-decl name='eth_dev_set_link_down_t' type-id='type-id-251' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='43' column='1' id='type-id-163'/>
+    <typedef-decl name='eth_dev_close_t' type-id='type-id-253' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='46' column='1' id='type-id-164'/>
+    <typedef-decl name='eth_dev_reset_t' type-id='type-id-251' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='49' column='1' id='type-id-165'/>
+    <pointer-type-def type-id='type-id-254' size-in-bits='64' id='type-id-255'/>
+    <typedef-decl name='eth_link_update_t' type-id='type-id-255' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='155' column='1' id='type-id-166'/>
+    <typedef-decl name='eth_is_removed_t' type-id='type-id-251' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='52' column='1' id='type-id-167'/>
+    <typedef-decl name='eth_promiscuous_enable_t' type-id='type-id-251' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='78' column='1' id='type-id-168'/>
+    <typedef-decl name='eth_promiscuous_disable_t' type-id='type-id-251' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='103' column='1' id='type-id-169'/>
+    <typedef-decl name='eth_allmulticast_enable_t' type-id='type-id-251' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='128' column='1' id='type-id-170'/>
+    <typedef-decl name='eth_allmulticast_disable_t' type-id='type-id-251' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='153' column='1' id='type-id-171'/>
+    <pointer-type-def type-id='type-id-256' size-in-bits='64' id='type-id-257'/>
+    <typedef-decl name='eth_mac_addr_remove_t' type-id='type-id-257' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='391' column='1' id='type-id-172'/>
+    <pointer-type-def type-id='type-id-258' size-in-bits='64' id='type-id-259'/>
+    <typedef-decl name='eth_mac_addr_add_t' type-id='type-id-259' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='394' column='1' id='type-id-173'/>
+    <pointer-type-def type-id='type-id-260' size-in-bits='64' id='type-id-261'/>
+    <typedef-decl name='eth_mac_addr_set_t' type-id='type-id-261' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='400' column='1' id='type-id-174'/>
+    <pointer-type-def type-id='type-id-262' size-in-bits='64' id='type-id-263'/>
+    <typedef-decl name='eth_set_mc_addr_list_t' type-id='type-id-263' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='436' column='1' id='type-id-175'/>
+    <pointer-type-def type-id='type-id-264' size-in-bits='64' id='type-id-265'/>
+    <typedef-decl name='mtu_set_t' type-id='type-id-265' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='315' column='1' id='type-id-176'/>
+    <class-decl name='rte_eth_stats' size-in-bits='5632' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='243' column='1' id='type-id-266'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ipackets' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='opackets' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ibytes' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='246' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='obytes' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='imissed' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='ierrors' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='oerrors' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='rx_nombuf' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='q_ipackets' type-id='type-id-267' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='q_opackets' type-id='type-id-267' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='q_ibytes' type-id='type-id-267' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='q_obytes' type-id='type-id-267' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4608'>
+        <var-decl name='q_errors' type-id='type-id-267' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='263' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='1024' id='type-id-267'>
+      <subrange length='16' type-id='type-id-1' id='type-id-148'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-266' size-in-bits='64' id='type-id-268'/>
+    <pointer-type-def type-id='type-id-269' size-in-bits='64' id='type-id-270'/>
+    <typedef-decl name='eth_stats_get_t' type-id='type-id-270' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='159' column='1' id='type-id-177'/>
+    <typedef-decl name='eth_stats_reset_t' type-id='type-id-251' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='182' column='1' id='type-id-178'/>
+    <class-decl name='rte_eth_xstat' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1337' column='1' id='type-id-271'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1338' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='value' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1339' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-271' size-in-bits='64' id='type-id-272'/>
+    <pointer-type-def type-id='type-id-273' size-in-bits='64' id='type-id-274'/>
+    <typedef-decl name='eth_xstats_get_t' type-id='type-id-274' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='184' column='1' id='type-id-179'/>
+    <typedef-decl name='eth_xstats_reset_t' type-id='type-id-251' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='213' column='1' id='type-id-180'/>
+    <class-decl name='rte_eth_xstat_name' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1349' column='1' id='type-id-275'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-95' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1350' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-275' size-in-bits='64' id='type-id-276'/>
+    <pointer-type-def type-id='type-id-277' size-in-bits='64' id='type-id-278'/>
+    <typedef-decl name='eth_xstats_get_names_t' type-id='type-id-278' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='215' column='1' id='type-id-181'/>
+    <pointer-type-def type-id='type-id-279' size-in-bits='64' id='type-id-280'/>
+    <typedef-decl name='eth_queue_stats_mapping_set_t' type-id='type-id-280' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='224' column='1' id='type-id-182'/>
+    <class-decl name='rte_eth_dev_info' size-in-bits='2560' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1226' column='1' id='type-id-281'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='device' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1227' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='driver_name' type-id='type-id-282' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='if_index' type-id='type-id-47' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='min_mtu' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='max_mtu' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_flags' type-id='type-id-283' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='min_rx_bufsize' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1234' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='max_rx_pktlen' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1235' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='max_lro_pkt_size' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='max_rx_queues' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='max_tx_queues' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1239' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='max_mac_addrs' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='max_hash_mac_addrs' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1241' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='max_vfs' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1243' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='max_vmdq_pools' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_offload_capa' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_offload_capa' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='rx_queue_offload_capa' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='tx_queue_offload_capa' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='reta_size' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='hash_key_size' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='flow_type_rss_offloads' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='default_rxconf' type-id='type-id-284' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='default_txconf' type-id='type-id-285' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='vmdq_queue_base' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1744'>
+        <var-decl name='vmdq_queue_num' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1760'>
+        <var-decl name='vmdq_pool_base' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1262' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1776'>
+        <var-decl name='rx_desc_lim' type-id='type-id-286' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1263' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='tx_desc_lim' type-id='type-id-286' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1264' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1952'>
+        <var-decl name='speed_capa' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1265' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='nb_rx_queues' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1267' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2000'>
+        <var-decl name='nb_tx_queues' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1268' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2016'>
+        <var-decl name='default_rxportconf' type-id='type-id-287' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1270' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2064'>
+        <var-decl name='default_txportconf' type-id='type-id-287' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1272' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='dev_capa' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1274' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='switch_info' type-id='type-id-288' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='reserved_64s' type-id='type-id-43' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1281' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='reserved_ptrs' type-id='type-id-117' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1282' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-289'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-290' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-282' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-291' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-292' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-293' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-290'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-24' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-294' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-289' size-in-bits='64' id='type-id-24'/>
+    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-294'/>
+    <pointer-type-def type-id='type-id-6' size-in-bits='64' id='type-id-282'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-295'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-296' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-282' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-282' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-296'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-297' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-298' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-295' size-in-bits='64' id='type-id-297'/>
+    <pointer-type-def type-id='type-id-297' size-in-bits='64' id='type-id-298'/>
+    <qualified-type-def type-id='type-id-295' const='yes' id='type-id-299'/>
+    <pointer-type-def type-id='type-id-299' size-in-bits='64' id='type-id-291'/>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-300'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-301' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-282' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-302' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-303' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-304' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-305' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-306' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-307' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-308' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-309' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-310' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-311' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-312' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-313' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-314' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-301'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-315' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-316' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-300' size-in-bits='64' id='type-id-315'/>
+    <pointer-type-def type-id='type-id-315' size-in-bits='64' id='type-id-316'/>
+    <pointer-type-def type-id='type-id-317' size-in-bits='64' id='type-id-318'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-318' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-302'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-318' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-303'/>
+    <qualified-type-def type-id='type-id-289' const='yes' id='type-id-319'/>
+    <pointer-type-def type-id='type-id-319' size-in-bits='64' id='type-id-320'/>
+    <pointer-type-def type-id='type-id-321' size-in-bits='64' id='type-id-322'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-322' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-323'/>
+    <pointer-type-def type-id='type-id-324' size-in-bits='64' id='type-id-325'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-325' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-304'/>
+    <pointer-type-def type-id='type-id-326' size-in-bits='64' id='type-id-327'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-327' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-305'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-327' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-306'/>
+    <pointer-type-def type-id='type-id-328' size-in-bits='64' id='type-id-329'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-329' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-307'/>
+    <pointer-type-def type-id='type-id-330' size-in-bits='64' id='type-id-331'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-331' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-308'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-331' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-309'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-310'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-332' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-332'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-333'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-334' size-in-bits='64' id='type-id-335'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-335' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-311'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-336'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-282' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-282' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-282' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-315' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-337' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-24' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-22' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-338'/>
+    <pointer-type-def type-id='type-id-338' size-in-bits='64' id='type-id-337'/>
+    <qualified-type-def type-id='type-id-336' const='yes' id='type-id-339'/>
+    <pointer-type-def type-id='type-id-339' size-in-bits='64' id='type-id-340'/>
+    <pointer-type-def type-id='type-id-341' size-in-bits='64' id='type-id-342'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-342' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-312'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-327' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-313'/>
+    <pointer-type-def type-id='type-id-343' size-in-bits='64' id='type-id-344'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-344' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-314'/>
+    <qualified-type-def type-id='type-id-300' const='yes' id='type-id-345'/>
+    <pointer-type-def type-id='type-id-345' size-in-bits='64' id='type-id-292'/>
+    <class-decl name='rte_devargs' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='47' column='1' id='type-id-346'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-347' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='type' type-id='type-id-348' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='policy' type-id='type-id-349' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='name' type-id='type-id-95' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='' type-id='type-id-350' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='bus' type-id='type-id-315' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='cls' type-id='type-id-337' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='bus_str' type-id='type-id-282' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='cls_str' type-id='type-id-282' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='data' type-id='type-id-282' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='66' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1' id='type-id-347'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-293' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-351' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-346' size-in-bits='64' id='type-id-293'/>
+    <pointer-type-def type-id='type-id-293' size-in-bits='64' id='type-id-351'/>
+    <enum-decl name='rte_devtype' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='31' column='1' id='type-id-348'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='RTE_DEVTYPE_WHITELISTED_PCI' value='0'/>
+      <enumerator name='RTE_DEVTYPE_BLACKLISTED_PCI' value='1'/>
+      <enumerator name='RTE_DEVTYPE_VIRTUAL' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_dev_policy' filepath='../lib/librte_eal/common/include/rte_dev.h' line='72' column='1' id='type-id-349'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='RTE_DEV_WHITELISTED' value='0'/>
+      <enumerator name='RTE_DEV_BLACKLISTED' value='1'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='57' column='1' id='type-id-350'>
+      <data-member access='private'>
+        <var-decl name='args' type-id='type-id-352' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='drv_str' type-id='type-id-282' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='60' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-5' size-in-bits='64' id='type-id-352'/>
+    <qualified-type-def type-id='type-id-39' const='yes' id='type-id-353'/>
+    <pointer-type-def type-id='type-id-353' size-in-bits='64' id='type-id-283'/>
+    <class-decl name='rte_eth_rxconf' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='818' column='1' id='type-id-284'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_thresh' type-id='type-id-354' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='819' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='rx_free_thresh' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='820' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='rx_drop_en' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='821' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='rx_deferred_start' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='822' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offloads' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='reserved_64s' type-id='type-id-43' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='830' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='reserved_ptrs' type-id='type-id-117' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='831' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_thresh' size-in-bits='24' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='327' column='1' id='type-id-354'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pthresh' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='328' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='hthresh' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='329' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='wthresh' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='330' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_txconf' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='837' column='1' id='type-id-285'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tx_thresh' type-id='type-id-354' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tx_rs_thresh' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='839' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='tx_free_thresh' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='840' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tx_deferred_start' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='843' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='offloads' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='849' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-43' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='851' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-117' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='852' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_desc_lim' size-in-bits='80' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='898' column='1' id='type-id-286'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_max' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='899' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='nb_min' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='900' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_align' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='901' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='nb_seg_max' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='911' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='nb_mtu_seg_max' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='924' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_portconf' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1189' column='1' id='type-id-287'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='burst_size' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1190' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='ring_size' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_queues' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1192' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_switch_info' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1204' column='1' id='type-id-288'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-282' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='domain_id' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1206' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='port_id' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1207' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-281' size-in-bits='64' id='type-id-355'/>
+    <pointer-type-def type-id='type-id-356' size-in-bits='64' id='type-id-357'/>
+    <typedef-decl name='eth_dev_infos_get_t' type-id='type-id-357' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='230' column='1' id='type-id-183'/>
+    <class-decl name='rte_eth_rxq_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1289' column='1' id='type-id-358'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mp' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1290' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='conf' type-id='type-id-284' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1291' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='scattered_rx' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1292' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='nb_desc' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1293' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-358' size-in-bits='64' id='type-id-359'/>
+    <pointer-type-def type-id='type-id-360' size-in-bits='64' id='type-id-361'/>
+    <typedef-decl name='eth_rxq_info_get_t' type-id='type-id-361' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='306' column='1' id='type-id-184'/>
+    <class-decl name='rte_eth_txq_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1300' column='1' id='type-id-362'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='conf' type-id='type-id-285' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1301' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='nb_desc' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1302' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-362' size-in-bits='64' id='type-id-363'/>
+    <pointer-type-def type-id='type-id-364' size-in-bits='64' id='type-id-365'/>
+    <typedef-decl name='eth_txq_info_get_t' type-id='type-id-365' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='309' column='1' id='type-id-185'/>
+    <class-decl name='rte_eth_burst_mode' size-in-bits='8256' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1318' column='1' id='type-id-366'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1319' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='info' type-id='type-id-367' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1322' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-5' size-in-bits='8192' id='type-id-367'>
+      <subrange length='1024' type-id='type-id-1' id='type-id-156'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-366' size-in-bits='64' id='type-id-368'/>
+    <pointer-type-def type-id='type-id-369' size-in-bits='64' id='type-id-370'/>
+    <typedef-decl name='eth_burst_mode_get_t' type-id='type-id-370' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='312' column='1' id='type-id-186'/>
+    <pointer-type-def type-id='type-id-371' size-in-bits='64' id='type-id-372'/>
+    <typedef-decl name='eth_fw_version_get_t' type-id='type-id-372' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='299' column='1' id='type-id-187'/>
+    <pointer-type-def type-id='type-id-373' size-in-bits='64' id='type-id-374'/>
+    <typedef-decl name='eth_dev_supported_ptypes_get_t' type-id='type-id-374' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='234' column='1' id='type-id-188'/>
+    <pointer-type-def type-id='type-id-375' size-in-bits='64' id='type-id-376'/>
+    <typedef-decl name='eth_dev_ptypes_set_t' type-id='type-id-376' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='249' column='1' id='type-id-189'/>
+    <pointer-type-def type-id='type-id-377' size-in-bits='64' id='type-id-378'/>
+    <typedef-decl name='vlan_filter_set_t' type-id='type-id-378' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='318' column='1' id='type-id-190'/>
+    <enum-decl name='rte_vlan_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='416' column='1' id='type-id-379'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='ETH_VLAN_TYPE_UNKNOWN' value='0'/>
+      <enumerator name='ETH_VLAN_TYPE_INNER' value='1'/>
+      <enumerator name='ETH_VLAN_TYPE_OUTER' value='2'/>
+      <enumerator name='ETH_VLAN_TYPE_MAX' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-380' size-in-bits='64' id='type-id-381'/>
+    <typedef-decl name='vlan_tpid_set_t' type-id='type-id-381' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='323' column='1' id='type-id-191'/>
+    <pointer-type-def type-id='type-id-382' size-in-bits='64' id='type-id-383'/>
+    <typedef-decl name='vlan_strip_queue_set_t' type-id='type-id-383' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='335' column='1' id='type-id-192'/>
+    <typedef-decl name='vlan_offload_set_t' type-id='type-id-255' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='327' column='1' id='type-id-193'/>
+    <typedef-decl name='vlan_pvid_set_t' type-id='type-id-378' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='330' column='1' id='type-id-194'/>
+    <typedef-decl name='eth_queue_start_t' type-id='type-id-265' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='252' column='1' id='type-id-195'/>
+    <typedef-decl name='eth_queue_stop_t' type-id='type-id-265' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='256' column='1' id='type-id-196'/>
+    <qualified-type-def type-id='type-id-284' const='yes' id='type-id-384'/>
+    <pointer-type-def type-id='type-id-384' size-in-bits='64' id='type-id-385'/>
+    <pointer-type-def type-id='type-id-386' size-in-bits='64' id='type-id-387'/>
+    <typedef-decl name='eth_rx_queue_setup_t' type-id='type-id-387' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='260' column='1' id='type-id-197'/>
+    <pointer-type-def type-id='type-id-388' size-in-bits='64' id='type-id-389'/>
+    <typedef-decl name='eth_queue_release_t' type-id='type-id-389' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='283' column='1' id='type-id-198'/>
+    <pointer-type-def type-id='type-id-390' size-in-bits='64' id='type-id-391'/>
+    <typedef-decl name='eth_rx_queue_count_t' type-id='type-id-391' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='286' column='1' id='type-id-199'/>
+    <pointer-type-def type-id='type-id-392' size-in-bits='64' id='type-id-393'/>
+    <typedef-decl name='eth_rx_descriptor_done_t' type-id='type-id-393' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='290' column='1' id='type-id-200'/>
+    <typedef-decl name='eth_rx_descriptor_status_t' type-id='type-id-393' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='293' column='1' id='type-id-201'/>
+    <typedef-decl name='eth_tx_descriptor_status_t' type-id='type-id-393' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='296' column='1' id='type-id-202'/>
+    <typedef-decl name='eth_rx_enable_intr_t' type-id='type-id-265' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='275' column='1' id='type-id-203'/>
+    <typedef-decl name='eth_rx_disable_intr_t' type-id='type-id-265' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='279' column='1' id='type-id-204'/>
+    <qualified-type-def type-id='type-id-285' const='yes' id='type-id-394'/>
+    <pointer-type-def type-id='type-id-394' size-in-bits='64' id='type-id-395'/>
+    <pointer-type-def type-id='type-id-396' size-in-bits='64' id='type-id-397'/>
+    <typedef-decl name='eth_tx_queue_setup_t' type-id='type-id-397' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='268' column='1' id='type-id-205'/>
+    <pointer-type-def type-id='type-id-398' size-in-bits='64' id='type-id-399'/>
+    <typedef-decl name='eth_tx_done_cleanup_t' type-id='type-id-399' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='303' column='1' id='type-id-206'/>
+    <typedef-decl name='eth_dev_led_on_t' type-id='type-id-251' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='385' column='1' id='type-id-207'/>
+    <typedef-decl name='eth_dev_led_off_t' type-id='type-id-251' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='388' column='1' id='type-id-208'/>
+    <class-decl name='rte_eth_fc_conf' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='942' column='1' id='type-id-400'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='high_water' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='943' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='low_water' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='944' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pause_time' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='945' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='send_xon' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='946' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='mode' type-id='type-id-401' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='947' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mac_ctrl_frame_fwd' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='948' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='autoneg' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='949' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_fc_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='930' column='1' id='type-id-401'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='RTE_FC_NONE' value='0'/>
+      <enumerator name='RTE_FC_RX_PAUSE' value='1'/>
+      <enumerator name='RTE_FC_TX_PAUSE' value='2'/>
+      <enumerator name='RTE_FC_FULL' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-400' size-in-bits='64' id='type-id-402'/>
+    <pointer-type-def type-id='type-id-403' size-in-bits='64' id='type-id-404'/>
+    <typedef-decl name='flow_ctrl_get_t' type-id='type-id-404' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='355' column='1' id='type-id-209'/>
+    <typedef-decl name='flow_ctrl_set_t' type-id='type-id-404' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='359' column='1' id='type-id-210'/>
+    <class-decl name='rte_eth_pfc_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='957' column='1' id='type-id-405'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fc' type-id='type-id-400' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='958' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='priority' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='959' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-405' size-in-bits='64' id='type-id-406'/>
+    <pointer-type-def type-id='type-id-407' size-in-bits='64' id='type-id-408'/>
+    <typedef-decl name='priority_flow_ctrl_set_t' type-id='type-id-408' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='363' column='1' id='type-id-211'/>
+    <pointer-type-def type-id='type-id-409' size-in-bits='64' id='type-id-410'/>
+    <typedef-decl name='eth_uc_hash_table_set_t' type-id='type-id-410' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='404' column='1' id='type-id-212'/>
+    <pointer-type-def type-id='type-id-411' size-in-bits='64' id='type-id-412'/>
+    <typedef-decl name='eth_uc_all_hash_table_set_t' type-id='type-id-412' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='409' column='1' id='type-id-213'/>
+    <class-decl name='rte_eth_mirror_conf' size-in-bits='1216' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='670' column='1' id='type-id-413'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rule_type' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='dst_pool' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='672' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pool_mask' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vlan' type-id='type-id-414' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='675' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vlan_mirror' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='661' column='1' id='type-id-414'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_mask' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='vlan_id' type-id='type-id-415' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='664' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-33' size-in-bits='1024' id='type-id-415'>
+      <subrange length='64' type-id='type-id-1' id='type-id-107'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-413' size-in-bits='64' id='type-id-416'/>
+    <pointer-type-def type-id='type-id-417' size-in-bits='64' id='type-id-418'/>
+    <typedef-decl name='eth_mirror_rule_set_t' type-id='type-id-418' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='418' column='1' id='type-id-214'/>
+    <typedef-decl name='eth_mirror_rule_reset_t' type-id='type-id-412' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='424' column='1' id='type-id-215'/>
+    <class-decl name='rte_eth_udp_tunnel' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1023' column='1' id='type-id-419'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='udp_port' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1024' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='prot_type' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1025' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-419' size-in-bits='64' id='type-id-420'/>
+    <pointer-type-def type-id='type-id-421' size-in-bits='64' id='type-id-422'/>
+    <typedef-decl name='eth_udp_tunnel_port_add_t' type-id='type-id-422' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='428' column='1' id='type-id-216'/>
+    <typedef-decl name='eth_udp_tunnel_port_del_t' type-id='type-id-422' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='432' column='1' id='type-id-217'/>
+    <class-decl name='rte_eth_l2_tunnel_conf' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='751' column='1' id='type-id-423'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='l2_tunnel_type' type-id='type-id-424' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='752' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ether_type' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tunnel_id' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='754' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='vf_id' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='755' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pool' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='756' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_tunnel_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='965' column='1' id='type-id-424'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='RTE_TUNNEL_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_TUNNEL_TYPE_VXLAN' value='1'/>
+      <enumerator name='RTE_TUNNEL_TYPE_GENEVE' value='2'/>
+      <enumerator name='RTE_TUNNEL_TYPE_TEREDO' value='3'/>
+      <enumerator name='RTE_TUNNEL_TYPE_NVGRE' value='4'/>
+      <enumerator name='RTE_TUNNEL_TYPE_IP_IN_GRE' value='5'/>
+      <enumerator name='RTE_L2_TUNNEL_TYPE_E_TAG' value='6'/>
+      <enumerator name='RTE_TUNNEL_TYPE_VXLAN_GPE' value='7'/>
+      <enumerator name='RTE_TUNNEL_TYPE_MAX' value='8'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-423' size-in-bits='64' id='type-id-425'/>
+    <pointer-type-def type-id='type-id-426' size-in-bits='64' id='type-id-427'/>
+    <typedef-decl name='eth_l2_tunnel_eth_type_conf_t' type-id='type-id-427' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='494' column='1' id='type-id-218'/>
+    <pointer-type-def type-id='type-id-428' size-in-bits='64' id='type-id-429'/>
+    <typedef-decl name='eth_l2_tunnel_offload_set_t' type-id='type-id-429' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='498' column='1' id='type-id-219'/>
+    <pointer-type-def type-id='type-id-430' size-in-bits='64' id='type-id-431'/>
+    <typedef-decl name='eth_set_queue_rate_limit_t' type-id='type-id-431' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='413' column='1' id='type-id-220'/>
+    <pointer-type-def type-id='type-id-120' size-in-bits='64' id='type-id-432'/>
+    <pointer-type-def type-id='type-id-433' size-in-bits='64' id='type-id-434'/>
+    <typedef-decl name='rss_hash_update_t' type-id='type-id-434' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='377' column='1' id='type-id-221'/>
+    <typedef-decl name='rss_hash_conf_get_t' type-id='type-id-434' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='381' column='1' id='type-id-222'/>
+    <class-decl name='rte_eth_rss_reta_entry64' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='684' column='1' id='type-id-435'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mask' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='685' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='reta' type-id='type-id-415' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='687' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-435' size-in-bits='64' id='type-id-436'/>
+    <pointer-type-def type-id='type-id-437' size-in-bits='64' id='type-id-438'/>
+    <typedef-decl name='reta_update_t' type-id='type-id-438' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='367' column='1' id='type-id-223'/>
+    <typedef-decl name='reta_query_t' type-id='type-id-438' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='372' column='1' id='type-id-224'/>
+    <class-decl name='rte_dev_reg_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='13' column='1' id='type-id-439'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='14' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offset' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='15' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='length' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='16' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='width' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='17' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='version' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='18' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-439' size-in-bits='64' id='type-id-440'/>
+    <pointer-type-def type-id='type-id-441' size-in-bits='64' id='type-id-442'/>
+    <typedef-decl name='eth_get_reg_t' type-id='type-id-442' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='471' column='1' id='type-id-225'/>
+    <typedef-decl name='eth_get_eeprom_length_t' type-id='type-id-251' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='475' column='1' id='type-id-226'/>
+    <class-decl name='rte_dev_eeprom_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='24' column='1' id='type-id-443'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='25' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offset' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='26' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='length' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='27' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='magic' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='28' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-443' size-in-bits='64' id='type-id-444'/>
+    <pointer-type-def type-id='type-id-445' size-in-bits='64' id='type-id-446'/>
+    <typedef-decl name='eth_get_eeprom_t' type-id='type-id-446' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='478' column='1' id='type-id-227'/>
+    <typedef-decl name='eth_set_eeprom_t' type-id='type-id-446' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='482' column='1' id='type-id-228'/>
+    <class-decl name='rte_eth_dev_module_info' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='34' column='1' id='type-id-447'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='eeprom_len' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-447' size-in-bits='64' id='type-id-448'/>
+    <pointer-type-def type-id='type-id-449' size-in-bits='64' id='type-id-450'/>
+    <typedef-decl name='eth_get_module_info_t' type-id='type-id-450' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='486' column='1' id='type-id-229'/>
+    <typedef-decl name='eth_get_module_eeprom_t' type-id='type-id-446' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='490' column='1' id='type-id-230'/>
+    <enum-decl name='rte_filter_type' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='28' column='1' id='type-id-451'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='RTE_ETH_FILTER_NONE' value='0'/>
+      <enumerator name='RTE_ETH_FILTER_MACVLAN' value='1'/>
+      <enumerator name='RTE_ETH_FILTER_ETHERTYPE' value='2'/>
+      <enumerator name='RTE_ETH_FILTER_FLEXIBLE' value='3'/>
+      <enumerator name='RTE_ETH_FILTER_SYN' value='4'/>
+      <enumerator name='RTE_ETH_FILTER_NTUPLE' value='5'/>
+      <enumerator name='RTE_ETH_FILTER_TUNNEL' value='6'/>
+      <enumerator name='RTE_ETH_FILTER_FDIR' value='7'/>
+      <enumerator name='RTE_ETH_FILTER_HASH' value='8'/>
+      <enumerator name='RTE_ETH_FILTER_L2_TUNNEL' value='9'/>
+      <enumerator name='RTE_ETH_FILTER_GENERIC' value='10'/>
+      <enumerator name='RTE_ETH_FILTER_MAX' value='11'/>
+    </enum-decl>
+    <enum-decl name='rte_filter_op' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='46' column='1' id='type-id-452'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='RTE_ETH_FILTER_NOP' value='0'/>
+      <enumerator name='RTE_ETH_FILTER_ADD' value='1'/>
+      <enumerator name='RTE_ETH_FILTER_UPDATE' value='2'/>
+      <enumerator name='RTE_ETH_FILTER_DELETE' value='3'/>
+      <enumerator name='RTE_ETH_FILTER_FLUSH' value='4'/>
+      <enumerator name='RTE_ETH_FILTER_GET' value='5'/>
+      <enumerator name='RTE_ETH_FILTER_SET' value='6'/>
+      <enumerator name='RTE_ETH_FILTER_INFO' value='7'/>
+      <enumerator name='RTE_ETH_FILTER_STATS' value='8'/>
+      <enumerator name='RTE_ETH_FILTER_OP_MAX' value='9'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-453' size-in-bits='64' id='type-id-454'/>
+    <typedef-decl name='eth_filter_ctrl_t' type-id='type-id-454' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='506' column='1' id='type-id-231'/>
+    <class-decl name='rte_eth_dcb_info' size-in-bits='16520' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1377' column='1' id='type-id-455'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1378' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='prio_tc' type-id='type-id-127' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1379' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='tc_bws' type-id='type-id-127' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1380' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='tc_queue' type-id='type-id-456' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1382' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dcb_tc_queue_mapping' size-in-bits='16384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1360' column='1' id='type-id-456'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tc_rxq' type-id='type-id-457' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1365' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8192'>
+        <var-decl name='tc_txq' type-id='type-id-457' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1370' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1362' column='1' id='type-id-458'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='base' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1363' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='nb_queue' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1364' column='1'/>
+      </data-member>
+    </class-decl>
+
+
+    <array-type-def dimensions='2' type-id='type-id-458' size-in-bits='1152' id='type-id-457'>
+      <subrange length='64' type-id='type-id-1' id='type-id-107'/>
+
+      <subrange length='8' type-id='type-id-1' id='type-id-129'/>
+
+    </array-type-def>
+
+
+    <pointer-type-def type-id='type-id-455' size-in-bits='64' id='type-id-459'/>
+    <pointer-type-def type-id='type-id-460' size-in-bits='64' id='type-id-461'/>
+    <typedef-decl name='eth_get_dcb_info' type-id='type-id-461' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='518' column='1' id='type-id-232'/>
+    <typedef-decl name='eth_timesync_enable_t' type-id='type-id-251' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='441' column='1' id='type-id-233'/>
+    <typedef-decl name='eth_timesync_disable_t' type-id='type-id-251' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='444' column='1' id='type-id-234'/>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='9' column='1' id='type-id-462'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tv_sec' type-id='type-id-463' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='11' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tv_nsec' type-id='type-id-464' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='long int' size-in-bits='64' id='type-id-465'/>
+    <typedef-decl name='__time_t' type-id='type-id-465' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-463'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-465' filepath='/usr/include/bits/types.h' line='196' column='1' id='type-id-464'/>
+    <pointer-type-def type-id='type-id-462' size-in-bits='64' id='type-id-466'/>
+    <pointer-type-def type-id='type-id-467' size-in-bits='64' id='type-id-468'/>
+    <typedef-decl name='eth_timesync_read_rx_timestamp_t' type-id='type-id-468' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='447' column='1' id='type-id-235'/>
+    <pointer-type-def type-id='type-id-469' size-in-bits='64' id='type-id-470'/>
+    <typedef-decl name='eth_timesync_read_tx_timestamp_t' type-id='type-id-470' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='452' column='1' id='type-id-236'/>
+    <typedef-decl name='__int64_t' type-id='type-id-465' filepath='/usr/include/bits/types.h' line='44' column='1' id='type-id-471'/>
+    <typedef-decl name='int64_t' type-id='type-id-471' filepath='/usr/include/bits/stdint-intn.h' line='27' column='1' id='type-id-472'/>
+    <pointer-type-def type-id='type-id-473' size-in-bits='64' id='type-id-474'/>
+    <typedef-decl name='eth_timesync_adjust_time' type-id='type-id-474' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='456' column='1' id='type-id-237'/>
+    <typedef-decl name='eth_timesync_read_time' type-id='type-id-470' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='459' column='1' id='type-id-238'/>
+    <qualified-type-def type-id='type-id-462' const='yes' id='type-id-475'/>
+    <pointer-type-def type-id='type-id-475' size-in-bits='64' id='type-id-476'/>
+    <pointer-type-def type-id='type-id-477' size-in-bits='64' id='type-id-478'/>
+    <typedef-decl name='eth_timesync_write_time' type-id='type-id-478' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='463' column='1' id='type-id-239'/>
+    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-479'/>
+    <pointer-type-def type-id='type-id-480' size-in-bits='64' id='type-id-481'/>
+    <typedef-decl name='eth_read_clock' type-id='type-id-481' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='467' column='1' id='type-id-240'/>
+    <qualified-type-def type-id='type-id-3' const='yes' id='type-id-482'/>
+    <pointer-type-def type-id='type-id-482' size-in-bits='64' id='type-id-483'/>
+    <pointer-type-def type-id='type-id-484' size-in-bits='64' id='type-id-485'/>
+    <typedef-decl name='eth_xstats_get_by_id_t' type-id='type-id-485' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='188' column='1' id='type-id-241'/>
+    <pointer-type-def type-id='type-id-486' size-in-bits='64' id='type-id-487'/>
+    <typedef-decl name='eth_xstats_get_names_by_id_t' type-id='type-id-487' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='219' column='1' id='type-id-242'/>
+    <pointer-type-def type-id='type-id-488' size-in-bits='64' id='type-id-489'/>
+    <typedef-decl name='eth_tm_ops_get_t' type-id='type-id-489' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='512' column='1' id='type-id-243'/>
+    <typedef-decl name='eth_mtr_ops_get_t' type-id='type-id-489' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='515' column='1' id='type-id-244'/>
+    <pointer-type-def type-id='type-id-490' size-in-bits='64' id='type-id-491'/>
+    <typedef-decl name='eth_pool_ops_supported_t' type-id='type-id-491' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='522' column='1' id='type-id-245'/>
+    <class-decl name='rte_eth_hairpin_cap' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='861' column='1' id='type-id-492'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max_nb_queues' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='863' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='max_rx_2_tx' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_tx_2_rx' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='867' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='max_nb_desc' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='868' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-492' size-in-bits='64' id='type-id-493'/>
+    <pointer-type-def type-id='type-id-494' size-in-bits='64' id='type-id-495'/>
+    <typedef-decl name='eth_hairpin_cap_get_t' type-id='type-id-495' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='543' column='1' id='type-id-246'/>
+    <class-decl name='rte_eth_hairpin_conf' size-in-bits='1040' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='890' column='1' id='type-id-496'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='peer_count' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='891' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='peers' type-id='type-id-497' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='892' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_hairpin_peer' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='879' column='1' id='type-id-498'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='port' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='880' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='queue' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='881' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-498' size-in-bits='1024' id='type-id-497'>
+      <subrange length='32' type-id='type-id-1' id='type-id-57'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-496' const='yes' id='type-id-499'/>
+    <pointer-type-def type-id='type-id-499' size-in-bits='64' id='type-id-500'/>
+    <pointer-type-def type-id='type-id-501' size-in-bits='64' id='type-id-502'/>
+    <typedef-decl name='eth_rx_hairpin_queue_setup_t' type-id='type-id-502' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='571' column='1' id='type-id-247'/>
+    <typedef-decl name='eth_tx_hairpin_queue_setup_t' type-id='type-id-502' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='601' column='1' id='type-id-248'/>
+    <qualified-type-def type-id='type-id-158' const='yes' id='type-id-503'/>
+    <pointer-type-def type-id='type-id-503' size-in-bits='64' id='type-id-23'/>
+    <class-decl name='rte_intr_handle' size-in-bits='213248' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='69' column='1' id='type-id-504'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-505' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-506' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='max_intr' type-id='type-id-39' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='nb_efd' type-id='type-id-39' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='efd_counter_size' type-id='type-id-102' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='efds' type-id='type-id-507' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16576'>
+        <var-decl name='elist' type-id='type-id-508' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='213184'>
+        <var-decl name='intr_vec' type-id='type-id-509' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='71' column='1' id='type-id-505'>
+      <data-member access='private'>
+        <var-decl name='vfio_dev_fd' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='uio_cfg_fd' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='73' column='1'/>
+      </data-member>
+    </union-decl>
+    <enum-decl name='rte_intr_handle_type' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='27' column='1' id='type-id-506'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='RTE_INTR_HANDLE_UNKNOWN' value='0'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO' value='1'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO_INTX' value='2'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_LEGACY' value='3'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSI' value='4'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSIX' value='5'/>
+      <enumerator name='RTE_INTR_HANDLE_ALARM' value='6'/>
+      <enumerator name='RTE_INTR_HANDLE_EXT' value='7'/>
+      <enumerator name='RTE_INTR_HANDLE_VDEV' value='8'/>
+      <enumerator name='RTE_INTR_HANDLE_DEV_EVENT' value='9'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_REQ' value='10'/>
+      <enumerator name='RTE_INTR_HANDLE_MAX' value='11'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-4' size-in-bits='16384' id='type-id-507'>
+      <subrange length='512' type-id='type-id-1' id='type-id-510'/>
+
+    </array-type-def>
+    <class-decl name='rte_epoll_event' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='61' column='1' id='type-id-511'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='status' type-id='type-id-512' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='epfd' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='epdata' type-id='type-id-513' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-39' volatile='yes' id='type-id-512'/>
+    <class-decl name='rte_epoll_data' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='47' column='1' id='type-id-513'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event' type-id='type-id-39' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='data' type-id='type-id-22' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cb_fun' type-id='type-id-514' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='cb_arg' type-id='type-id-22' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='51' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-515' size-in-bits='64' id='type-id-516'/>
+    <typedef-decl name='rte_intr_event_cb_t' type-id='type-id-516' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='45' column='1' id='type-id-514'/>
+
+    <array-type-def dimensions='1' type-id='type-id-511' size-in-bits='196608' id='type-id-508'>
+      <subrange length='512' type-id='type-id-1' id='type-id-510'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-509'/>
+    <pointer-type-def type-id='type-id-504' size-in-bits='64' id='type-id-25'/>
+    <class-decl name='rte_eth_dev_cb_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1' id='type-id-26'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-517' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-518' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_callback' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-519'/>
+    <pointer-type-def type-id='type-id-519' size-in-bits='64' id='type-id-517'/>
+    <pointer-type-def type-id='type-id-517' size-in-bits='64' id='type-id-518'/>
+    <class-decl name='rte_eth_rxtx_callback' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='758' column='1' id='type-id-520'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-521' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='759' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fn' type-id='type-id-522' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='763' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='param' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='764' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-520' size-in-bits='64' id='type-id-521'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='760' column='1' id='type-id-522'>
+      <data-member access='private'>
+        <var-decl name='rx' type-id='type-id-523' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='761' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='tx' type-id='type-id-524' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='762' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-525' size-in-bits='64' id='type-id-526'/>
+    <typedef-decl name='rte_rx_callback_fn' type-id='type-id-526' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1437' column='1' id='type-id-523'/>
+    <pointer-type-def type-id='type-id-527' size-in-bits='64' id='type-id-528'/>
+    <typedef-decl name='rte_tx_callback_fn' type-id='type-id-528' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1461' column='1' id='type-id-524'/>
+
+    <array-type-def dimensions='1' type-id='type-id-521' size-in-bits='65536' id='type-id-27'>
+      <subrange length='1024' type-id='type-id-1' id='type-id-156'/>
+
+    </array-type-def>
+    <enum-decl name='rte_eth_dev_state' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1467' column='1' id='type-id-28'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='RTE_ETH_DEV_UNUSED' value='0'/>
+      <enumerator name='RTE_ETH_DEV_ATTACHED' value='1'/>
+      <enumerator name='RTE_ETH_DEV_REMOVED' value='2'/>
+    </enum-decl>
+    <class-decl name='rte_flow_attr' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='75' column='1' id='type-id-529'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='group' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='priority' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='ingress' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='egress' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='transfer' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='98' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='reserved' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='99' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-529' const='yes' id='type-id-530'/>
+    <pointer-type-def type-id='type-id-530' size-in-bits='64' id='type-id-531'/>
+    <class-decl name='rte_flow_item' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1517' column='1' id='type-id-532'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-533' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1518' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='spec' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1519' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='last' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='mask' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1521' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_item_type' filepath='../lib/librte_ethdev/rte_flow.h' line='118' column='1' id='type-id-533'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_END' value='0'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VOID' value='1'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_INVERT' value='2'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ANY' value='3'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PF' value='4'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VF' value='5'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PHY_PORT' value='6'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PORT_ID' value='7'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_RAW' value='8'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ETH' value='9'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VLAN' value='10'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV4' value='11'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV6' value='12'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP' value='13'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_UDP' value='14'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_TCP' value='15'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_SCTP' value='16'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VXLAN' value='17'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_E_TAG' value='18'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_NVGRE' value='19'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_MPLS' value='20'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GRE' value='21'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_FUZZY' value='22'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTP' value='23'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTPC' value='24'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTPU' value='25'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ESP' value='26'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GENEVE' value='27'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VXLAN_GPE' value='28'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ARP_ETH_IPV4' value='29'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV6_EXT' value='30'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6' value='31'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_NS' value='32'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_NA' value='33'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT' value='34'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT_SLA_ETH' value='35'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT_TLA_ETH' value='36'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_MARK' value='37'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_META' value='38'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GRE_KEY' value='39'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTP_PSC' value='40'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOES' value='41'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOED' value='42'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOE_PROTO_ID' value='43'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_NSH' value='44'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IGMP' value='45'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_AH' value='46'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_HIGIG2' value='47'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_TAG' value='48'/>
+    </enum-decl>
+    <qualified-type-def type-id='type-id-532' const='yes' id='type-id-534'/>
+    <pointer-type-def type-id='type-id-534' size-in-bits='64' id='type-id-535'/>
+    <class-decl name='rte_flow_action' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2568' column='1' id='type-id-536'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-537' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2569' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='conf' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2570' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_action_type' filepath='../lib/librte_ethdev/rte_flow.h' line='1550' column='1' id='type-id-537'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_END' value='0'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VOID' value='1'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PASSTHRU' value='2'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_JUMP' value='3'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_MARK' value='4'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_FLAG' value='5'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_QUEUE' value='6'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DROP' value='7'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_COUNT' value='8'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RSS' value='9'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PF' value='10'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VF' value='11'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PHY_PORT' value='12'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PORT_ID' value='13'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_METER' value='14'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SECURITY' value='15'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_MPLS_TTL' value='16'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_DEC_MPLS_TTL' value='17'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_NW_TTL' value='18'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_DEC_NW_TTL' value='19'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_OUT' value='20'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_IN' value='21'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_POP_VLAN' value='22'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_PUSH_VLAN' value='23'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_VID' value='24'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_PCP' value='25'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_POP_MPLS' value='26'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_PUSH_MPLS' value='27'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VXLAN_ENCAP' value='28'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VXLAN_DECAP' value='29'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_NVGRE_ENCAP' value='30'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_NVGRE_DECAP' value='31'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RAW_ENCAP' value='32'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RAW_DECAP' value='33'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV4_SRC' value='34'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV4_DST' value='35'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV6_SRC' value='36'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV6_DST' value='37'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TP_SRC' value='38'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TP_DST' value='39'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_MAC_SWAP' value='40'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TTL' value='41'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TTL' value='42'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_MAC_SRC' value='43'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_MAC_DST' value='44'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_INC_TCP_SEQ' value='45'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TCP_SEQ' value='46'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_INC_TCP_ACK' value='47'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TCP_ACK' value='48'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TAG' value='49'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_META' value='50'/>
+    </enum-decl>
+    <qualified-type-def type-id='type-id-536' const='yes' id='type-id-538'/>
+    <pointer-type-def type-id='type-id-538' size-in-bits='64' id='type-id-539'/>
+    <class-decl name='rte_flow_error' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2618' column='1' id='type-id-540'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-541' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2619' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='cause' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2620' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='message' type-id='type-id-282' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2621' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_error_type' filepath='../lib/librte_ethdev/rte_flow.h' line='2587' column='1' id='type-id-541'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_UNSPECIFIED' value='1'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_HANDLE' value='2'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_GROUP' value='3'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_PRIORITY' value='4'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_INGRESS' value='5'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_EGRESS' value='6'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_TRANSFER' value='7'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR' value='8'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_NUM' value='9'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_SPEC' value='10'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_LAST' value='11'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_MASK' value='12'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM' value='13'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION_NUM' value='14'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION_CONF' value='15'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION' value='16'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-540' size-in-bits='64' id='type-id-542'/>
+    <pointer-type-def type-id='type-id-543' size-in-bits='64' id='type-id-11'/>
+    <class-decl name='rte_flow' size-in-bits='448' is-struct='yes' visibility='default' filepath='../drivers/net/failsafe/failsafe_private.h' line='81' column='1' id='type-id-544'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-545' visibility='default' filepath='../drivers/net/failsafe/failsafe_private.h' line='82' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='flows' type-id='type-id-546' visibility='default' filepath='../drivers/net/failsafe/failsafe_private.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rule' type-id='type-id-547' visibility='default' filepath='../drivers/net/failsafe/failsafe_private.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='rule_data' type-id='type-id-548' visibility='default' filepath='../drivers/net/failsafe/failsafe_private.h' line='87' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/failsafe/failsafe_private.h' line='82' column='1' id='type-id-545'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-549' visibility='default' filepath='../drivers/net/failsafe/failsafe_private.h' line='82' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-550' visibility='default' filepath='../drivers/net/failsafe/failsafe_private.h' line='82' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-544' size-in-bits='64' id='type-id-549'/>
+    <pointer-type-def type-id='type-id-549' size-in-bits='64' id='type-id-550'/>
+
+    <array-type-def dimensions='1' type-id='type-id-549' size-in-bits='128' id='type-id-546'>
+      <subrange length='2' type-id='type-id-1' id='type-id-90'/>
+
+    </array-type-def>
+    <class-decl name='rte_flow_conv_rule' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2633' column='1' id='type-id-547'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-551' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2634' column='1' id='type-id-551'>
+      <data-member access='private'>
+        <var-decl name='attr_ro' type-id='type-id-531' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2635' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='attr' type-id='type-id-552' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2636' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-529' size-in-bits='64' id='type-id-552'/>
+
+    <array-type-def dimensions='1' type-id='type-id-102' size-in-bits='infinite' id='type-id-548'>
+      <subrange length='infinite' type-id='type-id-1' id='type-id-8'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-553' size-in-bits='64' id='type-id-12'/>
+    <pointer-type-def type-id='type-id-554' size-in-bits='64' id='type-id-13'/>
+    <pointer-type-def type-id='type-id-555' size-in-bits='64' id='type-id-14'/>
+    <pointer-type-def type-id='type-id-556' size-in-bits='64' id='type-id-15'/>
+    <pointer-type-def type-id='type-id-557' size-in-bits='64' id='type-id-16'/>
+    <qualified-type-def type-id='type-id-10' const='yes' id='type-id-558'/>
+    <var-decl name='fs_flow_ops' type-id='type-id-558' visibility='default' filepath='../drivers/net/failsafe/failsafe_private.h' line='248' column='1'/>
+    <function-type size-in-bits='64' id='type-id-373'>
+      <parameter type-id='type-id-249'/>
+      <return type-id='type-id-283'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-334'>
+      <return type-id='type-id-333'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-317'>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-328'>
+      <parameter type-id='type-id-282'/>
+      <parameter type-id='type-id-22'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-321'>
+      <parameter type-id='type-id-320'/>
+      <parameter type-id='type-id-22'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-326'>
+      <parameter type-id='type-id-24'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-330'>
+      <parameter type-id='type-id-24'/>
+      <parameter type-id='type-id-22'/>
+      <parameter type-id='type-id-3'/>
+      <parameter type-id='type-id-60'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-250'>
+      <parameter type-id='type-id-249'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-371'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-352'/>
+      <parameter type-id='type-id-60'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-490'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-282'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-543'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-531'/>
+      <parameter type-id='type-id-535'/>
+      <parameter type-id='type-id-539'/>
+      <parameter type-id='type-id-542'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-477'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-476'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-484'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-483'/>
+      <parameter type-id='type-id-479'/>
+      <parameter type-id='type-id-47'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-453'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-451'/>
+      <parameter type-id='type-id-452'/>
+      <parameter type-id='type-id-22'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-380'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-379'/>
+      <parameter type-id='type-id-33'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-254'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-4'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-557'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-542'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-445'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-444'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-441'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-440'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-460'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-459'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-356'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-355'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-449'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-448'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-403'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-402'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-494'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-493'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-426'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-425'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-428'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-425'/>
+      <parameter type-id='type-id-39'/>
+      <parameter type-id='type-id-102'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-417'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-416'/>
+      <parameter type-id='type-id-102'/>
+      <parameter type-id='type-id-102'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-407'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-406'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-433'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-432'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-437'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-436'/>
+      <parameter type-id='type-id-33'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-269'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-268'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-421'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-420'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-273'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-272'/>
+      <parameter type-id='type-id-47'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-486'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-276'/>
+      <parameter type-id='type-id-483'/>
+      <parameter type-id='type-id-47'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-277'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-276'/>
+      <parameter type-id='type-id-47'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-260'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-100'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-262'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-100'/>
+      <parameter type-id='type-id-39'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-258'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-100'/>
+      <parameter type-id='type-id-39'/>
+      <parameter type-id='type-id-39'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-409'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-100'/>
+      <parameter type-id='type-id-102'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-556'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-549'/>
+      <parameter type-id='type-id-539'/>
+      <parameter type-id='type-id-22'/>
+      <parameter type-id='type-id-542'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-554'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-549'/>
+      <parameter type-id='type-id-542'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-555'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-542'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-469'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-466'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-467'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-466'/>
+      <parameter type-id='type-id-39'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-473'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-472'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-264'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-33'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-377'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-33'/>
+      <parameter type-id='type-id-4'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-369'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-33'/>
+      <parameter type-id='type-id-368'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-430'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-33'/>
+      <parameter type-id='type-id-33'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-501'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-33'/>
+      <parameter type-id='type-id-33'/>
+      <parameter type-id='type-id-500'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-386'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-33'/>
+      <parameter type-id='type-id-33'/>
+      <parameter type-id='type-id-47'/>
+      <parameter type-id='type-id-385'/>
+      <parameter type-id='type-id-40'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-396'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-33'/>
+      <parameter type-id='type-id-33'/>
+      <parameter type-id='type-id-47'/>
+      <parameter type-id='type-id-395'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-279'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-33'/>
+      <parameter type-id='type-id-102'/>
+      <parameter type-id='type-id-102'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-375'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-39'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-411'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-102'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-480'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-479'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-488'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-22'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-343'>
+      <parameter type-id='type-id-22'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-392'>
+      <parameter type-id='type-id-22'/>
+      <parameter type-id='type-id-33'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-398'>
+      <parameter type-id='type-id-22'/>
+      <parameter type-id='type-id-39'/>
+      <return type-id='type-id-4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-324'>
+      <parameter type-id='type-id-320'/>
+      <parameter type-id='type-id-323'/>
+      <parameter type-id='type-id-22'/>
+      <return type-id='type-id-24'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-553'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-531'/>
+      <parameter type-id='type-id-535'/>
+      <parameter type-id='type-id-539'/>
+      <parameter type-id='type-id-542'/>
+      <return type-id='type-id-549'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-525'>
+      <parameter type-id='type-id-33'/>
+      <parameter type-id='type-id-33'/>
+      <parameter type-id='type-id-91'/>
+      <parameter type-id='type-id-33'/>
+      <parameter type-id='type-id-33'/>
+      <parameter type-id='type-id-22'/>
+      <return type-id='type-id-33'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-527'>
+      <parameter type-id='type-id-33'/>
+      <parameter type-id='type-id-33'/>
+      <parameter type-id='type-id-91'/>
+      <parameter type-id='type-id-33'/>
+      <parameter type-id='type-id-22'/>
+      <return type-id='type-id-33'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-92'>
+      <parameter type-id='type-id-22'/>
+      <parameter type-id='type-id-91'/>
+      <parameter type-id='type-id-33'/>
+      <return type-id='type-id-33'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-390'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-33'/>
+      <return type-id='type-id-39'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-515'>
+      <parameter type-id='type-id-4'/>
+      <parameter type-id='type-id-22'/>
+      <return type-id='type-id-34'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-252'>
+      <parameter type-id='type-id-249'/>
+      <return type-id='type-id-34'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-382'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-33'/>
+      <parameter type-id='type-id-4'/>
+      <return type-id='type-id-34'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-360'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-33'/>
+      <parameter type-id='type-id-359'/>
+      <return type-id='type-id-34'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-364'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-33'/>
+      <parameter type-id='type-id-363'/>
+      <return type-id='type-id-34'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-256'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-39'/>
+      <return type-id='type-id-34'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-78'>
+      <parameter type-id='type-id-72'/>
+      <parameter type-id='type-id-22'/>
+      <return type-id='type-id-34'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-388'>
+      <parameter type-id='type-id-22'/>
+      <return type-id='type-id-34'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-83'>
+      <parameter type-id='type-id-22'/>
+      <parameter type-id='type-id-22'/>
+      <return type-id='type-id-34'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-341'>
+      <parameter type-id='type-id-22'/>
+      <parameter type-id='type-id-282'/>
+      <parameter type-id='type-id-340'/>
+      <return type-id='type-id-22'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/failsafe/failsafe_ops.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='failsafe_ops' type-id='type-id-503' visibility='default' filepath='../drivers/net/failsafe/failsafe_private.h' line='247' column='1'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_hinic.dump b/drivers/.abi/librte_pmd_hinic.dump
new file mode 100644
index 000000000..eebc98c6d
--- /dev/null
+++ b/drivers/.abi/librte_pmd_hinic.dump
@@ -0,0 +1,3110 @@
+<abi-corpus path='gcc//drivers/librte_pmd_hinic.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_hinic.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/hinic/hinic_pmd_ethdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='hinic_logtype' type-id='type-id-1' visibility='default' filepath='../drivers/net/hinic/base/hinic_compat.h' line='86' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/hinic/hinic_pmd_flow.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_flow_ops' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='63' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='validate' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='create' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='destroy' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='flush' type-id='type-id-6' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='query' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='isolate' type-id='type-id-8' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='95' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev' size-in-bits='132608' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='777' column='1' id='type-id-9'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_pkt_burst' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='778' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tx_pkt_burst' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tx_pkt_prepare' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='data' type-id='type-id-13' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='786' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='process_private' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='787' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_ops' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='788' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='device' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='789' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='intr_handle' type-id='type-id-17' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='790' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='link_intr_cbs' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='792' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='post_rx_burst_cbs' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='797' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='66176'>
+        <var-decl name='pre_tx_burst_cbs' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131712'>
+        <var-decl name='state' type-id='type-id-20' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='803' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131776'>
+        <var-decl name='security_ctx' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131840'>
+        <var-decl name='reserved_64s' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='806' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='132096'>
+        <var-decl name='reserved_ptrs' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='807' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-23'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-23' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-24'/>
+    <typedef-decl name='uint16_t' type-id='type-id-24' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-25'/>
+    <type-decl name='void' id='type-id-26'/>
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-14'/>
+    <class-decl name='rte_mbuf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='480' column='1' id='type-id-27'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheline0' type-id='type-id-28' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-14' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-29' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rearm_data' type-id='type-id-30' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='497' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_off' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_segs' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='port' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ol_flags' type-id='type-id-31' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_descriptor_fields1' type-id='type-id-28' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='pkt_len' type-id='type-id-32' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data_len' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='vlan_tci' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vlan_tci_outer' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='buf_len' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='timestamp' type-id='type-id-31' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cacheline1' type-id='type-id-28' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='pool' type-id='type-id-33' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='next' type-id='type-id-34' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='timesync' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='seqn' type-id='type-id-32' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='shinfo' type-id='type-id-35' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dynfield1' type-id='type-id-36' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-37'/>
+
+    <array-type-def dimensions='1' type-id='type-id-14' size-in-bits='infinite' id='type-id-38'>
+      <subrange length='infinite' type-id='type-id-37' id='type-id-39'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER' type-id='type-id-38' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='414' column='1' id='type-id-28'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='491' column='1' id='type-id-29'>
+      <data-member access='private'>
+        <var-decl name='buf_iova' type-id='type-id-40' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='buf_physaddr' type-id='type-id-40' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='__uint64_t' type-id='type-id-37' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-41'/>
+    <typedef-decl name='uint64_t' type-id='type-id-41' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-31'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-31' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-40'/>
+
+    <array-type-def dimensions='1' type-id='type-id-31' size-in-bits='infinite' id='type-id-42'>
+      <subrange length='infinite' type-id='type-id-37' id='type-id-39'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER64' type-id='type-id-42' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='420' column='1' id='type-id-30'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-43'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-43' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-44'/>
+    <typedef-decl name='uint32_t' type-id='type-id-44' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-32'/>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-45'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-46' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-47' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-14' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-48' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-43' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-43' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-50' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-51' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-52' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-53'/>
+
+    <array-type-def dimensions='1' type-id='type-id-53' size-in-bits='256' id='type-id-46'>
+      <subrange length='32' type-id='type-id-37' id='type-id-54'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-47'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-14' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-31' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-55'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-46' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-56' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-57' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-31' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-49' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-32' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-56'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-58' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-40' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-31' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-58'/>
+    <typedef-decl name='size_t' type-id='type-id-37' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-57'/>
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-59'/>
+    <typedef-decl name='int32_t' type-id='type-id-59' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-49'/>
+    <qualified-type-def type-id='type-id-55' const='yes' id='type-id-60'/>
+    <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-48'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-61'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-62' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-14' size-in-bits='98304' id='type-id-62'>
+      <subrange length='1536' type-id='type-id-37' id='type-id-63'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-61' size-in-bits='64' id='type-id-50'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-51'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-64' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-65' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-66'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-67' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-33' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-68' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-67'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-64' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-64'/>
+    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-33'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-68'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-40' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-58' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-64' size-in-bits='64' id='type-id-65'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-52'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-69' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-70' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-71'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-72' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-33' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-14' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-73' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-57' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-74' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-14' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-72'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-69' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-69'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-73'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-40' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-58' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-75' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-76'/>
+    <pointer-type-def type-id='type-id-76' size-in-bits='64' id='type-id-74'/>
+    <pointer-type-def type-id='type-id-69' size-in-bits='64' id='type-id-70'/>
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-34'/>
+    <class-decl name='rte_mbuf_ext_shared_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='689' column='1' id='type-id-77'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_cb' type-id='type-id-78' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcb_opaque' type-id='type-id-14' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt_atomic' type-id='type-id-79' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-80' size-in-bits='64' id='type-id-81'/>
+    <typedef-decl name='rte_mbuf_extbuf_free_callback_t' type-id='type-id-81' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='684' column='1' id='type-id-78'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-79' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-82'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-83' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-84'/>
+    <typedef-decl name='__int16_t' type-id='type-id-84' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-85'/>
+    <typedef-decl name='int16_t' type-id='type-id-85' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-86'/>
+    <qualified-type-def type-id='type-id-86' volatile='yes' id='type-id-83'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-82' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-79'/>
+    <pointer-type-def type-id='type-id-77' size-in-bits='64' id='type-id-35'/>
+
+    <array-type-def dimensions='1' type-id='type-id-31' size-in-bits='128' id='type-id-36'>
+      <subrange length='2' type-id='type-id-37' id='type-id-87'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-88'/>
+    <pointer-type-def type-id='type-id-89' size-in-bits='64' id='type-id-90'/>
+    <typedef-decl name='eth_rx_burst_t' type-id='type-id-90' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='340' column='1' id='type-id-10'/>
+    <typedef-decl name='eth_tx_burst_t' type-id='type-id-90' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='345' column='1' id='type-id-11'/>
+    <typedef-decl name='eth_tx_prep_t' type-id='type-id-90' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='350' column='1' id='type-id-12'/>
+    <class-decl name='rte_eth_dev_data' size-in-bits='55808' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='820' column='1' id='type-id-91'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='821' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_queues' type-id='type-id-93' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='823' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_queues' type-id='type-id-93' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='824' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='nb_rx_queues' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='825' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='656'>
+        <var-decl name='nb_tx_queues' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='826' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='sriov' type-id='type-id-94' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='dev_private' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='830' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_link' type-id='type-id-95' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='835' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dev_conf' type-id='type-id-96' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='836' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25536'>
+        <var-decl name='mtu' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='837' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25568'>
+        <var-decl name='min_rx_buf_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25600'>
+        <var-decl name='rx_mbuf_alloc_failed' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='841' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25664'>
+        <var-decl name='mac_addrs' type-id='type-id-97' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='842' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25728'>
+        <var-decl name='mac_pool_sel' type-id='type-id-98' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='846' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='33920'>
+        <var-decl name='hash_mac_addrs' type-id='type-id-97' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='848' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='33984'>
+        <var-decl name='port_id' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='852' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='promiscuous' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='855' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='scattered_rx' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='856' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='all_multicast' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='857' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4'>
+        <var-decl name='dev_started' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='858' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3'>
+        <var-decl name='lro' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='859' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='34008'>
+        <var-decl name='rx_queue_state' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='860' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='42200'>
+        <var-decl name='tx_queue_state' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='862' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50400'>
+        <var-decl name='dev_flags' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='864' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50432'>
+        <var-decl name='kdrv' type-id='type-id-101' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50464'>
+        <var-decl name='numa_node' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='866' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50496'>
+        <var-decl name='vlan_filter_conf' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='867' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='54592'>
+        <var-decl name='owner' type-id='type-id-103' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='869' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55168'>
+        <var-decl name='representor_id' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='870' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55232'>
+        <var-decl name='reserved_64s' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='875' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55488'>
+        <var-decl name='reserved_ptrs' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='876' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-53' size-in-bits='512' id='type-id-92'>
+      <subrange length='64' type-id='type-id-37' id='type-id-104'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-93'/>
+    <class-decl name='rte_eth_dev_sriov' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1476' column='1' id='type-id-94'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='active' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1477' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='nb_q_per_pool' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1478' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='def_vmdq_idx' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1479' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='def_pool_q_idx' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1480' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-105'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-105' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-106'/>
+    <typedef-decl name='uint8_t' type-id='type-id-106' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-99'/>
+    <class-decl name='rte_eth_link' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='308' column='1' id='type-id-95'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_speed' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='309' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='15'>
+        <var-decl name='link_duplex' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='310' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='14'>
+        <var-decl name='link_autoneg' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='311' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='13'>
+        <var-decl name='link_status' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='312' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_conf' size-in-bits='24640' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1045' column='1' id='type-id-96'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_speeds' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1046' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rxmode' type-id='type-id-107' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1053' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='txmode' type-id='type-id-108' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1054' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='lpbk_mode' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1055' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='rx_adv_conf' type-id='type-id-109' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1068' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='17984'>
+        <var-decl name='tx_adv_conf' type-id='type-id-110' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1076' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18080'>
+        <var-decl name='dcb_capability_en' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1079' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18112'>
+        <var-decl name='fdir_conf' type-id='type-id-111' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1080' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24576'>
+        <var-decl name='intr_conf' type-id='type-id-112' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1081' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rxmode' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='394' column='1' id='type-id-107'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mq_mode' type-id='type-id-113' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='396' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_rx_pkt_len' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='397' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='max_lro_pkt_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='399' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='split_hdr_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='400' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='offloads' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='406' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='408' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='409' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-115'/>
+    <enum-decl name='rte_eth_rx_mq_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='344' column='1' id='type-id-113'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='ETH_MQ_RX_NONE' value='0'/>
+      <enumerator name='ETH_MQ_RX_RSS' value='1'/>
+      <enumerator name='ETH_MQ_RX_DCB' value='2'/>
+      <enumerator name='ETH_MQ_RX_DCB_RSS' value='3'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_ONLY' value='4'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_RSS' value='5'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_DCB' value='6'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_DCB_RSS' value='7'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-14' size-in-bits='128' id='type-id-114'>
+      <subrange length='2' type-id='type-id-37' id='type-id-87'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_txmode' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='792' column='1' id='type-id-108'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mq_mode' type-id='type-id-116' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='793' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offloads' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='799' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pvid' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='hw_vlan_reject_tagged' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='hw_vlan_reject_untagged' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='806' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='hw_vlan_insert_pvid' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='808' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='811' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='812' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_tx_mq_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='377' column='1' id='type-id-116'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='ETH_MQ_TX_NONE' value='0'/>
+      <enumerator name='ETH_MQ_TX_DCB' value='1'/>
+      <enumerator name='ETH_MQ_TX_VMDQ_DCB' value='2'/>
+      <enumerator name='ETH_MQ_TX_VMDQ_ONLY' value='3'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16960' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1060' column='1' id='type-id-109'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rss_conf' type-id='type-id-117' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1061' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='vmdq_dcb_conf' type-id='type-id-118' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1062' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8512'>
+        <var-decl name='dcb_rx_conf' type-id='type-id-119' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1064' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8640'>
+        <var-decl name='vmdq_rx_conf' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1066' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rss_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='448' column='1' id='type-id-117'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rss_key' type-id='type-id-121' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rss_key_len' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rss_hf' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='451' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-99' size-in-bits='64' id='type-id-121'/>
+    <class-decl name='rte_eth_vmdq_dcb_conf' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='745' column='1' id='type-id-118'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='746' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='enable_default_pool' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='default_pool' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='748' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='nb_pool_maps' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='749' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pool_map' type-id='type-id-123' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8256'>
+        <var-decl name='dcb_tc' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='754' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_nb_pools' filepath='../lib/librte_ethdev/rte_ethdev.h' line='704' column='1' id='type-id-122'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='ETH_8_POOLS' value='8'/>
+      <enumerator name='ETH_16_POOLS' value='16'/>
+      <enumerator name='ETH_32_POOLS' value='32'/>
+      <enumerator name='ETH_64_POOLS' value='64'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='750' column='1' id='type-id-125'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_id' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='751' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pools' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='752' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-125' size-in-bits='8192' id='type-id-123'>
+      <subrange length='64' type-id='type-id-37' id='type-id-104'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-99' size-in-bits='64' id='type-id-124'>
+      <subrange length='8' type-id='type-id-37' id='type-id-126'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_dcb_rx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='712' column='1' id='type-id-119'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-127' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='715' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_nb_tcs' filepath='../lib/librte_ethdev/rte_ethdev.h' line='695' column='1' id='type-id-127'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='ETH_4_TCS' value='4'/>
+      <enumerator name='ETH_8_TCS' value='8'/>
+    </enum-decl>
+    <class-decl name='rte_eth_vmdq_rx_conf' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='776' column='1' id='type-id-120'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='777' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='enable_default_pool' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='778' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='default_pool' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='enable_loop_back' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='nb_pool_maps' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='781' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rx_mode' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='782' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pool_map' type-id='type-id-123' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='786' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <union-decl name='__anonymous_union__' size-in-bits='96' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1069' column='1' id='type-id-110'>
+      <data-member access='private'>
+        <var-decl name='vmdq_dcb_tx_conf' type-id='type-id-128' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1070' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dcb_tx_conf' type-id='type-id-129' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1072' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='vmdq_tx_conf' type-id='type-id-130' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1074' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_eth_vmdq_dcb_tx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='718' column='1' id='type-id-128'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='721' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dcb_tx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='724' column='1' id='type-id-129'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-127' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='727' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vmdq_tx_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='730' column='1' id='type-id-130'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='731' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_fdir_conf' size-in-bits='6464' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1005' column='1' id='type-id-111'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mode' type-id='type-id-131' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1006' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='pballoc' type-id='type-id-132' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1007' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='status' type-id='type-id-133' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1008' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='drop_queue' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1010' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mask' type-id='type-id-134' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1011' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='flex_conf' type-id='type-id-135' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1012' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_fdir_mode' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='603' column='1' id='type-id-131'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_FDIR_MODE_NONE' value='0'/>
+      <enumerator name='RTE_FDIR_MODE_SIGNATURE' value='1'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT' value='2'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT_MAC_VLAN' value='3'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT_TUNNEL' value='4'/>
+    </enum-decl>
+    <enum-decl name='rte_fdir_pballoc_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='984' column='1' id='type-id-132'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_FDIR_PBALLOC_64K' value='0'/>
+      <enumerator name='RTE_FDIR_PBALLOC_128K' value='1'/>
+      <enumerator name='RTE_FDIR_PBALLOC_256K' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_fdir_status_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='993' column='1' id='type-id-133'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_FDIR_NO_REPORT_STATUS' value='0'/>
+      <enumerator name='RTE_FDIR_REPORT_STATUS' value='1'/>
+      <enumerator name='RTE_FDIR_REPORT_STATUS_ALWAYS' value='2'/>
+    </enum-decl>
+    <class-decl name='rte_eth_fdir_masks' size-in-bits='544' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='533' column='1' id='type-id-134'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_tci_mask' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='534' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ipv4_mask' type-id='type-id-136' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='536' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ipv6_mask' type-id='type-id-137' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='538' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='src_port_mask' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='540' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='dst_port_mask' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='542' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='mac_addr_byte_mask' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='545' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='tunnel_id_mask' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='547' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='tunnel_type_mask' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='548' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_ipv4_flow' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='342' column='1' id='type-id-136'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='343' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dst_ip' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='344' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tos' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='345' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='ttl' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='346' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='proto' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='347' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_ipv6_flow' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='381' column='1' id='type-id-137'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-138' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='382' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dst_ip' type-id='type-id-138' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='383' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='tc' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='384' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='264'>
+        <var-decl name='proto' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='385' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='272'>
+        <var-decl name='hop_limits' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='386' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-32' size-in-bits='128' id='type-id-138'>
+      <subrange length='4' type-id='type-id-37' id='type-id-139'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_fdir_flex_conf' size-in-bits='5792' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='591' column='1' id='type-id-135'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_payloads' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='592' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='nb_flexmasks' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='593' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flex_set' type-id='type-id-140' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='594' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2336'>
+        <var-decl name='flex_mask' type-id='type-id-141' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='596' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_flex_payload_cfg' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='568' column='1' id='type-id-142'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-143' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='569' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='src_offset' type-id='type-id-144' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='570' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_payload_type' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='555' column='1' id='type-id-143'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_ETH_PAYLOAD_UNKNOWN' value='0'/>
+      <enumerator name='RTE_ETH_RAW_PAYLOAD' value='1'/>
+      <enumerator name='RTE_ETH_L2_PAYLOAD' value='2'/>
+      <enumerator name='RTE_ETH_L3_PAYLOAD' value='3'/>
+      <enumerator name='RTE_ETH_L4_PAYLOAD' value='4'/>
+      <enumerator name='RTE_ETH_PAYLOAD_MAX' value='8'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-25' size-in-bits='256' id='type-id-144'>
+      <subrange length='16' type-id='type-id-37' id='type-id-145'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-142' size-in-bits='2304' id='type-id-140'>
+      <subrange length='8' type-id='type-id-37' id='type-id-126'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_fdir_flex_mask' size-in-bits='144' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='581' column='1' id='type-id-146'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flow_type' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='582' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='mask' type-id='type-id-147' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='583' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-99' size-in-bits='128' id='type-id-147'>
+      <subrange length='16' type-id='type-id-37' id='type-id-145'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-146' size-in-bits='3456' id='type-id-141'>
+      <subrange length='24' type-id='type-id-37' id='type-id-148'/>
+
+    </array-type-def>
+    <class-decl name='rte_intr_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1031' column='1' id='type-id-112'>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='lsc' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1033' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='rxq' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1035' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='rmv' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1037' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_ether_addr' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='60' column='1' id='type-id-149'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr_bytes' type-id='type-id-150' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='61' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-99' size-in-bits='48' id='type-id-150'>
+      <subrange length='6' type-id='type-id-37' id='type-id-151'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-149' size-in-bits='64' id='type-id-97'/>
+
+    <array-type-def dimensions='1' type-id='type-id-31' size-in-bits='8192' id='type-id-98'>
+      <subrange length='128' type-id='type-id-37' id='type-id-152'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-99' size-in-bits='8192' id='type-id-100'>
+      <subrange length='1024' type-id='type-id-37' id='type-id-153'/>
+
+    </array-type-def>
+    <enum-decl name='rte_kernel_driver' filepath='../lib/librte_eal/common/include/rte_dev.h' line='60' column='1' id='type-id-101'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_KDRV_UNKNOWN' value='0'/>
+      <enumerator name='RTE_KDRV_IGB_UIO' value='1'/>
+      <enumerator name='RTE_KDRV_VFIO' value='2'/>
+      <enumerator name='RTE_KDRV_UIO_GENERIC' value='3'/>
+      <enumerator name='RTE_KDRV_NIC_UIO' value='4'/>
+      <enumerator name='RTE_KDRV_NONE' value='5'/>
+    </enum-decl>
+    <class-decl name='rte_vlan_filter_conf' size-in-bits='4096' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='427' column='1' id='type-id-102'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ids' type-id='type-id-154' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='428' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-31' size-in-bits='4096' id='type-id-154'>
+      <subrange length='64' type-id='type-id-37' id='type-id-104'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_dev_owner' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1490' column='1' id='type-id-103'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1491' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='name' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1492' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-31' size-in-bits='256' id='type-id-21'>
+      <subrange length='4' type-id='type-id-37' id='type-id-139'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-14' size-in-bits='256' id='type-id-22'>
+      <subrange length='4' type-id='type-id-37' id='type-id-139'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-91' size-in-bits='64' id='type-id-13'/>
+    <class-decl name='eth_dev_ops' size-in-bits='6016' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='609' column='1' id='type-id-155'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_configure' type-id='type-id-156' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_start' type-id='type-id-157' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='611' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dev_stop' type-id='type-id-158' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='612' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_set_link_up' type-id='type-id-159' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dev_set_link_down' type-id='type-id-160' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='614' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_close' type-id='type-id-161' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='615' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='dev_reset' type-id='type-id-162' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='616' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='link_update' type-id='type-id-163' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='617' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='is_removed' type-id='type-id-164' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='618' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='promiscuous_enable' type-id='type-id-165' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='promiscuous_disable' type-id='type-id-166' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='allmulticast_enable' type-id='type-id-167' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='623' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='allmulticast_disable' type-id='type-id-168' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='624' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='mac_addr_remove' type-id='type-id-169' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='625' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='mac_addr_add' type-id='type-id-170' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='626' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='mac_addr_set' type-id='type-id-171' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='627' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='set_mc_addr_list' type-id='type-id-172' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='628' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mtu_set' type-id='type-id-173' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='629' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='stats_get' type-id='type-id-174' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='631' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='stats_reset' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='632' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='xstats_get' type-id='type-id-176' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='633' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='xstats_reset' type-id='type-id-177' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='634' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='xstats_get_names' type-id='type-id-178' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='635' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='queue_stats_mapping_set' type-id='type-id-179' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='637' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='dev_infos_get' type-id='type-id-180' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='640' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='rxq_info_get' type-id='type-id-181' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='641' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='txq_info_get' type-id='type-id-182' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='642' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='rx_burst_mode_get' type-id='type-id-183' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='643' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='tx_burst_mode_get' type-id='type-id-183' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='644' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='fw_version_get' type-id='type-id-184' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='645' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='dev_supported_ptypes_get' type-id='type-id-185' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='646' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='dev_ptypes_set' type-id='type-id-186' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='648' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='vlan_filter_set' type-id='type-id-187' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='651' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='vlan_tpid_set' type-id='type-id-188' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='652' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='vlan_strip_queue_set' type-id='type-id-189' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='653' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='vlan_offload_set' type-id='type-id-190' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='654' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='vlan_pvid_set' type-id='type-id-191' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='655' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='rx_queue_start' type-id='type-id-192' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='657' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='rx_queue_stop' type-id='type-id-193' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='658' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2496'>
+        <var-decl name='tx_queue_start' type-id='type-id-192' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='659' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='tx_queue_stop' type-id='type-id-193' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='660' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='rx_queue_setup' type-id='type-id-194' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='661' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2688'>
+        <var-decl name='rx_queue_release' type-id='type-id-195' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2752'>
+        <var-decl name='rx_queue_count' type-id='type-id-196' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='663' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2816'>
+        <var-decl name='rx_descriptor_done' type-id='type-id-197' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2880'>
+        <var-decl name='rx_descriptor_status' type-id='type-id-198' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='666' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2944'>
+        <var-decl name='tx_descriptor_status' type-id='type-id-199' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3008'>
+        <var-decl name='rx_queue_intr_enable' type-id='type-id-200' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='670' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3072'>
+        <var-decl name='rx_queue_intr_disable' type-id='type-id-201' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3136'>
+        <var-decl name='tx_queue_setup' type-id='type-id-202' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='672' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3200'>
+        <var-decl name='tx_queue_release' type-id='type-id-195' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3264'>
+        <var-decl name='tx_done_cleanup' type-id='type-id-203' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='674' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3328'>
+        <var-decl name='dev_led_on' type-id='type-id-204' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3392'>
+        <var-decl name='dev_led_off' type-id='type-id-205' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='677' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3456'>
+        <var-decl name='flow_ctrl_get' type-id='type-id-206' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='679' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3520'>
+        <var-decl name='flow_ctrl_set' type-id='type-id-207' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='680' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='priority_flow_ctrl_set' type-id='type-id-208' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='681' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3648'>
+        <var-decl name='uc_hash_table_set' type-id='type-id-209' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='683' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3712'>
+        <var-decl name='uc_all_hash_table_set' type-id='type-id-210' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='684' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3776'>
+        <var-decl name='mirror_rule_set' type-id='type-id-211' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='686' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3840'>
+        <var-decl name='mirror_rule_reset' type-id='type-id-212' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='687' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3904'>
+        <var-decl name='udp_tunnel_port_add' type-id='type-id-213' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='689' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3968'>
+        <var-decl name='udp_tunnel_port_del' type-id='type-id-214' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4032'>
+        <var-decl name='l2_tunnel_eth_type_conf' type-id='type-id-215' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4096'>
+        <var-decl name='l2_tunnel_offload_set' type-id='type-id-216' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='693' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4160'>
+        <var-decl name='set_queue_rate_limit' type-id='type-id-217' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='696' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4224'>
+        <var-decl name='rss_hash_update' type-id='type-id-218' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='698' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4288'>
+        <var-decl name='rss_hash_conf_get' type-id='type-id-219' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='699' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4352'>
+        <var-decl name='reta_update' type-id='type-id-220' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='700' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4416'>
+        <var-decl name='reta_query' type-id='type-id-221' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='701' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4480'>
+        <var-decl name='get_reg' type-id='type-id-222' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='703' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4544'>
+        <var-decl name='get_eeprom_length' type-id='type-id-223' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='704' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4608'>
+        <var-decl name='get_eeprom' type-id='type-id-224' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='705' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4672'>
+        <var-decl name='set_eeprom' type-id='type-id-225' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='706' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4736'>
+        <var-decl name='get_module_info' type-id='type-id-226' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='708' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4800'>
+        <var-decl name='get_module_eeprom' type-id='type-id-227' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='710' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4864'>
+        <var-decl name='filter_ctrl' type-id='type-id-228' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4928'>
+        <var-decl name='get_dcb_info' type-id='type-id-229' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='715' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4992'>
+        <var-decl name='timesync_enable' type-id='type-id-230' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='717' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5056'>
+        <var-decl name='timesync_disable' type-id='type-id-231' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5120'>
+        <var-decl name='timesync_read_rx_timestamp' type-id='type-id-232' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='721' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5184'>
+        <var-decl name='timesync_read_tx_timestamp' type-id='type-id-233' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='723' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5248'>
+        <var-decl name='timesync_adjust_time' type-id='type-id-234' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5312'>
+        <var-decl name='timesync_read_time' type-id='type-id-235' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='726' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5376'>
+        <var-decl name='timesync_write_time' type-id='type-id-236' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='727' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5440'>
+        <var-decl name='read_clock' type-id='type-id-237' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='729' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5504'>
+        <var-decl name='xstats_get_by_id' type-id='type-id-238' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='731' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5568'>
+        <var-decl name='xstats_get_names_by_id' type-id='type-id-239' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='733' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5632'>
+        <var-decl name='tm_ops_get' type-id='type-id-240' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='736' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5696'>
+        <var-decl name='mtr_ops_get' type-id='type-id-241' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='739' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5760'>
+        <var-decl name='pool_ops_supported' type-id='type-id-242' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='742' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5824'>
+        <var-decl name='hairpin_cap_get' type-id='type-id-243' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='745' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5888'>
+        <var-decl name='rx_hairpin_queue_setup' type-id='type-id-244' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5952'>
+        <var-decl name='tx_hairpin_queue_setup' type-id='type-id-245' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='749' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-246'/>
+    <pointer-type-def type-id='type-id-247' size-in-bits='64' id='type-id-248'/>
+    <typedef-decl name='eth_dev_configure_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='31' column='1' id='type-id-156'/>
+    <typedef-decl name='eth_dev_start_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='34' column='1' id='type-id-157'/>
+    <pointer-type-def type-id='type-id-249' size-in-bits='64' id='type-id-250'/>
+    <typedef-decl name='eth_dev_stop_t' type-id='type-id-250' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='37' column='1' id='type-id-158'/>
+    <typedef-decl name='eth_dev_set_link_up_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='40' column='1' id='type-id-159'/>
+    <typedef-decl name='eth_dev_set_link_down_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='43' column='1' id='type-id-160'/>
+    <typedef-decl name='eth_dev_close_t' type-id='type-id-250' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='46' column='1' id='type-id-161'/>
+    <typedef-decl name='eth_dev_reset_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='49' column='1' id='type-id-162'/>
+    <pointer-type-def type-id='type-id-251' size-in-bits='64' id='type-id-252'/>
+    <typedef-decl name='eth_link_update_t' type-id='type-id-252' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='155' column='1' id='type-id-163'/>
+    <typedef-decl name='eth_is_removed_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='52' column='1' id='type-id-164'/>
+    <typedef-decl name='eth_promiscuous_enable_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='78' column='1' id='type-id-165'/>
+    <typedef-decl name='eth_promiscuous_disable_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='103' column='1' id='type-id-166'/>
+    <typedef-decl name='eth_allmulticast_enable_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='128' column='1' id='type-id-167'/>
+    <typedef-decl name='eth_allmulticast_disable_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='153' column='1' id='type-id-168'/>
+    <pointer-type-def type-id='type-id-253' size-in-bits='64' id='type-id-254'/>
+    <typedef-decl name='eth_mac_addr_remove_t' type-id='type-id-254' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='391' column='1' id='type-id-169'/>
+    <pointer-type-def type-id='type-id-255' size-in-bits='64' id='type-id-256'/>
+    <typedef-decl name='eth_mac_addr_add_t' type-id='type-id-256' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='394' column='1' id='type-id-170'/>
+    <pointer-type-def type-id='type-id-257' size-in-bits='64' id='type-id-258'/>
+    <typedef-decl name='eth_mac_addr_set_t' type-id='type-id-258' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='400' column='1' id='type-id-171'/>
+    <pointer-type-def type-id='type-id-259' size-in-bits='64' id='type-id-260'/>
+    <typedef-decl name='eth_set_mc_addr_list_t' type-id='type-id-260' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='436' column='1' id='type-id-172'/>
+    <pointer-type-def type-id='type-id-261' size-in-bits='64' id='type-id-262'/>
+    <typedef-decl name='mtu_set_t' type-id='type-id-262' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='315' column='1' id='type-id-173'/>
+    <class-decl name='rte_eth_stats' size-in-bits='5632' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='243' column='1' id='type-id-263'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ipackets' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='opackets' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ibytes' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='246' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='obytes' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='imissed' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='ierrors' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='oerrors' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='rx_nombuf' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='q_ipackets' type-id='type-id-264' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='q_opackets' type-id='type-id-264' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='q_ibytes' type-id='type-id-264' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='q_obytes' type-id='type-id-264' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4608'>
+        <var-decl name='q_errors' type-id='type-id-264' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='263' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-31' size-in-bits='1024' id='type-id-264'>
+      <subrange length='16' type-id='type-id-37' id='type-id-145'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-263' size-in-bits='64' id='type-id-265'/>
+    <pointer-type-def type-id='type-id-266' size-in-bits='64' id='type-id-267'/>
+    <typedef-decl name='eth_stats_get_t' type-id='type-id-267' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='159' column='1' id='type-id-174'/>
+    <typedef-decl name='eth_stats_reset_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='182' column='1' id='type-id-175'/>
+    <class-decl name='rte_eth_xstat' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1337' column='1' id='type-id-268'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1338' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='value' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1339' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-268' size-in-bits='64' id='type-id-269'/>
+    <pointer-type-def type-id='type-id-270' size-in-bits='64' id='type-id-271'/>
+    <typedef-decl name='eth_xstats_get_t' type-id='type-id-271' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='184' column='1' id='type-id-176'/>
+    <typedef-decl name='eth_xstats_reset_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='213' column='1' id='type-id-177'/>
+    <class-decl name='rte_eth_xstat_name' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1349' column='1' id='type-id-272'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1350' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-272' size-in-bits='64' id='type-id-273'/>
+    <pointer-type-def type-id='type-id-274' size-in-bits='64' id='type-id-275'/>
+    <typedef-decl name='eth_xstats_get_names_t' type-id='type-id-275' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='215' column='1' id='type-id-178'/>
+    <pointer-type-def type-id='type-id-276' size-in-bits='64' id='type-id-277'/>
+    <typedef-decl name='eth_queue_stats_mapping_set_t' type-id='type-id-277' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='224' column='1' id='type-id-179'/>
+    <class-decl name='rte_eth_dev_info' size-in-bits='2560' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1226' column='1' id='type-id-278'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='device' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1227' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='driver_name' type-id='type-id-279' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='if_index' type-id='type-id-43' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='min_mtu' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='max_mtu' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_flags' type-id='type-id-280' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='min_rx_bufsize' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1234' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='max_rx_pktlen' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1235' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='max_lro_pkt_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='max_rx_queues' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='max_tx_queues' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1239' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='max_mac_addrs' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='max_hash_mac_addrs' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1241' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='max_vfs' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1243' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='max_vmdq_pools' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_offload_capa' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_offload_capa' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='rx_queue_offload_capa' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='tx_queue_offload_capa' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='reta_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='hash_key_size' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='flow_type_rss_offloads' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='default_rxconf' type-id='type-id-281' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='default_txconf' type-id='type-id-282' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='vmdq_queue_base' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1744'>
+        <var-decl name='vmdq_queue_num' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1760'>
+        <var-decl name='vmdq_pool_base' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1262' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1776'>
+        <var-decl name='rx_desc_lim' type-id='type-id-283' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1263' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='tx_desc_lim' type-id='type-id-283' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1264' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1952'>
+        <var-decl name='speed_capa' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1265' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='nb_rx_queues' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1267' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2000'>
+        <var-decl name='nb_tx_queues' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1268' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2016'>
+        <var-decl name='default_rxportconf' type-id='type-id-284' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1270' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2064'>
+        <var-decl name='default_txportconf' type-id='type-id-284' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1272' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='dev_capa' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1274' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='switch_info' type-id='type-id-285' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='reserved_64s' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1281' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='reserved_ptrs' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1282' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-286'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-287' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-288' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-289' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-290' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-287'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-291' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-286' size-in-bits='64' id='type-id-16'/>
+    <pointer-type-def type-id='type-id-16' size-in-bits='64' id='type-id-291'/>
+    <qualified-type-def type-id='type-id-53' const='yes' id='type-id-292'/>
+    <pointer-type-def type-id='type-id-292' size-in-bits='64' id='type-id-279'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-293'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-294' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-294'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-295' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-296' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-293' size-in-bits='64' id='type-id-295'/>
+    <pointer-type-def type-id='type-id-295' size-in-bits='64' id='type-id-296'/>
+    <qualified-type-def type-id='type-id-293' const='yes' id='type-id-297'/>
+    <pointer-type-def type-id='type-id-297' size-in-bits='64' id='type-id-288'/>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-298'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-299' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-300' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-301' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-302' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-303' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-304' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-305' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-306' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-307' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-308' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-309' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-310' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-311' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-312' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-299'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-313' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-314' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-298' size-in-bits='64' id='type-id-313'/>
+    <pointer-type-def type-id='type-id-313' size-in-bits='64' id='type-id-314'/>
+    <pointer-type-def type-id='type-id-315' size-in-bits='64' id='type-id-316'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-316' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-300'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-316' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-301'/>
+    <qualified-type-def type-id='type-id-286' const='yes' id='type-id-317'/>
+    <pointer-type-def type-id='type-id-317' size-in-bits='64' id='type-id-318'/>
+    <pointer-type-def type-id='type-id-319' size-in-bits='64' id='type-id-320'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-320' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-321'/>
+    <pointer-type-def type-id='type-id-322' size-in-bits='64' id='type-id-323'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-323' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-302'/>
+    <pointer-type-def type-id='type-id-324' size-in-bits='64' id='type-id-325'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-325' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-303'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-325' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-304'/>
+    <pointer-type-def type-id='type-id-326' size-in-bits='64' id='type-id-327'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-327' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-305'/>
+    <pointer-type-def type-id='type-id-328' size-in-bits='64' id='type-id-329'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-329' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-306'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-329' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-307'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-308'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-330' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-330'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-331'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-332' size-in-bits='64' id='type-id-333'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-333' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-309'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-334'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-313' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-335' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-14' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-336'/>
+    <pointer-type-def type-id='type-id-336' size-in-bits='64' id='type-id-335'/>
+    <qualified-type-def type-id='type-id-334' const='yes' id='type-id-337'/>
+    <pointer-type-def type-id='type-id-337' size-in-bits='64' id='type-id-338'/>
+    <pointer-type-def type-id='type-id-339' size-in-bits='64' id='type-id-340'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-340' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-310'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-325' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-311'/>
+    <pointer-type-def type-id='type-id-341' size-in-bits='64' id='type-id-342'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-342' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-312'/>
+    <qualified-type-def type-id='type-id-298' const='yes' id='type-id-343'/>
+    <pointer-type-def type-id='type-id-343' size-in-bits='64' id='type-id-289'/>
+    <class-decl name='rte_devargs' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='47' column='1' id='type-id-344'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-345' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='type' type-id='type-id-346' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='policy' type-id='type-id-347' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='name' type-id='type-id-92' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='' type-id='type-id-348' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='bus' type-id='type-id-313' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='cls' type-id='type-id-335' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='bus_str' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='cls_str' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='data' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='66' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1' id='type-id-345'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-290' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-349' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-344' size-in-bits='64' id='type-id-290'/>
+    <pointer-type-def type-id='type-id-290' size-in-bits='64' id='type-id-349'/>
+    <enum-decl name='rte_devtype' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='31' column='1' id='type-id-346'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_DEVTYPE_WHITELISTED_PCI' value='0'/>
+      <enumerator name='RTE_DEVTYPE_BLACKLISTED_PCI' value='1'/>
+      <enumerator name='RTE_DEVTYPE_VIRTUAL' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_dev_policy' filepath='../lib/librte_eal/common/include/rte_dev.h' line='72' column='1' id='type-id-347'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_DEV_WHITELISTED' value='0'/>
+      <enumerator name='RTE_DEV_BLACKLISTED' value='1'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='57' column='1' id='type-id-348'>
+      <data-member access='private'>
+        <var-decl name='args' type-id='type-id-350' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='drv_str' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='60' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-350'/>
+    <qualified-type-def type-id='type-id-32' const='yes' id='type-id-351'/>
+    <pointer-type-def type-id='type-id-351' size-in-bits='64' id='type-id-280'/>
+    <class-decl name='rte_eth_rxconf' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='818' column='1' id='type-id-281'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_thresh' type-id='type-id-352' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='819' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='rx_free_thresh' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='820' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='rx_drop_en' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='821' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='rx_deferred_start' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='822' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offloads' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='reserved_64s' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='830' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='reserved_ptrs' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='831' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_thresh' size-in-bits='24' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='327' column='1' id='type-id-352'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pthresh' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='328' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='hthresh' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='329' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='wthresh' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='330' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_txconf' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='837' column='1' id='type-id-282'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tx_thresh' type-id='type-id-352' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tx_rs_thresh' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='839' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='tx_free_thresh' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='840' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tx_deferred_start' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='843' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='offloads' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='849' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='851' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='852' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_desc_lim' size-in-bits='80' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='898' column='1' id='type-id-283'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='899' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='nb_min' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='900' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_align' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='901' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='nb_seg_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='911' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='nb_mtu_seg_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='924' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_portconf' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1189' column='1' id='type-id-284'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='burst_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1190' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='ring_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_queues' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1192' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_switch_info' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1204' column='1' id='type-id-285'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-279' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='domain_id' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1206' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='port_id' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1207' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-278' size-in-bits='64' id='type-id-353'/>
+    <pointer-type-def type-id='type-id-354' size-in-bits='64' id='type-id-355'/>
+    <typedef-decl name='eth_dev_infos_get_t' type-id='type-id-355' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='230' column='1' id='type-id-180'/>
+    <class-decl name='rte_eth_rxq_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1289' column='1' id='type-id-356'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mp' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1290' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='conf' type-id='type-id-281' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1291' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='scattered_rx' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1292' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='nb_desc' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1293' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-356' size-in-bits='64' id='type-id-357'/>
+    <pointer-type-def type-id='type-id-358' size-in-bits='64' id='type-id-359'/>
+    <typedef-decl name='eth_rxq_info_get_t' type-id='type-id-359' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='306' column='1' id='type-id-181'/>
+    <class-decl name='rte_eth_txq_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1300' column='1' id='type-id-360'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='conf' type-id='type-id-282' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1301' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='nb_desc' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1302' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-360' size-in-bits='64' id='type-id-361'/>
+    <pointer-type-def type-id='type-id-362' size-in-bits='64' id='type-id-363'/>
+    <typedef-decl name='eth_txq_info_get_t' type-id='type-id-363' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='309' column='1' id='type-id-182'/>
+    <class-decl name='rte_eth_burst_mode' size-in-bits='8256' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1318' column='1' id='type-id-364'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1319' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='info' type-id='type-id-365' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1322' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-53' size-in-bits='8192' id='type-id-365'>
+      <subrange length='1024' type-id='type-id-37' id='type-id-153'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-364' size-in-bits='64' id='type-id-366'/>
+    <pointer-type-def type-id='type-id-367' size-in-bits='64' id='type-id-368'/>
+    <typedef-decl name='eth_burst_mode_get_t' type-id='type-id-368' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='312' column='1' id='type-id-183'/>
+    <pointer-type-def type-id='type-id-369' size-in-bits='64' id='type-id-370'/>
+    <typedef-decl name='eth_fw_version_get_t' type-id='type-id-370' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='299' column='1' id='type-id-184'/>
+    <pointer-type-def type-id='type-id-371' size-in-bits='64' id='type-id-372'/>
+    <typedef-decl name='eth_dev_supported_ptypes_get_t' type-id='type-id-372' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='234' column='1' id='type-id-185'/>
+    <pointer-type-def type-id='type-id-373' size-in-bits='64' id='type-id-374'/>
+    <typedef-decl name='eth_dev_ptypes_set_t' type-id='type-id-374' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='249' column='1' id='type-id-186'/>
+    <pointer-type-def type-id='type-id-375' size-in-bits='64' id='type-id-376'/>
+    <typedef-decl name='vlan_filter_set_t' type-id='type-id-376' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='318' column='1' id='type-id-187'/>
+    <enum-decl name='rte_vlan_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='416' column='1' id='type-id-377'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='ETH_VLAN_TYPE_UNKNOWN' value='0'/>
+      <enumerator name='ETH_VLAN_TYPE_INNER' value='1'/>
+      <enumerator name='ETH_VLAN_TYPE_OUTER' value='2'/>
+      <enumerator name='ETH_VLAN_TYPE_MAX' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-378' size-in-bits='64' id='type-id-379'/>
+    <typedef-decl name='vlan_tpid_set_t' type-id='type-id-379' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='323' column='1' id='type-id-188'/>
+    <pointer-type-def type-id='type-id-380' size-in-bits='64' id='type-id-381'/>
+    <typedef-decl name='vlan_strip_queue_set_t' type-id='type-id-381' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='335' column='1' id='type-id-189'/>
+    <typedef-decl name='vlan_offload_set_t' type-id='type-id-252' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='327' column='1' id='type-id-190'/>
+    <typedef-decl name='vlan_pvid_set_t' type-id='type-id-376' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='330' column='1' id='type-id-191'/>
+    <typedef-decl name='eth_queue_start_t' type-id='type-id-262' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='252' column='1' id='type-id-192'/>
+    <typedef-decl name='eth_queue_stop_t' type-id='type-id-262' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='256' column='1' id='type-id-193'/>
+    <qualified-type-def type-id='type-id-281' const='yes' id='type-id-382'/>
+    <pointer-type-def type-id='type-id-382' size-in-bits='64' id='type-id-383'/>
+    <pointer-type-def type-id='type-id-384' size-in-bits='64' id='type-id-385'/>
+    <typedef-decl name='eth_rx_queue_setup_t' type-id='type-id-385' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='260' column='1' id='type-id-194'/>
+    <pointer-type-def type-id='type-id-386' size-in-bits='64' id='type-id-387'/>
+    <typedef-decl name='eth_queue_release_t' type-id='type-id-387' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='283' column='1' id='type-id-195'/>
+    <pointer-type-def type-id='type-id-388' size-in-bits='64' id='type-id-389'/>
+    <typedef-decl name='eth_rx_queue_count_t' type-id='type-id-389' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='286' column='1' id='type-id-196'/>
+    <pointer-type-def type-id='type-id-390' size-in-bits='64' id='type-id-391'/>
+    <typedef-decl name='eth_rx_descriptor_done_t' type-id='type-id-391' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='290' column='1' id='type-id-197'/>
+    <typedef-decl name='eth_rx_descriptor_status_t' type-id='type-id-391' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='293' column='1' id='type-id-198'/>
+    <typedef-decl name='eth_tx_descriptor_status_t' type-id='type-id-391' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='296' column='1' id='type-id-199'/>
+    <typedef-decl name='eth_rx_enable_intr_t' type-id='type-id-262' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='275' column='1' id='type-id-200'/>
+    <typedef-decl name='eth_rx_disable_intr_t' type-id='type-id-262' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='279' column='1' id='type-id-201'/>
+    <qualified-type-def type-id='type-id-282' const='yes' id='type-id-392'/>
+    <pointer-type-def type-id='type-id-392' size-in-bits='64' id='type-id-393'/>
+    <pointer-type-def type-id='type-id-394' size-in-bits='64' id='type-id-395'/>
+    <typedef-decl name='eth_tx_queue_setup_t' type-id='type-id-395' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='268' column='1' id='type-id-202'/>
+    <pointer-type-def type-id='type-id-396' size-in-bits='64' id='type-id-397'/>
+    <typedef-decl name='eth_tx_done_cleanup_t' type-id='type-id-397' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='303' column='1' id='type-id-203'/>
+    <typedef-decl name='eth_dev_led_on_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='385' column='1' id='type-id-204'/>
+    <typedef-decl name='eth_dev_led_off_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='388' column='1' id='type-id-205'/>
+    <class-decl name='rte_eth_fc_conf' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='942' column='1' id='type-id-398'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='high_water' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='943' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='low_water' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='944' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pause_time' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='945' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='send_xon' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='946' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='mode' type-id='type-id-399' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='947' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mac_ctrl_frame_fwd' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='948' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='autoneg' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='949' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_fc_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='930' column='1' id='type-id-399'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_FC_NONE' value='0'/>
+      <enumerator name='RTE_FC_RX_PAUSE' value='1'/>
+      <enumerator name='RTE_FC_TX_PAUSE' value='2'/>
+      <enumerator name='RTE_FC_FULL' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-398' size-in-bits='64' id='type-id-400'/>
+    <pointer-type-def type-id='type-id-401' size-in-bits='64' id='type-id-402'/>
+    <typedef-decl name='flow_ctrl_get_t' type-id='type-id-402' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='355' column='1' id='type-id-206'/>
+    <typedef-decl name='flow_ctrl_set_t' type-id='type-id-402' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='359' column='1' id='type-id-207'/>
+    <class-decl name='rte_eth_pfc_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='957' column='1' id='type-id-403'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fc' type-id='type-id-398' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='958' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='priority' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='959' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-403' size-in-bits='64' id='type-id-404'/>
+    <pointer-type-def type-id='type-id-405' size-in-bits='64' id='type-id-406'/>
+    <typedef-decl name='priority_flow_ctrl_set_t' type-id='type-id-406' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='363' column='1' id='type-id-208'/>
+    <pointer-type-def type-id='type-id-407' size-in-bits='64' id='type-id-408'/>
+    <typedef-decl name='eth_uc_hash_table_set_t' type-id='type-id-408' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='404' column='1' id='type-id-209'/>
+    <pointer-type-def type-id='type-id-409' size-in-bits='64' id='type-id-410'/>
+    <typedef-decl name='eth_uc_all_hash_table_set_t' type-id='type-id-410' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='409' column='1' id='type-id-210'/>
+    <class-decl name='rte_eth_mirror_conf' size-in-bits='1216' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='670' column='1' id='type-id-411'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rule_type' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='dst_pool' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='672' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pool_mask' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vlan' type-id='type-id-412' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='675' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vlan_mirror' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='661' column='1' id='type-id-412'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_mask' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='vlan_id' type-id='type-id-413' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='664' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-25' size-in-bits='1024' id='type-id-413'>
+      <subrange length='64' type-id='type-id-37' id='type-id-104'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-411' size-in-bits='64' id='type-id-414'/>
+    <pointer-type-def type-id='type-id-415' size-in-bits='64' id='type-id-416'/>
+    <typedef-decl name='eth_mirror_rule_set_t' type-id='type-id-416' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='418' column='1' id='type-id-211'/>
+    <typedef-decl name='eth_mirror_rule_reset_t' type-id='type-id-410' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='424' column='1' id='type-id-212'/>
+    <class-decl name='rte_eth_udp_tunnel' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1023' column='1' id='type-id-417'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='udp_port' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1024' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='prot_type' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1025' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-417' size-in-bits='64' id='type-id-418'/>
+    <pointer-type-def type-id='type-id-419' size-in-bits='64' id='type-id-420'/>
+    <typedef-decl name='eth_udp_tunnel_port_add_t' type-id='type-id-420' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='428' column='1' id='type-id-213'/>
+    <typedef-decl name='eth_udp_tunnel_port_del_t' type-id='type-id-420' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='432' column='1' id='type-id-214'/>
+    <class-decl name='rte_eth_l2_tunnel_conf' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='751' column='1' id='type-id-421'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='l2_tunnel_type' type-id='type-id-422' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='752' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ether_type' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tunnel_id' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='754' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='vf_id' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='755' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pool' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='756' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_tunnel_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='965' column='1' id='type-id-422'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_TUNNEL_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_TUNNEL_TYPE_VXLAN' value='1'/>
+      <enumerator name='RTE_TUNNEL_TYPE_GENEVE' value='2'/>
+      <enumerator name='RTE_TUNNEL_TYPE_TEREDO' value='3'/>
+      <enumerator name='RTE_TUNNEL_TYPE_NVGRE' value='4'/>
+      <enumerator name='RTE_TUNNEL_TYPE_IP_IN_GRE' value='5'/>
+      <enumerator name='RTE_L2_TUNNEL_TYPE_E_TAG' value='6'/>
+      <enumerator name='RTE_TUNNEL_TYPE_VXLAN_GPE' value='7'/>
+      <enumerator name='RTE_TUNNEL_TYPE_MAX' value='8'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-421' size-in-bits='64' id='type-id-423'/>
+    <pointer-type-def type-id='type-id-424' size-in-bits='64' id='type-id-425'/>
+    <typedef-decl name='eth_l2_tunnel_eth_type_conf_t' type-id='type-id-425' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='494' column='1' id='type-id-215'/>
+    <pointer-type-def type-id='type-id-426' size-in-bits='64' id='type-id-427'/>
+    <typedef-decl name='eth_l2_tunnel_offload_set_t' type-id='type-id-427' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='498' column='1' id='type-id-216'/>
+    <pointer-type-def type-id='type-id-428' size-in-bits='64' id='type-id-429'/>
+    <typedef-decl name='eth_set_queue_rate_limit_t' type-id='type-id-429' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='413' column='1' id='type-id-217'/>
+    <pointer-type-def type-id='type-id-117' size-in-bits='64' id='type-id-430'/>
+    <pointer-type-def type-id='type-id-431' size-in-bits='64' id='type-id-432'/>
+    <typedef-decl name='rss_hash_update_t' type-id='type-id-432' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='377' column='1' id='type-id-218'/>
+    <typedef-decl name='rss_hash_conf_get_t' type-id='type-id-432' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='381' column='1' id='type-id-219'/>
+    <class-decl name='rte_eth_rss_reta_entry64' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='684' column='1' id='type-id-433'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mask' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='685' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='reta' type-id='type-id-413' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='687' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-433' size-in-bits='64' id='type-id-434'/>
+    <pointer-type-def type-id='type-id-435' size-in-bits='64' id='type-id-436'/>
+    <typedef-decl name='reta_update_t' type-id='type-id-436' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='367' column='1' id='type-id-220'/>
+    <typedef-decl name='reta_query_t' type-id='type-id-436' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='372' column='1' id='type-id-221'/>
+    <class-decl name='rte_dev_reg_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='13' column='1' id='type-id-437'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='14' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offset' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='15' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='length' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='16' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='width' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='17' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='version' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='18' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-437' size-in-bits='64' id='type-id-438'/>
+    <pointer-type-def type-id='type-id-439' size-in-bits='64' id='type-id-440'/>
+    <typedef-decl name='eth_get_reg_t' type-id='type-id-440' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='471' column='1' id='type-id-222'/>
+    <typedef-decl name='eth_get_eeprom_length_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='475' column='1' id='type-id-223'/>
+    <class-decl name='rte_dev_eeprom_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='24' column='1' id='type-id-441'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='25' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offset' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='26' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='length' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='27' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='magic' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='28' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-441' size-in-bits='64' id='type-id-442'/>
+    <pointer-type-def type-id='type-id-443' size-in-bits='64' id='type-id-444'/>
+    <typedef-decl name='eth_get_eeprom_t' type-id='type-id-444' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='478' column='1' id='type-id-224'/>
+    <typedef-decl name='eth_set_eeprom_t' type-id='type-id-444' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='482' column='1' id='type-id-225'/>
+    <class-decl name='rte_eth_dev_module_info' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='34' column='1' id='type-id-445'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='eeprom_len' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-445' size-in-bits='64' id='type-id-446'/>
+    <pointer-type-def type-id='type-id-447' size-in-bits='64' id='type-id-448'/>
+    <typedef-decl name='eth_get_module_info_t' type-id='type-id-448' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='486' column='1' id='type-id-226'/>
+    <typedef-decl name='eth_get_module_eeprom_t' type-id='type-id-444' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='490' column='1' id='type-id-227'/>
+    <enum-decl name='rte_filter_type' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='28' column='1' id='type-id-449'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_ETH_FILTER_NONE' value='0'/>
+      <enumerator name='RTE_ETH_FILTER_MACVLAN' value='1'/>
+      <enumerator name='RTE_ETH_FILTER_ETHERTYPE' value='2'/>
+      <enumerator name='RTE_ETH_FILTER_FLEXIBLE' value='3'/>
+      <enumerator name='RTE_ETH_FILTER_SYN' value='4'/>
+      <enumerator name='RTE_ETH_FILTER_NTUPLE' value='5'/>
+      <enumerator name='RTE_ETH_FILTER_TUNNEL' value='6'/>
+      <enumerator name='RTE_ETH_FILTER_FDIR' value='7'/>
+      <enumerator name='RTE_ETH_FILTER_HASH' value='8'/>
+      <enumerator name='RTE_ETH_FILTER_L2_TUNNEL' value='9'/>
+      <enumerator name='RTE_ETH_FILTER_GENERIC' value='10'/>
+      <enumerator name='RTE_ETH_FILTER_MAX' value='11'/>
+    </enum-decl>
+    <enum-decl name='rte_filter_op' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='46' column='1' id='type-id-450'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_ETH_FILTER_NOP' value='0'/>
+      <enumerator name='RTE_ETH_FILTER_ADD' value='1'/>
+      <enumerator name='RTE_ETH_FILTER_UPDATE' value='2'/>
+      <enumerator name='RTE_ETH_FILTER_DELETE' value='3'/>
+      <enumerator name='RTE_ETH_FILTER_FLUSH' value='4'/>
+      <enumerator name='RTE_ETH_FILTER_GET' value='5'/>
+      <enumerator name='RTE_ETH_FILTER_SET' value='6'/>
+      <enumerator name='RTE_ETH_FILTER_INFO' value='7'/>
+      <enumerator name='RTE_ETH_FILTER_STATS' value='8'/>
+      <enumerator name='RTE_ETH_FILTER_OP_MAX' value='9'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-451' size-in-bits='64' id='type-id-452'/>
+    <typedef-decl name='eth_filter_ctrl_t' type-id='type-id-452' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='506' column='1' id='type-id-228'/>
+    <class-decl name='rte_eth_dcb_info' size-in-bits='16520' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1377' column='1' id='type-id-453'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1378' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='prio_tc' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1379' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='tc_bws' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1380' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='tc_queue' type-id='type-id-454' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1382' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dcb_tc_queue_mapping' size-in-bits='16384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1360' column='1' id='type-id-454'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tc_rxq' type-id='type-id-455' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1365' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8192'>
+        <var-decl name='tc_txq' type-id='type-id-455' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1370' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1362' column='1' id='type-id-456'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='base' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1363' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='nb_queue' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1364' column='1'/>
+      </data-member>
+    </class-decl>
+
+
+    <array-type-def dimensions='2' type-id='type-id-456' size-in-bits='1152' id='type-id-455'>
+      <subrange length='64' type-id='type-id-37' id='type-id-104'/>
+
+      <subrange length='8' type-id='type-id-37' id='type-id-126'/>
+
+    </array-type-def>
+
+
+    <pointer-type-def type-id='type-id-453' size-in-bits='64' id='type-id-457'/>
+    <pointer-type-def type-id='type-id-458' size-in-bits='64' id='type-id-459'/>
+    <typedef-decl name='eth_get_dcb_info' type-id='type-id-459' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='518' column='1' id='type-id-229'/>
+    <typedef-decl name='eth_timesync_enable_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='441' column='1' id='type-id-230'/>
+    <typedef-decl name='eth_timesync_disable_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='444' column='1' id='type-id-231'/>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='9' column='1' id='type-id-460'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tv_sec' type-id='type-id-461' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='11' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tv_nsec' type-id='type-id-462' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='long int' size-in-bits='64' id='type-id-463'/>
+    <typedef-decl name='__time_t' type-id='type-id-463' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-461'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-463' filepath='/usr/include/bits/types.h' line='196' column='1' id='type-id-462'/>
+    <pointer-type-def type-id='type-id-460' size-in-bits='64' id='type-id-464'/>
+    <pointer-type-def type-id='type-id-465' size-in-bits='64' id='type-id-466'/>
+    <typedef-decl name='eth_timesync_read_rx_timestamp_t' type-id='type-id-466' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='447' column='1' id='type-id-232'/>
+    <pointer-type-def type-id='type-id-467' size-in-bits='64' id='type-id-468'/>
+    <typedef-decl name='eth_timesync_read_tx_timestamp_t' type-id='type-id-468' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='452' column='1' id='type-id-233'/>
+    <typedef-decl name='__int64_t' type-id='type-id-463' filepath='/usr/include/bits/types.h' line='44' column='1' id='type-id-469'/>
+    <typedef-decl name='int64_t' type-id='type-id-469' filepath='/usr/include/bits/stdint-intn.h' line='27' column='1' id='type-id-470'/>
+    <pointer-type-def type-id='type-id-471' size-in-bits='64' id='type-id-472'/>
+    <typedef-decl name='eth_timesync_adjust_time' type-id='type-id-472' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='456' column='1' id='type-id-234'/>
+    <typedef-decl name='eth_timesync_read_time' type-id='type-id-468' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='459' column='1' id='type-id-235'/>
+    <qualified-type-def type-id='type-id-460' const='yes' id='type-id-473'/>
+    <pointer-type-def type-id='type-id-473' size-in-bits='64' id='type-id-474'/>
+    <pointer-type-def type-id='type-id-475' size-in-bits='64' id='type-id-476'/>
+    <typedef-decl name='eth_timesync_write_time' type-id='type-id-476' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='463' column='1' id='type-id-236'/>
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-477'/>
+    <pointer-type-def type-id='type-id-478' size-in-bits='64' id='type-id-479'/>
+    <typedef-decl name='eth_read_clock' type-id='type-id-479' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='467' column='1' id='type-id-237'/>
+    <qualified-type-def type-id='type-id-31' const='yes' id='type-id-480'/>
+    <pointer-type-def type-id='type-id-480' size-in-bits='64' id='type-id-481'/>
+    <pointer-type-def type-id='type-id-482' size-in-bits='64' id='type-id-483'/>
+    <typedef-decl name='eth_xstats_get_by_id_t' type-id='type-id-483' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='188' column='1' id='type-id-238'/>
+    <pointer-type-def type-id='type-id-484' size-in-bits='64' id='type-id-485'/>
+    <typedef-decl name='eth_xstats_get_names_by_id_t' type-id='type-id-485' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='219' column='1' id='type-id-239'/>
+    <pointer-type-def type-id='type-id-486' size-in-bits='64' id='type-id-487'/>
+    <typedef-decl name='eth_tm_ops_get_t' type-id='type-id-487' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='512' column='1' id='type-id-240'/>
+    <typedef-decl name='eth_mtr_ops_get_t' type-id='type-id-487' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='515' column='1' id='type-id-241'/>
+    <pointer-type-def type-id='type-id-488' size-in-bits='64' id='type-id-489'/>
+    <typedef-decl name='eth_pool_ops_supported_t' type-id='type-id-489' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='522' column='1' id='type-id-242'/>
+    <class-decl name='rte_eth_hairpin_cap' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='861' column='1' id='type-id-490'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max_nb_queues' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='863' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='max_rx_2_tx' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_tx_2_rx' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='867' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='max_nb_desc' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='868' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-490' size-in-bits='64' id='type-id-491'/>
+    <pointer-type-def type-id='type-id-492' size-in-bits='64' id='type-id-493'/>
+    <typedef-decl name='eth_hairpin_cap_get_t' type-id='type-id-493' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='543' column='1' id='type-id-243'/>
+    <class-decl name='rte_eth_hairpin_conf' size-in-bits='1040' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='890' column='1' id='type-id-494'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='peer_count' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='891' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='peers' type-id='type-id-495' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='892' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_hairpin_peer' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='879' column='1' id='type-id-496'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='port' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='880' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='queue' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='881' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-496' size-in-bits='1024' id='type-id-495'>
+      <subrange length='32' type-id='type-id-37' id='type-id-54'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-494' const='yes' id='type-id-497'/>
+    <pointer-type-def type-id='type-id-497' size-in-bits='64' id='type-id-498'/>
+    <pointer-type-def type-id='type-id-499' size-in-bits='64' id='type-id-500'/>
+    <typedef-decl name='eth_rx_hairpin_queue_setup_t' type-id='type-id-500' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='571' column='1' id='type-id-244'/>
+    <typedef-decl name='eth_tx_hairpin_queue_setup_t' type-id='type-id-500' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='601' column='1' id='type-id-245'/>
+    <qualified-type-def type-id='type-id-155' const='yes' id='type-id-501'/>
+    <pointer-type-def type-id='type-id-501' size-in-bits='64' id='type-id-15'/>
+    <class-decl name='rte_intr_handle' size-in-bits='213248' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='69' column='1' id='type-id-502'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-503' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-504' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='max_intr' type-id='type-id-32' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='nb_efd' type-id='type-id-32' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='efd_counter_size' type-id='type-id-99' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='efds' type-id='type-id-505' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16576'>
+        <var-decl name='elist' type-id='type-id-506' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='213184'>
+        <var-decl name='intr_vec' type-id='type-id-507' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='71' column='1' id='type-id-503'>
+      <data-member access='private'>
+        <var-decl name='vfio_dev_fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='uio_cfg_fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='73' column='1'/>
+      </data-member>
+    </union-decl>
+    <enum-decl name='rte_intr_handle_type' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='27' column='1' id='type-id-504'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_INTR_HANDLE_UNKNOWN' value='0'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO' value='1'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO_INTX' value='2'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_LEGACY' value='3'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSI' value='4'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSIX' value='5'/>
+      <enumerator name='RTE_INTR_HANDLE_ALARM' value='6'/>
+      <enumerator name='RTE_INTR_HANDLE_EXT' value='7'/>
+      <enumerator name='RTE_INTR_HANDLE_VDEV' value='8'/>
+      <enumerator name='RTE_INTR_HANDLE_DEV_EVENT' value='9'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_REQ' value='10'/>
+      <enumerator name='RTE_INTR_HANDLE_MAX' value='11'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='16384' id='type-id-505'>
+      <subrange length='512' type-id='type-id-37' id='type-id-508'/>
+
+    </array-type-def>
+    <class-decl name='rte_epoll_event' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='61' column='1' id='type-id-509'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='status' type-id='type-id-510' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='epfd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='epdata' type-id='type-id-511' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-32' volatile='yes' id='type-id-510'/>
+    <class-decl name='rte_epoll_data' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='47' column='1' id='type-id-511'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event' type-id='type-id-32' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='data' type-id='type-id-14' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cb_fun' type-id='type-id-512' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='cb_arg' type-id='type-id-14' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='51' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-513' size-in-bits='64' id='type-id-514'/>
+    <typedef-decl name='rte_intr_event_cb_t' type-id='type-id-514' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='45' column='1' id='type-id-512'/>
+
+    <array-type-def dimensions='1' type-id='type-id-509' size-in-bits='196608' id='type-id-506'>
+      <subrange length='512' type-id='type-id-37' id='type-id-508'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-507'/>
+    <pointer-type-def type-id='type-id-502' size-in-bits='64' id='type-id-17'/>
+    <class-decl name='rte_eth_dev_cb_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1' id='type-id-18'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-515' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-516' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_callback' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-517'/>
+    <pointer-type-def type-id='type-id-517' size-in-bits='64' id='type-id-515'/>
+    <pointer-type-def type-id='type-id-515' size-in-bits='64' id='type-id-516'/>
+    <class-decl name='rte_eth_rxtx_callback' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='758' column='1' id='type-id-518'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-519' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='759' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fn' type-id='type-id-520' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='763' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='param' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='764' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-518' size-in-bits='64' id='type-id-519'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='760' column='1' id='type-id-520'>
+      <data-member access='private'>
+        <var-decl name='rx' type-id='type-id-521' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='761' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='tx' type-id='type-id-522' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='762' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-523' size-in-bits='64' id='type-id-524'/>
+    <typedef-decl name='rte_rx_callback_fn' type-id='type-id-524' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1437' column='1' id='type-id-521'/>
+    <pointer-type-def type-id='type-id-525' size-in-bits='64' id='type-id-526'/>
+    <typedef-decl name='rte_tx_callback_fn' type-id='type-id-526' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1461' column='1' id='type-id-522'/>
+
+    <array-type-def dimensions='1' type-id='type-id-519' size-in-bits='65536' id='type-id-19'>
+      <subrange length='1024' type-id='type-id-37' id='type-id-153'/>
+
+    </array-type-def>
+    <enum-decl name='rte_eth_dev_state' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1467' column='1' id='type-id-20'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_ETH_DEV_UNUSED' value='0'/>
+      <enumerator name='RTE_ETH_DEV_ATTACHED' value='1'/>
+      <enumerator name='RTE_ETH_DEV_REMOVED' value='2'/>
+    </enum-decl>
+    <class-decl name='rte_flow_attr' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='75' column='1' id='type-id-527'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='group' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='priority' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='ingress' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='egress' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='transfer' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='98' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='reserved' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='99' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-527' const='yes' id='type-id-528'/>
+    <pointer-type-def type-id='type-id-528' size-in-bits='64' id='type-id-529'/>
+    <class-decl name='rte_flow_item' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1517' column='1' id='type-id-530'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-531' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1518' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='spec' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1519' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='last' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='mask' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1521' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_item_type' filepath='../lib/librte_ethdev/rte_flow.h' line='118' column='1' id='type-id-531'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_END' value='0'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VOID' value='1'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_INVERT' value='2'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ANY' value='3'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PF' value='4'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VF' value='5'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PHY_PORT' value='6'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PORT_ID' value='7'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_RAW' value='8'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ETH' value='9'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VLAN' value='10'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV4' value='11'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV6' value='12'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP' value='13'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_UDP' value='14'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_TCP' value='15'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_SCTP' value='16'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VXLAN' value='17'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_E_TAG' value='18'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_NVGRE' value='19'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_MPLS' value='20'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GRE' value='21'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_FUZZY' value='22'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTP' value='23'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTPC' value='24'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTPU' value='25'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ESP' value='26'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GENEVE' value='27'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VXLAN_GPE' value='28'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ARP_ETH_IPV4' value='29'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV6_EXT' value='30'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6' value='31'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_NS' value='32'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_NA' value='33'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT' value='34'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT_SLA_ETH' value='35'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT_TLA_ETH' value='36'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_MARK' value='37'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_META' value='38'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GRE_KEY' value='39'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTP_PSC' value='40'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOES' value='41'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOED' value='42'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOE_PROTO_ID' value='43'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_NSH' value='44'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IGMP' value='45'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_AH' value='46'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_HIGIG2' value='47'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_TAG' value='48'/>
+    </enum-decl>
+    <qualified-type-def type-id='type-id-530' const='yes' id='type-id-532'/>
+    <pointer-type-def type-id='type-id-532' size-in-bits='64' id='type-id-533'/>
+    <class-decl name='rte_flow_action' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2568' column='1' id='type-id-534'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-535' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2569' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='conf' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2570' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_action_type' filepath='../lib/librte_ethdev/rte_flow.h' line='1550' column='1' id='type-id-535'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_END' value='0'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VOID' value='1'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PASSTHRU' value='2'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_JUMP' value='3'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_MARK' value='4'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_FLAG' value='5'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_QUEUE' value='6'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DROP' value='7'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_COUNT' value='8'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RSS' value='9'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PF' value='10'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VF' value='11'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PHY_PORT' value='12'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PORT_ID' value='13'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_METER' value='14'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SECURITY' value='15'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_MPLS_TTL' value='16'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_DEC_MPLS_TTL' value='17'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_NW_TTL' value='18'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_DEC_NW_TTL' value='19'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_OUT' value='20'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_IN' value='21'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_POP_VLAN' value='22'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_PUSH_VLAN' value='23'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_VID' value='24'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_PCP' value='25'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_POP_MPLS' value='26'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_PUSH_MPLS' value='27'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VXLAN_ENCAP' value='28'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VXLAN_DECAP' value='29'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_NVGRE_ENCAP' value='30'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_NVGRE_DECAP' value='31'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RAW_ENCAP' value='32'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RAW_DECAP' value='33'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV4_SRC' value='34'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV4_DST' value='35'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV6_SRC' value='36'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV6_DST' value='37'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TP_SRC' value='38'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TP_DST' value='39'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_MAC_SWAP' value='40'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TTL' value='41'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TTL' value='42'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_MAC_SRC' value='43'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_MAC_DST' value='44'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_INC_TCP_SEQ' value='45'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TCP_SEQ' value='46'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_INC_TCP_ACK' value='47'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TCP_ACK' value='48'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TAG' value='49'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_META' value='50'/>
+    </enum-decl>
+    <qualified-type-def type-id='type-id-534' const='yes' id='type-id-536'/>
+    <pointer-type-def type-id='type-id-536' size-in-bits='64' id='type-id-537'/>
+    <class-decl name='rte_flow_error' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2618' column='1' id='type-id-538'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-539' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2619' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='cause' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2620' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='message' type-id='type-id-279' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2621' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_error_type' filepath='../lib/librte_ethdev/rte_flow.h' line='2587' column='1' id='type-id-539'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_UNSPECIFIED' value='1'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_HANDLE' value='2'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_GROUP' value='3'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_PRIORITY' value='4'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_INGRESS' value='5'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_EGRESS' value='6'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_TRANSFER' value='7'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR' value='8'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_NUM' value='9'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_SPEC' value='10'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_LAST' value='11'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_MASK' value='12'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM' value='13'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION_NUM' value='14'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION_CONF' value='15'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION' value='16'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-538' size-in-bits='64' id='type-id-540'/>
+    <pointer-type-def type-id='type-id-541' size-in-bits='64' id='type-id-3'/>
+    <class-decl name='rte_flow' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/hinic/hinic_pmd_ethdev.h' line='132' column='1' id='type-id-542'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='filter_type' type-id='type-id-449' visibility='default' filepath='../drivers/net/hinic/hinic_pmd_ethdev.h' line='133' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rule' type-id='type-id-14' visibility='default' filepath='../drivers/net/hinic/hinic_pmd_ethdev.h' line='134' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-542' size-in-bits='64' id='type-id-543'/>
+    <pointer-type-def type-id='type-id-544' size-in-bits='64' id='type-id-4'/>
+    <pointer-type-def type-id='type-id-545' size-in-bits='64' id='type-id-5'/>
+    <pointer-type-def type-id='type-id-546' size-in-bits='64' id='type-id-6'/>
+    <pointer-type-def type-id='type-id-547' size-in-bits='64' id='type-id-7'/>
+    <pointer-type-def type-id='type-id-548' size-in-bits='64' id='type-id-8'/>
+    <qualified-type-def type-id='type-id-2' const='yes' id='type-id-549'/>
+    <var-decl name='hinic_flow_ops' type-id='type-id-549' visibility='default' filepath='../drivers/net/hinic/hinic_pmd_ethdev.h' line='148' column='1'/>
+    <function-type size-in-bits='64' id='type-id-371'>
+      <parameter type-id='type-id-246'/>
+      <return type-id='type-id-280'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-332'>
+      <return type-id='type-id-331'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-315'>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-326'>
+      <parameter type-id='type-id-279'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-319'>
+      <parameter type-id='type-id-318'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-324'>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-328'>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-31'/>
+      <parameter type-id='type-id-57'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-247'>
+      <parameter type-id='type-id-246'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-369'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-350'/>
+      <parameter type-id='type-id-57'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-488'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-279'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-541'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-529'/>
+      <parameter type-id='type-id-533'/>
+      <parameter type-id='type-id-537'/>
+      <parameter type-id='type-id-540'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-475'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-474'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-482'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-481'/>
+      <parameter type-id='type-id-477'/>
+      <parameter type-id='type-id-43'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-451'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-449'/>
+      <parameter type-id='type-id-450'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-378'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-377'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-251'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-548'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-540'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-443'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-442'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-439'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-438'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-458'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-457'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-354'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-353'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-447'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-446'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-401'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-400'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-492'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-491'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-424'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-423'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-426'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-32'/>
+      <parameter type-id='type-id-99'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-415'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-414'/>
+      <parameter type-id='type-id-99'/>
+      <parameter type-id='type-id-99'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-405'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-404'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-431'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-430'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-435'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-434'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-266'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-265'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-419'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-418'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-270'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-43'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-484'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-273'/>
+      <parameter type-id='type-id-481'/>
+      <parameter type-id='type-id-43'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-274'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-273'/>
+      <parameter type-id='type-id-43'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-257'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-97'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-259'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-97'/>
+      <parameter type-id='type-id-32'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-255'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-97'/>
+      <parameter type-id='type-id-32'/>
+      <parameter type-id='type-id-32'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-407'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-97'/>
+      <parameter type-id='type-id-99'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-547'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-543'/>
+      <parameter type-id='type-id-537'/>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-540'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-545'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-543'/>
+      <parameter type-id='type-id-540'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-546'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-540'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-467'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-464'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-465'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-464'/>
+      <parameter type-id='type-id-32'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-471'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-470'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-261'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-375'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-367'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-366'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-428'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-499'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-498'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-384'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-383'/>
+      <parameter type-id='type-id-33'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-394'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-393'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-276'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-99'/>
+      <parameter type-id='type-id-99'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-373'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-32'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-409'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-99'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-478'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-477'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-486'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-341'>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-390'>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-396'>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-32'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-322'>
+      <parameter type-id='type-id-318'/>
+      <parameter type-id='type-id-321'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-544'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-529'/>
+      <parameter type-id='type-id-533'/>
+      <parameter type-id='type-id-537'/>
+      <parameter type-id='type-id-540'/>
+      <return type-id='type-id-543'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-523'>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-88'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-25'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-525'>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-88'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-25'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-89'>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-88'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-25'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-388'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-513'>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-249'>
+      <parameter type-id='type-id-246'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-380'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-358'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-357'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-362'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-361'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-253'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-32'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-75'>
+      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-386'>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-80'>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-339'>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-279'/>
+      <parameter type-id='type-id-338'/>
+      <return type-id='type-id-14'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_hns3.dump b/drivers/.abi/librte_pmd_hns3.dump
new file mode 100644
index 000000000..76e0333e3
--- /dev/null
+++ b/drivers/.abi/librte_pmd_hns3.dump
@@ -0,0 +1,28 @@
+<abi-corpus path='gcc//drivers/librte_pmd_hns3.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_hns3.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/hns3/hns3_ethdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='hns3_logtype_init' type-id='type-id-1' visibility='default' filepath='../drivers/net/hns3/hns3_logs.h' line='8' column='1'/>
+    <var-decl name='hns3_logtype_driver' type-id='type-id-1' visibility='default' filepath='../drivers/net/hns3/hns3_logs.h' line='14' column='1'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_iavf.dump b/drivers/.abi/librte_pmd_iavf.dump
new file mode 100644
index 000000000..4fa2f0a0b
--- /dev/null
+++ b/drivers/.abi/librte_pmd_iavf.dump
@@ -0,0 +1,71 @@
+<abi-corpus path='gcc//drivers/librte_pmd_iavf.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_iavf.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/iavf/base/iavf_common.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='iavf_rx_ptype_decoded' size-in-bits='32' is-struct='yes' visibility='default' filepath='../drivers/net/iavf/base/iavf_type.h' line='920' column='1' id='type-id-1'>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='ptype' type-id='type-id-2' visibility='default' filepath='../drivers/net/iavf/base/iavf_type.h' line='921' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='23'>
+        <var-decl name='known' type-id='type-id-2' visibility='default' filepath='../drivers/net/iavf/base/iavf_type.h' line='922' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='22'>
+        <var-decl name='outer_ip' type-id='type-id-2' visibility='default' filepath='../drivers/net/iavf/base/iavf_type.h' line='923' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='21'>
+        <var-decl name='outer_ip_ver' type-id='type-id-2' visibility='default' filepath='../drivers/net/iavf/base/iavf_type.h' line='924' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='20'>
+        <var-decl name='outer_frag' type-id='type-id-2' visibility='default' filepath='../drivers/net/iavf/base/iavf_type.h' line='925' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='17'>
+        <var-decl name='tunnel_type' type-id='type-id-2' visibility='default' filepath='../drivers/net/iavf/base/iavf_type.h' line='926' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='15'>
+        <var-decl name='tunnel_end_prot' type-id='type-id-2' visibility='default' filepath='../drivers/net/iavf/base/iavf_type.h' line='927' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='14'>
+        <var-decl name='tunnel_end_frag' type-id='type-id-2' visibility='default' filepath='../drivers/net/iavf/base/iavf_type.h' line='928' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='10'>
+        <var-decl name='inner_prot' type-id='type-id-2' visibility='default' filepath='../drivers/net/iavf/base/iavf_type.h' line='929' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='payload_layer' type-id='type-id-2' visibility='default' filepath='../drivers/net/iavf/base/iavf_type.h' line='930' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-3'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-3' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-4'/>
+    <typedef-decl name='uint32_t' type-id='type-id-4' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-5'/>
+    <typedef-decl name='u32' type-id='type-id-5' filepath='../drivers/net/iavf/base/iavf_osdep.h' line='32' column='1' id='type-id-2'/>
+
+    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='infinite' id='type-id-6'>
+      <subrange length='infinite' id='type-id-7'/>
+
+    </array-type-def>
+    <var-decl name='iavf_ptype_lookup' type-id='type-id-6' visibility='default' filepath='../drivers/net/iavf/base/iavf_prototype.h' line='67' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/iavf/iavf_ethdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-8'/>
+    <var-decl name='iavf_logtype_init' type-id='type-id-8' visibility='default' filepath='../drivers/net/iavf/iavf_log.h' line='8' column='1'/>
+    <var-decl name='iavf_logtype_driver' type-id='type-id-8' visibility='default' filepath='../drivers/net/iavf/iavf_log.h' line='14' column='1'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_ifc.dump b/drivers/.abi/librte_pmd_ifc.dump
new file mode 100644
index 000000000..f2ed9b09e
--- /dev/null
+++ b/drivers/.abi/librte_pmd_ifc.dump
@@ -0,0 +1,24 @@
+<abi-corpus path='gcc//drivers/librte_pmd_ifc.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_ifc.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='librte_vhost.so.20.0'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+  </elf-needed>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_kni.dump b/drivers/.abi/librte_pmd_kni.dump
new file mode 100644
index 000000000..6daa7bfab
--- /dev/null
+++ b/drivers/.abi/librte_pmd_kni.dump
@@ -0,0 +1,22 @@
+<abi-corpus path='gcc//drivers/librte_pmd_kni.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_kni.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='librte_kni.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+  </elf-needed>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_lio.dump b/drivers/.abi/librte_pmd_lio.dump
new file mode 100644
index 000000000..82201552d
--- /dev/null
+++ b/drivers/.abi/librte_pmd_lio.dump
@@ -0,0 +1,11 @@
+<abi-corpus path='tmp_abi_sofiles//drivers/librte_pmd_lio.so.20.0.0' architecture='elf-amd-x86_64' soname='librte_pmd_lio.so.20.0'>
+  <elf-needed>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_liquidio.dump b/drivers/.abi/librte_pmd_liquidio.dump
new file mode 100644
index 000000000..e7cadccd8
--- /dev/null
+++ b/drivers/.abi/librte_pmd_liquidio.dump
@@ -0,0 +1,27 @@
+<abi-corpus path='gcc//drivers/librte_pmd_liquidio.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_liquidio.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/liquidio/lio_ethdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='lio_logtype_init' type-id='type-id-1' visibility='default' filepath='../drivers/net/liquidio/lio_logs.h' line='19' column='1'/>
+    <var-decl name='lio_logtype_driver' type-id='type-id-1' visibility='default' filepath='../drivers/net/liquidio/lio_logs.h' line='8' column='1'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_memif.dump b/drivers/.abi/librte_pmd_memif.dump
new file mode 100644
index 000000000..58d589aa6
--- /dev/null
+++ b/drivers/.abi/librte_pmd_memif.dump
@@ -0,0 +1,27 @@
+<abi-corpus path='gcc//drivers/librte_pmd_memif.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_memif.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/memif/rte_eth_memif.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='memif_logtype' type-id='type-id-1' visibility='default' filepath='../drivers/net/memif/rte_eth_memif.h' line='32' column='1'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_mlx4.dump b/drivers/.abi/librte_pmd_mlx4.dump
new file mode 100644
index 000000000..bdc0938e0
--- /dev/null
+++ b/drivers/.abi/librte_pmd_mlx4.dump
@@ -0,0 +1,2207 @@
+<abi-corpus path='gcc//drivers/librte_pmd_mlx4.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_mlx4.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libmlx4.so.1'/>
+    <dependency name='libibverbs.so.1'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/mlx4/mlx4.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='mlx4_shared_data' size-in-bits='256' is-struct='yes' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='126' column='1' id='type-id-1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='lock' type-id='type-id-2' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='127' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='init_done' type-id='type-id-3' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='129' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='secondary_cnt' type-id='type-id-4' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='130' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mem_event_cb_list' type-id='type-id-5' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='131' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='mem_event_rwlock' type-id='type-id-6' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='132' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-2' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_spinlock.h' line='30' column='1' id='type-id-7'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='locked' type-id='type-id-8' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_spinlock.h' line='31' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='int' size-in-bits='32' id='type-id-3'/>
+    <qualified-type-def type-id='type-id-3' volatile='yes' id='type-id-8'/>
+    <typedef-decl name='rte_spinlock_t' type-id='type-id-7' filepath='../lib/librte_eal/common/include/generic/rte_spinlock.h' line='32' column='1' id='type-id-2'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-4'/>
+    <class-decl name='mlx4_dev_list' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='122' column='1' id='type-id-5'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='lh_first' type-id='type-id-9' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='122' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='mlx4_priv' size-in-bits='222528' is-struct='yes' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='154' column='1' id='type-id-10'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mem_event_cb' type-id='type-id-11' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='155' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dev_data' type-id='type-id-12' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='157' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ctx' type-id='type-id-13' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='158' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='device_attr' type-id='type-id-14' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='159' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='pd' type-id='type-id-15' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='160' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='if_index' type-id='type-id-4' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='162' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2208'>
+        <var-decl name='mtu' type-id='type-id-16' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='163' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2224'>
+        <var-decl name='port' type-id='type-id-17' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='164' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='started' type-id='type-id-18' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='165' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='vf' type-id='type-id-18' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='166' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='intr_alarm' type-id='type-id-18' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='167' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4'>
+        <var-decl name='isolated' type-id='type-id-18' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='168' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3'>
+        <var-decl name='rss_init' type-id='type-id-18' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='169' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2'>
+        <var-decl name='hw_csum' type-id='type-id-18' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='170' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1'>
+        <var-decl name='hw_csum_l2tun' type-id='type-id-18' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2208'>
+        <var-decl name='hw_fcs_strip' type-id='type-id-18' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='172' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='tso' type-id='type-id-18' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='173' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='mr_ext_memseg_en' type-id='type-id-18' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='174' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2272'>
+        <var-decl name='tso_max_payload_sz' type-id='type-id-18' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='176' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='hw_rss_max_qps' type-id='type-id-18' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='177' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='hw_rss_sup' type-id='type-id-19' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='178' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='intr_handle' type-id='type-id-20' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='179' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='215680'>
+        <var-decl name='drop' type-id='type-id-21' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='180' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='215744'>
+        <var-decl name='mr' type-id='type-id-22' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='216064'>
+        <var-decl name='rss' type-id='type-id-23' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='216128'>
+        <var-decl name='flows' type-id='type-id-24' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='189' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='216192'>
+        <var-decl name='mac' type-id='type-id-25' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='190' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='222336'>
+        <var-decl name='mac_mc' type-id='type-id-18' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='192' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='222400'>
+        <var-decl name='verbs_alloc_ctx' type-id='type-id-26' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='193' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='155' column='1' id='type-id-11'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='le_next' type-id='type-id-9' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='155' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='le_prev' type-id='type-id-27' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='155' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-9'/>
+    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-27'/>
+    <class-decl name='rte_eth_dev_data' size-in-bits='55808' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='820' column='1' id='type-id-28'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='821' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_queues' type-id='type-id-30' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='823' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_queues' type-id='type-id-30' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='824' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='nb_rx_queues' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='825' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='656'>
+        <var-decl name='nb_tx_queues' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='826' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='sriov' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='dev_private' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='830' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_link' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='835' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dev_conf' type-id='type-id-34' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='836' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25536'>
+        <var-decl name='mtu' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='837' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25568'>
+        <var-decl name='min_rx_buf_size' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25600'>
+        <var-decl name='rx_mbuf_alloc_failed' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='841' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25664'>
+        <var-decl name='mac_addrs' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='842' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25728'>
+        <var-decl name='mac_pool_sel' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='846' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='33920'>
+        <var-decl name='hash_mac_addrs' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='848' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='33984'>
+        <var-decl name='port_id' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='852' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='promiscuous' type-id='type-id-17' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='855' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='scattered_rx' type-id='type-id-17' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='856' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='all_multicast' type-id='type-id-17' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='857' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4'>
+        <var-decl name='dev_started' type-id='type-id-17' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='858' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3'>
+        <var-decl name='lro' type-id='type-id-17' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='859' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='34008'>
+        <var-decl name='rx_queue_state' type-id='type-id-37' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='860' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='42200'>
+        <var-decl name='tx_queue_state' type-id='type-id-37' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='862' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50400'>
+        <var-decl name='dev_flags' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='864' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50432'>
+        <var-decl name='kdrv' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50464'>
+        <var-decl name='numa_node' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='866' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50496'>
+        <var-decl name='vlan_filter_conf' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='867' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='54592'>
+        <var-decl name='owner' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='869' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55168'>
+        <var-decl name='representor_id' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='870' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55232'>
+        <var-decl name='reserved_64s' type-id='type-id-41' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='875' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55488'>
+        <var-decl name='reserved_ptrs' type-id='type-id-42' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='876' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-43'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-44'/>
+
+    <array-type-def dimensions='1' type-id='type-id-43' size-in-bits='512' id='type-id-29'>
+      <subrange length='64' type-id='type-id-44' id='type-id-45'/>
+
+    </array-type-def>
+    <type-decl name='void' id='type-id-46'/>
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-32'/>
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-30'/>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-47'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-47' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-48'/>
+    <typedef-decl name='uint16_t' type-id='type-id-48' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-16'/>
+    <class-decl name='rte_eth_dev_sriov' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1476' column='1' id='type-id-31'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='active' type-id='type-id-17' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1477' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='nb_q_per_pool' type-id='type-id-17' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1478' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='def_vmdq_idx' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1479' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='def_pool_q_idx' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1480' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-49'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-49' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-50'/>
+    <typedef-decl name='uint8_t' type-id='type-id-50' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-17'/>
+    <class-decl name='rte_eth_link' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='308' column='1' id='type-id-33'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_speed' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='309' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='15'>
+        <var-decl name='link_duplex' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='310' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='14'>
+        <var-decl name='link_autoneg' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='311' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='13'>
+        <var-decl name='link_status' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='312' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='__uint32_t' type-id='type-id-4' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-51'/>
+    <typedef-decl name='uint32_t' type-id='type-id-51' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-18'/>
+    <class-decl name='rte_eth_conf' size-in-bits='24640' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1045' column='1' id='type-id-34'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_speeds' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1046' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rxmode' type-id='type-id-52' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1053' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='txmode' type-id='type-id-53' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1054' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='lpbk_mode' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1055' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='rx_adv_conf' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1068' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='17984'>
+        <var-decl name='tx_adv_conf' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1076' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18080'>
+        <var-decl name='dcb_capability_en' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1079' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18112'>
+        <var-decl name='fdir_conf' type-id='type-id-56' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1080' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24576'>
+        <var-decl name='intr_conf' type-id='type-id-57' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1081' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rxmode' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='394' column='1' id='type-id-52'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mq_mode' type-id='type-id-58' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='396' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_rx_pkt_len' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='397' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='max_lro_pkt_size' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='399' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='split_hdr_size' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='400' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='offloads' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='406' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-59' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='408' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-60' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='409' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-61'/>
+    <enum-decl name='rte_eth_rx_mq_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='344' column='1' id='type-id-58'>
+      <underlying-type type-id='type-id-61'/>
+      <enumerator name='ETH_MQ_RX_NONE' value='0'/>
+      <enumerator name='ETH_MQ_RX_RSS' value='1'/>
+      <enumerator name='ETH_MQ_RX_DCB' value='2'/>
+      <enumerator name='ETH_MQ_RX_DCB_RSS' value='3'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_ONLY' value='4'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_RSS' value='5'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_DCB' value='6'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_DCB_RSS' value='7'/>
+    </enum-decl>
+    <typedef-decl name='__uint64_t' type-id='type-id-44' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-62'/>
+    <typedef-decl name='uint64_t' type-id='type-id-62' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-19'/>
+
+    <array-type-def dimensions='1' type-id='type-id-19' size-in-bits='128' id='type-id-59'>
+      <subrange length='2' type-id='type-id-44' id='type-id-63'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-32' size-in-bits='128' id='type-id-60'>
+      <subrange length='2' type-id='type-id-44' id='type-id-63'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_txmode' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='792' column='1' id='type-id-53'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mq_mode' type-id='type-id-64' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='793' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offloads' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='799' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pvid' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='hw_vlan_reject_tagged' type-id='type-id-17' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='hw_vlan_reject_untagged' type-id='type-id-17' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='806' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='hw_vlan_insert_pvid' type-id='type-id-17' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='808' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-59' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='811' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-60' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='812' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_tx_mq_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='377' column='1' id='type-id-64'>
+      <underlying-type type-id='type-id-61'/>
+      <enumerator name='ETH_MQ_TX_NONE' value='0'/>
+      <enumerator name='ETH_MQ_TX_DCB' value='1'/>
+      <enumerator name='ETH_MQ_TX_VMDQ_DCB' value='2'/>
+      <enumerator name='ETH_MQ_TX_VMDQ_ONLY' value='3'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16960' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1060' column='1' id='type-id-54'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rss_conf' type-id='type-id-65' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1061' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='vmdq_dcb_conf' type-id='type-id-66' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1062' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8512'>
+        <var-decl name='dcb_rx_conf' type-id='type-id-67' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1064' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8640'>
+        <var-decl name='vmdq_rx_conf' type-id='type-id-68' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1066' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rss_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='448' column='1' id='type-id-65'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rss_key' type-id='type-id-69' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rss_key_len' type-id='type-id-17' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rss_hf' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='451' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-69'/>
+    <class-decl name='rte_eth_vmdq_dcb_conf' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='745' column='1' id='type-id-66'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-70' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='746' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='enable_default_pool' type-id='type-id-17' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='default_pool' type-id='type-id-17' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='748' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='nb_pool_maps' type-id='type-id-17' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='749' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pool_map' type-id='type-id-71' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8256'>
+        <var-decl name='dcb_tc' type-id='type-id-72' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='754' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_nb_pools' filepath='../lib/librte_ethdev/rte_ethdev.h' line='704' column='1' id='type-id-70'>
+      <underlying-type type-id='type-id-61'/>
+      <enumerator name='ETH_8_POOLS' value='8'/>
+      <enumerator name='ETH_16_POOLS' value='16'/>
+      <enumerator name='ETH_32_POOLS' value='32'/>
+      <enumerator name='ETH_64_POOLS' value='64'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='750' column='1' id='type-id-73'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_id' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='751' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pools' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='752' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-73' size-in-bits='8192' id='type-id-71'>
+      <subrange length='64' type-id='type-id-44' id='type-id-45'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-17' size-in-bits='64' id='type-id-72'>
+      <subrange length='8' type-id='type-id-44' id='type-id-74'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_dcb_rx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='712' column='1' id='type-id-67'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-75' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-72' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='715' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_nb_tcs' filepath='../lib/librte_ethdev/rte_ethdev.h' line='695' column='1' id='type-id-75'>
+      <underlying-type type-id='type-id-61'/>
+      <enumerator name='ETH_4_TCS' value='4'/>
+      <enumerator name='ETH_8_TCS' value='8'/>
+    </enum-decl>
+    <class-decl name='rte_eth_vmdq_rx_conf' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='776' column='1' id='type-id-68'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-70' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='777' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='enable_default_pool' type-id='type-id-17' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='778' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='default_pool' type-id='type-id-17' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='enable_loop_back' type-id='type-id-17' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='nb_pool_maps' type-id='type-id-17' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='781' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rx_mode' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='782' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pool_map' type-id='type-id-71' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='786' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <union-decl name='__anonymous_union__' size-in-bits='96' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1069' column='1' id='type-id-55'>
+      <data-member access='private'>
+        <var-decl name='vmdq_dcb_tx_conf' type-id='type-id-76' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1070' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dcb_tx_conf' type-id='type-id-77' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1072' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='vmdq_tx_conf' type-id='type-id-78' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1074' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_eth_vmdq_dcb_tx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='718' column='1' id='type-id-76'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-70' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-72' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='721' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dcb_tx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='724' column='1' id='type-id-77'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-75' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-72' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='727' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vmdq_tx_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='730' column='1' id='type-id-78'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-70' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='731' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_fdir_conf' size-in-bits='6464' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1005' column='1' id='type-id-56'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mode' type-id='type-id-79' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1006' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='pballoc' type-id='type-id-80' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1007' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='status' type-id='type-id-81' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1008' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='drop_queue' type-id='type-id-17' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1010' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mask' type-id='type-id-82' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1011' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='flex_conf' type-id='type-id-83' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1012' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_fdir_mode' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='603' column='1' id='type-id-79'>
+      <underlying-type type-id='type-id-61'/>
+      <enumerator name='RTE_FDIR_MODE_NONE' value='0'/>
+      <enumerator name='RTE_FDIR_MODE_SIGNATURE' value='1'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT' value='2'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT_MAC_VLAN' value='3'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT_TUNNEL' value='4'/>
+    </enum-decl>
+    <enum-decl name='rte_fdir_pballoc_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='984' column='1' id='type-id-80'>
+      <underlying-type type-id='type-id-61'/>
+      <enumerator name='RTE_FDIR_PBALLOC_64K' value='0'/>
+      <enumerator name='RTE_FDIR_PBALLOC_128K' value='1'/>
+      <enumerator name='RTE_FDIR_PBALLOC_256K' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_fdir_status_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='993' column='1' id='type-id-81'>
+      <underlying-type type-id='type-id-61'/>
+      <enumerator name='RTE_FDIR_NO_REPORT_STATUS' value='0'/>
+      <enumerator name='RTE_FDIR_REPORT_STATUS' value='1'/>
+      <enumerator name='RTE_FDIR_REPORT_STATUS_ALWAYS' value='2'/>
+    </enum-decl>
+    <class-decl name='rte_eth_fdir_masks' size-in-bits='544' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='533' column='1' id='type-id-82'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_tci_mask' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='534' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ipv4_mask' type-id='type-id-84' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='536' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ipv6_mask' type-id='type-id-85' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='538' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='src_port_mask' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='540' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='dst_port_mask' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='542' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='mac_addr_byte_mask' type-id='type-id-17' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='545' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='tunnel_id_mask' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='547' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='tunnel_type_mask' type-id='type-id-17' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='548' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_ipv4_flow' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='342' column='1' id='type-id-84'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='343' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dst_ip' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='344' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tos' type-id='type-id-17' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='345' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='ttl' type-id='type-id-17' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='346' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='proto' type-id='type-id-17' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='347' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_ipv6_flow' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='381' column='1' id='type-id-85'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-86' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='382' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dst_ip' type-id='type-id-86' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='383' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='tc' type-id='type-id-17' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='384' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='264'>
+        <var-decl name='proto' type-id='type-id-17' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='385' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='272'>
+        <var-decl name='hop_limits' type-id='type-id-17' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='386' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-18' size-in-bits='128' id='type-id-86'>
+      <subrange length='4' type-id='type-id-44' id='type-id-87'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_fdir_flex_conf' size-in-bits='5792' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='591' column='1' id='type-id-83'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_payloads' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='592' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='nb_flexmasks' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='593' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flex_set' type-id='type-id-88' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='594' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2336'>
+        <var-decl name='flex_mask' type-id='type-id-89' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='596' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_flex_payload_cfg' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='568' column='1' id='type-id-90'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-91' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='569' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='src_offset' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='570' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_payload_type' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='555' column='1' id='type-id-91'>
+      <underlying-type type-id='type-id-61'/>
+      <enumerator name='RTE_ETH_PAYLOAD_UNKNOWN' value='0'/>
+      <enumerator name='RTE_ETH_RAW_PAYLOAD' value='1'/>
+      <enumerator name='RTE_ETH_L2_PAYLOAD' value='2'/>
+      <enumerator name='RTE_ETH_L3_PAYLOAD' value='3'/>
+      <enumerator name='RTE_ETH_L4_PAYLOAD' value='4'/>
+      <enumerator name='RTE_ETH_PAYLOAD_MAX' value='8'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='256' id='type-id-92'>
+      <subrange length='16' type-id='type-id-44' id='type-id-93'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-90' size-in-bits='2304' id='type-id-88'>
+      <subrange length='8' type-id='type-id-44' id='type-id-74'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_fdir_flex_mask' size-in-bits='144' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='581' column='1' id='type-id-94'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flow_type' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='582' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='mask' type-id='type-id-95' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='583' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-17' size-in-bits='128' id='type-id-95'>
+      <subrange length='16' type-id='type-id-44' id='type-id-93'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-94' size-in-bits='3456' id='type-id-89'>
+      <subrange length='24' type-id='type-id-44' id='type-id-96'/>
+
+    </array-type-def>
+    <class-decl name='rte_intr_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1031' column='1' id='type-id-57'>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='lsc' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1033' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='rxq' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1035' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='rmv' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1037' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_ether_addr' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='60' column='1' id='type-id-97'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr_bytes' type-id='type-id-98' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='61' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-17' size-in-bits='48' id='type-id-98'>
+      <subrange length='6' type-id='type-id-44' id='type-id-99'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-97' size-in-bits='64' id='type-id-35'/>
+
+    <array-type-def dimensions='1' type-id='type-id-19' size-in-bits='8192' id='type-id-36'>
+      <subrange length='128' type-id='type-id-44' id='type-id-100'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-17' size-in-bits='8192' id='type-id-37'>
+      <subrange length='1024' type-id='type-id-44' id='type-id-101'/>
+
+    </array-type-def>
+    <enum-decl name='rte_kernel_driver' filepath='../lib/librte_eal/common/include/rte_dev.h' line='60' column='1' id='type-id-38'>
+      <underlying-type type-id='type-id-61'/>
+      <enumerator name='RTE_KDRV_UNKNOWN' value='0'/>
+      <enumerator name='RTE_KDRV_IGB_UIO' value='1'/>
+      <enumerator name='RTE_KDRV_VFIO' value='2'/>
+      <enumerator name='RTE_KDRV_UIO_GENERIC' value='3'/>
+      <enumerator name='RTE_KDRV_NIC_UIO' value='4'/>
+      <enumerator name='RTE_KDRV_NONE' value='5'/>
+    </enum-decl>
+    <class-decl name='rte_vlan_filter_conf' size-in-bits='4096' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='427' column='1' id='type-id-39'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ids' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='428' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-19' size-in-bits='4096' id='type-id-102'>
+      <subrange length='64' type-id='type-id-44' id='type-id-45'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_dev_owner' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1490' column='1' id='type-id-40'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1491' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='name' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1492' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-19' size-in-bits='256' id='type-id-41'>
+      <subrange length='4' type-id='type-id-44' id='type-id-87'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-32' size-in-bits='256' id='type-id-42'>
+      <subrange length='4' type-id='type-id-44' id='type-id-87'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-12'/>
+    <class-decl name='ibv_context' size-in-bits='2624' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1704' column='1' id='type-id-103'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='device' type-id='type-id-104' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1705' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ops' type-id='type-id-105' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1706' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='cmd_fd' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1707' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2144'>
+        <var-decl name='async_fd' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1708' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='num_comp_vectors' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1709' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='mutex' type-id='type-id-106' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1710' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='abi_compat' type-id='type-id-32' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1711' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ibv_device' size-in-bits='5312' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1650' column='1' id='type-id-107'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='_ops' type-id='type-id-108' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1651' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='node_type' type-id='type-id-109' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1652' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='transport_type' type-id='type-id-110' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1653' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='name' type-id='type-id-29' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1655' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='dev_name' type-id='type-id-29' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1657' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='dev_path' type-id='type-id-111' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1659' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3264'>
+        <var-decl name='ibdev_path' type-id='type-id-111' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1661' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='_ibv_device_ops' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1640' column='1' id='type-id-108'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='_dummy1' type-id='type-id-112' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1641' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='_dummy2' type-id='type-id-113' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1642' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-103' size-in-bits='64' id='type-id-13'/>
+    <pointer-type-def type-id='type-id-107' size-in-bits='64' id='type-id-104'/>
+    <pointer-type-def type-id='type-id-114' size-in-bits='64' id='type-id-112'/>
+    <pointer-type-def type-id='type-id-115' size-in-bits='64' id='type-id-113'/>
+    <enum-decl name='ibv_node_type' filepath='/usr/include/infiniband/verbs.h' line='79' column='1' id='type-id-109'>
+      <underlying-type type-id='type-id-61'/>
+      <enumerator name='IBV_NODE_UNKNOWN' value='-1'/>
+      <enumerator name='IBV_NODE_CA' value='1'/>
+      <enumerator name='IBV_NODE_SWITCH' value='2'/>
+      <enumerator name='IBV_NODE_ROUTER' value='3'/>
+      <enumerator name='IBV_NODE_RNIC' value='4'/>
+      <enumerator name='IBV_NODE_USNIC' value='5'/>
+      <enumerator name='IBV_NODE_USNIC_UDP' value='6'/>
+    </enum-decl>
+    <enum-decl name='ibv_transport_type' filepath='/usr/include/infiniband/verbs.h' line='89' column='1' id='type-id-110'>
+      <underlying-type type-id='type-id-61'/>
+      <enumerator name='IBV_TRANSPORT_UNKNOWN' value='-1'/>
+      <enumerator name='IBV_TRANSPORT_IB' value='0'/>
+      <enumerator name='IBV_TRANSPORT_IWARP' value='1'/>
+      <enumerator name='IBV_TRANSPORT_USNIC' value='2'/>
+      <enumerator name='IBV_TRANSPORT_USNIC_UDP' value='3'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-43' size-in-bits='2048' id='type-id-111'>
+      <subrange length='256' type-id='type-id-44' id='type-id-116'/>
+
+    </array-type-def>
+    <class-decl name='ibv_context_ops' size-in-bits='2048' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1664' column='1' id='type-id-105'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='_compat_query_device' type-id='type-id-117' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='_compat_query_port' type-id='type-id-117' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1666' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='_compat_alloc_pd' type-id='type-id-117' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1667' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='_compat_dealloc_pd' type-id='type-id-117' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='_compat_reg_mr' type-id='type-id-117' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1669' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='_compat_rereg_mr' type-id='type-id-117' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1670' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='_compat_dereg_mr' type-id='type-id-117' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='alloc_mw' type-id='type-id-118' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1672' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='bind_mw' type-id='type-id-119' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dealloc_mw' type-id='type-id-120' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1675' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='_compat_create_cq' type-id='type-id-117' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='poll_cq' type-id='type-id-121' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1677' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='req_notify_cq' type-id='type-id-122' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1678' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='_compat_cq_event' type-id='type-id-117' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1679' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='_compat_resize_cq' type-id='type-id-117' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1680' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='_compat_destroy_cq' type-id='type-id-117' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1681' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='_compat_create_srq' type-id='type-id-117' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1682' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='_compat_modify_srq' type-id='type-id-117' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1683' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='_compat_query_srq' type-id='type-id-117' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1684' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='_compat_destroy_srq' type-id='type-id-117' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1685' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='post_srq_recv' type-id='type-id-123' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1686' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='_compat_create_qp' type-id='type-id-117' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1689' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='_compat_query_qp' type-id='type-id-117' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='_compat_modify_qp' type-id='type-id-117' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='_compat_destroy_qp' type-id='type-id-117' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1692' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='post_send' type-id='type-id-124' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1693' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='post_recv' type-id='type-id-125' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1695' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='_compat_create_ah' type-id='type-id-117' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1697' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='_compat_destroy_ah' type-id='type-id-117' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1698' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='_compat_attach_mcast' type-id='type-id-117' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1699' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='_compat_detach_mcast' type-id='type-id-117' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1700' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='_compat_async_event' type-id='type-id-117' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1701' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-126' size-in-bits='64' id='type-id-117'/>
+    <class-decl name='ibv_mw' size-in-bits='256' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='610' column='1' id='type-id-127'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='context' type-id='type-id-13' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='611' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pd' type-id='type-id-15' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='612' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rkey' type-id='type-id-18' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='handle' type-id='type-id-18' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='614' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='type' type-id='type-id-128' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='615' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ibv_pd' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='558' column='1' id='type-id-129'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='context' type-id='type-id-13' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='559' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='handle' type-id='type-id-18' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='560' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-129' size-in-bits='64' id='type-id-15'/>
+    <enum-decl name='ibv_mw_type' filepath='/usr/include/infiniband/verbs.h' line='605' column='1' id='type-id-128'>
+      <underlying-type type-id='type-id-61'/>
+      <enumerator name='IBV_MW_TYPE_1' value='1'/>
+      <enumerator name='IBV_MW_TYPE_2' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-127' size-in-bits='64' id='type-id-130'/>
+    <pointer-type-def type-id='type-id-131' size-in-bits='64' id='type-id-118'/>
+    <class-decl name='ibv_qp' size-in-bits='1280' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1157' column='1' id='type-id-132'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='context' type-id='type-id-13' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1158' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='qp_context' type-id='type-id-32' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1159' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pd' type-id='type-id-15' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1160' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='send_cq' type-id='type-id-133' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1161' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='recv_cq' type-id='type-id-133' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1162' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='srq' type-id='type-id-134' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1163' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='handle' type-id='type-id-18' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1164' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='qp_num' type-id='type-id-18' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1165' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='state' type-id='type-id-135' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1166' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='qp_type' type-id='type-id-136' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1167' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='mutex' type-id='type-id-106' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1169' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='cond' type-id='type-id-137' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1170' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='events_completed' type-id='type-id-18' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ibv_cq' size-in-bits='1024' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1180' column='1' id='type-id-138'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='context' type-id='type-id-13' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1181' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='channel' type-id='type-id-139' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1182' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cq_context' type-id='type-id-32' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1183' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='handle' type-id='type-id-18' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1184' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='cqe' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1185' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='mutex' type-id='type-id-106' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='cond' type-id='type-id-137' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='comp_events_completed' type-id='type-id-18' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1189' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='992'>
+        <var-decl name='async_events_completed' type-id='type-id-18' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1190' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ibv_comp_channel' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1174' column='1' id='type-id-140'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='context' type-id='type-id-13' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1175' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fd' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1176' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='refcnt' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1177' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-140' size-in-bits='64' id='type-id-139'/>
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='67' column='1' id='type-id-141'>
+      <data-member access='private'>
+        <var-decl name='__data' type-id='type-id-142' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='__size' type-id='type-id-143' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='__align' type-id='type-id-144' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='71' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='118' column='1' id='type-id-142'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__lock' type-id='type-id-3' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='120' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='__count' type-id='type-id-4' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='121' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='__owner' type-id='type-id-3' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='122' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='__nusers' type-id='type-id-4' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='124' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='__kind' type-id='type-id-3' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='148' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='__spins' type-id='type-id-145' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='__elision' type-id='type-id-145' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='__list' type-id='type-id-146' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='155' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-145'/>
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='82' column='1' id='type-id-147'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__prev' type-id='type-id-148' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='__next' type-id='type-id-148' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='85' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-147' size-in-bits='64' id='type-id-148'/>
+    <typedef-decl name='__pthread_list_t' type-id='type-id-147' filepath='/usr/include/bits/thread-shared-types.h' line='86' column='1' id='type-id-146'/>
+
+    <array-type-def dimensions='1' type-id='type-id-43' size-in-bits='320' id='type-id-143'>
+      <subrange length='40' type-id='type-id-44' id='type-id-149'/>
+
+    </array-type-def>
+    <type-decl name='long int' size-in-bits='64' id='type-id-144'/>
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-141' filepath='/usr/include/bits/pthreadtypes.h' line='72' column='1' id='type-id-106'/>
+    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='75' column='1' id='type-id-150'>
+      <data-member access='private'>
+        <var-decl name='__data' type-id='type-id-151' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='__size' type-id='type-id-152' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='__align' type-id='type-id-153' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='79' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='171' column='1' id='type-id-151'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-154' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='__g_refs' type-id='type-id-155' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='__g_size' type-id='type-id-155' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='192' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='__g1_orig_size' type-id='type-id-4' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='193' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='__wrefs' type-id='type-id-4' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='__g_signals' type-id='type-id-155' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='195' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='173' column='1' id='type-id-154'>
+      <data-member access='private'>
+        <var-decl name='__wseq' type-id='type-id-156' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='175' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='__wseq32' type-id='type-id-157' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='180' column='1'/>
+      </data-member>
+    </union-decl>
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-156'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='176' column='1' id='type-id-157'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__low' type-id='type-id-4' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='178' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='__high' type-id='type-id-4' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='179' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-4' size-in-bits='64' id='type-id-155'>
+      <subrange length='2' type-id='type-id-44' id='type-id-63'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-43' size-in-bits='384' id='type-id-152'>
+      <subrange length='48' type-id='type-id-44' id='type-id-158'/>
+
+    </array-type-def>
+    <type-decl name='long long int' size-in-bits='64' id='type-id-153'/>
+    <typedef-decl name='pthread_cond_t' type-id='type-id-150' filepath='/usr/include/bits/pthreadtypes.h' line='80' column='1' id='type-id-137'/>
+    <pointer-type-def type-id='type-id-138' size-in-bits='64' id='type-id-133'/>
+    <class-decl name='ibv_srq' size-in-bits='1024' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1117' column='1' id='type-id-159'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='context' type-id='type-id-13' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1118' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='srq_context' type-id='type-id-32' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1119' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pd' type-id='type-id-15' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1120' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='handle' type-id='type-id-18' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1121' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='mutex' type-id='type-id-106' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1123' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='cond' type-id='type-id-137' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1124' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='events_completed' type-id='type-id-18' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1125' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-159' size-in-bits='64' id='type-id-134'/>
+    <enum-decl name='ibv_qp_state' filepath='/usr/include/infiniband/verbs.h' line='944' column='1' id='type-id-135'>
+      <underlying-type type-id='type-id-61'/>
+      <enumerator name='IBV_QPS_RESET' value='0'/>
+      <enumerator name='IBV_QPS_INIT' value='1'/>
+      <enumerator name='IBV_QPS_RTR' value='2'/>
+      <enumerator name='IBV_QPS_RTS' value='3'/>
+      <enumerator name='IBV_QPS_SQD' value='4'/>
+      <enumerator name='IBV_QPS_SQE' value='5'/>
+      <enumerator name='IBV_QPS_ERR' value='6'/>
+      <enumerator name='IBV_QPS_UNKNOWN' value='7'/>
+    </enum-decl>
+    <enum-decl name='ibv_qp_type' filepath='/usr/include/infiniband/verbs.h' line='822' column='1' id='type-id-136'>
+      <underlying-type type-id='type-id-61'/>
+      <enumerator name='IBV_QPT_RC' value='2'/>
+      <enumerator name='IBV_QPT_UC' value='3'/>
+      <enumerator name='IBV_QPT_UD' value='4'/>
+      <enumerator name='IBV_QPT_RAW_PACKET' value='8'/>
+      <enumerator name='IBV_QPT_XRC_SEND' value='9'/>
+      <enumerator name='IBV_QPT_XRC_RECV' value='10'/>
+      <enumerator name='IBV_QPT_DRIVER' value='255'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-132' size-in-bits='64' id='type-id-160'/>
+    <class-decl name='ibv_mw_bind' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1111' column='1' id='type-id-161'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='wr_id' type-id='type-id-19' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1112' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='send_flags' type-id='type-id-4' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1113' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='bind_info' type-id='type-id-162' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1114' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ibv_mw_bind_info' size-in-bits='256' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='551' column='1' id='type-id-162'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mr' type-id='type-id-163' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='552' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='addr' type-id='type-id-19' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='553' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='length' type-id='type-id-19' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='554' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='mw_access_flags' type-id='type-id-4' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='555' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ibv_mr' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='595' column='1' id='type-id-164'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='context' type-id='type-id-13' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='596' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pd' type-id='type-id-15' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='597' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-32' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='598' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='length' type-id='type-id-165' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='599' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='handle' type-id='type-id-18' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='600' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='lkey' type-id='type-id-18' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='rkey' type-id='type-id-18' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='602' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='size_t' type-id='type-id-44' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-165'/>
+    <pointer-type-def type-id='type-id-164' size-in-bits='64' id='type-id-163'/>
+    <pointer-type-def type-id='type-id-161' size-in-bits='64' id='type-id-166'/>
+    <pointer-type-def type-id='type-id-167' size-in-bits='64' id='type-id-119'/>
+    <pointer-type-def type-id='type-id-168' size-in-bits='64' id='type-id-120'/>
+    <class-decl name='ibv_wc' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='519' column='1' id='type-id-169'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='wr_id' type-id='type-id-19' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='status' type-id='type-id-170' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='521' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='opcode' type-id='type-id-171' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vendor_err' type-id='type-id-18' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='523' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='byte_len' type-id='type-id-18' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='524' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-172' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='qp_num' type-id='type-id-18' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='532' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='src_qp' type-id='type-id-18' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='533' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='wc_flags' type-id='type-id-4' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='534' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pkey_index' type-id='type-id-16' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='535' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='slid' type-id='type-id-16' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='536' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='sl' type-id='type-id-17' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='537' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='360'>
+        <var-decl name='dlid_path_bits' type-id='type-id-17' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='538' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='ibv_wc_status' filepath='/usr/include/infiniband/verbs.h' line='420' column='1' id='type-id-170'>
+      <underlying-type type-id='type-id-61'/>
+      <enumerator name='IBV_WC_SUCCESS' value='0'/>
+      <enumerator name='IBV_WC_LOC_LEN_ERR' value='1'/>
+      <enumerator name='IBV_WC_LOC_QP_OP_ERR' value='2'/>
+      <enumerator name='IBV_WC_LOC_EEC_OP_ERR' value='3'/>
+      <enumerator name='IBV_WC_LOC_PROT_ERR' value='4'/>
+      <enumerator name='IBV_WC_WR_FLUSH_ERR' value='5'/>
+      <enumerator name='IBV_WC_MW_BIND_ERR' value='6'/>
+      <enumerator name='IBV_WC_BAD_RESP_ERR' value='7'/>
+      <enumerator name='IBV_WC_LOC_ACCESS_ERR' value='8'/>
+      <enumerator name='IBV_WC_REM_INV_REQ_ERR' value='9'/>
+      <enumerator name='IBV_WC_REM_ACCESS_ERR' value='10'/>
+      <enumerator name='IBV_WC_REM_OP_ERR' value='11'/>
+      <enumerator name='IBV_WC_RETRY_EXC_ERR' value='12'/>
+      <enumerator name='IBV_WC_RNR_RETRY_EXC_ERR' value='13'/>
+      <enumerator name='IBV_WC_LOC_RDD_VIOL_ERR' value='14'/>
+      <enumerator name='IBV_WC_REM_INV_RD_REQ_ERR' value='15'/>
+      <enumerator name='IBV_WC_REM_ABORT_ERR' value='16'/>
+      <enumerator name='IBV_WC_INV_EECN_ERR' value='17'/>
+      <enumerator name='IBV_WC_INV_EEC_STATE_ERR' value='18'/>
+      <enumerator name='IBV_WC_FATAL_ERR' value='19'/>
+      <enumerator name='IBV_WC_RESP_TIMEOUT_ERR' value='20'/>
+      <enumerator name='IBV_WC_GENERAL_ERR' value='21'/>
+      <enumerator name='IBV_WC_TM_ERR' value='22'/>
+      <enumerator name='IBV_WC_TM_RNDV_INCOMPLETE' value='23'/>
+    </enum-decl>
+    <enum-decl name='ibv_wc_opcode' filepath='/usr/include/infiniband/verbs.h' line='448' column='1' id='type-id-171'>
+      <underlying-type type-id='type-id-61'/>
+      <enumerator name='IBV_WC_SEND' value='0'/>
+      <enumerator name='IBV_WC_RDMA_WRITE' value='1'/>
+      <enumerator name='IBV_WC_RDMA_READ' value='2'/>
+      <enumerator name='IBV_WC_COMP_SWAP' value='3'/>
+      <enumerator name='IBV_WC_FETCH_ADD' value='4'/>
+      <enumerator name='IBV_WC_BIND_MW' value='5'/>
+      <enumerator name='IBV_WC_LOCAL_INV' value='6'/>
+      <enumerator name='IBV_WC_TSO' value='7'/>
+      <enumerator name='IBV_WC_RECV' value='128'/>
+      <enumerator name='IBV_WC_RECV_RDMA_WITH_IMM' value='129'/>
+      <enumerator name='IBV_WC_TM_ADD' value='130'/>
+      <enumerator name='IBV_WC_TM_DEL' value='131'/>
+      <enumerator name='IBV_WC_TM_SYNC' value='132'/>
+      <enumerator name='IBV_WC_TM_RECV' value='133'/>
+      <enumerator name='IBV_WC_TM_NO_TAG' value='134'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='528' column='1' id='type-id-172'>
+      <data-member access='private'>
+        <var-decl name='imm_data' type-id='type-id-173' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='529' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='invalidated_rkey' type-id='type-id-18' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='530' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='__u32' type-id='type-id-4' filepath='/usr/local/include/asm-generic/int-ll64.h' line='27' column='1' id='type-id-174'/>
+    <typedef-decl name='__be32' type-id='type-id-174' filepath='/usr/local/include/linux/types.h' line='27' column='1' id='type-id-173'/>
+    <pointer-type-def type-id='type-id-169' size-in-bits='64' id='type-id-175'/>
+    <pointer-type-def type-id='type-id-176' size-in-bits='64' id='type-id-121'/>
+    <pointer-type-def type-id='type-id-177' size-in-bits='64' id='type-id-122'/>
+    <class-decl name='ibv_recv_wr' size-in-bits='256' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1075' column='1' id='type-id-178'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='wr_id' type-id='type-id-19' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1076' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='next' type-id='type-id-179' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1077' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='sg_list' type-id='type-id-180' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1078' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='num_sge' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1079' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-178' size-in-bits='64' id='type-id-179'/>
+    <class-decl name='ibv_sge' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1019' column='1' id='type-id-181'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr' type-id='type-id-19' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1020' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='length' type-id='type-id-18' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1021' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='lkey' type-id='type-id-18' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1022' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-181' size-in-bits='64' id='type-id-180'/>
+    <pointer-type-def type-id='type-id-179' size-in-bits='64' id='type-id-182'/>
+    <pointer-type-def type-id='type-id-183' size-in-bits='64' id='type-id-123'/>
+    <class-decl name='ibv_send_wr' size-in-bits='1024' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1025' column='1' id='type-id-184'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='wr_id' type-id='type-id-19' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1026' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='next' type-id='type-id-185' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1027' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='sg_list' type-id='type-id-180' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1028' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='num_sge' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1029' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='opcode' type-id='type-id-186' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1030' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='send_flags' type-id='type-id-4' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1031' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='' type-id='type-id-187' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='wr' type-id='type-id-188' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1055' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='qp_type' type-id='type-id-189' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1060' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-184' size-in-bits='64' id='type-id-185'/>
+    <enum-decl name='ibv_wr_opcode' filepath='/usr/include/infiniband/verbs.h' line='997' column='1' id='type-id-186'>
+      <underlying-type type-id='type-id-61'/>
+      <enumerator name='IBV_WR_RDMA_WRITE' value='0'/>
+      <enumerator name='IBV_WR_RDMA_WRITE_WITH_IMM' value='1'/>
+      <enumerator name='IBV_WR_SEND' value='2'/>
+      <enumerator name='IBV_WR_SEND_WITH_IMM' value='3'/>
+      <enumerator name='IBV_WR_RDMA_READ' value='4'/>
+      <enumerator name='IBV_WR_ATOMIC_CMP_AND_SWP' value='5'/>
+      <enumerator name='IBV_WR_ATOMIC_FETCH_AND_ADD' value='6'/>
+      <enumerator name='IBV_WR_LOCAL_INV' value='7'/>
+      <enumerator name='IBV_WR_BIND_MW' value='8'/>
+      <enumerator name='IBV_WR_SEND_WITH_INV' value='9'/>
+      <enumerator name='IBV_WR_TSO' value='10'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1035' column='1' id='type-id-187'>
+      <data-member access='private'>
+        <var-decl name='imm_data' type-id='type-id-173' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1036' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='invalidate_rkey' type-id='type-id-18' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1037' column='1'/>
+      </data-member>
+    </union-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1039' column='1' id='type-id-188'>
+      <data-member access='private'>
+        <var-decl name='rdma' type-id='type-id-190' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1043' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='atomic' type-id='type-id-191' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1049' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='ud' type-id='type-id-192' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1054' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1040' column='1' id='type-id-190'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='remote_addr' type-id='type-id-19' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1041' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rkey' type-id='type-id-18' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1042' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1044' column='1' id='type-id-191'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='remote_addr' type-id='type-id-19' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1045' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='compare_add' type-id='type-id-19' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1046' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='swap' type-id='type-id-19' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1047' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='rkey' type-id='type-id-18' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1048' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1050' column='1' id='type-id-192'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ah' type-id='type-id-193' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1051' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='remote_qpn' type-id='type-id-18' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1052' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='remote_qkey' type-id='type-id-18' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1053' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ibv_ah' size-in-bits='192' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1367' column='1' id='type-id-194'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='context' type-id='type-id-13' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1368' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pd' type-id='type-id-15' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1369' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='handle' type-id='type-id-18' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1370' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-194' size-in-bits='64' id='type-id-193'/>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1056' column='1' id='type-id-189'>
+      <data-member access='private'>
+        <var-decl name='xrc' type-id='type-id-195' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1059' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1057' column='1' id='type-id-195'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='remote_srqn' type-id='type-id-18' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1058' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-185' size-in-bits='64' id='type-id-196'/>
+    <pointer-type-def type-id='type-id-197' size-in-bits='64' id='type-id-124'/>
+    <pointer-type-def type-id='type-id-198' size-in-bits='64' id='type-id-125'/>
+    <class-decl name='ibv_device_attr' size-in-bits='1856' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='152' column='1' id='type-id-14'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fw_ver' type-id='type-id-29' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='153' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='node_guid' type-id='type-id-199' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='sys_image_guid' type-id='type-id-199' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='155' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='max_mr_size' type-id='type-id-19' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='156' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='page_size_cap' type-id='type-id-19' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='157' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='vendor_id' type-id='type-id-18' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='158' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='vendor_part_id' type-id='type-id-18' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='159' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='hw_ver' type-id='type-id-18' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='160' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='864'>
+        <var-decl name='max_qp' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='161' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='max_qp_wr' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='162' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='928'>
+        <var-decl name='device_cap_flags' type-id='type-id-4' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='163' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='max_sge' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='164' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='992'>
+        <var-decl name='max_sge_rd' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='165' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='max_cq' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='166' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1056'>
+        <var-decl name='max_cqe' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='167' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='max_mr' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='168' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1120'>
+        <var-decl name='max_pd' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='169' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='max_qp_rd_atom' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='170' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1184'>
+        <var-decl name='max_ee_rd_atom' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='max_res_rd_atom' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='172' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1248'>
+        <var-decl name='max_qp_init_rd_atom' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='173' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='max_ee_init_rd_atom' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='174' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1312'>
+        <var-decl name='atomic_cap' type-id='type-id-200' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='175' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='max_ee' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='176' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1376'>
+        <var-decl name='max_rdd' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='177' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='max_mw' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='178' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1440'>
+        <var-decl name='max_raw_ipv6_qp' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='179' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='max_raw_ethy_qp' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='180' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1504'>
+        <var-decl name='max_mcast_grp' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='181' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='max_mcast_qp_attach' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='182' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1568'>
+        <var-decl name='max_total_mcast_qp_attach' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='183' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='max_ah' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='184' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1632'>
+        <var-decl name='max_fmr' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='185' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='max_map_per_fmr' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1696'>
+        <var-decl name='max_srq' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='max_srq_wr' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1760'>
+        <var-decl name='max_srq_sge' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='189' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='max_pkeys' type-id='type-id-16' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='190' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1808'>
+        <var-decl name='local_ca_ack_delay' type-id='type-id-17' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1816'>
+        <var-decl name='phys_port_cnt' type-id='type-id-17' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='192' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='__u64' type-id='type-id-156' filepath='/usr/local/include/asm-generic/int-ll64.h' line='31' column='1' id='type-id-201'/>
+    <typedef-decl name='__be64' type-id='type-id-201' filepath='/usr/local/include/linux/types.h' line='29' column='1' id='type-id-199'/>
+    <enum-decl name='ibv_atomic_cap' filepath='/usr/include/infiniband/verbs.h' line='131' column='1' id='type-id-200'>
+      <underlying-type type-id='type-id-61'/>
+      <enumerator name='IBV_ATOMIC_NONE' value='0'/>
+      <enumerator name='IBV_ATOMIC_HCA' value='1'/>
+      <enumerator name='IBV_ATOMIC_GLOB' value='2'/>
+    </enum-decl>
+    <class-decl name='rte_intr_handle' size-in-bits='213248' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='69' column='1' id='type-id-20'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-202' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-3' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-203' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='max_intr' type-id='type-id-18' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='nb_efd' type-id='type-id-18' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='efd_counter_size' type-id='type-id-17' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='efds' type-id='type-id-204' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16576'>
+        <var-decl name='elist' type-id='type-id-205' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='213184'>
+        <var-decl name='intr_vec' type-id='type-id-206' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='71' column='1' id='type-id-202'>
+      <data-member access='private'>
+        <var-decl name='vfio_dev_fd' type-id='type-id-3' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='uio_cfg_fd' type-id='type-id-3' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='73' column='1'/>
+      </data-member>
+    </union-decl>
+    <enum-decl name='rte_intr_handle_type' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='27' column='1' id='type-id-203'>
+      <underlying-type type-id='type-id-61'/>
+      <enumerator name='RTE_INTR_HANDLE_UNKNOWN' value='0'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO' value='1'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO_INTX' value='2'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_LEGACY' value='3'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSI' value='4'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSIX' value='5'/>
+      <enumerator name='RTE_INTR_HANDLE_ALARM' value='6'/>
+      <enumerator name='RTE_INTR_HANDLE_EXT' value='7'/>
+      <enumerator name='RTE_INTR_HANDLE_VDEV' value='8'/>
+      <enumerator name='RTE_INTR_HANDLE_DEV_EVENT' value='9'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_REQ' value='10'/>
+      <enumerator name='RTE_INTR_HANDLE_MAX' value='11'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='16384' id='type-id-204'>
+      <subrange length='512' type-id='type-id-44' id='type-id-207'/>
+
+    </array-type-def>
+    <class-decl name='rte_epoll_event' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='61' column='1' id='type-id-208'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='status' type-id='type-id-209' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-3' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='epfd' type-id='type-id-3' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='epdata' type-id='type-id-210' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-18' volatile='yes' id='type-id-209'/>
+    <class-decl name='rte_epoll_data' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='47' column='1' id='type-id-210'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event' type-id='type-id-18' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='data' type-id='type-id-32' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cb_fun' type-id='type-id-211' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='cb_arg' type-id='type-id-32' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='51' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-212' size-in-bits='64' id='type-id-213'/>
+    <typedef-decl name='rte_intr_event_cb_t' type-id='type-id-213' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='45' column='1' id='type-id-211'/>
+
+    <array-type-def dimensions='1' type-id='type-id-208' size-in-bits='196608' id='type-id-205'>
+      <subrange length='512' type-id='type-id-44' id='type-id-207'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-206'/>
+    <class-decl name='mlx4_drop' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-214'/>
+    <pointer-type-def type-id='type-id-214' size-in-bits='64' id='type-id-21'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='181' column='1' id='type-id-22'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_gen' type-id='type-id-18' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='182' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='rwlock' type-id='type-id-6' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='183' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='cache' type-id='type-id-215' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='184' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='mr_list' type-id='type-id-216' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='185' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='mr_free_list' type-id='type-id-216' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-6' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_rwlock.h' line='33' column='1' id='type-id-217'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-218' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_rwlock.h' line='34' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='__int32_t' type-id='type-id-3' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-219'/>
+    <typedef-decl name='int32_t' type-id='type-id-219' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-220'/>
+    <qualified-type-def type-id='type-id-220' volatile='yes' id='type-id-218'/>
+    <typedef-decl name='rte_rwlock_t' type-id='type-id-217' filepath='../lib/librte_eal/common/include/generic/rte_rwlock.h' line='35' column='1' id='type-id-6'/>
+    <class-decl name='mlx4_mr_btree' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/mlx4/mlx4_mr.h' line='51' column='1' id='type-id-215'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='len' type-id='type-id-16' visibility='default' filepath='../drivers/net/mlx4/mlx4_mr.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='size' type-id='type-id-16' visibility='default' filepath='../drivers/net/mlx4/mlx4_mr.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='overflow' type-id='type-id-3' visibility='default' filepath='../drivers/net/mlx4/mlx4_mr.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='table' type-id='type-id-221' visibility='default' filepath='../drivers/net/mlx4/mlx4_mr.h' line='55' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='mlx4_mr_cache' size-in-bits='160' is-struct='yes' visibility='default' filepath='../drivers/net/mlx4/mlx4_mr.h' line='44' column='1' id='type-id-222'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='start' type-id='type-id-223' visibility='default' filepath='../drivers/net/mlx4/mlx4_mr.h' line='45' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='end' type-id='type-id-223' visibility='default' filepath='../drivers/net/mlx4/mlx4_mr.h' line='46' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='lkey' type-id='type-id-18' visibility='default' filepath='../drivers/net/mlx4/mlx4_mr.h' line='47' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='uintptr_t' type-id='type-id-44' filepath='/usr/include/stdint.h' line='90' column='1' id='type-id-223'/>
+
+    <array-type-def dimensions='1' type-id='type-id-222' size-in-bits='infinite' id='type-id-224'>
+      <subrange length='infinite' id='type-id-225'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-224' size-in-bits='64' id='type-id-221'/>
+    <class-decl name='mlx4_mr_list' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='123' column='1' id='type-id-216'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='lh_first' type-id='type-id-226' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='123' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='mlx4_mr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../drivers/net/mlx4/mlx4_mr.h' line='33' column='1' id='type-id-227'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mr' type-id='type-id-228' visibility='default' filepath='../drivers/net/mlx4/mlx4_mr.h' line='34' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ibv_mr' type-id='type-id-163' visibility='default' filepath='../drivers/net/mlx4/mlx4_mr.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='msl' type-id='type-id-229' visibility='default' filepath='../drivers/net/mlx4/mlx4_mr.h' line='36' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='ms_base_idx' type-id='type-id-3' visibility='default' filepath='../drivers/net/mlx4/mlx4_mr.h' line='37' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='ms_n' type-id='type-id-3' visibility='default' filepath='../drivers/net/mlx4/mlx4_mr.h' line='38' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='ms_bmp_n' type-id='type-id-18' visibility='default' filepath='../drivers/net/mlx4/mlx4_mr.h' line='39' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='ms_bmp' type-id='type-id-230' visibility='default' filepath='../drivers/net/mlx4/mlx4_mr.h' line='40' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/mlx4/mlx4_mr.h' line='34' column='1' id='type-id-228'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='le_next' type-id='type-id-226' visibility='default' filepath='../drivers/net/mlx4/mlx4_mr.h' line='34' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='le_prev' type-id='type-id-231' visibility='default' filepath='../drivers/net/mlx4/mlx4_mr.h' line='34' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-227' size-in-bits='64' id='type-id-226'/>
+    <pointer-type-def type-id='type-id-226' size-in-bits='64' id='type-id-231'/>
+    <class-decl name='rte_memseg_list' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='71' column='1' id='type-id-232'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-233' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='page_sz' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='socket_id' type-id='type-id-3' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='version' type-id='type-id-209' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='len' type-id='type-id-165' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='82' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='external' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='83' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='heap' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='memseg_arr' type-id='type-id-234' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='85' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='73' column='1' id='type-id-233'>
+      <data-member access='private'>
+        <var-decl name='base_va' type-id='type-id-32' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='addr_64' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='76' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_fbarray' size-in-bits='768' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_fbarray.h' line='44' column='1' id='type-id-234'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-29' visibility='default' filepath='../lib/librte_eal/common/include/rte_fbarray.h' line='45' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='count' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_fbarray.h' line='46' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='len' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_fbarray.h' line='47' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_sz' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_fbarray.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='data' type-id='type-id-32' visibility='default' filepath='../lib/librte_eal/common/include/rte_fbarray.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='rwlock' type-id='type-id-6' visibility='default' filepath='../lib/librte_eal/common/include/rte_fbarray.h' line='50' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-232' const='yes' id='type-id-235'/>
+    <pointer-type-def type-id='type-id-235' size-in-bits='64' id='type-id-229'/>
+    <class-decl name='rte_bitmap' size-in-bits='320' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bitmap.h' line='61' column='1' id='type-id-236'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='array1' type-id='type-id-237' visibility='default' filepath='../lib/librte_eal/common/include/rte_bitmap.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='array2' type-id='type-id-237' visibility='default' filepath='../lib/librte_eal/common/include/rte_bitmap.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='array1_size' type-id='type-id-18' visibility='default' filepath='../lib/librte_eal/common/include/rte_bitmap.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='array2_size' type-id='type-id-18' visibility='default' filepath='../lib/librte_eal/common/include/rte_bitmap.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='index1' type-id='type-id-18' visibility='default' filepath='../lib/librte_eal/common/include/rte_bitmap.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='offset1' type-id='type-id-18' visibility='default' filepath='../lib/librte_eal/common/include/rte_bitmap.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='index2' type-id='type-id-18' visibility='default' filepath='../lib/librte_eal/common/include/rte_bitmap.h' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='go2' type-id='type-id-18' visibility='default' filepath='../lib/librte_eal/common/include/rte_bitmap.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='memory' type-id='type-id-238' visibility='default' filepath='../lib/librte_eal/common/include/rte_bitmap.h' line='75' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-237'/>
+
+    <array-type-def dimensions='1' type-id='type-id-17' size-in-bits='infinite' id='type-id-238'>
+      <subrange length='infinite' type-id='type-id-44' id='type-id-225'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-236' size-in-bits='64' id='type-id-230'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='188' column='1' id='type-id-23'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='lh_first' type-id='type-id-239' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='188' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='mlx4_rss' size-in-bits='832' is-struct='yes' visibility='default' filepath='../drivers/net/mlx4/mlx4_rxtx.h' line='66' column='1' id='type-id-240'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-241' visibility='default' filepath='../drivers/net/mlx4/mlx4_rxtx.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='priv' type-id='type-id-9' visibility='default' filepath='../drivers/net/mlx4/mlx4_rxtx.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='refcnt' type-id='type-id-18' visibility='default' filepath='../drivers/net/mlx4/mlx4_rxtx.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='usecnt' type-id='type-id-18' visibility='default' filepath='../drivers/net/mlx4/mlx4_rxtx.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='qp' type-id='type-id-160' visibility='default' filepath='../drivers/net/mlx4/mlx4_rxtx.h' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='ind' type-id='type-id-242' visibility='default' filepath='../drivers/net/mlx4/mlx4_rxtx.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='fields' type-id='type-id-19' visibility='default' filepath='../drivers/net/mlx4/mlx4_rxtx.h' line='73' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='key' type-id='type-id-243' visibility='default' filepath='../drivers/net/mlx4/mlx4_rxtx.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='queues' type-id='type-id-16' visibility='default' filepath='../drivers/net/mlx4/mlx4_rxtx.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='queue_id' type-id='type-id-244' visibility='default' filepath='../drivers/net/mlx4/mlx4_rxtx.h' line='76' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/mlx4/mlx4_rxtx.h' line='67' column='1' id='type-id-241'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='le_next' type-id='type-id-239' visibility='default' filepath='../drivers/net/mlx4/mlx4_rxtx.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='le_prev' type-id='type-id-245' visibility='default' filepath='../drivers/net/mlx4/mlx4_rxtx.h' line='67' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-240' size-in-bits='64' id='type-id-239'/>
+    <pointer-type-def type-id='type-id-239' size-in-bits='64' id='type-id-245'/>
+    <class-decl name='ibv_rwq_ind_table' size-in-bits='192' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='801' column='1' id='type-id-246'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='context' type-id='type-id-13' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ind_tbl_handle' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='803' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='ind_tbl_num' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='comp_mask' type-id='type-id-18' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='805' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-246' size-in-bits='64' id='type-id-242'/>
+
+    <array-type-def dimensions='1' type-id='type-id-17' size-in-bits='320' id='type-id-243'>
+      <subrange length='40' type-id='type-id-44' id='type-id-149'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='infinite' id='type-id-244'>
+      <subrange length='infinite' type-id='type-id-44' id='type-id-225'/>
+
+    </array-type-def>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='189' column='1' id='type-id-24'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='lh_first' type-id='type-id-247' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='189' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_flow' size-in-bits='448' is-struct='yes' visibility='default' filepath='../drivers/net/mlx4/mlx4_flow.h' line='33' column='1' id='type-id-248'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-249' visibility='default' filepath='../drivers/net/mlx4/mlx4_flow.h' line='34' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ibv_flow' type-id='type-id-250' visibility='default' filepath='../drivers/net/mlx4/mlx4_flow.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ibv_attr' type-id='type-id-251' visibility='default' filepath='../drivers/net/mlx4/mlx4_flow.h' line='36' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='ibv_attr_size' type-id='type-id-18' visibility='default' filepath='../drivers/net/mlx4/mlx4_flow.h' line='37' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='select' type-id='type-id-18' visibility='default' filepath='../drivers/net/mlx4/mlx4_flow.h' line='38' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='internal' type-id='type-id-18' visibility='default' filepath='../drivers/net/mlx4/mlx4_flow.h' line='39' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='mac' type-id='type-id-18' visibility='default' filepath='../drivers/net/mlx4/mlx4_flow.h' line='40' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='28'>
+        <var-decl name='promisc' type-id='type-id-18' visibility='default' filepath='../drivers/net/mlx4/mlx4_flow.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='27'>
+        <var-decl name='allmulti' type-id='type-id-18' visibility='default' filepath='../drivers/net/mlx4/mlx4_flow.h' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='26'>
+        <var-decl name='drop' type-id='type-id-18' visibility='default' filepath='../drivers/net/mlx4/mlx4_flow.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='priority' type-id='type-id-18' visibility='default' filepath='../drivers/net/mlx4/mlx4_flow.h' line='44' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='rss' type-id='type-id-239' visibility='default' filepath='../drivers/net/mlx4/mlx4_flow.h' line='45' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/mlx4/mlx4_flow.h' line='34' column='1' id='type-id-249'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='le_next' type-id='type-id-247' visibility='default' filepath='../drivers/net/mlx4/mlx4_flow.h' line='34' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='le_prev' type-id='type-id-252' visibility='default' filepath='../drivers/net/mlx4/mlx4_flow.h' line='34' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-248' size-in-bits='64' id='type-id-247'/>
+    <pointer-type-def type-id='type-id-247' size-in-bits='64' id='type-id-252'/>
+    <class-decl name='ibv_flow' size-in-bits='192' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1605' column='1' id='type-id-253'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='comp_mask' type-id='type-id-18' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1606' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='context' type-id='type-id-13' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1607' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='handle' type-id='type-id-18' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1608' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-253' size-in-bits='64' id='type-id-250'/>
+    <class-decl name='ibv_flow_attr' size-in-bits='160' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1591' column='1' id='type-id-254'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='comp_mask' type-id='type-id-18' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1592' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='type' type-id='type-id-255' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1593' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='size' type-id='type-id-16' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1594' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='priority' type-id='type-id-16' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1595' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='num_of_specs' type-id='type-id-17' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1596' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='104'>
+        <var-decl name='port' type-id='type-id-17' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1597' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='flags' type-id='type-id-18' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1598' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='ibv_flow_attr_type' filepath='/usr/include/infiniband/verbs.h' line='1379' column='1' id='type-id-255'>
+      <underlying-type type-id='type-id-61'/>
+      <enumerator name='IBV_FLOW_ATTR_NORMAL' value='0'/>
+      <enumerator name='IBV_FLOW_ATTR_ALL_DEFAULT' value='1'/>
+      <enumerator name='IBV_FLOW_ATTR_MC_DEFAULT' value='2'/>
+      <enumerator name='IBV_FLOW_ATTR_SNIFFER' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-254' size-in-bits='64' id='type-id-251'/>
+
+    <array-type-def dimensions='1' type-id='type-id-97' size-in-bits='6144' id='type-id-25'>
+      <subrange length='128' type-id='type-id-44' id='type-id-100'/>
+
+    </array-type-def>
+    <class-decl name='mlx4_verbs_alloc_ctx' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='116' column='1' id='type-id-26'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='enabled' type-id='type-id-3' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='117' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='type' type-id='type-id-256' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='118' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='obj' type-id='type-id-32' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='119' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='mlx4_verbs_alloc_type' filepath='../drivers/net/mlx4/mlx4.h' line='106' column='1' id='type-id-256'>
+      <underlying-type type-id='type-id-61'/>
+      <enumerator name='MLX4_VERBS_ALLOC_TYPE_NONE' value='0'/>
+      <enumerator name='MLX4_VERBS_ALLOC_TYPE_TX_QUEUE' value='1'/>
+      <enumerator name='MLX4_VERBS_ALLOC_TYPE_RX_QUEUE' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-257'/>
+    <var-decl name='mlx4_shared_data' type-id='type-id-257' visibility='default' filepath='../drivers/net/mlx4/mlx4.h' line='140' column='1'/>
+    <var-decl name='mlx4_logtype' type-id='type-id-3' visibility='default' filepath='../drivers/net/mlx4/mlx4_utils.h' line='28' column='1'/>
+    <function-type size-in-bits='64' id='type-id-114'>
+      <parameter type-id='type-id-104'/>
+      <parameter type-id='type-id-3'/>
+      <return type-id='type-id-13'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-131'>
+      <parameter type-id='type-id-15'/>
+      <parameter type-id='type-id-128'/>
+      <return type-id='type-id-130'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-177'>
+      <parameter type-id='type-id-133'/>
+      <parameter type-id='type-id-3'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-176'>
+      <parameter type-id='type-id-133'/>
+      <parameter type-id='type-id-3'/>
+      <parameter type-id='type-id-175'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-168'>
+      <parameter type-id='type-id-130'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-167'>
+      <parameter type-id='type-id-160'/>
+      <parameter type-id='type-id-130'/>
+      <parameter type-id='type-id-166'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-198'>
+      <parameter type-id='type-id-160'/>
+      <parameter type-id='type-id-179'/>
+      <parameter type-id='type-id-182'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-197'>
+      <parameter type-id='type-id-160'/>
+      <parameter type-id='type-id-185'/>
+      <parameter type-id='type-id-196'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-183'>
+      <parameter type-id='type-id-134'/>
+      <parameter type-id='type-id-179'/>
+      <parameter type-id='type-id-182'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-115'>
+      <parameter type-id='type-id-13'/>
+      <return type-id='type-id-46'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-212'>
+      <parameter type-id='type-id-3'/>
+      <parameter type-id='type-id-32'/>
+      <return type-id='type-id-46'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-126'>
+      <return type-id='type-id-32'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_mlx5.dump b/drivers/.abi/librte_pmd_mlx5.dump
new file mode 100644
index 000000000..994d008f2
--- /dev/null
+++ b/drivers/.abi/librte_pmd_mlx5.dump
@@ -0,0 +1,2155 @@
+<abi-corpus path='gcc//drivers/librte_pmd_mlx5.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_mlx5.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='libmlx5.so.1'/>
+    <dependency name='libibverbs.so.1'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/mlx5/mlx5.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='mlx5_shared_data' size-in-bits='256' is-struct='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='119' column='1' id='type-id-1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='lock' type-id='type-id-2' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='120' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='init_done' type-id='type-id-3' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='122' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='secondary_cnt' type-id='type-id-4' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='123' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mem_event_cb_list' type-id='type-id-5' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='124' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='mem_event_rwlock' type-id='type-id-6' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='125' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-2' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_spinlock.h' line='30' column='1' id='type-id-7'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='locked' type-id='type-id-8' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_spinlock.h' line='31' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='int' size-in-bits='32' id='type-id-3'/>
+    <qualified-type-def type-id='type-id-3' volatile='yes' id='type-id-8'/>
+    <typedef-decl name='rte_spinlock_t' type-id='type-id-7' filepath='../lib/librte_eal/common/include/generic/rte_spinlock.h' line='32' column='1' id='type-id-2'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-4'/>
+    <class-decl name='mlx5_dev_list' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='116' column='1' id='type-id-5'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='lh_first' type-id='type-id-9' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='116' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='mlx5_ibv_shared' size-in-bits='436736' is-struct='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='635' column='1' id='type-id-10'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-11' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='636' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt' type-id='type-id-12' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='637' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='devx' type-id='type-id-12' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='638' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='max_port' type-id='type-id-12' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='639' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='ctx' type-id='type-id-13' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='640' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pd' type-id='type-id-14' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='641' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='pdn' type-id='type-id-12' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='642' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='tdn' type-id='type-id-12' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='643' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='ibdev_name' type-id='type-id-15' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='644' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='ibdev_path' type-id='type-id-16' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='645' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3008'>
+        <var-decl name='device_attr' type-id='type-id-17' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='646' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6080'>
+        <var-decl name='mem_event_cb' type-id='type-id-11' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='647' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6208'>
+        <var-decl name='mr' type-id='type-id-18' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='655' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6528'>
+        <var-decl name='dv_mutex' type-id='type-id-19' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='657' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6848'>
+        <var-decl name='dv_meta_mask' type-id='type-id-12' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='658' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6880'>
+        <var-decl name='dv_mark_mask' type-id='type-id-12' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='659' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6912'>
+        <var-decl name='dv_regc0_mask' type-id='type-id-12' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='660' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6944'>
+        <var-decl name='dv_refcnt' type-id='type-id-12' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='661' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6976'>
+        <var-decl name='fdb_domain' type-id='type-id-20' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7040'>
+        <var-decl name='fdb_mtr_sfx_tbl' type-id='type-id-21' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='663' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7104'>
+        <var-decl name='rx_domain' type-id='type-id-20' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7168'>
+        <var-decl name='rx_mtr_sfx_tbl' type-id='type-id-21' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='666' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7232'>
+        <var-decl name='tx_domain' type-id='type-id-20' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7296'>
+        <var-decl name='tx_mtr_sfx_tbl' type-id='type-id-21' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='669' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7360'>
+        <var-decl name='flow_tbls' type-id='type-id-22' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7424'>
+        <var-decl name='esw_drop_action' type-id='type-id-20' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7488'>
+        <var-decl name='pop_vlan_action' type-id='type-id-20' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='674' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7552'>
+        <var-decl name='encaps_decaps' type-id='type-id-23' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='675' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7616'>
+        <var-decl name='modify_cmds' type-id='type-id-24' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7680'>
+        <var-decl name='tag_table' type-id='type-id-22' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='677' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7744'>
+        <var-decl name='port_id_action_list' type-id='type-id-25' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='679' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7808'>
+        <var-decl name='push_vlan_action_list' type-id='type-id-26' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='681' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7872'>
+        <var-decl name='cmng' type-id='type-id-27' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='682' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='9536'>
+        <var-decl name='intr_mutex' type-id='type-id-19' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='684' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='9856'>
+        <var-decl name='intr_cnt' type-id='type-id-12' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='685' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='9920'>
+        <var-decl name='intr_handle' type-id='type-id-28' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='686' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='223168'>
+        <var-decl name='devx_intr_cnt' type-id='type-id-12' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='687' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='223232'>
+        <var-decl name='intr_handle_devx' type-id='type-id-28' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='688' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='436480'>
+        <var-decl name='devx_comp' type-id='type-id-29' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='689' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='436544'>
+        <var-decl name='tis' type-id='type-id-30' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='436608'>
+        <var-decl name='td' type-id='type-id-30' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='436672'>
+        <var-decl name='flow_id_pool' type-id='type-id-31' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='692' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='436736'>
+        <var-decl name='port' type-id='type-id-32' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='693' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='636' column='1' id='type-id-11'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='le_next' type-id='type-id-9' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='636' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='le_prev' type-id='type-id-33' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='636' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-9'/>
+    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-33'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-4' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-34'/>
+    <typedef-decl name='uint32_t' type-id='type-id-34' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-12'/>
+    <class-decl name='ibv_context' size-in-bits='2624' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1704' column='1' id='type-id-35'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='device' type-id='type-id-36' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1705' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ops' type-id='type-id-37' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1706' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='cmd_fd' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1707' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2144'>
+        <var-decl name='async_fd' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1708' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='num_comp_vectors' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1709' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='mutex' type-id='type-id-19' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1710' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='abi_compat' type-id='type-id-20' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1711' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ibv_device' size-in-bits='5312' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1650' column='1' id='type-id-38'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='_ops' type-id='type-id-39' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1651' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='node_type' type-id='type-id-40' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1652' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='transport_type' type-id='type-id-41' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1653' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='name' type-id='type-id-15' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1655' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='dev_name' type-id='type-id-15' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1657' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='dev_path' type-id='type-id-16' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1659' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3264'>
+        <var-decl name='ibdev_path' type-id='type-id-16' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1661' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='_ibv_device_ops' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1640' column='1' id='type-id-39'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='_dummy1' type-id='type-id-42' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1641' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='_dummy2' type-id='type-id-43' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1642' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-35' size-in-bits='64' id='type-id-13'/>
+    <pointer-type-def type-id='type-id-38' size-in-bits='64' id='type-id-36'/>
+    <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-42'/>
+    <type-decl name='void' id='type-id-45'/>
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-43'/>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-47'/>
+    <enum-decl name='ibv_node_type' filepath='/usr/include/infiniband/verbs.h' line='79' column='1' id='type-id-40'>
+      <underlying-type type-id='type-id-47'/>
+      <enumerator name='IBV_NODE_UNKNOWN' value='-1'/>
+      <enumerator name='IBV_NODE_CA' value='1'/>
+      <enumerator name='IBV_NODE_SWITCH' value='2'/>
+      <enumerator name='IBV_NODE_ROUTER' value='3'/>
+      <enumerator name='IBV_NODE_RNIC' value='4'/>
+      <enumerator name='IBV_NODE_USNIC' value='5'/>
+      <enumerator name='IBV_NODE_USNIC_UDP' value='6'/>
+    </enum-decl>
+    <enum-decl name='ibv_transport_type' filepath='/usr/include/infiniband/verbs.h' line='89' column='1' id='type-id-41'>
+      <underlying-type type-id='type-id-47'/>
+      <enumerator name='IBV_TRANSPORT_UNKNOWN' value='-1'/>
+      <enumerator name='IBV_TRANSPORT_IB' value='0'/>
+      <enumerator name='IBV_TRANSPORT_IWARP' value='1'/>
+      <enumerator name='IBV_TRANSPORT_USNIC' value='2'/>
+      <enumerator name='IBV_TRANSPORT_USNIC_UDP' value='3'/>
+    </enum-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-48'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-49'/>
+
+    <array-type-def dimensions='1' type-id='type-id-48' size-in-bits='512' id='type-id-15'>
+      <subrange length='64' type-id='type-id-49' id='type-id-50'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-48' size-in-bits='2048' id='type-id-16'>
+      <subrange length='256' type-id='type-id-49' id='type-id-51'/>
+
+    </array-type-def>
+    <class-decl name='ibv_context_ops' size-in-bits='2048' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1664' column='1' id='type-id-37'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='_compat_query_device' type-id='type-id-52' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='_compat_query_port' type-id='type-id-52' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1666' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='_compat_alloc_pd' type-id='type-id-52' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1667' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='_compat_dealloc_pd' type-id='type-id-52' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='_compat_reg_mr' type-id='type-id-52' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1669' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='_compat_rereg_mr' type-id='type-id-52' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1670' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='_compat_dereg_mr' type-id='type-id-52' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='alloc_mw' type-id='type-id-53' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1672' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='bind_mw' type-id='type-id-54' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dealloc_mw' type-id='type-id-55' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1675' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='_compat_create_cq' type-id='type-id-52' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='poll_cq' type-id='type-id-56' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1677' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='req_notify_cq' type-id='type-id-57' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1678' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='_compat_cq_event' type-id='type-id-52' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1679' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='_compat_resize_cq' type-id='type-id-52' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1680' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='_compat_destroy_cq' type-id='type-id-52' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1681' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='_compat_create_srq' type-id='type-id-52' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1682' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='_compat_modify_srq' type-id='type-id-52' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1683' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='_compat_query_srq' type-id='type-id-52' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1684' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='_compat_destroy_srq' type-id='type-id-52' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1685' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='post_srq_recv' type-id='type-id-58' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1686' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='_compat_create_qp' type-id='type-id-52' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1689' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='_compat_query_qp' type-id='type-id-52' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='_compat_modify_qp' type-id='type-id-52' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='_compat_destroy_qp' type-id='type-id-52' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1692' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='post_send' type-id='type-id-59' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1693' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='post_recv' type-id='type-id-60' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1695' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='_compat_create_ah' type-id='type-id-52' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1697' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='_compat_destroy_ah' type-id='type-id-52' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1698' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='_compat_attach_mcast' type-id='type-id-52' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1699' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='_compat_detach_mcast' type-id='type-id-52' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1700' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='_compat_async_event' type-id='type-id-52' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1701' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-20'/>
+    <pointer-type-def type-id='type-id-61' size-in-bits='64' id='type-id-52'/>
+    <class-decl name='ibv_mw' size-in-bits='256' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='610' column='1' id='type-id-62'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='context' type-id='type-id-13' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='611' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pd' type-id='type-id-14' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='612' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rkey' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='handle' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='614' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='type' type-id='type-id-63' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='615' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ibv_pd' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='558' column='1' id='type-id-64'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='context' type-id='type-id-13' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='559' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='handle' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='560' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-64' size-in-bits='64' id='type-id-14'/>
+    <enum-decl name='ibv_mw_type' filepath='/usr/include/infiniband/verbs.h' line='605' column='1' id='type-id-63'>
+      <underlying-type type-id='type-id-47'/>
+      <enumerator name='IBV_MW_TYPE_1' value='1'/>
+      <enumerator name='IBV_MW_TYPE_2' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-62' size-in-bits='64' id='type-id-65'/>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-53'/>
+    <class-decl name='ibv_qp' size-in-bits='1280' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1157' column='1' id='type-id-67'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='context' type-id='type-id-13' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1158' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='qp_context' type-id='type-id-20' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1159' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pd' type-id='type-id-14' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1160' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='send_cq' type-id='type-id-68' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1161' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='recv_cq' type-id='type-id-68' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1162' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='srq' type-id='type-id-69' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1163' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='handle' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1164' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='qp_num' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1165' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='state' type-id='type-id-70' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1166' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='qp_type' type-id='type-id-71' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1167' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='mutex' type-id='type-id-19' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1169' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='cond' type-id='type-id-72' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1170' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='events_completed' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ibv_cq' size-in-bits='1024' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1180' column='1' id='type-id-73'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='context' type-id='type-id-13' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1181' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='channel' type-id='type-id-74' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1182' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cq_context' type-id='type-id-20' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1183' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='handle' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1184' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='cqe' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1185' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='mutex' type-id='type-id-19' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='cond' type-id='type-id-72' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='comp_events_completed' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1189' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='992'>
+        <var-decl name='async_events_completed' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1190' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ibv_comp_channel' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1174' column='1' id='type-id-75'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='context' type-id='type-id-13' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1175' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fd' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1176' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='refcnt' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1177' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-75' size-in-bits='64' id='type-id-74'/>
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='67' column='1' id='type-id-76'>
+      <data-member access='private'>
+        <var-decl name='__data' type-id='type-id-77' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='__size' type-id='type-id-78' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='__align' type-id='type-id-79' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='71' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='118' column='1' id='type-id-77'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__lock' type-id='type-id-3' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='120' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='__count' type-id='type-id-4' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='121' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='__owner' type-id='type-id-3' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='122' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='__nusers' type-id='type-id-4' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='124' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='__kind' type-id='type-id-3' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='148' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='__spins' type-id='type-id-80' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='__elision' type-id='type-id-80' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='__list' type-id='type-id-81' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='155' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-80'/>
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='82' column='1' id='type-id-82'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__prev' type-id='type-id-83' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='__next' type-id='type-id-83' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='85' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-82' size-in-bits='64' id='type-id-83'/>
+    <typedef-decl name='__pthread_list_t' type-id='type-id-82' filepath='/usr/include/bits/thread-shared-types.h' line='86' column='1' id='type-id-81'/>
+
+    <array-type-def dimensions='1' type-id='type-id-48' size-in-bits='320' id='type-id-78'>
+      <subrange length='40' type-id='type-id-49' id='type-id-84'/>
+
+    </array-type-def>
+    <type-decl name='long int' size-in-bits='64' id='type-id-79'/>
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-76' filepath='/usr/include/bits/pthreadtypes.h' line='72' column='1' id='type-id-19'/>
+    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='75' column='1' id='type-id-85'>
+      <data-member access='private'>
+        <var-decl name='__data' type-id='type-id-86' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='__size' type-id='type-id-87' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='__align' type-id='type-id-88' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='79' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__pthread_cond_s' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='171' column='1' id='type-id-86'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-89' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='__g_refs' type-id='type-id-90' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='__g_size' type-id='type-id-90' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='192' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='__g1_orig_size' type-id='type-id-4' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='193' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='__wrefs' type-id='type-id-4' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='__g_signals' type-id='type-id-90' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='195' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='173' column='1' id='type-id-89'>
+      <data-member access='private'>
+        <var-decl name='__wseq' type-id='type-id-91' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='175' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='__wseq32' type-id='type-id-92' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='180' column='1'/>
+      </data-member>
+    </union-decl>
+    <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-91'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='176' column='1' id='type-id-92'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__low' type-id='type-id-4' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='178' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='__high' type-id='type-id-4' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='179' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-4' size-in-bits='64' id='type-id-90'>
+      <subrange length='2' type-id='type-id-49' id='type-id-93'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-48' size-in-bits='384' id='type-id-87'>
+      <subrange length='48' type-id='type-id-49' id='type-id-94'/>
+
+    </array-type-def>
+    <type-decl name='long long int' size-in-bits='64' id='type-id-88'/>
+    <typedef-decl name='pthread_cond_t' type-id='type-id-85' filepath='/usr/include/bits/pthreadtypes.h' line='80' column='1' id='type-id-72'/>
+    <pointer-type-def type-id='type-id-73' size-in-bits='64' id='type-id-68'/>
+    <class-decl name='ibv_srq' size-in-bits='1024' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1117' column='1' id='type-id-95'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='context' type-id='type-id-13' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1118' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='srq_context' type-id='type-id-20' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1119' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pd' type-id='type-id-14' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1120' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='handle' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1121' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='mutex' type-id='type-id-19' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1123' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='cond' type-id='type-id-72' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1124' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='events_completed' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1125' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-95' size-in-bits='64' id='type-id-69'/>
+    <enum-decl name='ibv_qp_state' filepath='/usr/include/infiniband/verbs.h' line='944' column='1' id='type-id-70'>
+      <underlying-type type-id='type-id-47'/>
+      <enumerator name='IBV_QPS_RESET' value='0'/>
+      <enumerator name='IBV_QPS_INIT' value='1'/>
+      <enumerator name='IBV_QPS_RTR' value='2'/>
+      <enumerator name='IBV_QPS_RTS' value='3'/>
+      <enumerator name='IBV_QPS_SQD' value='4'/>
+      <enumerator name='IBV_QPS_SQE' value='5'/>
+      <enumerator name='IBV_QPS_ERR' value='6'/>
+      <enumerator name='IBV_QPS_UNKNOWN' value='7'/>
+    </enum-decl>
+    <enum-decl name='ibv_qp_type' filepath='/usr/include/infiniband/verbs.h' line='822' column='1' id='type-id-71'>
+      <underlying-type type-id='type-id-47'/>
+      <enumerator name='IBV_QPT_RC' value='2'/>
+      <enumerator name='IBV_QPT_UC' value='3'/>
+      <enumerator name='IBV_QPT_UD' value='4'/>
+      <enumerator name='IBV_QPT_RAW_PACKET' value='8'/>
+      <enumerator name='IBV_QPT_XRC_SEND' value='9'/>
+      <enumerator name='IBV_QPT_XRC_RECV' value='10'/>
+      <enumerator name='IBV_QPT_DRIVER' value='255'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-67' size-in-bits='64' id='type-id-96'/>
+    <class-decl name='ibv_mw_bind' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1111' column='1' id='type-id-97'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='wr_id' type-id='type-id-98' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1112' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='send_flags' type-id='type-id-4' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1113' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='bind_info' type-id='type-id-99' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1114' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='__uint64_t' type-id='type-id-49' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-100'/>
+    <typedef-decl name='uint64_t' type-id='type-id-100' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-98'/>
+    <class-decl name='ibv_mw_bind_info' size-in-bits='256' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='551' column='1' id='type-id-99'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mr' type-id='type-id-101' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='552' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='addr' type-id='type-id-98' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='553' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='length' type-id='type-id-98' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='554' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='mw_access_flags' type-id='type-id-4' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='555' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ibv_mr' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='595' column='1' id='type-id-102'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='context' type-id='type-id-13' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='596' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pd' type-id='type-id-14' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='597' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-20' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='598' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='length' type-id='type-id-103' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='599' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='handle' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='600' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='lkey' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='rkey' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='602' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='size_t' type-id='type-id-49' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-103'/>
+    <pointer-type-def type-id='type-id-102' size-in-bits='64' id='type-id-101'/>
+    <pointer-type-def type-id='type-id-97' size-in-bits='64' id='type-id-104'/>
+    <pointer-type-def type-id='type-id-105' size-in-bits='64' id='type-id-54'/>
+    <pointer-type-def type-id='type-id-106' size-in-bits='64' id='type-id-55'/>
+    <class-decl name='ibv_wc' size-in-bits='384' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='519' column='1' id='type-id-107'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='wr_id' type-id='type-id-98' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='status' type-id='type-id-108' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='521' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='opcode' type-id='type-id-109' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vendor_err' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='523' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='byte_len' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='524' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-110' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='qp_num' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='532' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='src_qp' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='533' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='wc_flags' type-id='type-id-4' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='534' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pkey_index' type-id='type-id-111' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='535' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='slid' type-id='type-id-111' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='536' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='sl' type-id='type-id-112' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='537' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='360'>
+        <var-decl name='dlid_path_bits' type-id='type-id-112' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='538' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='ibv_wc_status' filepath='/usr/include/infiniband/verbs.h' line='420' column='1' id='type-id-108'>
+      <underlying-type type-id='type-id-47'/>
+      <enumerator name='IBV_WC_SUCCESS' value='0'/>
+      <enumerator name='IBV_WC_LOC_LEN_ERR' value='1'/>
+      <enumerator name='IBV_WC_LOC_QP_OP_ERR' value='2'/>
+      <enumerator name='IBV_WC_LOC_EEC_OP_ERR' value='3'/>
+      <enumerator name='IBV_WC_LOC_PROT_ERR' value='4'/>
+      <enumerator name='IBV_WC_WR_FLUSH_ERR' value='5'/>
+      <enumerator name='IBV_WC_MW_BIND_ERR' value='6'/>
+      <enumerator name='IBV_WC_BAD_RESP_ERR' value='7'/>
+      <enumerator name='IBV_WC_LOC_ACCESS_ERR' value='8'/>
+      <enumerator name='IBV_WC_REM_INV_REQ_ERR' value='9'/>
+      <enumerator name='IBV_WC_REM_ACCESS_ERR' value='10'/>
+      <enumerator name='IBV_WC_REM_OP_ERR' value='11'/>
+      <enumerator name='IBV_WC_RETRY_EXC_ERR' value='12'/>
+      <enumerator name='IBV_WC_RNR_RETRY_EXC_ERR' value='13'/>
+      <enumerator name='IBV_WC_LOC_RDD_VIOL_ERR' value='14'/>
+      <enumerator name='IBV_WC_REM_INV_RD_REQ_ERR' value='15'/>
+      <enumerator name='IBV_WC_REM_ABORT_ERR' value='16'/>
+      <enumerator name='IBV_WC_INV_EECN_ERR' value='17'/>
+      <enumerator name='IBV_WC_INV_EEC_STATE_ERR' value='18'/>
+      <enumerator name='IBV_WC_FATAL_ERR' value='19'/>
+      <enumerator name='IBV_WC_RESP_TIMEOUT_ERR' value='20'/>
+      <enumerator name='IBV_WC_GENERAL_ERR' value='21'/>
+      <enumerator name='IBV_WC_TM_ERR' value='22'/>
+      <enumerator name='IBV_WC_TM_RNDV_INCOMPLETE' value='23'/>
+    </enum-decl>
+    <enum-decl name='ibv_wc_opcode' filepath='/usr/include/infiniband/verbs.h' line='448' column='1' id='type-id-109'>
+      <underlying-type type-id='type-id-47'/>
+      <enumerator name='IBV_WC_SEND' value='0'/>
+      <enumerator name='IBV_WC_RDMA_WRITE' value='1'/>
+      <enumerator name='IBV_WC_RDMA_READ' value='2'/>
+      <enumerator name='IBV_WC_COMP_SWAP' value='3'/>
+      <enumerator name='IBV_WC_FETCH_ADD' value='4'/>
+      <enumerator name='IBV_WC_BIND_MW' value='5'/>
+      <enumerator name='IBV_WC_LOCAL_INV' value='6'/>
+      <enumerator name='IBV_WC_TSO' value='7'/>
+      <enumerator name='IBV_WC_RECV' value='128'/>
+      <enumerator name='IBV_WC_RECV_RDMA_WITH_IMM' value='129'/>
+      <enumerator name='IBV_WC_TM_ADD' value='130'/>
+      <enumerator name='IBV_WC_TM_DEL' value='131'/>
+      <enumerator name='IBV_WC_TM_SYNC' value='132'/>
+      <enumerator name='IBV_WC_TM_RECV' value='133'/>
+      <enumerator name='IBV_WC_TM_NO_TAG' value='134'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='528' column='1' id='type-id-110'>
+      <data-member access='private'>
+        <var-decl name='imm_data' type-id='type-id-113' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='529' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='invalidated_rkey' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='530' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='__u32' type-id='type-id-4' filepath='/usr/local/include/asm-generic/int-ll64.h' line='27' column='1' id='type-id-114'/>
+    <typedef-decl name='__be32' type-id='type-id-114' filepath='/usr/local/include/linux/types.h' line='27' column='1' id='type-id-113'/>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-115'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-115' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-116'/>
+    <typedef-decl name='uint16_t' type-id='type-id-116' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-111'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-117'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-117' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-118'/>
+    <typedef-decl name='uint8_t' type-id='type-id-118' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-112'/>
+    <pointer-type-def type-id='type-id-107' size-in-bits='64' id='type-id-119'/>
+    <pointer-type-def type-id='type-id-120' size-in-bits='64' id='type-id-56'/>
+    <pointer-type-def type-id='type-id-121' size-in-bits='64' id='type-id-57'/>
+    <class-decl name='ibv_recv_wr' size-in-bits='256' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1075' column='1' id='type-id-122'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='wr_id' type-id='type-id-98' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1076' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='next' type-id='type-id-123' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1077' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='sg_list' type-id='type-id-124' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1078' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='num_sge' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1079' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-122' size-in-bits='64' id='type-id-123'/>
+    <class-decl name='ibv_sge' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1019' column='1' id='type-id-125'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr' type-id='type-id-98' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1020' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='length' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1021' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='lkey' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1022' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-125' size-in-bits='64' id='type-id-124'/>
+    <pointer-type-def type-id='type-id-123' size-in-bits='64' id='type-id-126'/>
+    <pointer-type-def type-id='type-id-127' size-in-bits='64' id='type-id-58'/>
+    <class-decl name='ibv_send_wr' size-in-bits='1024' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1025' column='1' id='type-id-128'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='wr_id' type-id='type-id-98' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1026' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='next' type-id='type-id-129' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1027' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='sg_list' type-id='type-id-124' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1028' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='num_sge' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1029' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='opcode' type-id='type-id-130' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1030' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='send_flags' type-id='type-id-4' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1031' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='' type-id='type-id-131' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='wr' type-id='type-id-132' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1055' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='qp_type' type-id='type-id-133' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1060' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-128' size-in-bits='64' id='type-id-129'/>
+    <enum-decl name='ibv_wr_opcode' filepath='/usr/include/infiniband/verbs.h' line='997' column='1' id='type-id-130'>
+      <underlying-type type-id='type-id-47'/>
+      <enumerator name='IBV_WR_RDMA_WRITE' value='0'/>
+      <enumerator name='IBV_WR_RDMA_WRITE_WITH_IMM' value='1'/>
+      <enumerator name='IBV_WR_SEND' value='2'/>
+      <enumerator name='IBV_WR_SEND_WITH_IMM' value='3'/>
+      <enumerator name='IBV_WR_RDMA_READ' value='4'/>
+      <enumerator name='IBV_WR_ATOMIC_CMP_AND_SWP' value='5'/>
+      <enumerator name='IBV_WR_ATOMIC_FETCH_AND_ADD' value='6'/>
+      <enumerator name='IBV_WR_LOCAL_INV' value='7'/>
+      <enumerator name='IBV_WR_BIND_MW' value='8'/>
+      <enumerator name='IBV_WR_SEND_WITH_INV' value='9'/>
+      <enumerator name='IBV_WR_TSO' value='10'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1035' column='1' id='type-id-131'>
+      <data-member access='private'>
+        <var-decl name='imm_data' type-id='type-id-113' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1036' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='invalidate_rkey' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1037' column='1'/>
+      </data-member>
+    </union-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1039' column='1' id='type-id-132'>
+      <data-member access='private'>
+        <var-decl name='rdma' type-id='type-id-134' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1043' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='atomic' type-id='type-id-135' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1049' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='ud' type-id='type-id-136' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1054' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1040' column='1' id='type-id-134'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='remote_addr' type-id='type-id-98' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1041' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rkey' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1042' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1044' column='1' id='type-id-135'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='remote_addr' type-id='type-id-98' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1045' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='compare_add' type-id='type-id-98' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1046' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='swap' type-id='type-id-98' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1047' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='rkey' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1048' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1050' column='1' id='type-id-136'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ah' type-id='type-id-137' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1051' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='remote_qpn' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1052' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='remote_qkey' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1053' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ibv_ah' size-in-bits='192' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1367' column='1' id='type-id-138'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='context' type-id='type-id-13' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1368' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pd' type-id='type-id-14' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1369' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='handle' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1370' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-138' size-in-bits='64' id='type-id-137'/>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1056' column='1' id='type-id-133'>
+      <data-member access='private'>
+        <var-decl name='xrc' type-id='type-id-139' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1059' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1057' column='1' id='type-id-139'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='remote_srqn' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1058' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-129' size-in-bits='64' id='type-id-140'/>
+    <pointer-type-def type-id='type-id-141' size-in-bits='64' id='type-id-59'/>
+    <pointer-type-def type-id='type-id-142' size-in-bits='64' id='type-id-60'/>
+    <class-decl name='ibv_device_attr_ex' size-in-bits='3072' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='296' column='1' id='type-id-17'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='orig_attr' type-id='type-id-143' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='297' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='comp_mask' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='298' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='odp_caps' type-id='type-id-144' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='299' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='completion_timestamp_mask' type-id='type-id-98' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='300' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='hca_core_clock' type-id='type-id-98' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='301' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='device_cap_flags_ex' type-id='type-id-98' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='302' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='tso_caps' type-id='type-id-145' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='303' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='rss_caps' type-id='type-id-146' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='304' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='max_wq_type_rq' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='305' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2656'>
+        <var-decl name='packet_pacing_caps' type-id='type-id-147' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='306' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2752'>
+        <var-decl name='raw_packet_caps' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='307' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2784'>
+        <var-decl name='tm_caps' type-id='type-id-148' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='308' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2944'>
+        <var-decl name='cq_mod_caps' type-id='type-id-149' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='309' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3008'>
+        <var-decl name='max_dm_size' type-id='type-id-98' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='310' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ibv_device_attr' size-in-bits='1856' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='152' column='1' id='type-id-143'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fw_ver' type-id='type-id-15' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='153' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='node_guid' type-id='type-id-150' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='sys_image_guid' type-id='type-id-150' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='155' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='max_mr_size' type-id='type-id-98' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='156' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='page_size_cap' type-id='type-id-98' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='157' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='vendor_id' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='158' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='vendor_part_id' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='159' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='hw_ver' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='160' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='864'>
+        <var-decl name='max_qp' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='161' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='max_qp_wr' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='162' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='928'>
+        <var-decl name='device_cap_flags' type-id='type-id-4' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='163' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='max_sge' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='164' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='992'>
+        <var-decl name='max_sge_rd' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='165' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='max_cq' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='166' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1056'>
+        <var-decl name='max_cqe' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='167' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='max_mr' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='168' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1120'>
+        <var-decl name='max_pd' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='169' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='max_qp_rd_atom' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='170' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1184'>
+        <var-decl name='max_ee_rd_atom' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='max_res_rd_atom' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='172' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1248'>
+        <var-decl name='max_qp_init_rd_atom' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='173' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='max_ee_init_rd_atom' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='174' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1312'>
+        <var-decl name='atomic_cap' type-id='type-id-151' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='175' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='max_ee' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='176' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1376'>
+        <var-decl name='max_rdd' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='177' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='max_mw' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='178' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1440'>
+        <var-decl name='max_raw_ipv6_qp' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='179' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='max_raw_ethy_qp' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='180' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1504'>
+        <var-decl name='max_mcast_grp' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='181' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='max_mcast_qp_attach' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='182' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1568'>
+        <var-decl name='max_total_mcast_qp_attach' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='183' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='max_ah' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='184' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1632'>
+        <var-decl name='max_fmr' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='185' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='max_map_per_fmr' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1696'>
+        <var-decl name='max_srq' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='max_srq_wr' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1760'>
+        <var-decl name='max_srq_sge' type-id='type-id-3' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='189' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='max_pkeys' type-id='type-id-111' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='190' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1808'>
+        <var-decl name='local_ca_ack_delay' type-id='type-id-112' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1816'>
+        <var-decl name='phys_port_cnt' type-id='type-id-112' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='192' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='__u64' type-id='type-id-91' filepath='/usr/local/include/asm-generic/int-ll64.h' line='31' column='1' id='type-id-152'/>
+    <typedef-decl name='__be64' type-id='type-id-152' filepath='/usr/local/include/linux/types.h' line='29' column='1' id='type-id-150'/>
+    <enum-decl name='ibv_atomic_cap' filepath='/usr/include/infiniband/verbs.h' line='131' column='1' id='type-id-151'>
+      <underlying-type type-id='type-id-47'/>
+      <enumerator name='IBV_ATOMIC_NONE' value='0'/>
+      <enumerator name='IBV_ATOMIC_HCA' value='1'/>
+      <enumerator name='IBV_ATOMIC_GLOB' value='2'/>
+    </enum-decl>
+    <class-decl name='ibv_odp_caps' size-in-bits='192' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='209' column='1' id='type-id-144'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='general_caps' type-id='type-id-98' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='210' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='per_transport_caps' type-id='type-id-153' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='215' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='96' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='211' column='1' id='type-id-153'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rc_odp_caps' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='212' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='uc_odp_caps' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='213' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ud_odp_caps' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='214' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ibv_tso_caps' size-in-bits='64' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='222' column='1' id='type-id-145'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max_tso' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='223' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='supported_qpts' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ibv_rss_caps' size-in-bits='256' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='253' column='1' id='type-id-146'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='supported_qpts' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_rwq_indirection_tables' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='max_rwq_indirection_table_size' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rx_hash_fields_mask' type-id='type-id-98' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='rx_hash_function' type-id='type-id-112' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='258' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ibv_packet_pacing_caps' size-in-bits='96' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='261' column='1' id='type-id-147'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='qp_rate_limit_min' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='262' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='qp_rate_limit_max' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='263' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='supported_qpts' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='264' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ibv_tm_caps' size-in-bits='160' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='278' column='1' id='type-id-148'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max_rndv_hdr_size' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='280' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_num_tags' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='282' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='flags' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='284' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='max_ops' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='286' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='max_sge' type-id='type-id-12' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='288' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ibv_cq_moderation_caps' size-in-bits='32' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='291' column='1' id='type-id-149'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max_cq_count' type-id='type-id-111' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='292' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='max_cq_period' type-id='type-id-111' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='293' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='649' column='1' id='type-id-18'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_gen' type-id='type-id-12' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='650' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='rwlock' type-id='type-id-6' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='651' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='cache' type-id='type-id-154' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='652' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='mr_list' type-id='type-id-155' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='653' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='mr_free_list' type-id='type-id-155' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='654' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-6' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_rwlock.h' line='33' column='1' id='type-id-156'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-157' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_rwlock.h' line='34' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='__int32_t' type-id='type-id-3' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-158'/>
+    <typedef-decl name='int32_t' type-id='type-id-158' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-159'/>
+    <qualified-type-def type-id='type-id-159' volatile='yes' id='type-id-157'/>
+    <typedef-decl name='rte_rwlock_t' type-id='type-id-156' filepath='../lib/librte_eal/common/include/generic/rte_rwlock.h' line='35' column='1' id='type-id-6'/>
+    <class-decl name='mlx5_mr_btree' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5_mr.h' line='47' column='1' id='type-id-154'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='len' type-id='type-id-111' visibility='default' filepath='../drivers/net/mlx5/mlx5_mr.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='size' type-id='type-id-111' visibility='default' filepath='../drivers/net/mlx5/mlx5_mr.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='overflow' type-id='type-id-3' visibility='default' filepath='../drivers/net/mlx5/mlx5_mr.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='table' type-id='type-id-160' visibility='default' filepath='../drivers/net/mlx5/mlx5_mr.h' line='51' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='mlx5_mr_cache' size-in-bits='160' is-struct='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5_mr.h' line='40' column='1' id='type-id-161'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='start' type-id='type-id-162' visibility='default' filepath='../drivers/net/mlx5/mlx5_mr.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='end' type-id='type-id-162' visibility='default' filepath='../drivers/net/mlx5/mlx5_mr.h' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='lkey' type-id='type-id-12' visibility='default' filepath='../drivers/net/mlx5/mlx5_mr.h' line='43' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='uintptr_t' type-id='type-id-49' filepath='/usr/include/stdint.h' line='90' column='1' id='type-id-162'/>
+
+    <array-type-def dimensions='1' type-id='type-id-161' size-in-bits='infinite' id='type-id-163'>
+      <subrange length='infinite' id='type-id-164'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-163' size-in-bits='64' id='type-id-160'/>
+    <class-decl name='mlx5_mr_list' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='458' column='1' id='type-id-155'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='lh_first' type-id='type-id-165' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='458' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='mlx5_mr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5_mr.h' line='29' column='1' id='type-id-166'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mr' type-id='type-id-167' visibility='default' filepath='../drivers/net/mlx5/mlx5_mr.h' line='30' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ibv_mr' type-id='type-id-101' visibility='default' filepath='../drivers/net/mlx5/mlx5_mr.h' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='msl' type-id='type-id-168' visibility='default' filepath='../drivers/net/mlx5/mlx5_mr.h' line='32' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='ms_base_idx' type-id='type-id-3' visibility='default' filepath='../drivers/net/mlx5/mlx5_mr.h' line='33' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='ms_n' type-id='type-id-3' visibility='default' filepath='../drivers/net/mlx5/mlx5_mr.h' line='34' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='ms_bmp_n' type-id='type-id-12' visibility='default' filepath='../drivers/net/mlx5/mlx5_mr.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='ms_bmp' type-id='type-id-169' visibility='default' filepath='../drivers/net/mlx5/mlx5_mr.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5_mr.h' line='30' column='1' id='type-id-167'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='le_next' type-id='type-id-165' visibility='default' filepath='../drivers/net/mlx5/mlx5_mr.h' line='30' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='le_prev' type-id='type-id-170' visibility='default' filepath='../drivers/net/mlx5/mlx5_mr.h' line='30' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-166' size-in-bits='64' id='type-id-165'/>
+    <pointer-type-def type-id='type-id-165' size-in-bits='64' id='type-id-170'/>
+    <class-decl name='rte_memseg_list' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='71' column='1' id='type-id-171'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-172' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='page_sz' type-id='type-id-98' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='socket_id' type-id='type-id-3' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='version' type-id='type-id-173' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='len' type-id='type-id-103' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='82' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='external' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='83' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='heap' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='memseg_arr' type-id='type-id-174' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='85' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='73' column='1' id='type-id-172'>
+      <data-member access='private'>
+        <var-decl name='base_va' type-id='type-id-20' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='addr_64' type-id='type-id-98' visibility='default' filepath='../lib/librte_eal/common/include/rte_memory.h' line='76' column='1'/>
+      </data-member>
+    </union-decl>
+    <qualified-type-def type-id='type-id-12' volatile='yes' id='type-id-173'/>
+    <class-decl name='rte_fbarray' size-in-bits='768' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_fbarray.h' line='44' column='1' id='type-id-174'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-15' visibility='default' filepath='../lib/librte_eal/common/include/rte_fbarray.h' line='45' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='count' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_fbarray.h' line='46' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='len' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_fbarray.h' line='47' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_sz' type-id='type-id-4' visibility='default' filepath='../lib/librte_eal/common/include/rte_fbarray.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='data' type-id='type-id-20' visibility='default' filepath='../lib/librte_eal/common/include/rte_fbarray.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='rwlock' type-id='type-id-6' visibility='default' filepath='../lib/librte_eal/common/include/rte_fbarray.h' line='50' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-171' const='yes' id='type-id-175'/>
+    <pointer-type-def type-id='type-id-175' size-in-bits='64' id='type-id-168'/>
+    <class-decl name='rte_bitmap' size-in-bits='320' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bitmap.h' line='61' column='1' id='type-id-176'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='array1' type-id='type-id-177' visibility='default' filepath='../lib/librte_eal/common/include/rte_bitmap.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='array2' type-id='type-id-177' visibility='default' filepath='../lib/librte_eal/common/include/rte_bitmap.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='array1_size' type-id='type-id-12' visibility='default' filepath='../lib/librte_eal/common/include/rte_bitmap.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='array2_size' type-id='type-id-12' visibility='default' filepath='../lib/librte_eal/common/include/rte_bitmap.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='index1' type-id='type-id-12' visibility='default' filepath='../lib/librte_eal/common/include/rte_bitmap.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='offset1' type-id='type-id-12' visibility='default' filepath='../lib/librte_eal/common/include/rte_bitmap.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='index2' type-id='type-id-12' visibility='default' filepath='../lib/librte_eal/common/include/rte_bitmap.h' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='go2' type-id='type-id-12' visibility='default' filepath='../lib/librte_eal/common/include/rte_bitmap.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='memory' type-id='type-id-178' visibility='default' filepath='../lib/librte_eal/common/include/rte_bitmap.h' line='75' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-98' size-in-bits='64' id='type-id-177'/>
+
+    <array-type-def dimensions='1' type-id='type-id-112' size-in-bits='infinite' id='type-id-178'>
+      <subrange length='infinite' type-id='type-id-49' id='type-id-164'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-176' size-in-bits='64' id='type-id-169'/>
+    <class-decl name='mlx5_flow_tbl_resource' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='591' column='1' id='type-id-179'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='obj' type-id='type-id-20' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='592' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='refcnt' type-id='type-id-180' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='593' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-180' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='506' column='1' id='type-id-181'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-157' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='507' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='rte_atomic32_t' type-id='type-id-181' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='508' column='1' id='type-id-180'/>
+    <pointer-type-def type-id='type-id-179' size-in-bits='64' id='type-id-21'/>
+    <class-decl name='mlx5_hlist' size-in-bits='320' is-struct='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5_utils.h' line='193' column='1' id='type-id-182'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-183' visibility='default' filepath='../drivers/net/mlx5/mlx5_utils.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='table_sz' type-id='type-id-12' visibility='default' filepath='../drivers/net/mlx5/mlx5_utils.h' line='196' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='mask' type-id='type-id-12' visibility='default' filepath='../drivers/net/mlx5/mlx5_utils.h' line='198' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='heads' type-id='type-id-184' visibility='default' filepath='../drivers/net/mlx5/mlx5_utils.h' line='199' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-48' size-in-bits='256' id='type-id-183'>
+      <subrange length='32' type-id='type-id-49' id='type-id-185'/>
+
+    </array-type-def>
+    <class-decl name='mlx5_hlist_head' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5_utils.h' line='187' column='1' id='type-id-186'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='lh_first' type-id='type-id-187' visibility='default' filepath='../drivers/net/mlx5/mlx5_utils.h' line='187' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='mlx5_hlist_entry' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5_utils.h' line='181' column='1' id='type-id-188'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-189' visibility='default' filepath='../drivers/net/mlx5/mlx5_utils.h' line='182' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='key' type-id='type-id-98' visibility='default' filepath='../drivers/net/mlx5/mlx5_utils.h' line='183' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5_utils.h' line='182' column='1' id='type-id-189'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='le_next' type-id='type-id-187' visibility='default' filepath='../drivers/net/mlx5/mlx5_utils.h' line='182' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='le_prev' type-id='type-id-190' visibility='default' filepath='../drivers/net/mlx5/mlx5_utils.h' line='182' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-188' size-in-bits='64' id='type-id-187'/>
+    <pointer-type-def type-id='type-id-187' size-in-bits='64' id='type-id-190'/>
+
+    <array-type-def dimensions='1' type-id='type-id-186' size-in-bits='infinite' id='type-id-184'>
+      <subrange length='infinite' type-id='type-id-49' id='type-id-164'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-182' size-in-bits='64' id='type-id-22'/>
+    <class-decl name='encap_decap' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='675' column='1' id='type-id-23'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='lh_first' type-id='type-id-191' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='675' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='mlx5_flow_dv_encap_decap_resource' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5_flow.h' line='349' column='1' id='type-id-192'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-193' visibility='default' filepath='../drivers/net/mlx5/mlx5_flow.h' line='350' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt' type-id='type-id-180' visibility='default' filepath='../drivers/net/mlx5/mlx5_flow.h' line='352' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='verbs_action' type-id='type-id-20' visibility='default' filepath='../drivers/net/mlx5/mlx5_flow.h' line='353' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='buf' type-id='type-id-194' visibility='default' filepath='../drivers/net/mlx5/mlx5_flow.h' line='355' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='size' type-id='type-id-103' visibility='default' filepath='../drivers/net/mlx5/mlx5_flow.h' line='356' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='reformat_type' type-id='type-id-112' visibility='default' filepath='../drivers/net/mlx5/mlx5_flow.h' line='357' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1416'>
+        <var-decl name='ft_type' type-id='type-id-112' visibility='default' filepath='../drivers/net/mlx5/mlx5_flow.h' line='358' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='flags' type-id='type-id-98' visibility='default' filepath='../drivers/net/mlx5/mlx5_flow.h' line='359' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5_flow.h' line='350' column='1' id='type-id-193'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='le_next' type-id='type-id-191' visibility='default' filepath='../drivers/net/mlx5/mlx5_flow.h' line='350' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='le_prev' type-id='type-id-195' visibility='default' filepath='../drivers/net/mlx5/mlx5_flow.h' line='350' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-192' size-in-bits='64' id='type-id-191'/>
+    <pointer-type-def type-id='type-id-191' size-in-bits='64' id='type-id-195'/>
+
+    <array-type-def dimensions='1' type-id='type-id-112' size-in-bits='1056' id='type-id-194'>
+      <subrange length='132' type-id='type-id-49' id='type-id-196'/>
+
+    </array-type-def>
+    <class-decl name='modify_cmd' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='676' column='1' id='type-id-24'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='lh_first' type-id='type-id-197' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='676' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='mlx5_flow_dv_modify_hdr_resource' size-in-bits='1408' is-struct='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5_flow.h' line='380' column='1' id='type-id-198'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-199' visibility='default' filepath='../drivers/net/mlx5/mlx5_flow.h' line='381' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt' type-id='type-id-180' visibility='default' filepath='../drivers/net/mlx5/mlx5_flow.h' line='383' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='verbs_action' type-id='type-id-200' visibility='default' filepath='../drivers/net/mlx5/mlx5_flow.h' line='384' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='ft_type' type-id='type-id-112' visibility='default' filepath='../drivers/net/mlx5/mlx5_flow.h' line='386' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='actions_num' type-id='type-id-12' visibility='default' filepath='../drivers/net/mlx5/mlx5_flow.h' line='387' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='actions' type-id='type-id-201' visibility='default' filepath='../drivers/net/mlx5/mlx5_flow.h' line='388' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='flags' type-id='type-id-98' visibility='default' filepath='../drivers/net/mlx5/mlx5_flow.h' line='390' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5_flow.h' line='381' column='1' id='type-id-199'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='le_next' type-id='type-id-197' visibility='default' filepath='../drivers/net/mlx5/mlx5_flow.h' line='381' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='le_prev' type-id='type-id-202' visibility='default' filepath='../drivers/net/mlx5/mlx5_flow.h' line='381' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-198' size-in-bits='64' id='type-id-197'/>
+    <pointer-type-def type-id='type-id-197' size-in-bits='64' id='type-id-202'/>
+    <class-decl name='ibv_flow_action' size-in-bits='64' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1611' column='1' id='type-id-203'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='context' type-id='type-id-13' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1612' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-203' size-in-bits='64' id='type-id-200'/>
+    <class-decl name='mlx5_modification_cmd' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5_prm.h' line='485' column='1' id='type-id-204'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-205' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5_prm.h' line='486' column='1' id='type-id-205'>
+      <data-member access='private'>
+        <var-decl name='data0' type-id='type-id-12' visibility='default' filepath='../drivers/net/mlx5/mlx5_prm.h' line='487' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='' type-id='type-id-206' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5_prm.h' line='488' column='1' id='type-id-206'>
+      <data-member access='public' layout-offset-in-bits='27'>
+        <var-decl name='length' type-id='type-id-4' visibility='default' filepath='../drivers/net/mlx5/mlx5_prm.h' line='489' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='rsvd0' type-id='type-id-4' visibility='default' filepath='../drivers/net/mlx5/mlx5_prm.h' line='490' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='19'>
+        <var-decl name='offset' type-id='type-id-4' visibility='default' filepath='../drivers/net/mlx5/mlx5_prm.h' line='491' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='rsvd1' type-id='type-id-4' visibility='default' filepath='../drivers/net/mlx5/mlx5_prm.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4'>
+        <var-decl name='field' type-id='type-id-4' visibility='default' filepath='../drivers/net/mlx5/mlx5_prm.h' line='493' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='action_type' type-id='type-id-4' visibility='default' filepath='../drivers/net/mlx5/mlx5_prm.h' line='494' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-204' size-in-bits='1024' id='type-id-201'>
+      <subrange length='16' type-id='type-id-49' id='type-id-207'/>
+
+    </array-type-def>
+    <class-decl name='port_id_action_list' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='678' column='1' id='type-id-25'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='lh_first' type-id='type-id-208' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='mlx5_flow_dv_port_id_action_resource' size-in-bits='320' is-struct='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5_flow.h' line='401' column='1' id='type-id-209'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-210' visibility='default' filepath='../drivers/net/mlx5/mlx5_flow.h' line='402' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt' type-id='type-id-180' visibility='default' filepath='../drivers/net/mlx5/mlx5_flow.h' line='404' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='action' type-id='type-id-20' visibility='default' filepath='../drivers/net/mlx5/mlx5_flow.h' line='405' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='port_id' type-id='type-id-12' visibility='default' filepath='../drivers/net/mlx5/mlx5_flow.h' line='407' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5_flow.h' line='402' column='1' id='type-id-210'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='le_next' type-id='type-id-208' visibility='default' filepath='../drivers/net/mlx5/mlx5_flow.h' line='402' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='le_prev' type-id='type-id-211' visibility='default' filepath='../drivers/net/mlx5/mlx5_flow.h' line='402' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-209' size-in-bits='64' id='type-id-208'/>
+    <pointer-type-def type-id='type-id-208' size-in-bits='64' id='type-id-211'/>
+    <class-decl name='push_vlan_action_list' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='680' column='1' id='type-id-26'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='lh_first' type-id='type-id-212' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='680' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='mlx5_flow_dv_push_vlan_action_resource' size-in-bits='320' is-struct='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5_flow.h' line='411' column='1' id='type-id-213'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-214' visibility='default' filepath='../drivers/net/mlx5/mlx5_flow.h' line='412' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt' type-id='type-id-180' visibility='default' filepath='../drivers/net/mlx5/mlx5_flow.h' line='414' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='action' type-id='type-id-20' visibility='default' filepath='../drivers/net/mlx5/mlx5_flow.h' line='415' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='ft_type' type-id='type-id-112' visibility='default' filepath='../drivers/net/mlx5/mlx5_flow.h' line='416' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='vlan_tag' type-id='type-id-215' visibility='default' filepath='../drivers/net/mlx5/mlx5_flow.h' line='417' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5_flow.h' line='412' column='1' id='type-id-214'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='le_next' type-id='type-id-212' visibility='default' filepath='../drivers/net/mlx5/mlx5_flow.h' line='412' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='le_prev' type-id='type-id-216' visibility='default' filepath='../drivers/net/mlx5/mlx5_flow.h' line='412' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-213' size-in-bits='64' id='type-id-212'/>
+    <pointer-type-def type-id='type-id-212' size-in-bits='64' id='type-id-216'/>
+    <typedef-decl name='rte_be32_t' type-id='type-id-12' filepath='../lib/librte_eal/common/include/generic/rte_byteorder.h' line='111' column='1' id='type-id-215'/>
+    <class-decl name='mlx5_flow_counter_mng' size-in-bits='1664' is-struct='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='552' column='1' id='type-id-27'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mhi' type-id='type-id-217' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='553' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ccont' type-id='type-id-218' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='554' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='flow_counters' type-id='type-id-219' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='556' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='pending_queries' type-id='type-id-112' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='557' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1480'>
+        <var-decl name='batch' type-id='type-id-112' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='558' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1488'>
+        <var-decl name='pool_index' type-id='type-id-111' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='559' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1504'>
+        <var-decl name='query_thread_on' type-id='type-id-112' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='560' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='mem_mngs' type-id='type-id-220' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='free_stat_raws' type-id='type-id-221' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='562' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-112' size-in-bits='16' id='type-id-217'>
+      <subrange length='2' type-id='type-id-49' id='type-id-93'/>
+
+    </array-type-def>
+    <class-decl name='mlx5_pools_container' size-in-bits='320' is-struct='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='542' column='1' id='type-id-222'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n_valid' type-id='type-id-223' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='543' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='n' type-id='type-id-111' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='544' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pool_list' type-id='type-id-224' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='545' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='pools' type-id='type-id-225' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='546' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='init_mem_mng' type-id='type-id-226' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='547' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-223' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-227'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-228' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='__int16_t' type-id='type-id-80' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-229'/>
+    <typedef-decl name='int16_t' type-id='type-id-229' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-230'/>
+    <qualified-type-def type-id='type-id-230' volatile='yes' id='type-id-228'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-227' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-223'/>
+    <class-decl name='mlx5_counter_pools' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='539' column='1' id='type-id-224'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-231' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='539' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-225' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='539' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='mlx5_flow_counter_pool' size-in-bits='576' is-struct='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='505' column='1' id='type-id-232'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-233' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='506' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='counters' type-id='type-id-219' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='507' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-234' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='query_gen' type-id='type-id-235' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='513' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='n_counters' type-id='type-id-12' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='514' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='sl' type-id='type-id-2' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='raw' type-id='type-id-236' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='516' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='raw_hw' type-id='type-id-236' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='517' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='counters_raw' type-id='type-id-237' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='518' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='506' column='1' id='type-id-233'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-231' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='506' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-225' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='506' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-232' size-in-bits='64' id='type-id-231'/>
+    <pointer-type-def type-id='type-id-231' size-in-bits='64' id='type-id-225'/>
+    <class-decl name='mlx5_counters' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='502' column='1' id='type-id-219'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-238' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='502' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-239' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='502' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='mlx5_flow_counter' size-in-bits='448' is-struct='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='477' column='1' id='type-id-240'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-241' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='478' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='shared' type-id='type-id-12' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='480' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='batch' type-id='type-id-12' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ref_cnt' type-id='type-id-12' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='id' type-id='type-id-12' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='484' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-242' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='bytes' type-id='type-id-98' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='action' type-id='type-id-20' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='499' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='478' column='1' id='type-id-241'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-238' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='478' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-239' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='478' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-240' size-in-bits='64' id='type-id-238'/>
+    <pointer-type-def type-id='type-id-238' size-in-bits='64' id='type-id-239'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='485' column='1' id='type-id-242'>
+      <data-member access='private'>
+        <var-decl name='cs' type-id='type-id-243' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='489' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dcs' type-id='type-id-30' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='491' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool' type-id='type-id-231' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='492' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='ibv_counters' size-in-bits='64' is-struct='yes' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1758' column='1' id='type-id-244'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='context' type-id='type-id-13' visibility='default' filepath='/usr/include/infiniband/verbs.h' line='1759' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-244' size-in-bits='64' id='type-id-243'/>
+    <class-decl name='mlx5_devx_obj' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='160' column='1' id='type-id-245'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='obj' type-id='type-id-246' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='161' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='id' type-id='type-id-3' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='162' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='mlx5dv_devx_obj' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-247'/>
+    <pointer-type-def type-id='type-id-247' size-in-bits='64' id='type-id-246'/>
+    <pointer-type-def type-id='type-id-245' size-in-bits='64' id='type-id-30'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='508' column='1' id='type-id-234'>
+      <data-member access='private'>
+        <var-decl name='min_dcs' type-id='type-id-30' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='509' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='a64_dcs' type-id='type-id-235' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='510' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-235' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='788' column='1' id='type-id-248'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-249' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='789' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='__int64_t' type-id='type-id-79' filepath='/usr/include/bits/types.h' line='44' column='1' id='type-id-250'/>
+    <typedef-decl name='int64_t' type-id='type-id-250' filepath='/usr/include/bits/stdint-intn.h' line='27' column='1' id='type-id-251'/>
+    <qualified-type-def type-id='type-id-251' volatile='yes' id='type-id-249'/>
+    <typedef-decl name='rte_atomic64_t' type-id='type-id-248' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='790' column='1' id='type-id-235'/>
+    <class-decl name='mlx5_counter_stats_raw' size-in-bits='320' is-struct='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='532' column='1' id='type-id-252'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-253' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='533' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='min_dcs_id' type-id='type-id-3' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='534' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='mem_mng' type-id='type-id-226' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='535' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='data' type-id='type-id-254' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='536' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='533' column='1' id='type-id-253'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='le_next' type-id='type-id-236' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='533' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='le_prev' type-id='type-id-255' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='533' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-252' size-in-bits='64' id='type-id-236'/>
+    <pointer-type-def type-id='type-id-236' size-in-bits='64' id='type-id-255'/>
+    <class-decl name='mlx5_counter_stats_mem_mng' size-in-bits='320' is-struct='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='524' column='1' id='type-id-256'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-257' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='raws' type-id='type-id-236' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='526' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dm' type-id='type-id-30' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='527' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='umem' type-id='type-id-258' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='528' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='525' column='1' id='type-id-257'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='le_next' type-id='type-id-226' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='le_prev' type-id='type-id-259' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='525' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-256' size-in-bits='64' id='type-id-226'/>
+    <pointer-type-def type-id='type-id-226' size-in-bits='64' id='type-id-259'/>
+    <class-decl name='mlx5dv_devx_umem' size-in-bits='32' is-struct='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5_glue.h' line='67' column='1' id='type-id-260'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='umem_id' type-id='type-id-12' visibility='default' filepath='../drivers/net/mlx5/mlx5_glue.h' line='67' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-260' size-in-bits='64' id='type-id-258'/>
+    <class-decl name='flow_counter_stats' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='471' column='1' id='type-id-261'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='hits' type-id='type-id-98' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='472' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bytes' type-id='type-id-98' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='473' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-261' volatile='yes' id='type-id-262'/>
+    <pointer-type-def type-id='type-id-262' size-in-bits='64' id='type-id-254'/>
+
+    <array-type-def dimensions='1' type-id='type-id-240' size-in-bits='infinite' id='type-id-237'>
+      <subrange length='infinite' type-id='type-id-49' id='type-id-164'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-222' size-in-bits='1280' id='type-id-218'>
+      <subrange length='4' type-id='type-id-49' id='type-id-263'/>
+
+    </array-type-def>
+    <class-decl name='mem_mngs' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='561' column='1' id='type-id-220'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='lh_first' type-id='type-id-226' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='561' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='stat_raws' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='562' column='1' id='type-id-221'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='lh_first' type-id='type-id-236' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='562' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_intr_handle' size-in-bits='213248' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='69' column='1' id='type-id-28'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-264' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-3' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-265' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='max_intr' type-id='type-id-12' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='nb_efd' type-id='type-id-12' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='efd_counter_size' type-id='type-id-112' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='efds' type-id='type-id-266' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16576'>
+        <var-decl name='elist' type-id='type-id-267' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='213184'>
+        <var-decl name='intr_vec' type-id='type-id-268' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='71' column='1' id='type-id-264'>
+      <data-member access='private'>
+        <var-decl name='vfio_dev_fd' type-id='type-id-3' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='uio_cfg_fd' type-id='type-id-3' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='73' column='1'/>
+      </data-member>
+    </union-decl>
+    <enum-decl name='rte_intr_handle_type' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='27' column='1' id='type-id-265'>
+      <underlying-type type-id='type-id-47'/>
+      <enumerator name='RTE_INTR_HANDLE_UNKNOWN' value='0'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO' value='1'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO_INTX' value='2'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_LEGACY' value='3'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSI' value='4'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSIX' value='5'/>
+      <enumerator name='RTE_INTR_HANDLE_ALARM' value='6'/>
+      <enumerator name='RTE_INTR_HANDLE_EXT' value='7'/>
+      <enumerator name='RTE_INTR_HANDLE_VDEV' value='8'/>
+      <enumerator name='RTE_INTR_HANDLE_DEV_EVENT' value='9'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_REQ' value='10'/>
+      <enumerator name='RTE_INTR_HANDLE_MAX' value='11'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='16384' id='type-id-266'>
+      <subrange length='512' type-id='type-id-49' id='type-id-269'/>
+
+    </array-type-def>
+    <class-decl name='rte_epoll_event' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='61' column='1' id='type-id-270'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='status' type-id='type-id-173' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-3' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='epfd' type-id='type-id-3' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='epdata' type-id='type-id-271' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_epoll_data' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='47' column='1' id='type-id-271'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event' type-id='type-id-12' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='data' type-id='type-id-20' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cb_fun' type-id='type-id-272' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='cb_arg' type-id='type-id-20' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='51' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-273' size-in-bits='64' id='type-id-274'/>
+    <typedef-decl name='rte_intr_event_cb_t' type-id='type-id-274' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='45' column='1' id='type-id-272'/>
+
+    <array-type-def dimensions='1' type-id='type-id-270' size-in-bits='196608' id='type-id-267'>
+      <subrange length='512' type-id='type-id-49' id='type-id-269'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-268'/>
+    <class-decl name='mlx5dv_devx_cmd_comp' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-275'/>
+    <pointer-type-def type-id='type-id-275' size-in-bits='64' id='type-id-29'/>
+    <class-decl name='mlx5_flow_id_pool' size-in-bits='256' is-struct='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='623' column='1' id='type-id-276'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_arr' type-id='type-id-277' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='624' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='base_index' type-id='type-id-12' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='625' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='curr' type-id='type-id-277' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='627' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='last' type-id='type-id-277' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='628' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-12' size-in-bits='64' id='type-id-277'/>
+    <pointer-type-def type-id='type-id-276' size-in-bits='64' id='type-id-31'/>
+    <class-decl name='mlx5_ibv_shared_port' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='566' column='1' id='type-id-278'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ih_port_id' type-id='type-id-12' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='567' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='devx_ih_port_id' type-id='type-id-12' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='568' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-278' size-in-bits='infinite' id='type-id-32'>
+      <subrange length='infinite' type-id='type-id-49' id='type-id-164'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-279'/>
+    <var-decl name='mlx5_shared_data' type-id='type-id-279' visibility='default' filepath='../drivers/net/mlx5/mlx5.h' line='133' column='1'/>
+    <var-decl name='mlx5_logtype' type-id='type-id-3' visibility='default' filepath='../drivers/net/mlx5/mlx5_utils.h' line='74' column='1'/>
+    <function-type size-in-bits='64' id='type-id-44'>
+      <parameter type-id='type-id-36'/>
+      <parameter type-id='type-id-3'/>
+      <return type-id='type-id-13'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-66'>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-63'/>
+      <return type-id='type-id-65'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-121'>
+      <parameter type-id='type-id-68'/>
+      <parameter type-id='type-id-3'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-120'>
+      <parameter type-id='type-id-68'/>
+      <parameter type-id='type-id-3'/>
+      <parameter type-id='type-id-119'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-106'>
+      <parameter type-id='type-id-65'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-105'>
+      <parameter type-id='type-id-96'/>
+      <parameter type-id='type-id-65'/>
+      <parameter type-id='type-id-104'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-142'>
+      <parameter type-id='type-id-96'/>
+      <parameter type-id='type-id-123'/>
+      <parameter type-id='type-id-126'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-141'>
+      <parameter type-id='type-id-96'/>
+      <parameter type-id='type-id-129'/>
+      <parameter type-id='type-id-140'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-127'>
+      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-123'/>
+      <parameter type-id='type-id-126'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-46'>
+      <parameter type-id='type-id-13'/>
+      <return type-id='type-id-45'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-273'>
+      <parameter type-id='type-id-3'/>
+      <parameter type-id='type-id-20'/>
+      <return type-id='type-id-45'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-61'>
+      <return type-id='type-id-20'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/mlx5/mlx5_rxq.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='rss_hash_default_key' type-id='type-id-178' visibility='default' filepath='../drivers/net/mlx5/mlx5_rxtx.h' line='368' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/mlx5/mlx5_rxtx.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+
+    <array-type-def dimensions='1' type-id='type-id-12' size-in-bits='infinite' id='type-id-280'>
+      <subrange length='infinite' id='type-id-164'/>
+
+    </array-type-def>
+    <var-decl name='mlx5_ptype_table' type-id='type-id-280' visibility='default' filepath='../drivers/net/mlx5/mlx5_rxtx.h' line='447' column='1'/>
+    <var-decl name='mlx5_cksum_table' type-id='type-id-178' visibility='default' filepath='../drivers/net/mlx5/mlx5_rxtx.h' line='448' column='1'/>
+    <var-decl name='mlx5_swp_types_table' type-id='type-id-178' visibility='default' filepath='../drivers/net/mlx5/mlx5_rxtx.h' line='449' column='1'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_netvsc.dump b/drivers/.abi/librte_pmd_netvsc.dump
new file mode 100644
index 000000000..db1f9b67e
--- /dev/null
+++ b/drivers/.abi/librte_pmd_netvsc.dump
@@ -0,0 +1,28 @@
+<abi-corpus path='gcc//drivers/librte_pmd_netvsc.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_netvsc.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='librte_bus_vmbus.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/netvsc/hn_ethdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='hn_logtype_init' type-id='type-id-1' visibility='default' filepath='../drivers/net/netvsc/hn_logs.h' line='8' column='1'/>
+    <var-decl name='hn_logtype_driver' type-id='type-id-1' visibility='default' filepath='../drivers/net/netvsc/hn_logs.h' line='9' column='1'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_nfp.dump b/drivers/.abi/librte_pmd_nfp.dump
new file mode 100644
index 000000000..d6692fc0f
--- /dev/null
+++ b/drivers/.abi/librte_pmd_nfp.dump
@@ -0,0 +1,27 @@
+<abi-corpus path='gcc//drivers/librte_pmd_nfp.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_nfp.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/nfp/nfp_net.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='nfp_logtype_init' type-id='type-id-1' visibility='default' filepath='../drivers/net/nfp/nfp_net_logs.h' line='11' column='1'/>
+    <var-decl name='nfp_logtype_driver' type-id='type-id-1' visibility='default' filepath='../drivers/net/nfp/nfp_net_logs.h' line='42' column='1'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_null.dump b/drivers/.abi/librte_pmd_null.dump
new file mode 100644
index 000000000..640c272f7
--- /dev/null
+++ b/drivers/.abi/librte_pmd_null.dump
@@ -0,0 +1,22 @@
+<abi-corpus path='gcc//drivers/librte_pmd_null.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_null.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_octeontx.dump b/drivers/.abi/librte_pmd_octeontx.dump
new file mode 100644
index 000000000..1f44cb5a1
--- /dev/null
+++ b/drivers/.abi/librte_pmd_octeontx.dump
@@ -0,0 +1,49 @@
+<abi-corpus path='gcc//drivers/librte_pmd_octeontx.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_octeontx.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='librte_mempool_octeontx.so.20.0'/>
+    <dependency name='librte_common_octeontx.so.20.0'/>
+    <dependency name='librte_eventdev.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='librte_timer.so.20.0'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+  </elf-needed>
+  <elf-variable-symbols>
+    <elf-symbol name='rte_octeontx_pchan_map' size='32' version='DPDK_20.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/octeontx/octeontx_ethdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-1'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-2'/>
+    <typedef-decl name='uint16_t' type-id='type-id-2' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-3'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-4'/>
+
+
+    <array-type-def dimensions='2' type-id='type-id-3' size-in-bits='128' id='type-id-5'>
+      <subrange length='4' type-id='type-id-4' id='type-id-6'/>
+
+      <subrange length='4' type-id='type-id-4' id='type-id-6'/>
+
+    </array-type-def>
+    <var-decl name='rte_octeontx_pchan_map' type-id='type-id-5' mangled-name='rte_octeontx_pchan_map' visibility='default' filepath='../drivers/net/octeontx/octeontx_ethdev.h' line='42' column='1' elf-symbol-id='rte_octeontx_pchan_map@@DPDK_20.0'/>
+    <type-decl name='int' size-in-bits='32' id='type-id-7'/>
+    <var-decl name='otx_net_logtype_mbox' type-id='type-id-7' visibility='default' filepath='../drivers/net/octeontx/octeontx_logs.h' line='31' column='1'/>
+    <var-decl name='otx_net_logtype_init' type-id='type-id-7' visibility='default' filepath='../drivers/net/octeontx/octeontx_logs.h' line='29' column='1'/>
+    <var-decl name='otx_net_logtype_driver' type-id='type-id-7' visibility='default' filepath='../drivers/net/octeontx/octeontx_logs.h' line='30' column='1'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_octeontx2.dump b/drivers/.abi/librte_pmd_octeontx2.dump
new file mode 100644
index 000000000..dc089622a
--- /dev/null
+++ b/drivers/.abi/librte_pmd_octeontx2.dump
@@ -0,0 +1,3140 @@
+<abi-corpus path='gcc//drivers/librte_pmd_octeontx2.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_octeontx2.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='librte_common_octeontx2.so.20.0'/>
+    <dependency name='librte_mempool_octeontx2.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/octeontx2/otx2_flow.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_flow_ops' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='63' column='1' id='type-id-1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='validate' type-id='type-id-2' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='create' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='destroy' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='flush' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='query' type-id='type-id-6' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='isolate' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='95' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='int' size-in-bits='32' id='type-id-8'/>
+    <class-decl name='rte_eth_dev' size-in-bits='132608' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='777' column='1' id='type-id-9'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_pkt_burst' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='778' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tx_pkt_burst' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tx_pkt_prepare' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='data' type-id='type-id-13' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='786' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='process_private' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='787' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_ops' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='788' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='device' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='789' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='intr_handle' type-id='type-id-17' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='790' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='link_intr_cbs' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='792' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='post_rx_burst_cbs' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='797' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='66176'>
+        <var-decl name='pre_tx_burst_cbs' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131712'>
+        <var-decl name='state' type-id='type-id-20' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='803' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131776'>
+        <var-decl name='security_ctx' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131840'>
+        <var-decl name='reserved_64s' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='806' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='132096'>
+        <var-decl name='reserved_ptrs' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='807' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-23'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-23' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-24'/>
+    <typedef-decl name='uint16_t' type-id='type-id-24' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-25'/>
+    <type-decl name='void' id='type-id-26'/>
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-14'/>
+    <class-decl name='rte_mbuf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='480' column='1' id='type-id-27'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheline0' type-id='type-id-28' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-14' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-29' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rearm_data' type-id='type-id-30' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='497' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_off' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_segs' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='port' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ol_flags' type-id='type-id-31' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_descriptor_fields1' type-id='type-id-28' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='pkt_len' type-id='type-id-32' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data_len' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='vlan_tci' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vlan_tci_outer' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='buf_len' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='timestamp' type-id='type-id-31' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cacheline1' type-id='type-id-28' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='pool' type-id='type-id-33' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='next' type-id='type-id-34' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='timesync' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='seqn' type-id='type-id-32' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='shinfo' type-id='type-id-35' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dynfield1' type-id='type-id-36' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-37'/>
+
+    <array-type-def dimensions='1' type-id='type-id-14' size-in-bits='infinite' id='type-id-38'>
+      <subrange length='infinite' type-id='type-id-37' id='type-id-39'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER' type-id='type-id-38' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='414' column='1' id='type-id-28'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='491' column='1' id='type-id-29'>
+      <data-member access='private'>
+        <var-decl name='buf_iova' type-id='type-id-40' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='buf_physaddr' type-id='type-id-40' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='__uint64_t' type-id='type-id-37' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-41'/>
+    <typedef-decl name='uint64_t' type-id='type-id-41' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-31'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-31' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-40'/>
+
+    <array-type-def dimensions='1' type-id='type-id-31' size-in-bits='infinite' id='type-id-42'>
+      <subrange length='infinite' type-id='type-id-37' id='type-id-39'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER64' type-id='type-id-42' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='420' column='1' id='type-id-30'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-43'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-43' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-44'/>
+    <typedef-decl name='uint32_t' type-id='type-id-44' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-32'/>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-45'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-46' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-47' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-14' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-48' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-43' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-8' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-43' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-50' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-51' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-52' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-53'/>
+
+    <array-type-def dimensions='1' type-id='type-id-53' size-in-bits='256' id='type-id-46'>
+      <subrange length='32' type-id='type-id-37' id='type-id-54'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-47'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-14' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-31' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-55'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-46' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-56' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-57' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-31' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-49' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-32' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-56'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-58' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-40' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-31' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-58'/>
+    <typedef-decl name='size_t' type-id='type-id-37' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-57'/>
+    <typedef-decl name='__int32_t' type-id='type-id-8' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-59'/>
+    <typedef-decl name='int32_t' type-id='type-id-59' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-49'/>
+    <qualified-type-def type-id='type-id-55' const='yes' id='type-id-60'/>
+    <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-48'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-61'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-62' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-14' size-in-bits='98304' id='type-id-62'>
+      <subrange length='1536' type-id='type-id-37' id='type-id-63'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-61' size-in-bits='64' id='type-id-50'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-51'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-64' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-65' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-66'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-67' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-33' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-68' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-67'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-64' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-64'/>
+    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-33'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-68'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-40' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-58' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-64' size-in-bits='64' id='type-id-65'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-52'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-69' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-70' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-71'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-72' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-33' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-14' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-73' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-57' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-74' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-14' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-72'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-69' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-69'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-73'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-40' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-58' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-75' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-76'/>
+    <pointer-type-def type-id='type-id-76' size-in-bits='64' id='type-id-74'/>
+    <pointer-type-def type-id='type-id-69' size-in-bits='64' id='type-id-70'/>
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-34'/>
+    <class-decl name='rte_mbuf_ext_shared_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='689' column='1' id='type-id-77'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_cb' type-id='type-id-78' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcb_opaque' type-id='type-id-14' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt_atomic' type-id='type-id-79' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-80' size-in-bits='64' id='type-id-81'/>
+    <typedef-decl name='rte_mbuf_extbuf_free_callback_t' type-id='type-id-81' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='684' column='1' id='type-id-78'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-79' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-82'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-83' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-84'/>
+    <typedef-decl name='__int16_t' type-id='type-id-84' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-85'/>
+    <typedef-decl name='int16_t' type-id='type-id-85' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-86'/>
+    <qualified-type-def type-id='type-id-86' volatile='yes' id='type-id-83'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-82' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-79'/>
+    <pointer-type-def type-id='type-id-77' size-in-bits='64' id='type-id-35'/>
+
+    <array-type-def dimensions='1' type-id='type-id-31' size-in-bits='128' id='type-id-36'>
+      <subrange length='2' type-id='type-id-37' id='type-id-87'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-88'/>
+    <pointer-type-def type-id='type-id-89' size-in-bits='64' id='type-id-90'/>
+    <typedef-decl name='eth_rx_burst_t' type-id='type-id-90' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='340' column='1' id='type-id-10'/>
+    <typedef-decl name='eth_tx_burst_t' type-id='type-id-90' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='345' column='1' id='type-id-11'/>
+    <typedef-decl name='eth_tx_prep_t' type-id='type-id-90' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='350' column='1' id='type-id-12'/>
+    <class-decl name='rte_eth_dev_data' size-in-bits='55808' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='820' column='1' id='type-id-91'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='821' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_queues' type-id='type-id-93' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='823' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_queues' type-id='type-id-93' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='824' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='nb_rx_queues' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='825' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='656'>
+        <var-decl name='nb_tx_queues' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='826' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='sriov' type-id='type-id-94' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='dev_private' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='830' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_link' type-id='type-id-95' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='835' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dev_conf' type-id='type-id-96' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='836' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25536'>
+        <var-decl name='mtu' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='837' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25568'>
+        <var-decl name='min_rx_buf_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25600'>
+        <var-decl name='rx_mbuf_alloc_failed' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='841' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25664'>
+        <var-decl name='mac_addrs' type-id='type-id-97' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='842' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25728'>
+        <var-decl name='mac_pool_sel' type-id='type-id-98' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='846' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='33920'>
+        <var-decl name='hash_mac_addrs' type-id='type-id-97' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='848' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='33984'>
+        <var-decl name='port_id' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='852' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='promiscuous' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='855' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='scattered_rx' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='856' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='all_multicast' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='857' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4'>
+        <var-decl name='dev_started' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='858' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3'>
+        <var-decl name='lro' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='859' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='34008'>
+        <var-decl name='rx_queue_state' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='860' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='42200'>
+        <var-decl name='tx_queue_state' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='862' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50400'>
+        <var-decl name='dev_flags' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='864' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50432'>
+        <var-decl name='kdrv' type-id='type-id-101' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50464'>
+        <var-decl name='numa_node' type-id='type-id-8' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='866' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50496'>
+        <var-decl name='vlan_filter_conf' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='867' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='54592'>
+        <var-decl name='owner' type-id='type-id-103' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='869' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55168'>
+        <var-decl name='representor_id' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='870' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55232'>
+        <var-decl name='reserved_64s' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='875' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55488'>
+        <var-decl name='reserved_ptrs' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='876' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-53' size-in-bits='512' id='type-id-92'>
+      <subrange length='64' type-id='type-id-37' id='type-id-104'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-93'/>
+    <class-decl name='rte_eth_dev_sriov' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1476' column='1' id='type-id-94'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='active' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1477' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='nb_q_per_pool' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1478' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='def_vmdq_idx' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1479' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='def_pool_q_idx' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1480' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-105'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-105' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-106'/>
+    <typedef-decl name='uint8_t' type-id='type-id-106' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-99'/>
+    <class-decl name='rte_eth_link' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='308' column='1' id='type-id-95'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_speed' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='309' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='15'>
+        <var-decl name='link_duplex' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='310' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='14'>
+        <var-decl name='link_autoneg' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='311' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='13'>
+        <var-decl name='link_status' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='312' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_conf' size-in-bits='24640' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1045' column='1' id='type-id-96'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_speeds' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1046' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rxmode' type-id='type-id-107' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1053' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='txmode' type-id='type-id-108' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1054' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='lpbk_mode' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1055' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='rx_adv_conf' type-id='type-id-109' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1068' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='17984'>
+        <var-decl name='tx_adv_conf' type-id='type-id-110' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1076' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18080'>
+        <var-decl name='dcb_capability_en' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1079' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18112'>
+        <var-decl name='fdir_conf' type-id='type-id-111' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1080' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24576'>
+        <var-decl name='intr_conf' type-id='type-id-112' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1081' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rxmode' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='394' column='1' id='type-id-107'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mq_mode' type-id='type-id-113' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='396' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_rx_pkt_len' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='397' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='max_lro_pkt_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='399' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='split_hdr_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='400' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='offloads' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='406' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='408' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='409' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-115'/>
+    <enum-decl name='rte_eth_rx_mq_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='344' column='1' id='type-id-113'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='ETH_MQ_RX_NONE' value='0'/>
+      <enumerator name='ETH_MQ_RX_RSS' value='1'/>
+      <enumerator name='ETH_MQ_RX_DCB' value='2'/>
+      <enumerator name='ETH_MQ_RX_DCB_RSS' value='3'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_ONLY' value='4'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_RSS' value='5'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_DCB' value='6'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_DCB_RSS' value='7'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-14' size-in-bits='128' id='type-id-114'>
+      <subrange length='2' type-id='type-id-37' id='type-id-87'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_txmode' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='792' column='1' id='type-id-108'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mq_mode' type-id='type-id-116' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='793' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offloads' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='799' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pvid' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='hw_vlan_reject_tagged' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='hw_vlan_reject_untagged' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='806' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='hw_vlan_insert_pvid' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='808' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='811' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='812' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_tx_mq_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='377' column='1' id='type-id-116'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='ETH_MQ_TX_NONE' value='0'/>
+      <enumerator name='ETH_MQ_TX_DCB' value='1'/>
+      <enumerator name='ETH_MQ_TX_VMDQ_DCB' value='2'/>
+      <enumerator name='ETH_MQ_TX_VMDQ_ONLY' value='3'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16960' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1060' column='1' id='type-id-109'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rss_conf' type-id='type-id-117' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1061' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='vmdq_dcb_conf' type-id='type-id-118' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1062' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8512'>
+        <var-decl name='dcb_rx_conf' type-id='type-id-119' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1064' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8640'>
+        <var-decl name='vmdq_rx_conf' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1066' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rss_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='448' column='1' id='type-id-117'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rss_key' type-id='type-id-121' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rss_key_len' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rss_hf' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='451' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-99' size-in-bits='64' id='type-id-121'/>
+    <class-decl name='rte_eth_vmdq_dcb_conf' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='745' column='1' id='type-id-118'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='746' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='enable_default_pool' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='default_pool' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='748' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='nb_pool_maps' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='749' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pool_map' type-id='type-id-123' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8256'>
+        <var-decl name='dcb_tc' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='754' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_nb_pools' filepath='../lib/librte_ethdev/rte_ethdev.h' line='704' column='1' id='type-id-122'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='ETH_8_POOLS' value='8'/>
+      <enumerator name='ETH_16_POOLS' value='16'/>
+      <enumerator name='ETH_32_POOLS' value='32'/>
+      <enumerator name='ETH_64_POOLS' value='64'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='750' column='1' id='type-id-125'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_id' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='751' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pools' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='752' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-125' size-in-bits='8192' id='type-id-123'>
+      <subrange length='64' type-id='type-id-37' id='type-id-104'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-99' size-in-bits='64' id='type-id-124'>
+      <subrange length='8' type-id='type-id-37' id='type-id-126'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_dcb_rx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='712' column='1' id='type-id-119'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-127' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='715' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_nb_tcs' filepath='../lib/librte_ethdev/rte_ethdev.h' line='695' column='1' id='type-id-127'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='ETH_4_TCS' value='4'/>
+      <enumerator name='ETH_8_TCS' value='8'/>
+    </enum-decl>
+    <class-decl name='rte_eth_vmdq_rx_conf' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='776' column='1' id='type-id-120'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='777' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='enable_default_pool' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='778' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='default_pool' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='enable_loop_back' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='nb_pool_maps' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='781' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rx_mode' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='782' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pool_map' type-id='type-id-123' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='786' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <union-decl name='__anonymous_union__' size-in-bits='96' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1069' column='1' id='type-id-110'>
+      <data-member access='private'>
+        <var-decl name='vmdq_dcb_tx_conf' type-id='type-id-128' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1070' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dcb_tx_conf' type-id='type-id-129' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1072' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='vmdq_tx_conf' type-id='type-id-130' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1074' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_eth_vmdq_dcb_tx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='718' column='1' id='type-id-128'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='721' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dcb_tx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='724' column='1' id='type-id-129'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-127' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='727' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vmdq_tx_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='730' column='1' id='type-id-130'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='731' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_fdir_conf' size-in-bits='6464' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1005' column='1' id='type-id-111'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mode' type-id='type-id-131' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1006' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='pballoc' type-id='type-id-132' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1007' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='status' type-id='type-id-133' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1008' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='drop_queue' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1010' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mask' type-id='type-id-134' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1011' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='flex_conf' type-id='type-id-135' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1012' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_fdir_mode' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='603' column='1' id='type-id-131'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_FDIR_MODE_NONE' value='0'/>
+      <enumerator name='RTE_FDIR_MODE_SIGNATURE' value='1'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT' value='2'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT_MAC_VLAN' value='3'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT_TUNNEL' value='4'/>
+    </enum-decl>
+    <enum-decl name='rte_fdir_pballoc_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='984' column='1' id='type-id-132'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_FDIR_PBALLOC_64K' value='0'/>
+      <enumerator name='RTE_FDIR_PBALLOC_128K' value='1'/>
+      <enumerator name='RTE_FDIR_PBALLOC_256K' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_fdir_status_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='993' column='1' id='type-id-133'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_FDIR_NO_REPORT_STATUS' value='0'/>
+      <enumerator name='RTE_FDIR_REPORT_STATUS' value='1'/>
+      <enumerator name='RTE_FDIR_REPORT_STATUS_ALWAYS' value='2'/>
+    </enum-decl>
+    <class-decl name='rte_eth_fdir_masks' size-in-bits='544' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='533' column='1' id='type-id-134'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_tci_mask' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='534' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ipv4_mask' type-id='type-id-136' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='536' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ipv6_mask' type-id='type-id-137' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='538' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='src_port_mask' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='540' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='dst_port_mask' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='542' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='mac_addr_byte_mask' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='545' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='tunnel_id_mask' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='547' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='tunnel_type_mask' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='548' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_ipv4_flow' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='342' column='1' id='type-id-136'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='343' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dst_ip' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='344' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tos' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='345' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='ttl' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='346' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='proto' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='347' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_ipv6_flow' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='381' column='1' id='type-id-137'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-138' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='382' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dst_ip' type-id='type-id-138' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='383' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='tc' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='384' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='264'>
+        <var-decl name='proto' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='385' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='272'>
+        <var-decl name='hop_limits' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='386' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-32' size-in-bits='128' id='type-id-138'>
+      <subrange length='4' type-id='type-id-37' id='type-id-139'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_fdir_flex_conf' size-in-bits='5792' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='591' column='1' id='type-id-135'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_payloads' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='592' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='nb_flexmasks' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='593' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flex_set' type-id='type-id-140' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='594' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2336'>
+        <var-decl name='flex_mask' type-id='type-id-141' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='596' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_flex_payload_cfg' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='568' column='1' id='type-id-142'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-143' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='569' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='src_offset' type-id='type-id-144' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='570' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_payload_type' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='555' column='1' id='type-id-143'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_ETH_PAYLOAD_UNKNOWN' value='0'/>
+      <enumerator name='RTE_ETH_RAW_PAYLOAD' value='1'/>
+      <enumerator name='RTE_ETH_L2_PAYLOAD' value='2'/>
+      <enumerator name='RTE_ETH_L3_PAYLOAD' value='3'/>
+      <enumerator name='RTE_ETH_L4_PAYLOAD' value='4'/>
+      <enumerator name='RTE_ETH_PAYLOAD_MAX' value='8'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-25' size-in-bits='256' id='type-id-144'>
+      <subrange length='16' type-id='type-id-37' id='type-id-145'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-142' size-in-bits='2304' id='type-id-140'>
+      <subrange length='8' type-id='type-id-37' id='type-id-126'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_fdir_flex_mask' size-in-bits='144' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='581' column='1' id='type-id-146'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flow_type' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='582' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='mask' type-id='type-id-147' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='583' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-99' size-in-bits='128' id='type-id-147'>
+      <subrange length='16' type-id='type-id-37' id='type-id-145'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-146' size-in-bits='3456' id='type-id-141'>
+      <subrange length='24' type-id='type-id-37' id='type-id-148'/>
+
+    </array-type-def>
+    <class-decl name='rte_intr_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1031' column='1' id='type-id-112'>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='lsc' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1033' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='rxq' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1035' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='rmv' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1037' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_ether_addr' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='60' column='1' id='type-id-149'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr_bytes' type-id='type-id-150' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='61' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-99' size-in-bits='48' id='type-id-150'>
+      <subrange length='6' type-id='type-id-37' id='type-id-151'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-149' size-in-bits='64' id='type-id-97'/>
+
+    <array-type-def dimensions='1' type-id='type-id-31' size-in-bits='8192' id='type-id-98'>
+      <subrange length='128' type-id='type-id-37' id='type-id-152'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-99' size-in-bits='8192' id='type-id-100'>
+      <subrange length='1024' type-id='type-id-37' id='type-id-153'/>
+
+    </array-type-def>
+    <enum-decl name='rte_kernel_driver' filepath='../lib/librte_eal/common/include/rte_dev.h' line='60' column='1' id='type-id-101'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_KDRV_UNKNOWN' value='0'/>
+      <enumerator name='RTE_KDRV_IGB_UIO' value='1'/>
+      <enumerator name='RTE_KDRV_VFIO' value='2'/>
+      <enumerator name='RTE_KDRV_UIO_GENERIC' value='3'/>
+      <enumerator name='RTE_KDRV_NIC_UIO' value='4'/>
+      <enumerator name='RTE_KDRV_NONE' value='5'/>
+    </enum-decl>
+    <class-decl name='rte_vlan_filter_conf' size-in-bits='4096' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='427' column='1' id='type-id-102'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ids' type-id='type-id-154' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='428' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-31' size-in-bits='4096' id='type-id-154'>
+      <subrange length='64' type-id='type-id-37' id='type-id-104'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_dev_owner' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1490' column='1' id='type-id-103'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1491' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='name' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1492' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-31' size-in-bits='256' id='type-id-21'>
+      <subrange length='4' type-id='type-id-37' id='type-id-139'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-14' size-in-bits='256' id='type-id-22'>
+      <subrange length='4' type-id='type-id-37' id='type-id-139'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-91' size-in-bits='64' id='type-id-13'/>
+    <class-decl name='eth_dev_ops' size-in-bits='6016' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='609' column='1' id='type-id-155'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_configure' type-id='type-id-156' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_start' type-id='type-id-157' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='611' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dev_stop' type-id='type-id-158' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='612' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_set_link_up' type-id='type-id-159' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dev_set_link_down' type-id='type-id-160' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='614' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_close' type-id='type-id-161' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='615' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='dev_reset' type-id='type-id-162' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='616' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='link_update' type-id='type-id-163' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='617' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='is_removed' type-id='type-id-164' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='618' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='promiscuous_enable' type-id='type-id-165' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='promiscuous_disable' type-id='type-id-166' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='allmulticast_enable' type-id='type-id-167' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='623' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='allmulticast_disable' type-id='type-id-168' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='624' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='mac_addr_remove' type-id='type-id-169' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='625' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='mac_addr_add' type-id='type-id-170' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='626' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='mac_addr_set' type-id='type-id-171' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='627' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='set_mc_addr_list' type-id='type-id-172' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='628' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mtu_set' type-id='type-id-173' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='629' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='stats_get' type-id='type-id-174' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='631' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='stats_reset' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='632' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='xstats_get' type-id='type-id-176' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='633' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='xstats_reset' type-id='type-id-177' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='634' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='xstats_get_names' type-id='type-id-178' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='635' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='queue_stats_mapping_set' type-id='type-id-179' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='637' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='dev_infos_get' type-id='type-id-180' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='640' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='rxq_info_get' type-id='type-id-181' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='641' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='txq_info_get' type-id='type-id-182' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='642' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='rx_burst_mode_get' type-id='type-id-183' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='643' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='tx_burst_mode_get' type-id='type-id-183' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='644' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='fw_version_get' type-id='type-id-184' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='645' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='dev_supported_ptypes_get' type-id='type-id-185' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='646' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='dev_ptypes_set' type-id='type-id-186' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='648' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='vlan_filter_set' type-id='type-id-187' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='651' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='vlan_tpid_set' type-id='type-id-188' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='652' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='vlan_strip_queue_set' type-id='type-id-189' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='653' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='vlan_offload_set' type-id='type-id-190' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='654' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='vlan_pvid_set' type-id='type-id-191' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='655' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='rx_queue_start' type-id='type-id-192' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='657' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='rx_queue_stop' type-id='type-id-193' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='658' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2496'>
+        <var-decl name='tx_queue_start' type-id='type-id-192' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='659' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='tx_queue_stop' type-id='type-id-193' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='660' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='rx_queue_setup' type-id='type-id-194' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='661' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2688'>
+        <var-decl name='rx_queue_release' type-id='type-id-195' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2752'>
+        <var-decl name='rx_queue_count' type-id='type-id-196' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='663' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2816'>
+        <var-decl name='rx_descriptor_done' type-id='type-id-197' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2880'>
+        <var-decl name='rx_descriptor_status' type-id='type-id-198' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='666' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2944'>
+        <var-decl name='tx_descriptor_status' type-id='type-id-199' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3008'>
+        <var-decl name='rx_queue_intr_enable' type-id='type-id-200' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='670' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3072'>
+        <var-decl name='rx_queue_intr_disable' type-id='type-id-201' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3136'>
+        <var-decl name='tx_queue_setup' type-id='type-id-202' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='672' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3200'>
+        <var-decl name='tx_queue_release' type-id='type-id-195' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3264'>
+        <var-decl name='tx_done_cleanup' type-id='type-id-203' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='674' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3328'>
+        <var-decl name='dev_led_on' type-id='type-id-204' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3392'>
+        <var-decl name='dev_led_off' type-id='type-id-205' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='677' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3456'>
+        <var-decl name='flow_ctrl_get' type-id='type-id-206' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='679' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3520'>
+        <var-decl name='flow_ctrl_set' type-id='type-id-207' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='680' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='priority_flow_ctrl_set' type-id='type-id-208' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='681' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3648'>
+        <var-decl name='uc_hash_table_set' type-id='type-id-209' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='683' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3712'>
+        <var-decl name='uc_all_hash_table_set' type-id='type-id-210' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='684' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3776'>
+        <var-decl name='mirror_rule_set' type-id='type-id-211' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='686' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3840'>
+        <var-decl name='mirror_rule_reset' type-id='type-id-212' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='687' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3904'>
+        <var-decl name='udp_tunnel_port_add' type-id='type-id-213' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='689' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3968'>
+        <var-decl name='udp_tunnel_port_del' type-id='type-id-214' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4032'>
+        <var-decl name='l2_tunnel_eth_type_conf' type-id='type-id-215' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4096'>
+        <var-decl name='l2_tunnel_offload_set' type-id='type-id-216' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='693' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4160'>
+        <var-decl name='set_queue_rate_limit' type-id='type-id-217' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='696' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4224'>
+        <var-decl name='rss_hash_update' type-id='type-id-218' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='698' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4288'>
+        <var-decl name='rss_hash_conf_get' type-id='type-id-219' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='699' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4352'>
+        <var-decl name='reta_update' type-id='type-id-220' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='700' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4416'>
+        <var-decl name='reta_query' type-id='type-id-221' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='701' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4480'>
+        <var-decl name='get_reg' type-id='type-id-222' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='703' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4544'>
+        <var-decl name='get_eeprom_length' type-id='type-id-223' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='704' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4608'>
+        <var-decl name='get_eeprom' type-id='type-id-224' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='705' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4672'>
+        <var-decl name='set_eeprom' type-id='type-id-225' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='706' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4736'>
+        <var-decl name='get_module_info' type-id='type-id-226' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='708' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4800'>
+        <var-decl name='get_module_eeprom' type-id='type-id-227' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='710' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4864'>
+        <var-decl name='filter_ctrl' type-id='type-id-228' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4928'>
+        <var-decl name='get_dcb_info' type-id='type-id-229' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='715' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4992'>
+        <var-decl name='timesync_enable' type-id='type-id-230' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='717' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5056'>
+        <var-decl name='timesync_disable' type-id='type-id-231' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5120'>
+        <var-decl name='timesync_read_rx_timestamp' type-id='type-id-232' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='721' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5184'>
+        <var-decl name='timesync_read_tx_timestamp' type-id='type-id-233' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='723' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5248'>
+        <var-decl name='timesync_adjust_time' type-id='type-id-234' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5312'>
+        <var-decl name='timesync_read_time' type-id='type-id-235' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='726' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5376'>
+        <var-decl name='timesync_write_time' type-id='type-id-236' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='727' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5440'>
+        <var-decl name='read_clock' type-id='type-id-237' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='729' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5504'>
+        <var-decl name='xstats_get_by_id' type-id='type-id-238' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='731' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5568'>
+        <var-decl name='xstats_get_names_by_id' type-id='type-id-239' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='733' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5632'>
+        <var-decl name='tm_ops_get' type-id='type-id-240' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='736' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5696'>
+        <var-decl name='mtr_ops_get' type-id='type-id-241' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='739' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5760'>
+        <var-decl name='pool_ops_supported' type-id='type-id-242' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='742' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5824'>
+        <var-decl name='hairpin_cap_get' type-id='type-id-243' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='745' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5888'>
+        <var-decl name='rx_hairpin_queue_setup' type-id='type-id-244' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5952'>
+        <var-decl name='tx_hairpin_queue_setup' type-id='type-id-245' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='749' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-246'/>
+    <pointer-type-def type-id='type-id-247' size-in-bits='64' id='type-id-248'/>
+    <typedef-decl name='eth_dev_configure_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='31' column='1' id='type-id-156'/>
+    <typedef-decl name='eth_dev_start_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='34' column='1' id='type-id-157'/>
+    <pointer-type-def type-id='type-id-249' size-in-bits='64' id='type-id-250'/>
+    <typedef-decl name='eth_dev_stop_t' type-id='type-id-250' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='37' column='1' id='type-id-158'/>
+    <typedef-decl name='eth_dev_set_link_up_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='40' column='1' id='type-id-159'/>
+    <typedef-decl name='eth_dev_set_link_down_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='43' column='1' id='type-id-160'/>
+    <typedef-decl name='eth_dev_close_t' type-id='type-id-250' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='46' column='1' id='type-id-161'/>
+    <typedef-decl name='eth_dev_reset_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='49' column='1' id='type-id-162'/>
+    <pointer-type-def type-id='type-id-251' size-in-bits='64' id='type-id-252'/>
+    <typedef-decl name='eth_link_update_t' type-id='type-id-252' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='155' column='1' id='type-id-163'/>
+    <typedef-decl name='eth_is_removed_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='52' column='1' id='type-id-164'/>
+    <typedef-decl name='eth_promiscuous_enable_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='78' column='1' id='type-id-165'/>
+    <typedef-decl name='eth_promiscuous_disable_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='103' column='1' id='type-id-166'/>
+    <typedef-decl name='eth_allmulticast_enable_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='128' column='1' id='type-id-167'/>
+    <typedef-decl name='eth_allmulticast_disable_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='153' column='1' id='type-id-168'/>
+    <pointer-type-def type-id='type-id-253' size-in-bits='64' id='type-id-254'/>
+    <typedef-decl name='eth_mac_addr_remove_t' type-id='type-id-254' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='391' column='1' id='type-id-169'/>
+    <pointer-type-def type-id='type-id-255' size-in-bits='64' id='type-id-256'/>
+    <typedef-decl name='eth_mac_addr_add_t' type-id='type-id-256' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='394' column='1' id='type-id-170'/>
+    <pointer-type-def type-id='type-id-257' size-in-bits='64' id='type-id-258'/>
+    <typedef-decl name='eth_mac_addr_set_t' type-id='type-id-258' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='400' column='1' id='type-id-171'/>
+    <pointer-type-def type-id='type-id-259' size-in-bits='64' id='type-id-260'/>
+    <typedef-decl name='eth_set_mc_addr_list_t' type-id='type-id-260' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='436' column='1' id='type-id-172'/>
+    <pointer-type-def type-id='type-id-261' size-in-bits='64' id='type-id-262'/>
+    <typedef-decl name='mtu_set_t' type-id='type-id-262' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='315' column='1' id='type-id-173'/>
+    <class-decl name='rte_eth_stats' size-in-bits='5632' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='243' column='1' id='type-id-263'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ipackets' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='opackets' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ibytes' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='246' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='obytes' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='imissed' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='ierrors' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='oerrors' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='rx_nombuf' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='q_ipackets' type-id='type-id-264' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='q_opackets' type-id='type-id-264' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='q_ibytes' type-id='type-id-264' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='q_obytes' type-id='type-id-264' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4608'>
+        <var-decl name='q_errors' type-id='type-id-264' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='263' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-31' size-in-bits='1024' id='type-id-264'>
+      <subrange length='16' type-id='type-id-37' id='type-id-145'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-263' size-in-bits='64' id='type-id-265'/>
+    <pointer-type-def type-id='type-id-266' size-in-bits='64' id='type-id-267'/>
+    <typedef-decl name='eth_stats_get_t' type-id='type-id-267' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='159' column='1' id='type-id-174'/>
+    <typedef-decl name='eth_stats_reset_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='182' column='1' id='type-id-175'/>
+    <class-decl name='rte_eth_xstat' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1337' column='1' id='type-id-268'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1338' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='value' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1339' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-268' size-in-bits='64' id='type-id-269'/>
+    <pointer-type-def type-id='type-id-270' size-in-bits='64' id='type-id-271'/>
+    <typedef-decl name='eth_xstats_get_t' type-id='type-id-271' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='184' column='1' id='type-id-176'/>
+    <typedef-decl name='eth_xstats_reset_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='213' column='1' id='type-id-177'/>
+    <class-decl name='rte_eth_xstat_name' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1349' column='1' id='type-id-272'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1350' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-272' size-in-bits='64' id='type-id-273'/>
+    <pointer-type-def type-id='type-id-274' size-in-bits='64' id='type-id-275'/>
+    <typedef-decl name='eth_xstats_get_names_t' type-id='type-id-275' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='215' column='1' id='type-id-178'/>
+    <pointer-type-def type-id='type-id-276' size-in-bits='64' id='type-id-277'/>
+    <typedef-decl name='eth_queue_stats_mapping_set_t' type-id='type-id-277' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='224' column='1' id='type-id-179'/>
+    <class-decl name='rte_eth_dev_info' size-in-bits='2560' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1226' column='1' id='type-id-278'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='device' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1227' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='driver_name' type-id='type-id-279' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='if_index' type-id='type-id-43' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='min_mtu' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='max_mtu' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_flags' type-id='type-id-280' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='min_rx_bufsize' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1234' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='max_rx_pktlen' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1235' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='max_lro_pkt_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='max_rx_queues' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='max_tx_queues' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1239' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='max_mac_addrs' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='max_hash_mac_addrs' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1241' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='max_vfs' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1243' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='max_vmdq_pools' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_offload_capa' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_offload_capa' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='rx_queue_offload_capa' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='tx_queue_offload_capa' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='reta_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='hash_key_size' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='flow_type_rss_offloads' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='default_rxconf' type-id='type-id-281' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='default_txconf' type-id='type-id-282' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='vmdq_queue_base' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1744'>
+        <var-decl name='vmdq_queue_num' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1760'>
+        <var-decl name='vmdq_pool_base' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1262' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1776'>
+        <var-decl name='rx_desc_lim' type-id='type-id-283' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1263' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='tx_desc_lim' type-id='type-id-283' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1264' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1952'>
+        <var-decl name='speed_capa' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1265' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='nb_rx_queues' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1267' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2000'>
+        <var-decl name='nb_tx_queues' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1268' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2016'>
+        <var-decl name='default_rxportconf' type-id='type-id-284' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1270' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2064'>
+        <var-decl name='default_txportconf' type-id='type-id-284' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1272' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='dev_capa' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1274' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='switch_info' type-id='type-id-285' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='reserved_64s' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1281' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='reserved_ptrs' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1282' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-286'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-287' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-288' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-289' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-8' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-290' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-287'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-291' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-286' size-in-bits='64' id='type-id-16'/>
+    <pointer-type-def type-id='type-id-16' size-in-bits='64' id='type-id-291'/>
+    <qualified-type-def type-id='type-id-53' const='yes' id='type-id-292'/>
+    <pointer-type-def type-id='type-id-292' size-in-bits='64' id='type-id-279'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-293'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-294' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-294'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-295' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-296' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-293' size-in-bits='64' id='type-id-295'/>
+    <pointer-type-def type-id='type-id-295' size-in-bits='64' id='type-id-296'/>
+    <qualified-type-def type-id='type-id-293' const='yes' id='type-id-297'/>
+    <pointer-type-def type-id='type-id-297' size-in-bits='64' id='type-id-288'/>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-298'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-299' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-300' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-301' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-302' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-303' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-304' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-305' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-306' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-307' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-308' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-309' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-310' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-311' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-312' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-299'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-313' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-314' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-298' size-in-bits='64' id='type-id-313'/>
+    <pointer-type-def type-id='type-id-313' size-in-bits='64' id='type-id-314'/>
+    <pointer-type-def type-id='type-id-315' size-in-bits='64' id='type-id-316'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-316' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-300'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-316' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-301'/>
+    <qualified-type-def type-id='type-id-286' const='yes' id='type-id-317'/>
+    <pointer-type-def type-id='type-id-317' size-in-bits='64' id='type-id-318'/>
+    <pointer-type-def type-id='type-id-319' size-in-bits='64' id='type-id-320'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-320' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-321'/>
+    <pointer-type-def type-id='type-id-322' size-in-bits='64' id='type-id-323'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-323' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-302'/>
+    <pointer-type-def type-id='type-id-324' size-in-bits='64' id='type-id-325'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-325' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-303'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-325' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-304'/>
+    <pointer-type-def type-id='type-id-326' size-in-bits='64' id='type-id-327'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-327' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-305'/>
+    <pointer-type-def type-id='type-id-328' size-in-bits='64' id='type-id-329'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-329' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-306'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-329' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-307'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-308'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-330' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-330'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-331'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-332' size-in-bits='64' id='type-id-333'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-333' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-309'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-334'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-313' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-335' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-14' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-336'/>
+    <pointer-type-def type-id='type-id-336' size-in-bits='64' id='type-id-335'/>
+    <qualified-type-def type-id='type-id-334' const='yes' id='type-id-337'/>
+    <pointer-type-def type-id='type-id-337' size-in-bits='64' id='type-id-338'/>
+    <pointer-type-def type-id='type-id-339' size-in-bits='64' id='type-id-340'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-340' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-310'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-325' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-311'/>
+    <pointer-type-def type-id='type-id-341' size-in-bits='64' id='type-id-342'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-342' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-312'/>
+    <qualified-type-def type-id='type-id-298' const='yes' id='type-id-343'/>
+    <pointer-type-def type-id='type-id-343' size-in-bits='64' id='type-id-289'/>
+    <class-decl name='rte_devargs' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='47' column='1' id='type-id-344'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-345' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='type' type-id='type-id-346' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='policy' type-id='type-id-347' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='name' type-id='type-id-92' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='' type-id='type-id-348' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='bus' type-id='type-id-313' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='cls' type-id='type-id-335' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='bus_str' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='cls_str' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='data' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='66' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1' id='type-id-345'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-290' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-349' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-344' size-in-bits='64' id='type-id-290'/>
+    <pointer-type-def type-id='type-id-290' size-in-bits='64' id='type-id-349'/>
+    <enum-decl name='rte_devtype' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='31' column='1' id='type-id-346'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_DEVTYPE_WHITELISTED_PCI' value='0'/>
+      <enumerator name='RTE_DEVTYPE_BLACKLISTED_PCI' value='1'/>
+      <enumerator name='RTE_DEVTYPE_VIRTUAL' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_dev_policy' filepath='../lib/librte_eal/common/include/rte_dev.h' line='72' column='1' id='type-id-347'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_DEV_WHITELISTED' value='0'/>
+      <enumerator name='RTE_DEV_BLACKLISTED' value='1'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='57' column='1' id='type-id-348'>
+      <data-member access='private'>
+        <var-decl name='args' type-id='type-id-350' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='drv_str' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='60' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-350'/>
+    <qualified-type-def type-id='type-id-32' const='yes' id='type-id-351'/>
+    <pointer-type-def type-id='type-id-351' size-in-bits='64' id='type-id-280'/>
+    <class-decl name='rte_eth_rxconf' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='818' column='1' id='type-id-281'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_thresh' type-id='type-id-352' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='819' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='rx_free_thresh' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='820' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='rx_drop_en' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='821' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='rx_deferred_start' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='822' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offloads' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='reserved_64s' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='830' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='reserved_ptrs' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='831' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_thresh' size-in-bits='24' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='327' column='1' id='type-id-352'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pthresh' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='328' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='hthresh' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='329' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='wthresh' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='330' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_txconf' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='837' column='1' id='type-id-282'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tx_thresh' type-id='type-id-352' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tx_rs_thresh' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='839' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='tx_free_thresh' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='840' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tx_deferred_start' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='843' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='offloads' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='849' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='851' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='852' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_desc_lim' size-in-bits='80' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='898' column='1' id='type-id-283'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='899' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='nb_min' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='900' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_align' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='901' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='nb_seg_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='911' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='nb_mtu_seg_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='924' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_portconf' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1189' column='1' id='type-id-284'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='burst_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1190' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='ring_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_queues' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1192' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_switch_info' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1204' column='1' id='type-id-285'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-279' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='domain_id' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1206' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='port_id' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1207' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-278' size-in-bits='64' id='type-id-353'/>
+    <pointer-type-def type-id='type-id-354' size-in-bits='64' id='type-id-355'/>
+    <typedef-decl name='eth_dev_infos_get_t' type-id='type-id-355' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='230' column='1' id='type-id-180'/>
+    <class-decl name='rte_eth_rxq_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1289' column='1' id='type-id-356'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mp' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1290' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='conf' type-id='type-id-281' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1291' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='scattered_rx' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1292' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='nb_desc' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1293' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-356' size-in-bits='64' id='type-id-357'/>
+    <pointer-type-def type-id='type-id-358' size-in-bits='64' id='type-id-359'/>
+    <typedef-decl name='eth_rxq_info_get_t' type-id='type-id-359' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='306' column='1' id='type-id-181'/>
+    <class-decl name='rte_eth_txq_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1300' column='1' id='type-id-360'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='conf' type-id='type-id-282' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1301' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='nb_desc' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1302' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-360' size-in-bits='64' id='type-id-361'/>
+    <pointer-type-def type-id='type-id-362' size-in-bits='64' id='type-id-363'/>
+    <typedef-decl name='eth_txq_info_get_t' type-id='type-id-363' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='309' column='1' id='type-id-182'/>
+    <class-decl name='rte_eth_burst_mode' size-in-bits='8256' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1318' column='1' id='type-id-364'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1319' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='info' type-id='type-id-365' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1322' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-53' size-in-bits='8192' id='type-id-365'>
+      <subrange length='1024' type-id='type-id-37' id='type-id-153'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-364' size-in-bits='64' id='type-id-366'/>
+    <pointer-type-def type-id='type-id-367' size-in-bits='64' id='type-id-368'/>
+    <typedef-decl name='eth_burst_mode_get_t' type-id='type-id-368' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='312' column='1' id='type-id-183'/>
+    <pointer-type-def type-id='type-id-369' size-in-bits='64' id='type-id-370'/>
+    <typedef-decl name='eth_fw_version_get_t' type-id='type-id-370' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='299' column='1' id='type-id-184'/>
+    <pointer-type-def type-id='type-id-371' size-in-bits='64' id='type-id-372'/>
+    <typedef-decl name='eth_dev_supported_ptypes_get_t' type-id='type-id-372' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='234' column='1' id='type-id-185'/>
+    <pointer-type-def type-id='type-id-373' size-in-bits='64' id='type-id-374'/>
+    <typedef-decl name='eth_dev_ptypes_set_t' type-id='type-id-374' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='249' column='1' id='type-id-186'/>
+    <pointer-type-def type-id='type-id-375' size-in-bits='64' id='type-id-376'/>
+    <typedef-decl name='vlan_filter_set_t' type-id='type-id-376' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='318' column='1' id='type-id-187'/>
+    <enum-decl name='rte_vlan_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='416' column='1' id='type-id-377'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='ETH_VLAN_TYPE_UNKNOWN' value='0'/>
+      <enumerator name='ETH_VLAN_TYPE_INNER' value='1'/>
+      <enumerator name='ETH_VLAN_TYPE_OUTER' value='2'/>
+      <enumerator name='ETH_VLAN_TYPE_MAX' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-378' size-in-bits='64' id='type-id-379'/>
+    <typedef-decl name='vlan_tpid_set_t' type-id='type-id-379' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='323' column='1' id='type-id-188'/>
+    <pointer-type-def type-id='type-id-380' size-in-bits='64' id='type-id-381'/>
+    <typedef-decl name='vlan_strip_queue_set_t' type-id='type-id-381' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='335' column='1' id='type-id-189'/>
+    <typedef-decl name='vlan_offload_set_t' type-id='type-id-252' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='327' column='1' id='type-id-190'/>
+    <typedef-decl name='vlan_pvid_set_t' type-id='type-id-376' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='330' column='1' id='type-id-191'/>
+    <typedef-decl name='eth_queue_start_t' type-id='type-id-262' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='252' column='1' id='type-id-192'/>
+    <typedef-decl name='eth_queue_stop_t' type-id='type-id-262' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='256' column='1' id='type-id-193'/>
+    <qualified-type-def type-id='type-id-281' const='yes' id='type-id-382'/>
+    <pointer-type-def type-id='type-id-382' size-in-bits='64' id='type-id-383'/>
+    <pointer-type-def type-id='type-id-384' size-in-bits='64' id='type-id-385'/>
+    <typedef-decl name='eth_rx_queue_setup_t' type-id='type-id-385' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='260' column='1' id='type-id-194'/>
+    <pointer-type-def type-id='type-id-386' size-in-bits='64' id='type-id-387'/>
+    <typedef-decl name='eth_queue_release_t' type-id='type-id-387' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='283' column='1' id='type-id-195'/>
+    <pointer-type-def type-id='type-id-388' size-in-bits='64' id='type-id-389'/>
+    <typedef-decl name='eth_rx_queue_count_t' type-id='type-id-389' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='286' column='1' id='type-id-196'/>
+    <pointer-type-def type-id='type-id-390' size-in-bits='64' id='type-id-391'/>
+    <typedef-decl name='eth_rx_descriptor_done_t' type-id='type-id-391' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='290' column='1' id='type-id-197'/>
+    <typedef-decl name='eth_rx_descriptor_status_t' type-id='type-id-391' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='293' column='1' id='type-id-198'/>
+    <typedef-decl name='eth_tx_descriptor_status_t' type-id='type-id-391' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='296' column='1' id='type-id-199'/>
+    <typedef-decl name='eth_rx_enable_intr_t' type-id='type-id-262' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='275' column='1' id='type-id-200'/>
+    <typedef-decl name='eth_rx_disable_intr_t' type-id='type-id-262' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='279' column='1' id='type-id-201'/>
+    <qualified-type-def type-id='type-id-282' const='yes' id='type-id-392'/>
+    <pointer-type-def type-id='type-id-392' size-in-bits='64' id='type-id-393'/>
+    <pointer-type-def type-id='type-id-394' size-in-bits='64' id='type-id-395'/>
+    <typedef-decl name='eth_tx_queue_setup_t' type-id='type-id-395' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='268' column='1' id='type-id-202'/>
+    <pointer-type-def type-id='type-id-396' size-in-bits='64' id='type-id-397'/>
+    <typedef-decl name='eth_tx_done_cleanup_t' type-id='type-id-397' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='303' column='1' id='type-id-203'/>
+    <typedef-decl name='eth_dev_led_on_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='385' column='1' id='type-id-204'/>
+    <typedef-decl name='eth_dev_led_off_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='388' column='1' id='type-id-205'/>
+    <class-decl name='rte_eth_fc_conf' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='942' column='1' id='type-id-398'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='high_water' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='943' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='low_water' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='944' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pause_time' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='945' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='send_xon' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='946' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='mode' type-id='type-id-399' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='947' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mac_ctrl_frame_fwd' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='948' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='autoneg' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='949' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_fc_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='930' column='1' id='type-id-399'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_FC_NONE' value='0'/>
+      <enumerator name='RTE_FC_RX_PAUSE' value='1'/>
+      <enumerator name='RTE_FC_TX_PAUSE' value='2'/>
+      <enumerator name='RTE_FC_FULL' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-398' size-in-bits='64' id='type-id-400'/>
+    <pointer-type-def type-id='type-id-401' size-in-bits='64' id='type-id-402'/>
+    <typedef-decl name='flow_ctrl_get_t' type-id='type-id-402' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='355' column='1' id='type-id-206'/>
+    <typedef-decl name='flow_ctrl_set_t' type-id='type-id-402' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='359' column='1' id='type-id-207'/>
+    <class-decl name='rte_eth_pfc_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='957' column='1' id='type-id-403'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fc' type-id='type-id-398' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='958' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='priority' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='959' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-403' size-in-bits='64' id='type-id-404'/>
+    <pointer-type-def type-id='type-id-405' size-in-bits='64' id='type-id-406'/>
+    <typedef-decl name='priority_flow_ctrl_set_t' type-id='type-id-406' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='363' column='1' id='type-id-208'/>
+    <pointer-type-def type-id='type-id-407' size-in-bits='64' id='type-id-408'/>
+    <typedef-decl name='eth_uc_hash_table_set_t' type-id='type-id-408' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='404' column='1' id='type-id-209'/>
+    <pointer-type-def type-id='type-id-409' size-in-bits='64' id='type-id-410'/>
+    <typedef-decl name='eth_uc_all_hash_table_set_t' type-id='type-id-410' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='409' column='1' id='type-id-210'/>
+    <class-decl name='rte_eth_mirror_conf' size-in-bits='1216' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='670' column='1' id='type-id-411'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rule_type' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='dst_pool' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='672' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pool_mask' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vlan' type-id='type-id-412' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='675' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vlan_mirror' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='661' column='1' id='type-id-412'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_mask' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='vlan_id' type-id='type-id-413' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='664' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-25' size-in-bits='1024' id='type-id-413'>
+      <subrange length='64' type-id='type-id-37' id='type-id-104'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-411' size-in-bits='64' id='type-id-414'/>
+    <pointer-type-def type-id='type-id-415' size-in-bits='64' id='type-id-416'/>
+    <typedef-decl name='eth_mirror_rule_set_t' type-id='type-id-416' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='418' column='1' id='type-id-211'/>
+    <typedef-decl name='eth_mirror_rule_reset_t' type-id='type-id-410' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='424' column='1' id='type-id-212'/>
+    <class-decl name='rte_eth_udp_tunnel' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1023' column='1' id='type-id-417'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='udp_port' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1024' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='prot_type' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1025' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-417' size-in-bits='64' id='type-id-418'/>
+    <pointer-type-def type-id='type-id-419' size-in-bits='64' id='type-id-420'/>
+    <typedef-decl name='eth_udp_tunnel_port_add_t' type-id='type-id-420' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='428' column='1' id='type-id-213'/>
+    <typedef-decl name='eth_udp_tunnel_port_del_t' type-id='type-id-420' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='432' column='1' id='type-id-214'/>
+    <class-decl name='rte_eth_l2_tunnel_conf' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='751' column='1' id='type-id-421'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='l2_tunnel_type' type-id='type-id-422' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='752' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ether_type' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tunnel_id' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='754' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='vf_id' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='755' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pool' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='756' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_tunnel_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='965' column='1' id='type-id-422'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_TUNNEL_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_TUNNEL_TYPE_VXLAN' value='1'/>
+      <enumerator name='RTE_TUNNEL_TYPE_GENEVE' value='2'/>
+      <enumerator name='RTE_TUNNEL_TYPE_TEREDO' value='3'/>
+      <enumerator name='RTE_TUNNEL_TYPE_NVGRE' value='4'/>
+      <enumerator name='RTE_TUNNEL_TYPE_IP_IN_GRE' value='5'/>
+      <enumerator name='RTE_L2_TUNNEL_TYPE_E_TAG' value='6'/>
+      <enumerator name='RTE_TUNNEL_TYPE_VXLAN_GPE' value='7'/>
+      <enumerator name='RTE_TUNNEL_TYPE_MAX' value='8'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-421' size-in-bits='64' id='type-id-423'/>
+    <pointer-type-def type-id='type-id-424' size-in-bits='64' id='type-id-425'/>
+    <typedef-decl name='eth_l2_tunnel_eth_type_conf_t' type-id='type-id-425' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='494' column='1' id='type-id-215'/>
+    <pointer-type-def type-id='type-id-426' size-in-bits='64' id='type-id-427'/>
+    <typedef-decl name='eth_l2_tunnel_offload_set_t' type-id='type-id-427' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='498' column='1' id='type-id-216'/>
+    <pointer-type-def type-id='type-id-428' size-in-bits='64' id='type-id-429'/>
+    <typedef-decl name='eth_set_queue_rate_limit_t' type-id='type-id-429' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='413' column='1' id='type-id-217'/>
+    <pointer-type-def type-id='type-id-117' size-in-bits='64' id='type-id-430'/>
+    <pointer-type-def type-id='type-id-431' size-in-bits='64' id='type-id-432'/>
+    <typedef-decl name='rss_hash_update_t' type-id='type-id-432' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='377' column='1' id='type-id-218'/>
+    <typedef-decl name='rss_hash_conf_get_t' type-id='type-id-432' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='381' column='1' id='type-id-219'/>
+    <class-decl name='rte_eth_rss_reta_entry64' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='684' column='1' id='type-id-433'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mask' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='685' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='reta' type-id='type-id-413' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='687' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-433' size-in-bits='64' id='type-id-434'/>
+    <pointer-type-def type-id='type-id-435' size-in-bits='64' id='type-id-436'/>
+    <typedef-decl name='reta_update_t' type-id='type-id-436' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='367' column='1' id='type-id-220'/>
+    <typedef-decl name='reta_query_t' type-id='type-id-436' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='372' column='1' id='type-id-221'/>
+    <class-decl name='rte_dev_reg_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='13' column='1' id='type-id-437'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='14' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offset' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='15' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='length' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='16' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='width' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='17' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='version' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='18' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-437' size-in-bits='64' id='type-id-438'/>
+    <pointer-type-def type-id='type-id-439' size-in-bits='64' id='type-id-440'/>
+    <typedef-decl name='eth_get_reg_t' type-id='type-id-440' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='471' column='1' id='type-id-222'/>
+    <typedef-decl name='eth_get_eeprom_length_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='475' column='1' id='type-id-223'/>
+    <class-decl name='rte_dev_eeprom_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='24' column='1' id='type-id-441'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='25' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offset' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='26' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='length' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='27' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='magic' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='28' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-441' size-in-bits='64' id='type-id-442'/>
+    <pointer-type-def type-id='type-id-443' size-in-bits='64' id='type-id-444'/>
+    <typedef-decl name='eth_get_eeprom_t' type-id='type-id-444' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='478' column='1' id='type-id-224'/>
+    <typedef-decl name='eth_set_eeprom_t' type-id='type-id-444' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='482' column='1' id='type-id-225'/>
+    <class-decl name='rte_eth_dev_module_info' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='34' column='1' id='type-id-445'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='eeprom_len' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-445' size-in-bits='64' id='type-id-446'/>
+    <pointer-type-def type-id='type-id-447' size-in-bits='64' id='type-id-448'/>
+    <typedef-decl name='eth_get_module_info_t' type-id='type-id-448' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='486' column='1' id='type-id-226'/>
+    <typedef-decl name='eth_get_module_eeprom_t' type-id='type-id-444' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='490' column='1' id='type-id-227'/>
+    <enum-decl name='rte_filter_type' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='28' column='1' id='type-id-449'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_ETH_FILTER_NONE' value='0'/>
+      <enumerator name='RTE_ETH_FILTER_MACVLAN' value='1'/>
+      <enumerator name='RTE_ETH_FILTER_ETHERTYPE' value='2'/>
+      <enumerator name='RTE_ETH_FILTER_FLEXIBLE' value='3'/>
+      <enumerator name='RTE_ETH_FILTER_SYN' value='4'/>
+      <enumerator name='RTE_ETH_FILTER_NTUPLE' value='5'/>
+      <enumerator name='RTE_ETH_FILTER_TUNNEL' value='6'/>
+      <enumerator name='RTE_ETH_FILTER_FDIR' value='7'/>
+      <enumerator name='RTE_ETH_FILTER_HASH' value='8'/>
+      <enumerator name='RTE_ETH_FILTER_L2_TUNNEL' value='9'/>
+      <enumerator name='RTE_ETH_FILTER_GENERIC' value='10'/>
+      <enumerator name='RTE_ETH_FILTER_MAX' value='11'/>
+    </enum-decl>
+    <enum-decl name='rte_filter_op' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='46' column='1' id='type-id-450'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_ETH_FILTER_NOP' value='0'/>
+      <enumerator name='RTE_ETH_FILTER_ADD' value='1'/>
+      <enumerator name='RTE_ETH_FILTER_UPDATE' value='2'/>
+      <enumerator name='RTE_ETH_FILTER_DELETE' value='3'/>
+      <enumerator name='RTE_ETH_FILTER_FLUSH' value='4'/>
+      <enumerator name='RTE_ETH_FILTER_GET' value='5'/>
+      <enumerator name='RTE_ETH_FILTER_SET' value='6'/>
+      <enumerator name='RTE_ETH_FILTER_INFO' value='7'/>
+      <enumerator name='RTE_ETH_FILTER_STATS' value='8'/>
+      <enumerator name='RTE_ETH_FILTER_OP_MAX' value='9'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-451' size-in-bits='64' id='type-id-452'/>
+    <typedef-decl name='eth_filter_ctrl_t' type-id='type-id-452' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='506' column='1' id='type-id-228'/>
+    <class-decl name='rte_eth_dcb_info' size-in-bits='16520' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1377' column='1' id='type-id-453'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1378' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='prio_tc' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1379' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='tc_bws' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1380' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='tc_queue' type-id='type-id-454' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1382' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dcb_tc_queue_mapping' size-in-bits='16384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1360' column='1' id='type-id-454'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tc_rxq' type-id='type-id-455' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1365' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8192'>
+        <var-decl name='tc_txq' type-id='type-id-455' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1370' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1362' column='1' id='type-id-456'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='base' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1363' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='nb_queue' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1364' column='1'/>
+      </data-member>
+    </class-decl>
+
+
+    <array-type-def dimensions='2' type-id='type-id-456' size-in-bits='1152' id='type-id-455'>
+      <subrange length='64' type-id='type-id-37' id='type-id-104'/>
+
+      <subrange length='8' type-id='type-id-37' id='type-id-126'/>
+
+    </array-type-def>
+
+
+    <pointer-type-def type-id='type-id-453' size-in-bits='64' id='type-id-457'/>
+    <pointer-type-def type-id='type-id-458' size-in-bits='64' id='type-id-459'/>
+    <typedef-decl name='eth_get_dcb_info' type-id='type-id-459' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='518' column='1' id='type-id-229'/>
+    <typedef-decl name='eth_timesync_enable_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='441' column='1' id='type-id-230'/>
+    <typedef-decl name='eth_timesync_disable_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='444' column='1' id='type-id-231'/>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='9' column='1' id='type-id-460'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tv_sec' type-id='type-id-461' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='11' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tv_nsec' type-id='type-id-462' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='long int' size-in-bits='64' id='type-id-463'/>
+    <typedef-decl name='__time_t' type-id='type-id-463' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-461'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-463' filepath='/usr/include/bits/types.h' line='196' column='1' id='type-id-462'/>
+    <pointer-type-def type-id='type-id-460' size-in-bits='64' id='type-id-464'/>
+    <pointer-type-def type-id='type-id-465' size-in-bits='64' id='type-id-466'/>
+    <typedef-decl name='eth_timesync_read_rx_timestamp_t' type-id='type-id-466' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='447' column='1' id='type-id-232'/>
+    <pointer-type-def type-id='type-id-467' size-in-bits='64' id='type-id-468'/>
+    <typedef-decl name='eth_timesync_read_tx_timestamp_t' type-id='type-id-468' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='452' column='1' id='type-id-233'/>
+    <typedef-decl name='__int64_t' type-id='type-id-463' filepath='/usr/include/bits/types.h' line='44' column='1' id='type-id-469'/>
+    <typedef-decl name='int64_t' type-id='type-id-469' filepath='/usr/include/bits/stdint-intn.h' line='27' column='1' id='type-id-470'/>
+    <pointer-type-def type-id='type-id-471' size-in-bits='64' id='type-id-472'/>
+    <typedef-decl name='eth_timesync_adjust_time' type-id='type-id-472' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='456' column='1' id='type-id-234'/>
+    <typedef-decl name='eth_timesync_read_time' type-id='type-id-468' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='459' column='1' id='type-id-235'/>
+    <qualified-type-def type-id='type-id-460' const='yes' id='type-id-473'/>
+    <pointer-type-def type-id='type-id-473' size-in-bits='64' id='type-id-474'/>
+    <pointer-type-def type-id='type-id-475' size-in-bits='64' id='type-id-476'/>
+    <typedef-decl name='eth_timesync_write_time' type-id='type-id-476' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='463' column='1' id='type-id-236'/>
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-477'/>
+    <pointer-type-def type-id='type-id-478' size-in-bits='64' id='type-id-479'/>
+    <typedef-decl name='eth_read_clock' type-id='type-id-479' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='467' column='1' id='type-id-237'/>
+    <qualified-type-def type-id='type-id-31' const='yes' id='type-id-480'/>
+    <pointer-type-def type-id='type-id-480' size-in-bits='64' id='type-id-481'/>
+    <pointer-type-def type-id='type-id-482' size-in-bits='64' id='type-id-483'/>
+    <typedef-decl name='eth_xstats_get_by_id_t' type-id='type-id-483' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='188' column='1' id='type-id-238'/>
+    <pointer-type-def type-id='type-id-484' size-in-bits='64' id='type-id-485'/>
+    <typedef-decl name='eth_xstats_get_names_by_id_t' type-id='type-id-485' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='219' column='1' id='type-id-239'/>
+    <pointer-type-def type-id='type-id-486' size-in-bits='64' id='type-id-487'/>
+    <typedef-decl name='eth_tm_ops_get_t' type-id='type-id-487' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='512' column='1' id='type-id-240'/>
+    <typedef-decl name='eth_mtr_ops_get_t' type-id='type-id-487' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='515' column='1' id='type-id-241'/>
+    <pointer-type-def type-id='type-id-488' size-in-bits='64' id='type-id-489'/>
+    <typedef-decl name='eth_pool_ops_supported_t' type-id='type-id-489' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='522' column='1' id='type-id-242'/>
+    <class-decl name='rte_eth_hairpin_cap' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='861' column='1' id='type-id-490'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max_nb_queues' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='863' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='max_rx_2_tx' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_tx_2_rx' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='867' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='max_nb_desc' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='868' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-490' size-in-bits='64' id='type-id-491'/>
+    <pointer-type-def type-id='type-id-492' size-in-bits='64' id='type-id-493'/>
+    <typedef-decl name='eth_hairpin_cap_get_t' type-id='type-id-493' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='543' column='1' id='type-id-243'/>
+    <class-decl name='rte_eth_hairpin_conf' size-in-bits='1040' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='890' column='1' id='type-id-494'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='peer_count' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='891' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='peers' type-id='type-id-495' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='892' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_hairpin_peer' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='879' column='1' id='type-id-496'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='port' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='880' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='queue' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='881' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-496' size-in-bits='1024' id='type-id-495'>
+      <subrange length='32' type-id='type-id-37' id='type-id-54'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-494' const='yes' id='type-id-497'/>
+    <pointer-type-def type-id='type-id-497' size-in-bits='64' id='type-id-498'/>
+    <pointer-type-def type-id='type-id-499' size-in-bits='64' id='type-id-500'/>
+    <typedef-decl name='eth_rx_hairpin_queue_setup_t' type-id='type-id-500' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='571' column='1' id='type-id-244'/>
+    <typedef-decl name='eth_tx_hairpin_queue_setup_t' type-id='type-id-500' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='601' column='1' id='type-id-245'/>
+    <qualified-type-def type-id='type-id-155' const='yes' id='type-id-501'/>
+    <pointer-type-def type-id='type-id-501' size-in-bits='64' id='type-id-15'/>
+    <class-decl name='rte_intr_handle' size-in-bits='213248' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='69' column='1' id='type-id-502'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-503' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-8' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-504' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='max_intr' type-id='type-id-32' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='nb_efd' type-id='type-id-32' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='efd_counter_size' type-id='type-id-99' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='efds' type-id='type-id-505' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16576'>
+        <var-decl name='elist' type-id='type-id-506' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='213184'>
+        <var-decl name='intr_vec' type-id='type-id-507' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='71' column='1' id='type-id-503'>
+      <data-member access='private'>
+        <var-decl name='vfio_dev_fd' type-id='type-id-8' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='uio_cfg_fd' type-id='type-id-8' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='73' column='1'/>
+      </data-member>
+    </union-decl>
+    <enum-decl name='rte_intr_handle_type' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='27' column='1' id='type-id-504'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_INTR_HANDLE_UNKNOWN' value='0'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO' value='1'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO_INTX' value='2'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_LEGACY' value='3'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSI' value='4'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSIX' value='5'/>
+      <enumerator name='RTE_INTR_HANDLE_ALARM' value='6'/>
+      <enumerator name='RTE_INTR_HANDLE_EXT' value='7'/>
+      <enumerator name='RTE_INTR_HANDLE_VDEV' value='8'/>
+      <enumerator name='RTE_INTR_HANDLE_DEV_EVENT' value='9'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_REQ' value='10'/>
+      <enumerator name='RTE_INTR_HANDLE_MAX' value='11'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='16384' id='type-id-505'>
+      <subrange length='512' type-id='type-id-37' id='type-id-508'/>
+
+    </array-type-def>
+    <class-decl name='rte_epoll_event' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='61' column='1' id='type-id-509'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='status' type-id='type-id-510' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-8' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='epfd' type-id='type-id-8' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='epdata' type-id='type-id-511' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-32' volatile='yes' id='type-id-510'/>
+    <class-decl name='rte_epoll_data' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='47' column='1' id='type-id-511'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event' type-id='type-id-32' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='data' type-id='type-id-14' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cb_fun' type-id='type-id-512' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='cb_arg' type-id='type-id-14' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='51' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-513' size-in-bits='64' id='type-id-514'/>
+    <typedef-decl name='rte_intr_event_cb_t' type-id='type-id-514' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='45' column='1' id='type-id-512'/>
+
+    <array-type-def dimensions='1' type-id='type-id-509' size-in-bits='196608' id='type-id-506'>
+      <subrange length='512' type-id='type-id-37' id='type-id-508'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-507'/>
+    <pointer-type-def type-id='type-id-502' size-in-bits='64' id='type-id-17'/>
+    <class-decl name='rte_eth_dev_cb_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1' id='type-id-18'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-515' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-516' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_callback' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-517'/>
+    <pointer-type-def type-id='type-id-517' size-in-bits='64' id='type-id-515'/>
+    <pointer-type-def type-id='type-id-515' size-in-bits='64' id='type-id-516'/>
+    <class-decl name='rte_eth_rxtx_callback' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='758' column='1' id='type-id-518'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-519' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='759' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fn' type-id='type-id-520' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='763' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='param' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='764' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-518' size-in-bits='64' id='type-id-519'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='760' column='1' id='type-id-520'>
+      <data-member access='private'>
+        <var-decl name='rx' type-id='type-id-521' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='761' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='tx' type-id='type-id-522' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='762' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-523' size-in-bits='64' id='type-id-524'/>
+    <typedef-decl name='rte_rx_callback_fn' type-id='type-id-524' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1437' column='1' id='type-id-521'/>
+    <pointer-type-def type-id='type-id-525' size-in-bits='64' id='type-id-526'/>
+    <typedef-decl name='rte_tx_callback_fn' type-id='type-id-526' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1461' column='1' id='type-id-522'/>
+
+    <array-type-def dimensions='1' type-id='type-id-519' size-in-bits='65536' id='type-id-19'>
+      <subrange length='1024' type-id='type-id-37' id='type-id-153'/>
+
+    </array-type-def>
+    <enum-decl name='rte_eth_dev_state' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1467' column='1' id='type-id-20'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_ETH_DEV_UNUSED' value='0'/>
+      <enumerator name='RTE_ETH_DEV_ATTACHED' value='1'/>
+      <enumerator name='RTE_ETH_DEV_REMOVED' value='2'/>
+    </enum-decl>
+    <class-decl name='rte_flow_attr' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='75' column='1' id='type-id-527'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='group' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='priority' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='ingress' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='egress' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='transfer' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='98' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='reserved' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='99' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-527' const='yes' id='type-id-528'/>
+    <pointer-type-def type-id='type-id-528' size-in-bits='64' id='type-id-529'/>
+    <class-decl name='rte_flow_item' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1517' column='1' id='type-id-530'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-531' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1518' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='spec' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1519' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='last' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='mask' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1521' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_item_type' filepath='../lib/librte_ethdev/rte_flow.h' line='118' column='1' id='type-id-531'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_END' value='0'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VOID' value='1'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_INVERT' value='2'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ANY' value='3'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PF' value='4'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VF' value='5'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PHY_PORT' value='6'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PORT_ID' value='7'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_RAW' value='8'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ETH' value='9'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VLAN' value='10'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV4' value='11'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV6' value='12'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP' value='13'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_UDP' value='14'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_TCP' value='15'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_SCTP' value='16'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VXLAN' value='17'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_E_TAG' value='18'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_NVGRE' value='19'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_MPLS' value='20'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GRE' value='21'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_FUZZY' value='22'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTP' value='23'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTPC' value='24'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTPU' value='25'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ESP' value='26'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GENEVE' value='27'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VXLAN_GPE' value='28'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ARP_ETH_IPV4' value='29'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV6_EXT' value='30'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6' value='31'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_NS' value='32'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_NA' value='33'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT' value='34'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT_SLA_ETH' value='35'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT_TLA_ETH' value='36'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_MARK' value='37'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_META' value='38'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GRE_KEY' value='39'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTP_PSC' value='40'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOES' value='41'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOED' value='42'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOE_PROTO_ID' value='43'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_NSH' value='44'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IGMP' value='45'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_AH' value='46'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_HIGIG2' value='47'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_TAG' value='48'/>
+    </enum-decl>
+    <qualified-type-def type-id='type-id-530' const='yes' id='type-id-532'/>
+    <pointer-type-def type-id='type-id-532' size-in-bits='64' id='type-id-533'/>
+    <class-decl name='rte_flow_action' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2568' column='1' id='type-id-534'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-535' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2569' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='conf' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2570' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_action_type' filepath='../lib/librte_ethdev/rte_flow.h' line='1550' column='1' id='type-id-535'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_END' value='0'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VOID' value='1'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PASSTHRU' value='2'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_JUMP' value='3'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_MARK' value='4'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_FLAG' value='5'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_QUEUE' value='6'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DROP' value='7'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_COUNT' value='8'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RSS' value='9'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PF' value='10'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VF' value='11'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PHY_PORT' value='12'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PORT_ID' value='13'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_METER' value='14'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SECURITY' value='15'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_MPLS_TTL' value='16'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_DEC_MPLS_TTL' value='17'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_NW_TTL' value='18'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_DEC_NW_TTL' value='19'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_OUT' value='20'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_IN' value='21'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_POP_VLAN' value='22'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_PUSH_VLAN' value='23'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_VID' value='24'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_PCP' value='25'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_POP_MPLS' value='26'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_PUSH_MPLS' value='27'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VXLAN_ENCAP' value='28'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VXLAN_DECAP' value='29'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_NVGRE_ENCAP' value='30'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_NVGRE_DECAP' value='31'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RAW_ENCAP' value='32'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RAW_DECAP' value='33'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV4_SRC' value='34'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV4_DST' value='35'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV6_SRC' value='36'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV6_DST' value='37'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TP_SRC' value='38'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TP_DST' value='39'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_MAC_SWAP' value='40'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TTL' value='41'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TTL' value='42'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_MAC_SRC' value='43'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_MAC_DST' value='44'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_INC_TCP_SEQ' value='45'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TCP_SEQ' value='46'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_INC_TCP_ACK' value='47'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TCP_ACK' value='48'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TAG' value='49'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_META' value='50'/>
+    </enum-decl>
+    <qualified-type-def type-id='type-id-534' const='yes' id='type-id-536'/>
+    <pointer-type-def type-id='type-id-536' size-in-bits='64' id='type-id-537'/>
+    <class-decl name='rte_flow_error' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2618' column='1' id='type-id-538'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-539' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2619' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='cause' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2620' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='message' type-id='type-id-279' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2621' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_error_type' filepath='../lib/librte_ethdev/rte_flow.h' line='2587' column='1' id='type-id-539'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_UNSPECIFIED' value='1'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_HANDLE' value='2'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_GROUP' value='3'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_PRIORITY' value='4'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_INGRESS' value='5'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_EGRESS' value='6'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_TRANSFER' value='7'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR' value='8'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_NUM' value='9'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_SPEC' value='10'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_LAST' value='11'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_MASK' value='12'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM' value='13'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION_NUM' value='14'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION_CONF' value='15'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION' value='16'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-538' size-in-bits='64' id='type-id-540'/>
+    <pointer-type-def type-id='type-id-541' size-in-bits='64' id='type-id-2'/>
+    <class-decl name='rte_flow' size-in-bits='1216' is-struct='yes' visibility='default' filepath='../drivers/net/octeontx2/otx2_flow.h' line='148' column='1' id='type-id-542'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nix_intf' type-id='type-id-99' visibility='default' filepath='../drivers/net/octeontx2/otx2_flow.h' line='149' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='mcam_id' type-id='type-id-32' visibility='default' filepath='../drivers/net/octeontx2/otx2_flow.h' line='150' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ctr_id' type-id='type-id-49' visibility='default' filepath='../drivers/net/octeontx2/otx2_flow.h' line='151' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='priority' type-id='type-id-32' visibility='default' filepath='../drivers/net/octeontx2/otx2_flow.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mcam_data' type-id='type-id-543' visibility='default' filepath='../drivers/net/octeontx2/otx2_flow.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='mcam_mask' type-id='type-id-543' visibility='default' filepath='../drivers/net/octeontx2/otx2_flow.h' line='155' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='npc_action' type-id='type-id-31' visibility='default' filepath='../drivers/net/octeontx2/otx2_flow.h' line='156' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='next' type-id='type-id-544' visibility='default' filepath='../drivers/net/octeontx2/otx2_flow.h' line='157' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-31' size-in-bits='448' id='type-id-543'>
+      <subrange length='7' type-id='type-id-37' id='type-id-545'/>
+
+    </array-type-def>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/octeontx2/otx2_flow.h' line='157' column='1' id='type-id-544'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-546' visibility='default' filepath='../drivers/net/octeontx2/otx2_flow.h' line='157' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-547' visibility='default' filepath='../drivers/net/octeontx2/otx2_flow.h' line='157' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-542' size-in-bits='64' id='type-id-546'/>
+    <pointer-type-def type-id='type-id-546' size-in-bits='64' id='type-id-547'/>
+    <pointer-type-def type-id='type-id-548' size-in-bits='64' id='type-id-3'/>
+    <pointer-type-def type-id='type-id-549' size-in-bits='64' id='type-id-4'/>
+    <pointer-type-def type-id='type-id-550' size-in-bits='64' id='type-id-5'/>
+    <pointer-type-def type-id='type-id-551' size-in-bits='64' id='type-id-6'/>
+    <pointer-type-def type-id='type-id-552' size-in-bits='64' id='type-id-7'/>
+    <qualified-type-def type-id='type-id-1' const='yes' id='type-id-553'/>
+    <var-decl name='otx2_flow_ops' type-id='type-id-553' visibility='default' filepath='../drivers/net/octeontx2/otx2_flow.h' line='22' column='1'/>
+    <function-type size-in-bits='64' id='type-id-371'>
+      <parameter type-id='type-id-246'/>
+      <return type-id='type-id-280'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-332'>
+      <return type-id='type-id-331'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-315'>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-326'>
+      <parameter type-id='type-id-279'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-319'>
+      <parameter type-id='type-id-318'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-324'>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-328'>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-31'/>
+      <parameter type-id='type-id-57'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-247'>
+      <parameter type-id='type-id-246'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-369'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-350'/>
+      <parameter type-id='type-id-57'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-488'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-279'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-541'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-529'/>
+      <parameter type-id='type-id-533'/>
+      <parameter type-id='type-id-537'/>
+      <parameter type-id='type-id-540'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-475'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-474'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-482'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-481'/>
+      <parameter type-id='type-id-477'/>
+      <parameter type-id='type-id-43'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-451'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-449'/>
+      <parameter type-id='type-id-450'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-378'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-377'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-251'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-8'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-552'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-540'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-443'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-442'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-439'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-438'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-458'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-457'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-354'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-353'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-447'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-446'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-401'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-400'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-492'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-491'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-424'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-423'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-426'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-32'/>
+      <parameter type-id='type-id-99'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-415'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-414'/>
+      <parameter type-id='type-id-99'/>
+      <parameter type-id='type-id-99'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-405'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-404'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-431'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-430'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-435'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-434'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-266'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-265'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-419'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-418'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-270'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-43'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-484'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-273'/>
+      <parameter type-id='type-id-481'/>
+      <parameter type-id='type-id-43'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-274'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-273'/>
+      <parameter type-id='type-id-43'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-257'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-97'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-259'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-97'/>
+      <parameter type-id='type-id-32'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-255'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-97'/>
+      <parameter type-id='type-id-32'/>
+      <parameter type-id='type-id-32'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-407'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-97'/>
+      <parameter type-id='type-id-99'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-551'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-546'/>
+      <parameter type-id='type-id-537'/>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-540'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-549'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-546'/>
+      <parameter type-id='type-id-540'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-550'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-540'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-467'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-464'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-465'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-464'/>
+      <parameter type-id='type-id-32'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-471'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-470'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-261'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-375'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-8'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-367'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-366'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-428'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-499'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-498'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-384'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-383'/>
+      <parameter type-id='type-id-33'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-394'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-393'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-276'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-99'/>
+      <parameter type-id='type-id-99'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-373'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-32'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-409'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-99'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-478'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-477'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-486'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-341'>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-390'>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-396'>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-32'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-322'>
+      <parameter type-id='type-id-318'/>
+      <parameter type-id='type-id-321'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-548'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-529'/>
+      <parameter type-id='type-id-533'/>
+      <parameter type-id='type-id-537'/>
+      <parameter type-id='type-id-540'/>
+      <return type-id='type-id-546'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-523'>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-88'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-25'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-525'>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-88'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-25'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-89'>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-88'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-25'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-388'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-513'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-249'>
+      <parameter type-id='type-id-246'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-380'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-8'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-358'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-357'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-362'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-361'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-253'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-32'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-75'>
+      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-386'>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-80'>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-339'>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-279'/>
+      <parameter type-id='type-id-338'/>
+      <return type-id='type-id-14'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_octeontx2_event.dump b/drivers/.abi/librte_pmd_octeontx2_event.dump
new file mode 100644
index 000000000..125912e20
--- /dev/null
+++ b/drivers/.abi/librte_pmd_octeontx2_event.dump
@@ -0,0 +1,29 @@
+<abi-corpus path='gcc//drivers/librte_pmd_octeontx2_event.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_octeontx2_event.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eventdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='librte_timer.so.20.0'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_common_octeontx2.so.20.0'/>
+    <dependency name='librte_mempool_octeontx2.so.20.0'/>
+    <dependency name='librte_pmd_octeontx2.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_octeontx_event.dump b/drivers/.abi/librte_pmd_octeontx_event.dump
new file mode 100644
index 000000000..d67da26a7
--- /dev/null
+++ b/drivers/.abi/librte_pmd_octeontx_event.dump
@@ -0,0 +1,36 @@
+<abi-corpus path='gcc//drivers/librte_pmd_octeontx_event.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_octeontx_event.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eventdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='librte_timer.so.20.0'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='librte_common_octeontx.so.20.0'/>
+    <dependency name='librte_mempool_octeontx.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='librte_pmd_octeontx.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/event/octeontx/ssovf_evdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='otx_logtype_ssovf' type-id='type-id-1' visibility='default' filepath='../drivers/event/octeontx/ssovf_evdev.h' line='162' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/event/octeontx/timvf_evdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='otx_logtype_timvf' type-id='type-id-1' visibility='default' filepath='../drivers/event/octeontx/timvf_evdev.h' line='115' column='1'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_octeontx_ssovf.dump b/drivers/.abi/librte_pmd_octeontx_ssovf.dump
new file mode 100644
index 000000000..c9ea8f004
--- /dev/null
+++ b/drivers/.abi/librte_pmd_octeontx_ssovf.dump
@@ -0,0 +1,16 @@
+<abi-corpus path='tmp_abi_sofiles//drivers/librte_pmd_octeontx_ssovf.so.20.0.0' architecture='elf-amd-x86_64' soname='librte_pmd_octeontx_ssovf.so.20.0'>
+  <elf-needed>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_eventdev.so.20.0'/>
+    <dependency name='librte_common_octeontx.so.20.0'/>
+    <dependency name='librte_pmd_octeontx.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_octeontx_zip.dump b/drivers/.abi/librte_pmd_octeontx_zip.dump
new file mode 100644
index 000000000..1abf2581c
--- /dev/null
+++ b/drivers/.abi/librte_pmd_octeontx_zip.dump
@@ -0,0 +1,12 @@
+<abi-corpus path='tmp_abi_sofiles//drivers/librte_pmd_octeontx_zip.so.20.0.0' architecture='elf-amd-x86_64' soname='librte_pmd_octeontx_zip.so.20.0'>
+  <elf-needed>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_compressdev.so.0.200'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_opdl_event.dump b/drivers/.abi/librte_pmd_opdl_event.dump
new file mode 100644
index 000000000..f389dba69
--- /dev/null
+++ b/drivers/.abi/librte_pmd_opdl_event.dump
@@ -0,0 +1,28 @@
+<abi-corpus path='gcc//drivers/librte_pmd_opdl_event.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_opdl_event.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eventdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='librte_timer.so.20.0'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/event/opdl/opdl_ring.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='opdl_logtype_driver' type-id='type-id-1' visibility='default' filepath='../drivers/event/opdl/opdl_log.h' line='10' column='1'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_pcap.dump b/drivers/.abi/librte_pmd_pcap.dump
new file mode 100644
index 000000000..5235bd00e
--- /dev/null
+++ b/drivers/.abi/librte_pmd_pcap.dump
@@ -0,0 +1,23 @@
+<abi-corpus path='gcc//drivers/librte_pmd_pcap.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_pcap.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libpcap.so.1'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_pfe.dump b/drivers/.abi/librte_pmd_pfe.dump
new file mode 100644
index 000000000..92da6cd55
--- /dev/null
+++ b/drivers/.abi/librte_pmd_pfe.dump
@@ -0,0 +1,41 @@
+<abi-corpus path='gcc//drivers/librte_pmd_pfe.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_pfe.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='librte_common_dpaax.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/pfe/pfe_ethdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='pfe_svr' type-id='type-id-1' visibility='default' filepath='../drivers/net/pfe/pfe_eth.h' line='16' column='1'/>
+    <type-decl name='int' size-in-bits='32' id='type-id-2'/>
+    <var-decl name='pfe_logtype_pmd' type-id='type-id-2' visibility='default' filepath='../drivers/net/pfe/pfe_logs.h' line='8' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/pfe/pfe_hal.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='void' id='type-id-3'/>
+    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-4'/>
+    <var-decl name='cbus_base_addr' type-id='type-id-4' visibility='default' filepath='../drivers/net/pfe/base/pfe.h' line='138' column='1'/>
+    <var-decl name='ddr_base_addr' type-id='type-id-4' visibility='default' filepath='../drivers/net/pfe/base/pfe.h' line='139' column='1'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-5'/>
+    <var-decl name='ddr_phys_base_addr' type-id='type-id-5' visibility='default' filepath='../drivers/net/pfe/base/pfe.h' line='140' column='1'/>
+    <var-decl name='ddr_size' type-id='type-id-1' visibility='default' filepath='../drivers/net/pfe/base/pfe.h' line='141' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/pfe/pfe_hif_lib.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='emac_txq_cnt' type-id='type-id-1' visibility='default' filepath='../drivers/net/pfe/pfe_hif_lib.h' line='159' column='1'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_qede.dump b/drivers/.abi/librte_pmd_qede.dump
new file mode 100644
index 000000000..1134d3f16
--- /dev/null
+++ b/drivers/.abi/librte_pmd_qede.dump
@@ -0,0 +1,46 @@
+<abi-corpus path='gcc//drivers/librte_pmd_qede.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_qede.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/qede/base/ecore_sriov.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='char' size-in-bits='8' id='type-id-1'/>
+    <qualified-type-def type-id='type-id-1' const='yes' id='type-id-2'/>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-3'/>
+
+    <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='infinite' id='type-id-4'>
+      <subrange length='infinite' id='type-id-5'/>
+
+    </array-type-def>
+    <var-decl name='qede_ecore_channel_tlvs_string' type-id='type-id-4' visibility='default' filepath='../drivers/net/qede/base/ecore_vfpf_if.h' line='701' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/qede/qede_ethdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-6'/>
+    <var-decl name='qede_logtype_init' type-id='type-id-6' visibility='default' filepath='../drivers/net/qede/base/../qede_logs.h' line='52' column='1'/>
+    <var-decl name='qede_logtype_driver' type-id='type-id-6' visibility='default' filepath='../drivers/net/qede/base/../qede_logs.h' line='10' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/qede/qede_main.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+
+    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='infinite' id='type-id-7'>
+      <subrange length='infinite' id='type-id-5'/>
+
+    </array-type-def>
+    <var-decl name='qede_fw_file' type-id='type-id-7' visibility='default' filepath='../drivers/net/qede/qede_ethdev.h' line='128' column='1'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_ring.dump b/drivers/.abi/librte_pmd_ring.dump
new file mode 100644
index 000000000..3cf3a6c96
--- /dev/null
+++ b/drivers/.abi/librte_pmd_ring.dump
@@ -0,0 +1,142 @@
+<abi-corpus path='gcc//drivers/librte_pmd_ring.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_ring.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_eth_from_ring' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_from_rings' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/ring/rte_eth_ring.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <class-decl name='rte_ring' size-in-bits='3072' is-struct='yes' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='81' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-3' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='87' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='flags' type-id='type-id-1' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='memzone' type-id='type-id-4' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='89' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='size' type-id='type-id-5' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='mask' type-id='type-id-5' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='92' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='capacity' type-id='type-id-5' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='93' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='pad0' type-id='type-id-6' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='95' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='prod' type-id='type-id-7' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='98' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='pad1' type-id='type-id-6' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='99' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='cons' type-id='type-id-7' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='102' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='pad2' type-id='type-id-6' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='103' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-6'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-8'/>
+
+    <array-type-def dimensions='1' type-id='type-id-6' size-in-bits='256' id='type-id-3'>
+      <subrange length='32' type-id='type-id-8' id='type-id-9'/>
+
+    </array-type-def>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-10'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-3' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-11' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-12' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-13' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-14' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-11'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-15' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='__uint64_t' type-id='type-id-8' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-17'/>
+    <typedef-decl name='uint64_t' type-id='type-id-17' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-13'/>
+    <typedef-decl name='phys_addr_t' type-id='type-id-13' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-15'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-13' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-16'/>
+    <typedef-decl name='size_t' type-id='type-id-8' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-12'/>
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-18'/>
+    <typedef-decl name='int32_t' type-id='type-id-18' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-14'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-19'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-19' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-20'/>
+    <typedef-decl name='uint32_t' type-id='type-id-20' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-5'/>
+    <qualified-type-def type-id='type-id-10' const='yes' id='type-id-21'/>
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-4'/>
+    <class-decl name='rte_ring_headtail' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='65' column='1' id='type-id-7'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='head' type-id='type-id-22' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tail' type-id='type-id-22' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='single' type-id='type-id-5' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='68' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-5' volatile='yes' id='type-id-22'/>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-23'/>
+    <function-decl name='rte_eth_from_ring' mangled-name='rte_eth_from_ring' filepath='../drivers/net/ring/rte_eth_ring.c' line='404' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_from_ring@@DPDK_20.0'>
+      <parameter type-id='type-id-23' name='r' filepath='../drivers/net/ring/rte_eth_ring.c' line='404' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-6' const='yes' id='type-id-24'/>
+    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-25'/>
+    <qualified-type-def type-id='type-id-23' const='yes' id='type-id-26'/>
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-27'/>
+    <qualified-type-def type-id='type-id-19' const='yes' id='type-id-28'/>
+    <function-decl name='rte_eth_from_rings' mangled-name='rte_eth_from_rings' filepath='../drivers/net/ring/rte_eth_ring.c' line='346' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_from_rings@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='name' filepath='../drivers/net/ring/rte_eth_ring.c' line='346' column='1'/>
+      <parameter type-id='type-id-27' name='rx_queues' filepath='../drivers/net/ring/rte_eth_ring.c' line='346' column='1'/>
+      <parameter type-id='type-id-28' name='nb_rx_queues' filepath='../drivers/net/ring/rte_eth_ring.c' line='347' column='1'/>
+      <parameter type-id='type-id-27' name='tx_queues' filepath='../drivers/net/ring/rte_eth_ring.c' line='348' column='1'/>
+      <parameter type-id='type-id-28' name='nb_tx_queues' filepath='../drivers/net/ring/rte_eth_ring.c' line='349' column='1'/>
+      <parameter type-id='type-id-28' name='numa_node' filepath='../drivers/net/ring/rte_eth_ring.c' line='350' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_sfc.dump b/drivers/.abi/librte_pmd_sfc.dump
new file mode 100644
index 000000000..a8d2af15d
--- /dev/null
+++ b/drivers/.abi/librte_pmd_sfc.dump
@@ -0,0 +1,3910 @@
+<abi-corpus path='gcc//drivers/librte_pmd_sfc.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_sfc.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/sfc/sfc_ethdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-1'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-2'/>
+    <typedef-decl name='uint32_t' type-id='type-id-2' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-3'/>
+    <var-decl name='sfc_logtype_driver' type-id='type-id-3' visibility='default' filepath='../drivers/net/sfc/sfc_log.h' line='14' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/sfc/sfc_rx.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='sfc_dp_rx' size-in-bits='1472' is-struct='yes' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='205' column='1' id='type-id-4'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dp' type-id='type-id-5' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='206' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='features' type-id='type-id-1' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='208' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_offload_capa' type-id='type-id-6' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='217' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='queue_offload_capa' type-id='type-id-6' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='get_dev_info' type-id='type-id-7' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='223' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='pool_ops_supported' type-id='type-id-8' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='224' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='qsize_up_rings' type-id='type-id-9' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='qcreate' type-id='type-id-10' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='226' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='qdestroy' type-id='type-id-11' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='227' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='qstart' type-id='type-id-12' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='qstop' type-id='type-id-13' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='qrx_ev' type-id='type-id-14' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='qrx_ps_ev' type-id='type-id-15' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='qpurge' type-id='type-id-16' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='supported_ptypes_get' type-id='type-id-17' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='qdesc_npending' type-id='type-id-18' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='234' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='qdesc_status' type-id='type-id-19' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='235' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='intr_enable' type-id='type-id-20' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='intr_disable' type-id='type-id-21' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='pkt_burst' type-id='type-id-22' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='238' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='sfc_dp' size-in-bits='256' is-struct='yes' visibility='default' filepath='../drivers/net/sfc/sfc_dp.h' line='76' column='1' id='type-id-5'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='links' type-id='type-id-23' visibility='default' filepath='../drivers/net/sfc/sfc_dp.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-24' visibility='default' filepath='../drivers/net/sfc/sfc_dp.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='type' type-id='type-id-25' visibility='default' filepath='../drivers/net/sfc/sfc_dp.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='hw_fw_caps' type-id='type-id-1' visibility='default' filepath='../drivers/net/sfc/sfc_dp.h' line='81' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/sfc/sfc_dp.h' line='77' column='1' id='type-id-23'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-26' visibility='default' filepath='../drivers/net/sfc/sfc_dp.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-27' visibility='default' filepath='../drivers/net/sfc/sfc_dp.h' line='77' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-5' size-in-bits='64' id='type-id-26'/>
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-27'/>
+    <type-decl name='char' size-in-bits='8' id='type-id-28'/>
+    <qualified-type-def type-id='type-id-28' const='yes' id='type-id-29'/>
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-24'/>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-30'/>
+    <enum-decl name='sfc_dp_type' filepath='../drivers/net/sfc/sfc_dp.h' line='37' column='1' id='type-id-25'>
+      <underlying-type type-id='type-id-30'/>
+      <enumerator name='SFC_DP_RX' value='0'/>
+      <enumerator name='SFC_DP_TX' value='1'/>
+    </enum-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-31'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-31' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-32'/>
+    <typedef-decl name='uint64_t' type-id='type-id-32' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-6'/>
+    <type-decl name='void' id='type-id-33'/>
+    <class-decl name='rte_eth_dev_info' size-in-bits='2560' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1226' column='1' id='type-id-34'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='device' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1227' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='driver_name' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='if_index' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='min_mtu' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='max_mtu' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_flags' type-id='type-id-37' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='min_rx_bufsize' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1234' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='max_rx_pktlen' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1235' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='max_lro_pkt_size' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='max_rx_queues' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='max_tx_queues' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1239' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='max_mac_addrs' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='max_hash_mac_addrs' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1241' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='max_vfs' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1243' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='max_vmdq_pools' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_offload_capa' type-id='type-id-6' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_offload_capa' type-id='type-id-6' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='rx_queue_offload_capa' type-id='type-id-6' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='tx_queue_offload_capa' type-id='type-id-6' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='reta_size' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='hash_key_size' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='flow_type_rss_offloads' type-id='type-id-6' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='default_rxconf' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='default_txconf' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='vmdq_queue_base' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1744'>
+        <var-decl name='vmdq_queue_num' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1760'>
+        <var-decl name='vmdq_pool_base' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1262' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1776'>
+        <var-decl name='rx_desc_lim' type-id='type-id-41' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1263' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='tx_desc_lim' type-id='type-id-41' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1264' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1952'>
+        <var-decl name='speed_capa' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1265' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='nb_rx_queues' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1267' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2000'>
+        <var-decl name='nb_tx_queues' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1268' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2016'>
+        <var-decl name='default_rxportconf' type-id='type-id-42' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1270' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2064'>
+        <var-decl name='default_txportconf' type-id='type-id-42' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1272' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='dev_capa' type-id='type-id-6' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1274' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='switch_info' type-id='type-id-43' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='reserved_64s' type-id='type-id-44' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1281' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='reserved_ptrs' type-id='type-id-45' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1282' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-46'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-47' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-24' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-48' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-49' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-50' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-51' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-47'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-35' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-52' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-35'/>
+    <pointer-type-def type-id='type-id-35' size-in-bits='64' id='type-id-52'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-53'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-54' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-24' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-24' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-54'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-55' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-56' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-55'/>
+    <pointer-type-def type-id='type-id-55' size-in-bits='64' id='type-id-56'/>
+    <qualified-type-def type-id='type-id-53' const='yes' id='type-id-57'/>
+    <pointer-type-def type-id='type-id-57' size-in-bits='64' id='type-id-48'/>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-58'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-59' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-24' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-60' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-61' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-62' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-63' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-64' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-65' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-66' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-67' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-68' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-69' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-70' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-71' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-72' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-59'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-73' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-74' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-58' size-in-bits='64' id='type-id-73'/>
+    <pointer-type-def type-id='type-id-73' size-in-bits='64' id='type-id-74'/>
+    <type-decl name='int' size-in-bits='32' id='type-id-50'/>
+    <pointer-type-def type-id='type-id-75' size-in-bits='64' id='type-id-76'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-76' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-60'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-76' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-61'/>
+    <qualified-type-def type-id='type-id-46' const='yes' id='type-id-77'/>
+    <pointer-type-def type-id='type-id-77' size-in-bits='64' id='type-id-78'/>
+    <pointer-type-def type-id='type-id-33' size-in-bits='64' id='type-id-79'/>
+    <pointer-type-def type-id='type-id-80' size-in-bits='64' id='type-id-81'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-81' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-82'/>
+    <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-84'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-84' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-62'/>
+    <pointer-type-def type-id='type-id-85' size-in-bits='64' id='type-id-86'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-86' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-63'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-86' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-64'/>
+    <pointer-type-def type-id='type-id-87' size-in-bits='64' id='type-id-88'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-88' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-65'/>
+    <typedef-decl name='size_t' type-id='type-id-31' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-89'/>
+    <pointer-type-def type-id='type-id-90' size-in-bits='64' id='type-id-91'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-91' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-66'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-91' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-67'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-68'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-92' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-92'>
+      <underlying-type type-id='type-id-30'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-93'>
+      <underlying-type type-id='type-id-30'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-95'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-95' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-69'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-96'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-24' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-24' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-24' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-73' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-97' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-35' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-79' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-98'/>
+    <pointer-type-def type-id='type-id-98' size-in-bits='64' id='type-id-97'/>
+    <qualified-type-def type-id='type-id-96' const='yes' id='type-id-99'/>
+    <pointer-type-def type-id='type-id-99' size-in-bits='64' id='type-id-100'/>
+    <pointer-type-def type-id='type-id-101' size-in-bits='64' id='type-id-102'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-102' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-70'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-86' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-71'/>
+    <pointer-type-def type-id='type-id-103' size-in-bits='64' id='type-id-104'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-104' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-72'/>
+    <qualified-type-def type-id='type-id-58' const='yes' id='type-id-105'/>
+    <pointer-type-def type-id='type-id-105' size-in-bits='64' id='type-id-49'/>
+    <class-decl name='rte_devargs' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='47' column='1' id='type-id-106'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-107' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='type' type-id='type-id-108' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='policy' type-id='type-id-109' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='name' type-id='type-id-110' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='' type-id='type-id-111' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='bus' type-id='type-id-73' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='cls' type-id='type-id-97' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='bus_str' type-id='type-id-24' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='cls_str' type-id='type-id-24' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='data' type-id='type-id-24' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='66' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1' id='type-id-107'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-51' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-112' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-106' size-in-bits='64' id='type-id-51'/>
+    <pointer-type-def type-id='type-id-51' size-in-bits='64' id='type-id-112'/>
+    <enum-decl name='rte_devtype' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='31' column='1' id='type-id-108'>
+      <underlying-type type-id='type-id-30'/>
+      <enumerator name='RTE_DEVTYPE_WHITELISTED_PCI' value='0'/>
+      <enumerator name='RTE_DEVTYPE_BLACKLISTED_PCI' value='1'/>
+      <enumerator name='RTE_DEVTYPE_VIRTUAL' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_dev_policy' filepath='../lib/librte_eal/common/include/rte_dev.h' line='72' column='1' id='type-id-109'>
+      <underlying-type type-id='type-id-30'/>
+      <enumerator name='RTE_DEV_WHITELISTED' value='0'/>
+      <enumerator name='RTE_DEV_BLACKLISTED' value='1'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-28' size-in-bits='512' id='type-id-110'>
+      <subrange length='64' type-id='type-id-31' id='type-id-113'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='57' column='1' id='type-id-111'>
+      <data-member access='private'>
+        <var-decl name='args' type-id='type-id-114' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='drv_str' type-id='type-id-24' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='60' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-114'/>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-115'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-115' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-116'/>
+    <typedef-decl name='uint16_t' type-id='type-id-116' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-36'/>
+    <qualified-type-def type-id='type-id-3' const='yes' id='type-id-117'/>
+    <pointer-type-def type-id='type-id-117' size-in-bits='64' id='type-id-37'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-118'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-118' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-119'/>
+    <typedef-decl name='uint8_t' type-id='type-id-119' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-38'/>
+    <class-decl name='rte_eth_rxconf' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='818' column='1' id='type-id-39'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_thresh' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='819' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='rx_free_thresh' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='820' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='rx_drop_en' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='821' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='rx_deferred_start' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='822' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offloads' type-id='type-id-6' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='reserved_64s' type-id='type-id-44' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='830' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='reserved_ptrs' type-id='type-id-45' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='831' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_thresh' size-in-bits='24' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='327' column='1' id='type-id-120'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pthresh' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='328' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='hthresh' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='329' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='wthresh' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='330' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-6' size-in-bits='128' id='type-id-44'>
+      <subrange length='2' type-id='type-id-31' id='type-id-121'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-79' size-in-bits='128' id='type-id-45'>
+      <subrange length='2' type-id='type-id-31' id='type-id-121'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_txconf' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='837' column='1' id='type-id-40'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tx_thresh' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tx_rs_thresh' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='839' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='tx_free_thresh' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='840' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tx_deferred_start' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='843' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='offloads' type-id='type-id-6' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='849' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-44' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='851' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-45' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='852' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_desc_lim' size-in-bits='80' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='898' column='1' id='type-id-41'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_max' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='899' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='nb_min' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='900' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_align' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='901' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='nb_seg_max' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='911' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='nb_mtu_seg_max' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='924' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_portconf' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1189' column='1' id='type-id-42'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='burst_size' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1190' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='ring_size' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_queues' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1192' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_switch_info' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1204' column='1' id='type-id-43'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='domain_id' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1206' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='port_id' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1207' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-122'/>
+    <typedef-decl name='sfc_dp_rx_get_dev_info_t' type-id='type-id-123' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='100' column='1' id='type-id-124'/>
+    <pointer-type-def type-id='type-id-124' size-in-bits='64' id='type-id-7'/>
+    <typedef-decl name='sfc_dp_rx_pool_ops_supported_t' type-id='type-id-125' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='112' column='1' id='type-id-126'/>
+    <pointer-type-def type-id='type-id-126' size-in-bits='64' id='type-id-8'/>
+    <class-decl name='sfc_dp_rx_hw_limits' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='32' column='1' id='type-id-127'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rxq_max_entries' type-id='type-id-1' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='33' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='rxq_min_entries' type-id='type-id-1' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='34' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='evq_max_entries' type-id='type-id-1' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='evq_min_entries' type-id='type-id-1' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-127' size-in-bits='64' id='type-id-128'/>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-129'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-130' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-131' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-79' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-132' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-1' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-50' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-3' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-3' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-3' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-3' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-3' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-1' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-133' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-134' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-3' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-135' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-3' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-136' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-28' size-in-bits='256' id='type-id-130'>
+      <subrange length='32' type-id='type-id-31' id='type-id-137'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-131'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-79' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-6' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-138'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-130' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-139' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-89' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-6' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-133' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-3' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-139'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-140' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-141' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-6' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-140'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-6' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-141'/>
+    <typedef-decl name='__int32_t' type-id='type-id-50' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-142'/>
+    <typedef-decl name='int32_t' type-id='type-id-142' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-133'/>
+    <qualified-type-def type-id='type-id-138' const='yes' id='type-id-143'/>
+    <pointer-type-def type-id='type-id-143' size-in-bits='64' id='type-id-132'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-144'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-3' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-3' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-3' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-145' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-79' size-in-bits='98304' id='type-id-145'>
+      <subrange length='1536' type-id='type-id-31' id='type-id-146'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-144' size-in-bits='64' id='type-id-134'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-135'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-147' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-148' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-149'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-150' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-151' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-152' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-150'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-147' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-149' size-in-bits='64' id='type-id-147'/>
+    <pointer-type-def type-id='type-id-129' size-in-bits='64' id='type-id-151'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-152'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-141' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-140' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-147' size-in-bits='64' id='type-id-148'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-136'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-153' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-154' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-155'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-156' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-151' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-79' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-157' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-89' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-158' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-79' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-156'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-153' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-155' size-in-bits='64' id='type-id-153'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-157'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-141' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-140' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-159' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-160'/>
+    <pointer-type-def type-id='type-id-160' size-in-bits='64' id='type-id-158'/>
+    <pointer-type-def type-id='type-id-153' size-in-bits='64' id='type-id-154'/>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-161'/>
+    <typedef-decl name='sfc_dp_rx_qsize_up_rings_t' type-id='type-id-162' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='126' column='1' id='type-id-163'/>
+    <pointer-type-def type-id='type-id-163' size-in-bits='64' id='type-id-9'/>
+    <class-decl name='rte_pci_addr' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='61' column='1' id='type-id-164'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='domain' type-id='type-id-3' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='bus' type-id='type-id-38' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='devid' type-id='type-id-38' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='function' type-id='type-id-38' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-164' const='yes' id='type-id-165'/>
+    <pointer-type-def type-id='type-id-165' size-in-bits='64' id='type-id-166'/>
+    <class-decl name='sfc_dp_rx_qcreate_info' size-in-bits='704' is-struct='yes' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='46' column='1' id='type-id-167'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='refill_mb_pool' type-id='type-id-151' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='max_fill_level' type-id='type-id-1' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='refill_threshold' type-id='type-id-1' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='buf_size' type-id='type-id-1' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='batch_max' type-id='type-id-1' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='prefix_size' type-id='type-id-1' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='flags' type-id='type-id-1' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rxq_entries' type-id='type-id-1' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='73' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='rxq_hw_ring' type-id='type-id-79' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='evq_hw_index' type-id='type-id-1' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='evq_entries' type-id='type-id-1' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='evq_hw_ring' type-id='type-id-79' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='82' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='hw_index' type-id='type-id-1' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='mem_bar' type-id='type-id-168' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='vi_window_shift' type-id='type-id-1' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-33' volatile='yes' id='type-id-169'/>
+    <pointer-type-def type-id='type-id-169' size-in-bits='64' id='type-id-168'/>
+    <qualified-type-def type-id='type-id-167' const='yes' id='type-id-170'/>
+    <pointer-type-def type-id='type-id-170' size-in-bits='64' id='type-id-171'/>
+    <class-decl name='sfc_dp_rxq' size-in-bits='96' is-struct='yes' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='27' column='1' id='type-id-172'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dpq' type-id='type-id-173' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='28' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='sfc_dp_queue' size-in-bits='96' is-struct='yes' visibility='default' filepath='../drivers/net/sfc/sfc_dp.h' line='44' column='1' id='type-id-173'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='port_id' type-id='type-id-36' visibility='default' filepath='../drivers/net/sfc/sfc_dp.h' line='45' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='queue_id' type-id='type-id-36' visibility='default' filepath='../drivers/net/sfc/sfc_dp.h' line='46' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='pci_addr' type-id='type-id-164' visibility='default' filepath='../drivers/net/sfc/sfc_dp.h' line='47' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-172' size-in-bits='64' id='type-id-174'/>
+    <pointer-type-def type-id='type-id-174' size-in-bits='64' id='type-id-175'/>
+    <typedef-decl name='sfc_dp_rx_qcreate_t' type-id='type-id-176' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='145' column='1' id='type-id-177'/>
+    <pointer-type-def type-id='type-id-177' size-in-bits='64' id='type-id-10'/>
+    <typedef-decl name='sfc_dp_rx_qdestroy_t' type-id='type-id-178' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='154' column='1' id='type-id-179'/>
+    <pointer-type-def type-id='type-id-179' size-in-bits='64' id='type-id-11'/>
+    <typedef-decl name='sfc_dp_rx_qstart_t' type-id='type-id-180' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='161' column='1' id='type-id-181'/>
+    <pointer-type-def type-id='type-id-181' size-in-bits='64' id='type-id-12'/>
+    <typedef-decl name='sfc_dp_rx_qstop_t' type-id='type-id-182' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='167' column='1' id='type-id-183'/>
+    <pointer-type-def type-id='type-id-183' size-in-bits='64' id='type-id-13'/>
+    <type-decl name='bool' size-in-bits='8' id='type-id-184'/>
+    <typedef-decl name='sfc_dp_rx_qrx_ev_t' type-id='type-id-185' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='173' column='1' id='type-id-186'/>
+    <pointer-type-def type-id='type-id-186' size-in-bits='64' id='type-id-14'/>
+    <typedef-decl name='sfc_dp_rx_qrx_ps_ev_t' type-id='type-id-185' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='178' column='1' id='type-id-187'/>
+    <pointer-type-def type-id='type-id-187' size-in-bits='64' id='type-id-15'/>
+    <typedef-decl name='sfc_dp_rx_qpurge_t' type-id='type-id-178' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='186' column='1' id='type-id-188'/>
+    <pointer-type-def type-id='type-id-188' size-in-bits='64' id='type-id-16'/>
+    <typedef-decl name='sfc_dp_rx_supported_ptypes_get_t' type-id='type-id-189' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='189' column='1' id='type-id-190'/>
+    <pointer-type-def type-id='type-id-190' size-in-bits='64' id='type-id-17'/>
+    <typedef-decl name='sfc_dp_rx_qdesc_npending_t' type-id='type-id-191' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='193' column='1' id='type-id-192'/>
+    <pointer-type-def type-id='type-id-192' size-in-bits='64' id='type-id-18'/>
+    <typedef-decl name='sfc_dp_rx_qdesc_status_t' type-id='type-id-193' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='196' column='1' id='type-id-194'/>
+    <pointer-type-def type-id='type-id-194' size-in-bits='64' id='type-id-19'/>
+    <typedef-decl name='sfc_dp_rx_intr_enable_t' type-id='type-id-195' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='199' column='1' id='type-id-196'/>
+    <pointer-type-def type-id='type-id-196' size-in-bits='64' id='type-id-20'/>
+    <typedef-decl name='sfc_dp_rx_intr_disable_t' type-id='type-id-195' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='202' column='1' id='type-id-197'/>
+    <pointer-type-def type-id='type-id-197' size-in-bits='64' id='type-id-21'/>
+    <class-decl name='rte_mbuf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='480' column='1' id='type-id-198'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheline0' type-id='type-id-199' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-79' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-200' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rearm_data' type-id='type-id-201' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='497' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_off' type-id='type-id-36' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_segs' type-id='type-id-36' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='port' type-id='type-id-36' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ol_flags' type-id='type-id-6' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_descriptor_fields1' type-id='type-id-199' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='pkt_len' type-id='type-id-3' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data_len' type-id='type-id-36' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='vlan_tci' type-id='type-id-36' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vlan_tci_outer' type-id='type-id-36' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='buf_len' type-id='type-id-36' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='timestamp' type-id='type-id-6' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cacheline1' type-id='type-id-199' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='pool' type-id='type-id-151' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='next' type-id='type-id-202' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv_size' type-id='type-id-36' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='timesync' type-id='type-id-36' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='seqn' type-id='type-id-3' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='shinfo' type-id='type-id-203' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dynfield1' type-id='type-id-44' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-79' size-in-bits='infinite' id='type-id-204'>
+      <subrange length='infinite' type-id='type-id-31' id='type-id-205'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER' type-id='type-id-204' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='414' column='1' id='type-id-199'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='491' column='1' id='type-id-200'>
+      <data-member access='private'>
+        <var-decl name='buf_iova' type-id='type-id-141' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='buf_physaddr' type-id='type-id-141' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-6' size-in-bits='infinite' id='type-id-206'>
+      <subrange length='infinite' type-id='type-id-31' id='type-id-205'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER64' type-id='type-id-206' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='420' column='1' id='type-id-201'/>
+    <pointer-type-def type-id='type-id-198' size-in-bits='64' id='type-id-202'/>
+    <class-decl name='rte_mbuf_ext_shared_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='689' column='1' id='type-id-207'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_cb' type-id='type-id-208' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcb_opaque' type-id='type-id-79' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt_atomic' type-id='type-id-209' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-210' size-in-bits='64' id='type-id-211'/>
+    <typedef-decl name='rte_mbuf_extbuf_free_callback_t' type-id='type-id-211' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='684' column='1' id='type-id-208'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-209' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-212'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-213' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-214'/>
+    <typedef-decl name='__int16_t' type-id='type-id-214' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-215'/>
+    <typedef-decl name='int16_t' type-id='type-id-215' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-216'/>
+    <qualified-type-def type-id='type-id-216' volatile='yes' id='type-id-213'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-212' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-209'/>
+    <pointer-type-def type-id='type-id-207' size-in-bits='64' id='type-id-203'/>
+    <pointer-type-def type-id='type-id-202' size-in-bits='64' id='type-id-217'/>
+    <pointer-type-def type-id='type-id-218' size-in-bits='64' id='type-id-219'/>
+    <typedef-decl name='eth_rx_burst_t' type-id='type-id-219' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='340' column='1' id='type-id-22'/>
+    <var-decl name='sfc_efx_rx' type-id='type-id-4' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='266' column='1'/>
+    <function-type size-in-bits='64' id='type-id-185'>
+      <parameter type-id='type-id-174'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-184'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-189'>
+      <parameter type-id='type-id-3'/>
+      <return type-id='type-id-37'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-94'>
+      <return type-id='type-id-93'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-75'>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-125'>
+      <parameter type-id='type-id-24'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-87'>
+      <parameter type-id='type-id-24'/>
+      <parameter type-id='type-id-79'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-80'>
+      <parameter type-id='type-id-78'/>
+      <parameter type-id='type-id-79'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-85'>
+      <parameter type-id='type-id-35'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-90'>
+      <parameter type-id='type-id-35'/>
+      <parameter type-id='type-id-79'/>
+      <parameter type-id='type-id-6'/>
+      <parameter type-id='type-id-89'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-195'>
+      <parameter type-id='type-id-174'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-193'>
+      <parameter type-id='type-id-174'/>
+      <parameter type-id='type-id-36'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-180'>
+      <parameter type-id='type-id-174'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-162'>
+      <parameter type-id='type-id-36'/>
+      <parameter type-id='type-id-128'/>
+      <parameter type-id='type-id-151'/>
+      <parameter type-id='type-id-161'/>
+      <parameter type-id='type-id-161'/>
+      <parameter type-id='type-id-161'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-176'>
+      <parameter type-id='type-id-36'/>
+      <parameter type-id='type-id-36'/>
+      <parameter type-id='type-id-166'/>
+      <parameter type-id='type-id-50'/>
+      <parameter type-id='type-id-171'/>
+      <parameter type-id='type-id-175'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-103'>
+      <parameter type-id='type-id-79'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-83'>
+      <parameter type-id='type-id-78'/>
+      <parameter type-id='type-id-82'/>
+      <parameter type-id='type-id-79'/>
+      <return type-id='type-id-35'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-218'>
+      <parameter type-id='type-id-79'/>
+      <parameter type-id='type-id-217'/>
+      <parameter type-id='type-id-36'/>
+      <return type-id='type-id-36'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-191'>
+      <parameter type-id='type-id-174'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-123'>
+      <parameter type-id='type-id-122'/>
+      <return type-id='type-id-33'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-159'>
+      <parameter type-id='type-id-153'/>
+      <parameter type-id='type-id-79'/>
+      <return type-id='type-id-33'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-178'>
+      <parameter type-id='type-id-174'/>
+      <return type-id='type-id-33'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-182'>
+      <parameter type-id='type-id-174'/>
+      <parameter type-id='type-id-161'/>
+      <return type-id='type-id-33'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-210'>
+      <parameter type-id='type-id-79'/>
+      <parameter type-id='type-id-79'/>
+      <return type-id='type-id-33'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-101'>
+      <parameter type-id='type-id-79'/>
+      <parameter type-id='type-id-24'/>
+      <parameter type-id='type-id-100'/>
+      <return type-id='type-id-79'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/sfc/sfc_tx.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='sfc_dp_tx' size-in-bits='1152' is-struct='yes' visibility='default' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='156' column='1' id='type-id-220'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dp' type-id='type-id-5' visibility='default' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='157' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='features' type-id='type-id-1' visibility='default' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='159' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_offload_capa' type-id='type-id-6' visibility='default' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='165' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='queue_offload_capa' type-id='type-id-6' visibility='default' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='170' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='get_dev_info' type-id='type-id-221' visibility='default' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='qsize_up_rings' type-id='type-id-222' visibility='default' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='172' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='qcreate' type-id='type-id-223' visibility='default' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='173' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='qdestroy' type-id='type-id-224' visibility='default' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='174' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='qstart' type-id='type-id-225' visibility='default' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='175' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='qstop' type-id='type-id-226' visibility='default' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='176' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='qtx_ev' type-id='type-id-227' visibility='default' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='177' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='qreap' type-id='type-id-228' visibility='default' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='178' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='qdesc_status' type-id='type-id-229' visibility='default' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='179' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='pkt_prepare' type-id='type-id-230' visibility='default' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='180' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='pkt_burst' type-id='type-id-231' visibility='default' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='181' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='sfc_dp_tx_get_dev_info_t' type-id='type-id-123' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='80' column='1' id='type-id-232'/>
+    <pointer-type-def type-id='type-id-232' size-in-bits='64' id='type-id-221'/>
+    <class-decl name='sfc_dp_tx_hw_limits' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='33' column='1' id='type-id-233'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='txq_max_entries' type-id='type-id-1' visibility='default' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='34' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='txq_min_entries' type-id='type-id-1' visibility='default' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='35' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-233' size-in-bits='64' id='type-id-234'/>
+    <typedef-decl name='sfc_dp_tx_qsize_up_rings_t' type-id='type-id-235' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='93' column='1' id='type-id-236'/>
+    <pointer-type-def type-id='type-id-236' size-in-bits='64' id='type-id-222'/>
+    <class-decl name='sfc_dp_tx_qcreate_info' size-in-bits='576' is-struct='yes' visibility='default' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='45' column='1' id='type-id-237'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max_fill_level' type-id='type-id-1' visibility='default' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='47' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='free_thresh' type-id='type-id-1' visibility='default' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offloads' type-id='type-id-6' visibility='default' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='txq_entries' type-id='type-id-1' visibility='default' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='dma_desc_size_max' type-id='type-id-36' visibility='default' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='txq_hw_ring' type-id='type-id-79' visibility='default' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='evq_entries' type-id='type-id-1' visibility='default' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='evq_hw_ring' type-id='type-id-79' visibility='default' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='hw_index' type-id='type-id-1' visibility='default' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='mem_bar' type-id='type-id-168' visibility='default' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='vi_window_shift' type-id='type-id-1' visibility='default' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='tso_tcp_header_offset_limit' type-id='type-id-36' visibility='default' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='72' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-237' const='yes' id='type-id-238'/>
+    <pointer-type-def type-id='type-id-238' size-in-bits='64' id='type-id-239'/>
+    <class-decl name='sfc_dp_txq' size-in-bits='96' is-struct='yes' visibility='default' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='28' column='1' id='type-id-240'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dpq' type-id='type-id-173' visibility='default' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='29' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-240' size-in-bits='64' id='type-id-241'/>
+    <pointer-type-def type-id='type-id-241' size-in-bits='64' id='type-id-242'/>
+    <typedef-decl name='sfc_dp_tx_qcreate_t' type-id='type-id-243' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='111' column='1' id='type-id-244'/>
+    <pointer-type-def type-id='type-id-244' size-in-bits='64' id='type-id-223'/>
+    <typedef-decl name='sfc_dp_tx_qdestroy_t' type-id='type-id-245' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='120' column='1' id='type-id-246'/>
+    <pointer-type-def type-id='type-id-246' size-in-bits='64' id='type-id-224'/>
+    <typedef-decl name='sfc_dp_tx_qstart_t' type-id='type-id-247' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='127' column='1' id='type-id-248'/>
+    <pointer-type-def type-id='type-id-248' size-in-bits='64' id='type-id-225'/>
+    <typedef-decl name='sfc_dp_tx_qstop_t' type-id='type-id-249' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='136' column='1' id='type-id-250'/>
+    <pointer-type-def type-id='type-id-250' size-in-bits='64' id='type-id-226'/>
+    <typedef-decl name='sfc_dp_tx_qtx_ev_t' type-id='type-id-251' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='142' column='1' id='type-id-252'/>
+    <pointer-type-def type-id='type-id-252' size-in-bits='64' id='type-id-227'/>
+    <typedef-decl name='sfc_dp_tx_qreap_t' type-id='type-id-245' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='147' column='1' id='type-id-253'/>
+    <pointer-type-def type-id='type-id-253' size-in-bits='64' id='type-id-228'/>
+    <typedef-decl name='sfc_dp_tx_qdesc_status_t' type-id='type-id-254' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='152' column='1' id='type-id-255'/>
+    <pointer-type-def type-id='type-id-255' size-in-bits='64' id='type-id-229'/>
+    <typedef-decl name='eth_tx_prep_t' type-id='type-id-219' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='350' column='1' id='type-id-230'/>
+    <typedef-decl name='eth_tx_burst_t' type-id='type-id-219' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='345' column='1' id='type-id-231'/>
+    <var-decl name='sfc_efx_tx' type-id='type-id-220' visibility='default' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='289' column='1'/>
+    <function-type size-in-bits='64' id='type-id-251'>
+      <parameter type-id='type-id-241'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-184'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-254'>
+      <parameter type-id='type-id-241'/>
+      <parameter type-id='type-id-36'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-247'>
+      <parameter type-id='type-id-241'/>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-235'>
+      <parameter type-id='type-id-36'/>
+      <parameter type-id='type-id-234'/>
+      <parameter type-id='type-id-161'/>
+      <parameter type-id='type-id-161'/>
+      <parameter type-id='type-id-161'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-243'>
+      <parameter type-id='type-id-36'/>
+      <parameter type-id='type-id-36'/>
+      <parameter type-id='type-id-166'/>
+      <parameter type-id='type-id-50'/>
+      <parameter type-id='type-id-239'/>
+      <parameter type-id='type-id-242'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-245'>
+      <parameter type-id='type-id-241'/>
+      <return type-id='type-id-33'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-249'>
+      <parameter type-id='type-id-241'/>
+      <parameter type-id='type-id-161'/>
+      <return type-id='type-id-33'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/sfc/sfc_flow.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_flow_ops' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='63' column='1' id='type-id-256'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='validate' type-id='type-id-257' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='create' type-id='type-id-258' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='destroy' type-id='type-id-259' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='flush' type-id='type-id-260' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='query' type-id='type-id-261' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='isolate' type-id='type-id-262' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='95' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev' size-in-bits='132608' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='777' column='1' id='type-id-263'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_pkt_burst' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='778' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tx_pkt_burst' type-id='type-id-231' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tx_pkt_prepare' type-id='type-id-230' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='data' type-id='type-id-264' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='786' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='process_private' type-id='type-id-79' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='787' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_ops' type-id='type-id-265' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='788' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='device' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='789' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='intr_handle' type-id='type-id-266' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='790' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='link_intr_cbs' type-id='type-id-267' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='792' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='post_rx_burst_cbs' type-id='type-id-268' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='797' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='66176'>
+        <var-decl name='pre_tx_burst_cbs' type-id='type-id-268' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131712'>
+        <var-decl name='state' type-id='type-id-269' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='803' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131776'>
+        <var-decl name='security_ctx' type-id='type-id-79' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131840'>
+        <var-decl name='reserved_64s' type-id='type-id-270' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='806' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='132096'>
+        <var-decl name='reserved_ptrs' type-id='type-id-271' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='807' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_data' size-in-bits='55808' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='820' column='1' id='type-id-272'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-110' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='821' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_queues' type-id='type-id-273' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='823' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_queues' type-id='type-id-273' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='824' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='nb_rx_queues' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='825' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='656'>
+        <var-decl name='nb_tx_queues' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='826' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='sriov' type-id='type-id-274' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='dev_private' type-id='type-id-79' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='830' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_link' type-id='type-id-275' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='835' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dev_conf' type-id='type-id-276' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='836' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25536'>
+        <var-decl name='mtu' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='837' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25568'>
+        <var-decl name='min_rx_buf_size' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25600'>
+        <var-decl name='rx_mbuf_alloc_failed' type-id='type-id-6' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='841' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25664'>
+        <var-decl name='mac_addrs' type-id='type-id-277' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='842' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25728'>
+        <var-decl name='mac_pool_sel' type-id='type-id-278' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='846' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='33920'>
+        <var-decl name='hash_mac_addrs' type-id='type-id-277' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='848' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='33984'>
+        <var-decl name='port_id' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='852' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='promiscuous' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='855' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='scattered_rx' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='856' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='all_multicast' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='857' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4'>
+        <var-decl name='dev_started' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='858' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3'>
+        <var-decl name='lro' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='859' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='34008'>
+        <var-decl name='rx_queue_state' type-id='type-id-279' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='860' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='42200'>
+        <var-decl name='tx_queue_state' type-id='type-id-279' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='862' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50400'>
+        <var-decl name='dev_flags' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='864' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50432'>
+        <var-decl name='kdrv' type-id='type-id-280' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50464'>
+        <var-decl name='numa_node' type-id='type-id-50' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='866' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50496'>
+        <var-decl name='vlan_filter_conf' type-id='type-id-281' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='867' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='54592'>
+        <var-decl name='owner' type-id='type-id-282' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='869' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55168'>
+        <var-decl name='representor_id' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='870' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55232'>
+        <var-decl name='reserved_64s' type-id='type-id-270' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='875' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55488'>
+        <var-decl name='reserved_ptrs' type-id='type-id-271' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='876' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-79' size-in-bits='64' id='type-id-273'/>
+    <class-decl name='rte_eth_dev_sriov' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1476' column='1' id='type-id-274'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='active' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1477' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='nb_q_per_pool' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1478' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='def_vmdq_idx' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1479' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='def_pool_q_idx' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1480' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_link' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='308' column='1' id='type-id-275'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_speed' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='309' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='15'>
+        <var-decl name='link_duplex' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='310' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='14'>
+        <var-decl name='link_autoneg' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='311' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='13'>
+        <var-decl name='link_status' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='312' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_conf' size-in-bits='24640' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1045' column='1' id='type-id-276'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_speeds' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1046' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rxmode' type-id='type-id-283' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1053' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='txmode' type-id='type-id-284' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1054' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='lpbk_mode' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1055' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='rx_adv_conf' type-id='type-id-285' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1068' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='17984'>
+        <var-decl name='tx_adv_conf' type-id='type-id-286' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1076' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18080'>
+        <var-decl name='dcb_capability_en' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1079' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18112'>
+        <var-decl name='fdir_conf' type-id='type-id-287' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1080' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24576'>
+        <var-decl name='intr_conf' type-id='type-id-288' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1081' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rxmode' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='394' column='1' id='type-id-283'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mq_mode' type-id='type-id-289' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='396' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_rx_pkt_len' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='397' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='max_lro_pkt_size' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='399' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='split_hdr_size' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='400' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='offloads' type-id='type-id-6' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='406' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-44' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='408' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-45' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='409' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_rx_mq_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='344' column='1' id='type-id-289'>
+      <underlying-type type-id='type-id-30'/>
+      <enumerator name='ETH_MQ_RX_NONE' value='0'/>
+      <enumerator name='ETH_MQ_RX_RSS' value='1'/>
+      <enumerator name='ETH_MQ_RX_DCB' value='2'/>
+      <enumerator name='ETH_MQ_RX_DCB_RSS' value='3'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_ONLY' value='4'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_RSS' value='5'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_DCB' value='6'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_DCB_RSS' value='7'/>
+    </enum-decl>
+    <class-decl name='rte_eth_txmode' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='792' column='1' id='type-id-284'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mq_mode' type-id='type-id-290' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='793' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offloads' type-id='type-id-6' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='799' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pvid' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='hw_vlan_reject_tagged' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='hw_vlan_reject_untagged' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='806' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='hw_vlan_insert_pvid' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='808' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-44' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='811' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-45' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='812' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_tx_mq_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='377' column='1' id='type-id-290'>
+      <underlying-type type-id='type-id-30'/>
+      <enumerator name='ETH_MQ_TX_NONE' value='0'/>
+      <enumerator name='ETH_MQ_TX_DCB' value='1'/>
+      <enumerator name='ETH_MQ_TX_VMDQ_DCB' value='2'/>
+      <enumerator name='ETH_MQ_TX_VMDQ_ONLY' value='3'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16960' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1060' column='1' id='type-id-285'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rss_conf' type-id='type-id-291' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1061' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='vmdq_dcb_conf' type-id='type-id-292' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1062' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8512'>
+        <var-decl name='dcb_rx_conf' type-id='type-id-293' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1064' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8640'>
+        <var-decl name='vmdq_rx_conf' type-id='type-id-294' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1066' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rss_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='448' column='1' id='type-id-291'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rss_key' type-id='type-id-295' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rss_key_len' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rss_hf' type-id='type-id-6' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='451' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-38' size-in-bits='64' id='type-id-295'/>
+    <class-decl name='rte_eth_vmdq_dcb_conf' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='745' column='1' id='type-id-292'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-296' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='746' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='enable_default_pool' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='default_pool' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='748' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='nb_pool_maps' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='749' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pool_map' type-id='type-id-297' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8256'>
+        <var-decl name='dcb_tc' type-id='type-id-298' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='754' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_nb_pools' filepath='../lib/librte_ethdev/rte_ethdev.h' line='704' column='1' id='type-id-296'>
+      <underlying-type type-id='type-id-30'/>
+      <enumerator name='ETH_8_POOLS' value='8'/>
+      <enumerator name='ETH_16_POOLS' value='16'/>
+      <enumerator name='ETH_32_POOLS' value='32'/>
+      <enumerator name='ETH_64_POOLS' value='64'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='750' column='1' id='type-id-299'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_id' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='751' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pools' type-id='type-id-6' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='752' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-299' size-in-bits='8192' id='type-id-297'>
+      <subrange length='64' type-id='type-id-31' id='type-id-113'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-38' size-in-bits='64' id='type-id-298'>
+      <subrange length='8' type-id='type-id-31' id='type-id-300'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_dcb_rx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='712' column='1' id='type-id-293'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-301' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-298' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='715' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_nb_tcs' filepath='../lib/librte_ethdev/rte_ethdev.h' line='695' column='1' id='type-id-301'>
+      <underlying-type type-id='type-id-30'/>
+      <enumerator name='ETH_4_TCS' value='4'/>
+      <enumerator name='ETH_8_TCS' value='8'/>
+    </enum-decl>
+    <class-decl name='rte_eth_vmdq_rx_conf' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='776' column='1' id='type-id-294'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-296' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='777' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='enable_default_pool' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='778' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='default_pool' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='enable_loop_back' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='nb_pool_maps' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='781' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rx_mode' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='782' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pool_map' type-id='type-id-297' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='786' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <union-decl name='__anonymous_union__' size-in-bits='96' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1069' column='1' id='type-id-286'>
+      <data-member access='private'>
+        <var-decl name='vmdq_dcb_tx_conf' type-id='type-id-302' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1070' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dcb_tx_conf' type-id='type-id-303' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1072' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='vmdq_tx_conf' type-id='type-id-304' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1074' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_eth_vmdq_dcb_tx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='718' column='1' id='type-id-302'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-296' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-298' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='721' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dcb_tx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='724' column='1' id='type-id-303'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-301' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-298' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='727' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vmdq_tx_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='730' column='1' id='type-id-304'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-296' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='731' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_fdir_conf' size-in-bits='6464' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1005' column='1' id='type-id-287'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mode' type-id='type-id-305' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1006' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='pballoc' type-id='type-id-306' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1007' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='status' type-id='type-id-307' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1008' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='drop_queue' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1010' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mask' type-id='type-id-308' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1011' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='flex_conf' type-id='type-id-309' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1012' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_fdir_mode' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='603' column='1' id='type-id-305'>
+      <underlying-type type-id='type-id-30'/>
+      <enumerator name='RTE_FDIR_MODE_NONE' value='0'/>
+      <enumerator name='RTE_FDIR_MODE_SIGNATURE' value='1'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT' value='2'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT_MAC_VLAN' value='3'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT_TUNNEL' value='4'/>
+    </enum-decl>
+    <enum-decl name='rte_fdir_pballoc_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='984' column='1' id='type-id-306'>
+      <underlying-type type-id='type-id-30'/>
+      <enumerator name='RTE_FDIR_PBALLOC_64K' value='0'/>
+      <enumerator name='RTE_FDIR_PBALLOC_128K' value='1'/>
+      <enumerator name='RTE_FDIR_PBALLOC_256K' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_fdir_status_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='993' column='1' id='type-id-307'>
+      <underlying-type type-id='type-id-30'/>
+      <enumerator name='RTE_FDIR_NO_REPORT_STATUS' value='0'/>
+      <enumerator name='RTE_FDIR_REPORT_STATUS' value='1'/>
+      <enumerator name='RTE_FDIR_REPORT_STATUS_ALWAYS' value='2'/>
+    </enum-decl>
+    <class-decl name='rte_eth_fdir_masks' size-in-bits='544' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='533' column='1' id='type-id-308'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_tci_mask' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='534' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ipv4_mask' type-id='type-id-310' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='536' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ipv6_mask' type-id='type-id-311' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='538' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='src_port_mask' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='540' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='dst_port_mask' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='542' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='mac_addr_byte_mask' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='545' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='tunnel_id_mask' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='547' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='tunnel_type_mask' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='548' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_ipv4_flow' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='342' column='1' id='type-id-310'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='343' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dst_ip' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='344' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tos' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='345' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='ttl' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='346' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='proto' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='347' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_ipv6_flow' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='381' column='1' id='type-id-311'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-312' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='382' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dst_ip' type-id='type-id-312' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='383' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='tc' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='384' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='264'>
+        <var-decl name='proto' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='385' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='272'>
+        <var-decl name='hop_limits' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='386' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='128' id='type-id-312'>
+      <subrange length='4' type-id='type-id-31' id='type-id-313'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_fdir_flex_conf' size-in-bits='5792' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='591' column='1' id='type-id-309'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_payloads' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='592' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='nb_flexmasks' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='593' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flex_set' type-id='type-id-314' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='594' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2336'>
+        <var-decl name='flex_mask' type-id='type-id-315' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='596' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_flex_payload_cfg' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='568' column='1' id='type-id-316'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-317' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='569' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='src_offset' type-id='type-id-318' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='570' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_payload_type' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='555' column='1' id='type-id-317'>
+      <underlying-type type-id='type-id-30'/>
+      <enumerator name='RTE_ETH_PAYLOAD_UNKNOWN' value='0'/>
+      <enumerator name='RTE_ETH_RAW_PAYLOAD' value='1'/>
+      <enumerator name='RTE_ETH_L2_PAYLOAD' value='2'/>
+      <enumerator name='RTE_ETH_L3_PAYLOAD' value='3'/>
+      <enumerator name='RTE_ETH_L4_PAYLOAD' value='4'/>
+      <enumerator name='RTE_ETH_PAYLOAD_MAX' value='8'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-36' size-in-bits='256' id='type-id-318'>
+      <subrange length='16' type-id='type-id-31' id='type-id-319'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-316' size-in-bits='2304' id='type-id-314'>
+      <subrange length='8' type-id='type-id-31' id='type-id-300'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_fdir_flex_mask' size-in-bits='144' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='581' column='1' id='type-id-320'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flow_type' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='582' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='mask' type-id='type-id-321' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='583' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-38' size-in-bits='128' id='type-id-321'>
+      <subrange length='16' type-id='type-id-31' id='type-id-319'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-320' size-in-bits='3456' id='type-id-315'>
+      <subrange length='24' type-id='type-id-31' id='type-id-322'/>
+
+    </array-type-def>
+    <class-decl name='rte_intr_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1031' column='1' id='type-id-288'>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='lsc' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1033' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='rxq' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1035' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='rmv' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1037' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_ether_addr' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='60' column='1' id='type-id-323'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr_bytes' type-id='type-id-324' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='61' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-38' size-in-bits='48' id='type-id-324'>
+      <subrange length='6' type-id='type-id-31' id='type-id-325'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-323' size-in-bits='64' id='type-id-277'/>
+
+    <array-type-def dimensions='1' type-id='type-id-6' size-in-bits='8192' id='type-id-278'>
+      <subrange length='128' type-id='type-id-31' id='type-id-326'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-38' size-in-bits='8192' id='type-id-279'>
+      <subrange length='1024' type-id='type-id-31' id='type-id-327'/>
+
+    </array-type-def>
+    <enum-decl name='rte_kernel_driver' filepath='../lib/librte_eal/common/include/rte_dev.h' line='60' column='1' id='type-id-280'>
+      <underlying-type type-id='type-id-30'/>
+      <enumerator name='RTE_KDRV_UNKNOWN' value='0'/>
+      <enumerator name='RTE_KDRV_IGB_UIO' value='1'/>
+      <enumerator name='RTE_KDRV_VFIO' value='2'/>
+      <enumerator name='RTE_KDRV_UIO_GENERIC' value='3'/>
+      <enumerator name='RTE_KDRV_NIC_UIO' value='4'/>
+      <enumerator name='RTE_KDRV_NONE' value='5'/>
+    </enum-decl>
+    <class-decl name='rte_vlan_filter_conf' size-in-bits='4096' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='427' column='1' id='type-id-281'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ids' type-id='type-id-328' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='428' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-6' size-in-bits='4096' id='type-id-328'>
+      <subrange length='64' type-id='type-id-31' id='type-id-113'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_dev_owner' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1490' column='1' id='type-id-282'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-6' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1491' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='name' type-id='type-id-110' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1492' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-6' size-in-bits='256' id='type-id-270'>
+      <subrange length='4' type-id='type-id-31' id='type-id-313'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-79' size-in-bits='256' id='type-id-271'>
+      <subrange length='4' type-id='type-id-31' id='type-id-313'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-272' size-in-bits='64' id='type-id-264'/>
+    <class-decl name='eth_dev_ops' size-in-bits='6016' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='609' column='1' id='type-id-329'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_configure' type-id='type-id-330' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_start' type-id='type-id-331' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='611' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dev_stop' type-id='type-id-332' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='612' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_set_link_up' type-id='type-id-333' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dev_set_link_down' type-id='type-id-334' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='614' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_close' type-id='type-id-335' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='615' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='dev_reset' type-id='type-id-336' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='616' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='link_update' type-id='type-id-337' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='617' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='is_removed' type-id='type-id-338' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='618' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='promiscuous_enable' type-id='type-id-339' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='promiscuous_disable' type-id='type-id-340' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='allmulticast_enable' type-id='type-id-341' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='623' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='allmulticast_disable' type-id='type-id-342' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='624' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='mac_addr_remove' type-id='type-id-343' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='625' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='mac_addr_add' type-id='type-id-344' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='626' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='mac_addr_set' type-id='type-id-345' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='627' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='set_mc_addr_list' type-id='type-id-346' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='628' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mtu_set' type-id='type-id-347' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='629' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='stats_get' type-id='type-id-348' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='631' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='stats_reset' type-id='type-id-349' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='632' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='xstats_get' type-id='type-id-350' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='633' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='xstats_reset' type-id='type-id-351' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='634' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='xstats_get_names' type-id='type-id-352' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='635' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='queue_stats_mapping_set' type-id='type-id-353' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='637' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='dev_infos_get' type-id='type-id-354' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='640' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='rxq_info_get' type-id='type-id-355' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='641' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='txq_info_get' type-id='type-id-356' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='642' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='rx_burst_mode_get' type-id='type-id-357' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='643' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='tx_burst_mode_get' type-id='type-id-357' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='644' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='fw_version_get' type-id='type-id-358' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='645' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='dev_supported_ptypes_get' type-id='type-id-359' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='646' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='dev_ptypes_set' type-id='type-id-360' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='648' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='vlan_filter_set' type-id='type-id-361' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='651' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='vlan_tpid_set' type-id='type-id-362' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='652' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='vlan_strip_queue_set' type-id='type-id-363' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='653' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='vlan_offload_set' type-id='type-id-364' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='654' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='vlan_pvid_set' type-id='type-id-365' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='655' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='rx_queue_start' type-id='type-id-366' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='657' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='rx_queue_stop' type-id='type-id-367' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='658' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2496'>
+        <var-decl name='tx_queue_start' type-id='type-id-366' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='659' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='tx_queue_stop' type-id='type-id-367' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='660' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='rx_queue_setup' type-id='type-id-368' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='661' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2688'>
+        <var-decl name='rx_queue_release' type-id='type-id-369' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2752'>
+        <var-decl name='rx_queue_count' type-id='type-id-370' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='663' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2816'>
+        <var-decl name='rx_descriptor_done' type-id='type-id-371' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2880'>
+        <var-decl name='rx_descriptor_status' type-id='type-id-372' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='666' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2944'>
+        <var-decl name='tx_descriptor_status' type-id='type-id-373' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3008'>
+        <var-decl name='rx_queue_intr_enable' type-id='type-id-374' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='670' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3072'>
+        <var-decl name='rx_queue_intr_disable' type-id='type-id-375' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3136'>
+        <var-decl name='tx_queue_setup' type-id='type-id-376' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='672' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3200'>
+        <var-decl name='tx_queue_release' type-id='type-id-369' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3264'>
+        <var-decl name='tx_done_cleanup' type-id='type-id-377' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='674' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3328'>
+        <var-decl name='dev_led_on' type-id='type-id-378' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3392'>
+        <var-decl name='dev_led_off' type-id='type-id-379' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='677' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3456'>
+        <var-decl name='flow_ctrl_get' type-id='type-id-380' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='679' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3520'>
+        <var-decl name='flow_ctrl_set' type-id='type-id-381' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='680' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='priority_flow_ctrl_set' type-id='type-id-382' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='681' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3648'>
+        <var-decl name='uc_hash_table_set' type-id='type-id-383' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='683' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3712'>
+        <var-decl name='uc_all_hash_table_set' type-id='type-id-384' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='684' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3776'>
+        <var-decl name='mirror_rule_set' type-id='type-id-385' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='686' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3840'>
+        <var-decl name='mirror_rule_reset' type-id='type-id-386' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='687' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3904'>
+        <var-decl name='udp_tunnel_port_add' type-id='type-id-387' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='689' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3968'>
+        <var-decl name='udp_tunnel_port_del' type-id='type-id-388' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4032'>
+        <var-decl name='l2_tunnel_eth_type_conf' type-id='type-id-389' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4096'>
+        <var-decl name='l2_tunnel_offload_set' type-id='type-id-390' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='693' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4160'>
+        <var-decl name='set_queue_rate_limit' type-id='type-id-391' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='696' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4224'>
+        <var-decl name='rss_hash_update' type-id='type-id-392' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='698' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4288'>
+        <var-decl name='rss_hash_conf_get' type-id='type-id-393' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='699' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4352'>
+        <var-decl name='reta_update' type-id='type-id-394' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='700' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4416'>
+        <var-decl name='reta_query' type-id='type-id-395' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='701' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4480'>
+        <var-decl name='get_reg' type-id='type-id-396' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='703' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4544'>
+        <var-decl name='get_eeprom_length' type-id='type-id-397' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='704' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4608'>
+        <var-decl name='get_eeprom' type-id='type-id-398' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='705' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4672'>
+        <var-decl name='set_eeprom' type-id='type-id-399' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='706' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4736'>
+        <var-decl name='get_module_info' type-id='type-id-400' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='708' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4800'>
+        <var-decl name='get_module_eeprom' type-id='type-id-401' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='710' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4864'>
+        <var-decl name='filter_ctrl' type-id='type-id-402' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4928'>
+        <var-decl name='get_dcb_info' type-id='type-id-403' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='715' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4992'>
+        <var-decl name='timesync_enable' type-id='type-id-404' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='717' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5056'>
+        <var-decl name='timesync_disable' type-id='type-id-405' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5120'>
+        <var-decl name='timesync_read_rx_timestamp' type-id='type-id-406' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='721' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5184'>
+        <var-decl name='timesync_read_tx_timestamp' type-id='type-id-407' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='723' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5248'>
+        <var-decl name='timesync_adjust_time' type-id='type-id-408' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5312'>
+        <var-decl name='timesync_read_time' type-id='type-id-409' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='726' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5376'>
+        <var-decl name='timesync_write_time' type-id='type-id-410' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='727' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5440'>
+        <var-decl name='read_clock' type-id='type-id-411' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='729' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5504'>
+        <var-decl name='xstats_get_by_id' type-id='type-id-412' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='731' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5568'>
+        <var-decl name='xstats_get_names_by_id' type-id='type-id-413' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='733' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5632'>
+        <var-decl name='tm_ops_get' type-id='type-id-414' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='736' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5696'>
+        <var-decl name='mtr_ops_get' type-id='type-id-415' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='739' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5760'>
+        <var-decl name='pool_ops_supported' type-id='type-id-416' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='742' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5824'>
+        <var-decl name='hairpin_cap_get' type-id='type-id-417' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='745' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5888'>
+        <var-decl name='rx_hairpin_queue_setup' type-id='type-id-418' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5952'>
+        <var-decl name='tx_hairpin_queue_setup' type-id='type-id-419' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='749' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-263' size-in-bits='64' id='type-id-420'/>
+    <pointer-type-def type-id='type-id-421' size-in-bits='64' id='type-id-422'/>
+    <typedef-decl name='eth_dev_configure_t' type-id='type-id-422' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='31' column='1' id='type-id-330'/>
+    <typedef-decl name='eth_dev_start_t' type-id='type-id-422' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='34' column='1' id='type-id-331'/>
+    <pointer-type-def type-id='type-id-423' size-in-bits='64' id='type-id-424'/>
+    <typedef-decl name='eth_dev_stop_t' type-id='type-id-424' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='37' column='1' id='type-id-332'/>
+    <typedef-decl name='eth_dev_set_link_up_t' type-id='type-id-422' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='40' column='1' id='type-id-333'/>
+    <typedef-decl name='eth_dev_set_link_down_t' type-id='type-id-422' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='43' column='1' id='type-id-334'/>
+    <typedef-decl name='eth_dev_close_t' type-id='type-id-424' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='46' column='1' id='type-id-335'/>
+    <typedef-decl name='eth_dev_reset_t' type-id='type-id-422' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='49' column='1' id='type-id-336'/>
+    <pointer-type-def type-id='type-id-425' size-in-bits='64' id='type-id-426'/>
+    <typedef-decl name='eth_link_update_t' type-id='type-id-426' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='155' column='1' id='type-id-337'/>
+    <typedef-decl name='eth_is_removed_t' type-id='type-id-422' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='52' column='1' id='type-id-338'/>
+    <typedef-decl name='eth_promiscuous_enable_t' type-id='type-id-422' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='78' column='1' id='type-id-339'/>
+    <typedef-decl name='eth_promiscuous_disable_t' type-id='type-id-422' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='103' column='1' id='type-id-340'/>
+    <typedef-decl name='eth_allmulticast_enable_t' type-id='type-id-422' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='128' column='1' id='type-id-341'/>
+    <typedef-decl name='eth_allmulticast_disable_t' type-id='type-id-422' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='153' column='1' id='type-id-342'/>
+    <pointer-type-def type-id='type-id-427' size-in-bits='64' id='type-id-428'/>
+    <typedef-decl name='eth_mac_addr_remove_t' type-id='type-id-428' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='391' column='1' id='type-id-343'/>
+    <pointer-type-def type-id='type-id-429' size-in-bits='64' id='type-id-430'/>
+    <typedef-decl name='eth_mac_addr_add_t' type-id='type-id-430' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='394' column='1' id='type-id-344'/>
+    <pointer-type-def type-id='type-id-431' size-in-bits='64' id='type-id-432'/>
+    <typedef-decl name='eth_mac_addr_set_t' type-id='type-id-432' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='400' column='1' id='type-id-345'/>
+    <pointer-type-def type-id='type-id-433' size-in-bits='64' id='type-id-434'/>
+    <typedef-decl name='eth_set_mc_addr_list_t' type-id='type-id-434' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='436' column='1' id='type-id-346'/>
+    <pointer-type-def type-id='type-id-435' size-in-bits='64' id='type-id-436'/>
+    <typedef-decl name='mtu_set_t' type-id='type-id-436' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='315' column='1' id='type-id-347'/>
+    <class-decl name='rte_eth_stats' size-in-bits='5632' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='243' column='1' id='type-id-437'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ipackets' type-id='type-id-6' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='opackets' type-id='type-id-6' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ibytes' type-id='type-id-6' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='246' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='obytes' type-id='type-id-6' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='imissed' type-id='type-id-6' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='ierrors' type-id='type-id-6' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='oerrors' type-id='type-id-6' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='rx_nombuf' type-id='type-id-6' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='q_ipackets' type-id='type-id-438' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='q_opackets' type-id='type-id-438' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='q_ibytes' type-id='type-id-438' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='q_obytes' type-id='type-id-438' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4608'>
+        <var-decl name='q_errors' type-id='type-id-438' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='263' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-6' size-in-bits='1024' id='type-id-438'>
+      <subrange length='16' type-id='type-id-31' id='type-id-319'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-437' size-in-bits='64' id='type-id-439'/>
+    <pointer-type-def type-id='type-id-440' size-in-bits='64' id='type-id-441'/>
+    <typedef-decl name='eth_stats_get_t' type-id='type-id-441' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='159' column='1' id='type-id-348'/>
+    <typedef-decl name='eth_stats_reset_t' type-id='type-id-422' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='182' column='1' id='type-id-349'/>
+    <class-decl name='rte_eth_xstat' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1337' column='1' id='type-id-442'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-6' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1338' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='value' type-id='type-id-6' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1339' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-442' size-in-bits='64' id='type-id-443'/>
+    <pointer-type-def type-id='type-id-444' size-in-bits='64' id='type-id-445'/>
+    <typedef-decl name='eth_xstats_get_t' type-id='type-id-445' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='184' column='1' id='type-id-350'/>
+    <typedef-decl name='eth_xstats_reset_t' type-id='type-id-422' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='213' column='1' id='type-id-351'/>
+    <class-decl name='rte_eth_xstat_name' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1349' column='1' id='type-id-446'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-110' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1350' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-446' size-in-bits='64' id='type-id-447'/>
+    <pointer-type-def type-id='type-id-448' size-in-bits='64' id='type-id-449'/>
+    <typedef-decl name='eth_xstats_get_names_t' type-id='type-id-449' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='215' column='1' id='type-id-352'/>
+    <pointer-type-def type-id='type-id-450' size-in-bits='64' id='type-id-451'/>
+    <typedef-decl name='eth_queue_stats_mapping_set_t' type-id='type-id-451' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='224' column='1' id='type-id-353'/>
+    <pointer-type-def type-id='type-id-452' size-in-bits='64' id='type-id-453'/>
+    <typedef-decl name='eth_dev_infos_get_t' type-id='type-id-453' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='230' column='1' id='type-id-354'/>
+    <class-decl name='rte_eth_rxq_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1289' column='1' id='type-id-454'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mp' type-id='type-id-151' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1290' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='conf' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1291' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='scattered_rx' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1292' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='nb_desc' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1293' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-454' size-in-bits='64' id='type-id-455'/>
+    <pointer-type-def type-id='type-id-456' size-in-bits='64' id='type-id-457'/>
+    <typedef-decl name='eth_rxq_info_get_t' type-id='type-id-457' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='306' column='1' id='type-id-355'/>
+    <class-decl name='rte_eth_txq_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1300' column='1' id='type-id-458'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='conf' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1301' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='nb_desc' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1302' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-458' size-in-bits='64' id='type-id-459'/>
+    <pointer-type-def type-id='type-id-460' size-in-bits='64' id='type-id-461'/>
+    <typedef-decl name='eth_txq_info_get_t' type-id='type-id-461' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='309' column='1' id='type-id-356'/>
+    <class-decl name='rte_eth_burst_mode' size-in-bits='8256' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1318' column='1' id='type-id-462'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-6' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1319' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='info' type-id='type-id-463' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1322' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-28' size-in-bits='8192' id='type-id-463'>
+      <subrange length='1024' type-id='type-id-31' id='type-id-327'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-462' size-in-bits='64' id='type-id-464'/>
+    <pointer-type-def type-id='type-id-465' size-in-bits='64' id='type-id-466'/>
+    <typedef-decl name='eth_burst_mode_get_t' type-id='type-id-466' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='312' column='1' id='type-id-357'/>
+    <pointer-type-def type-id='type-id-467' size-in-bits='64' id='type-id-468'/>
+    <typedef-decl name='eth_fw_version_get_t' type-id='type-id-468' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='299' column='1' id='type-id-358'/>
+    <pointer-type-def type-id='type-id-469' size-in-bits='64' id='type-id-470'/>
+    <typedef-decl name='eth_dev_supported_ptypes_get_t' type-id='type-id-470' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='234' column='1' id='type-id-359'/>
+    <pointer-type-def type-id='type-id-471' size-in-bits='64' id='type-id-472'/>
+    <typedef-decl name='eth_dev_ptypes_set_t' type-id='type-id-472' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='249' column='1' id='type-id-360'/>
+    <pointer-type-def type-id='type-id-473' size-in-bits='64' id='type-id-474'/>
+    <typedef-decl name='vlan_filter_set_t' type-id='type-id-474' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='318' column='1' id='type-id-361'/>
+    <enum-decl name='rte_vlan_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='416' column='1' id='type-id-475'>
+      <underlying-type type-id='type-id-30'/>
+      <enumerator name='ETH_VLAN_TYPE_UNKNOWN' value='0'/>
+      <enumerator name='ETH_VLAN_TYPE_INNER' value='1'/>
+      <enumerator name='ETH_VLAN_TYPE_OUTER' value='2'/>
+      <enumerator name='ETH_VLAN_TYPE_MAX' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-476' size-in-bits='64' id='type-id-477'/>
+    <typedef-decl name='vlan_tpid_set_t' type-id='type-id-477' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='323' column='1' id='type-id-362'/>
+    <pointer-type-def type-id='type-id-478' size-in-bits='64' id='type-id-479'/>
+    <typedef-decl name='vlan_strip_queue_set_t' type-id='type-id-479' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='335' column='1' id='type-id-363'/>
+    <typedef-decl name='vlan_offload_set_t' type-id='type-id-426' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='327' column='1' id='type-id-364'/>
+    <typedef-decl name='vlan_pvid_set_t' type-id='type-id-474' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='330' column='1' id='type-id-365'/>
+    <typedef-decl name='eth_queue_start_t' type-id='type-id-436' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='252' column='1' id='type-id-366'/>
+    <typedef-decl name='eth_queue_stop_t' type-id='type-id-436' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='256' column='1' id='type-id-367'/>
+    <qualified-type-def type-id='type-id-39' const='yes' id='type-id-480'/>
+    <pointer-type-def type-id='type-id-480' size-in-bits='64' id='type-id-481'/>
+    <pointer-type-def type-id='type-id-482' size-in-bits='64' id='type-id-483'/>
+    <typedef-decl name='eth_rx_queue_setup_t' type-id='type-id-483' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='260' column='1' id='type-id-368'/>
+    <pointer-type-def type-id='type-id-484' size-in-bits='64' id='type-id-485'/>
+    <typedef-decl name='eth_queue_release_t' type-id='type-id-485' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='283' column='1' id='type-id-369'/>
+    <pointer-type-def type-id='type-id-486' size-in-bits='64' id='type-id-487'/>
+    <typedef-decl name='eth_rx_queue_count_t' type-id='type-id-487' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='286' column='1' id='type-id-370'/>
+    <pointer-type-def type-id='type-id-488' size-in-bits='64' id='type-id-489'/>
+    <typedef-decl name='eth_rx_descriptor_done_t' type-id='type-id-489' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='290' column='1' id='type-id-371'/>
+    <typedef-decl name='eth_rx_descriptor_status_t' type-id='type-id-489' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='293' column='1' id='type-id-372'/>
+    <typedef-decl name='eth_tx_descriptor_status_t' type-id='type-id-489' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='296' column='1' id='type-id-373'/>
+    <typedef-decl name='eth_rx_enable_intr_t' type-id='type-id-436' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='275' column='1' id='type-id-374'/>
+    <typedef-decl name='eth_rx_disable_intr_t' type-id='type-id-436' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='279' column='1' id='type-id-375'/>
+    <qualified-type-def type-id='type-id-40' const='yes' id='type-id-490'/>
+    <pointer-type-def type-id='type-id-490' size-in-bits='64' id='type-id-491'/>
+    <pointer-type-def type-id='type-id-492' size-in-bits='64' id='type-id-493'/>
+    <typedef-decl name='eth_tx_queue_setup_t' type-id='type-id-493' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='268' column='1' id='type-id-376'/>
+    <pointer-type-def type-id='type-id-494' size-in-bits='64' id='type-id-495'/>
+    <typedef-decl name='eth_tx_done_cleanup_t' type-id='type-id-495' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='303' column='1' id='type-id-377'/>
+    <typedef-decl name='eth_dev_led_on_t' type-id='type-id-422' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='385' column='1' id='type-id-378'/>
+    <typedef-decl name='eth_dev_led_off_t' type-id='type-id-422' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='388' column='1' id='type-id-379'/>
+    <class-decl name='rte_eth_fc_conf' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='942' column='1' id='type-id-496'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='high_water' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='943' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='low_water' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='944' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pause_time' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='945' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='send_xon' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='946' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='mode' type-id='type-id-497' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='947' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mac_ctrl_frame_fwd' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='948' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='autoneg' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='949' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_fc_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='930' column='1' id='type-id-497'>
+      <underlying-type type-id='type-id-30'/>
+      <enumerator name='RTE_FC_NONE' value='0'/>
+      <enumerator name='RTE_FC_RX_PAUSE' value='1'/>
+      <enumerator name='RTE_FC_TX_PAUSE' value='2'/>
+      <enumerator name='RTE_FC_FULL' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-496' size-in-bits='64' id='type-id-498'/>
+    <pointer-type-def type-id='type-id-499' size-in-bits='64' id='type-id-500'/>
+    <typedef-decl name='flow_ctrl_get_t' type-id='type-id-500' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='355' column='1' id='type-id-380'/>
+    <typedef-decl name='flow_ctrl_set_t' type-id='type-id-500' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='359' column='1' id='type-id-381'/>
+    <class-decl name='rte_eth_pfc_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='957' column='1' id='type-id-501'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fc' type-id='type-id-496' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='958' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='priority' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='959' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-501' size-in-bits='64' id='type-id-502'/>
+    <pointer-type-def type-id='type-id-503' size-in-bits='64' id='type-id-504'/>
+    <typedef-decl name='priority_flow_ctrl_set_t' type-id='type-id-504' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='363' column='1' id='type-id-382'/>
+    <pointer-type-def type-id='type-id-505' size-in-bits='64' id='type-id-506'/>
+    <typedef-decl name='eth_uc_hash_table_set_t' type-id='type-id-506' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='404' column='1' id='type-id-383'/>
+    <pointer-type-def type-id='type-id-507' size-in-bits='64' id='type-id-508'/>
+    <typedef-decl name='eth_uc_all_hash_table_set_t' type-id='type-id-508' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='409' column='1' id='type-id-384'/>
+    <class-decl name='rte_eth_mirror_conf' size-in-bits='1216' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='670' column='1' id='type-id-509'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rule_type' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='dst_pool' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='672' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pool_mask' type-id='type-id-6' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vlan' type-id='type-id-510' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='675' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vlan_mirror' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='661' column='1' id='type-id-510'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_mask' type-id='type-id-6' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='vlan_id' type-id='type-id-511' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='664' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-36' size-in-bits='1024' id='type-id-511'>
+      <subrange length='64' type-id='type-id-31' id='type-id-113'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-509' size-in-bits='64' id='type-id-512'/>
+    <pointer-type-def type-id='type-id-513' size-in-bits='64' id='type-id-514'/>
+    <typedef-decl name='eth_mirror_rule_set_t' type-id='type-id-514' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='418' column='1' id='type-id-385'/>
+    <typedef-decl name='eth_mirror_rule_reset_t' type-id='type-id-508' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='424' column='1' id='type-id-386'/>
+    <class-decl name='rte_eth_udp_tunnel' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1023' column='1' id='type-id-515'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='udp_port' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1024' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='prot_type' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1025' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-515' size-in-bits='64' id='type-id-516'/>
+    <pointer-type-def type-id='type-id-517' size-in-bits='64' id='type-id-518'/>
+    <typedef-decl name='eth_udp_tunnel_port_add_t' type-id='type-id-518' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='428' column='1' id='type-id-387'/>
+    <typedef-decl name='eth_udp_tunnel_port_del_t' type-id='type-id-518' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='432' column='1' id='type-id-388'/>
+    <class-decl name='rte_eth_l2_tunnel_conf' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='751' column='1' id='type-id-519'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='l2_tunnel_type' type-id='type-id-520' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='752' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ether_type' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tunnel_id' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='754' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='vf_id' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='755' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pool' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='756' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_tunnel_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='965' column='1' id='type-id-520'>
+      <underlying-type type-id='type-id-30'/>
+      <enumerator name='RTE_TUNNEL_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_TUNNEL_TYPE_VXLAN' value='1'/>
+      <enumerator name='RTE_TUNNEL_TYPE_GENEVE' value='2'/>
+      <enumerator name='RTE_TUNNEL_TYPE_TEREDO' value='3'/>
+      <enumerator name='RTE_TUNNEL_TYPE_NVGRE' value='4'/>
+      <enumerator name='RTE_TUNNEL_TYPE_IP_IN_GRE' value='5'/>
+      <enumerator name='RTE_L2_TUNNEL_TYPE_E_TAG' value='6'/>
+      <enumerator name='RTE_TUNNEL_TYPE_VXLAN_GPE' value='7'/>
+      <enumerator name='RTE_TUNNEL_TYPE_MAX' value='8'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-519' size-in-bits='64' id='type-id-521'/>
+    <pointer-type-def type-id='type-id-522' size-in-bits='64' id='type-id-523'/>
+    <typedef-decl name='eth_l2_tunnel_eth_type_conf_t' type-id='type-id-523' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='494' column='1' id='type-id-389'/>
+    <pointer-type-def type-id='type-id-524' size-in-bits='64' id='type-id-525'/>
+    <typedef-decl name='eth_l2_tunnel_offload_set_t' type-id='type-id-525' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='498' column='1' id='type-id-390'/>
+    <pointer-type-def type-id='type-id-526' size-in-bits='64' id='type-id-527'/>
+    <typedef-decl name='eth_set_queue_rate_limit_t' type-id='type-id-527' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='413' column='1' id='type-id-391'/>
+    <pointer-type-def type-id='type-id-291' size-in-bits='64' id='type-id-528'/>
+    <pointer-type-def type-id='type-id-529' size-in-bits='64' id='type-id-530'/>
+    <typedef-decl name='rss_hash_update_t' type-id='type-id-530' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='377' column='1' id='type-id-392'/>
+    <typedef-decl name='rss_hash_conf_get_t' type-id='type-id-530' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='381' column='1' id='type-id-393'/>
+    <class-decl name='rte_eth_rss_reta_entry64' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='684' column='1' id='type-id-531'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mask' type-id='type-id-6' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='685' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='reta' type-id='type-id-511' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='687' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-531' size-in-bits='64' id='type-id-532'/>
+    <pointer-type-def type-id='type-id-533' size-in-bits='64' id='type-id-534'/>
+    <typedef-decl name='reta_update_t' type-id='type-id-534' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='367' column='1' id='type-id-394'/>
+    <typedef-decl name='reta_query_t' type-id='type-id-534' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='372' column='1' id='type-id-395'/>
+    <class-decl name='rte_dev_reg_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='13' column='1' id='type-id-535'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-79' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='14' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offset' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='15' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='length' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='16' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='width' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='17' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='version' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='18' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-535' size-in-bits='64' id='type-id-536'/>
+    <pointer-type-def type-id='type-id-537' size-in-bits='64' id='type-id-538'/>
+    <typedef-decl name='eth_get_reg_t' type-id='type-id-538' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='471' column='1' id='type-id-396'/>
+    <typedef-decl name='eth_get_eeprom_length_t' type-id='type-id-422' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='475' column='1' id='type-id-397'/>
+    <class-decl name='rte_dev_eeprom_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='24' column='1' id='type-id-539'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-79' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='25' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offset' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='26' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='length' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='27' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='magic' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='28' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-539' size-in-bits='64' id='type-id-540'/>
+    <pointer-type-def type-id='type-id-541' size-in-bits='64' id='type-id-542'/>
+    <typedef-decl name='eth_get_eeprom_t' type-id='type-id-542' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='478' column='1' id='type-id-398'/>
+    <typedef-decl name='eth_set_eeprom_t' type-id='type-id-542' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='482' column='1' id='type-id-399'/>
+    <class-decl name='rte_eth_dev_module_info' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='34' column='1' id='type-id-543'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='eeprom_len' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-543' size-in-bits='64' id='type-id-544'/>
+    <pointer-type-def type-id='type-id-545' size-in-bits='64' id='type-id-546'/>
+    <typedef-decl name='eth_get_module_info_t' type-id='type-id-546' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='486' column='1' id='type-id-400'/>
+    <typedef-decl name='eth_get_module_eeprom_t' type-id='type-id-542' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='490' column='1' id='type-id-401'/>
+    <enum-decl name='rte_filter_type' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='28' column='1' id='type-id-547'>
+      <underlying-type type-id='type-id-30'/>
+      <enumerator name='RTE_ETH_FILTER_NONE' value='0'/>
+      <enumerator name='RTE_ETH_FILTER_MACVLAN' value='1'/>
+      <enumerator name='RTE_ETH_FILTER_ETHERTYPE' value='2'/>
+      <enumerator name='RTE_ETH_FILTER_FLEXIBLE' value='3'/>
+      <enumerator name='RTE_ETH_FILTER_SYN' value='4'/>
+      <enumerator name='RTE_ETH_FILTER_NTUPLE' value='5'/>
+      <enumerator name='RTE_ETH_FILTER_TUNNEL' value='6'/>
+      <enumerator name='RTE_ETH_FILTER_FDIR' value='7'/>
+      <enumerator name='RTE_ETH_FILTER_HASH' value='8'/>
+      <enumerator name='RTE_ETH_FILTER_L2_TUNNEL' value='9'/>
+      <enumerator name='RTE_ETH_FILTER_GENERIC' value='10'/>
+      <enumerator name='RTE_ETH_FILTER_MAX' value='11'/>
+    </enum-decl>
+    <enum-decl name='rte_filter_op' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='46' column='1' id='type-id-548'>
+      <underlying-type type-id='type-id-30'/>
+      <enumerator name='RTE_ETH_FILTER_NOP' value='0'/>
+      <enumerator name='RTE_ETH_FILTER_ADD' value='1'/>
+      <enumerator name='RTE_ETH_FILTER_UPDATE' value='2'/>
+      <enumerator name='RTE_ETH_FILTER_DELETE' value='3'/>
+      <enumerator name='RTE_ETH_FILTER_FLUSH' value='4'/>
+      <enumerator name='RTE_ETH_FILTER_GET' value='5'/>
+      <enumerator name='RTE_ETH_FILTER_SET' value='6'/>
+      <enumerator name='RTE_ETH_FILTER_INFO' value='7'/>
+      <enumerator name='RTE_ETH_FILTER_STATS' value='8'/>
+      <enumerator name='RTE_ETH_FILTER_OP_MAX' value='9'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-549' size-in-bits='64' id='type-id-550'/>
+    <typedef-decl name='eth_filter_ctrl_t' type-id='type-id-550' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='506' column='1' id='type-id-402'/>
+    <class-decl name='rte_eth_dcb_info' size-in-bits='16520' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1377' column='1' id='type-id-551'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1378' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='prio_tc' type-id='type-id-298' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1379' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='tc_bws' type-id='type-id-298' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1380' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='tc_queue' type-id='type-id-552' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1382' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dcb_tc_queue_mapping' size-in-bits='16384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1360' column='1' id='type-id-552'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tc_rxq' type-id='type-id-553' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1365' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8192'>
+        <var-decl name='tc_txq' type-id='type-id-553' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1370' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1362' column='1' id='type-id-554'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='base' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1363' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='nb_queue' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1364' column='1'/>
+      </data-member>
+    </class-decl>
+
+
+    <array-type-def dimensions='2' type-id='type-id-554' size-in-bits='1152' id='type-id-553'>
+      <subrange length='64' type-id='type-id-31' id='type-id-113'/>
+
+      <subrange length='8' type-id='type-id-31' id='type-id-300'/>
+
+    </array-type-def>
+
+
+    <pointer-type-def type-id='type-id-551' size-in-bits='64' id='type-id-555'/>
+    <pointer-type-def type-id='type-id-556' size-in-bits='64' id='type-id-557'/>
+    <typedef-decl name='eth_get_dcb_info' type-id='type-id-557' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='518' column='1' id='type-id-403'/>
+    <typedef-decl name='eth_timesync_enable_t' type-id='type-id-422' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='441' column='1' id='type-id-404'/>
+    <typedef-decl name='eth_timesync_disable_t' type-id='type-id-422' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='444' column='1' id='type-id-405'/>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='9' column='1' id='type-id-558'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tv_sec' type-id='type-id-559' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='11' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tv_nsec' type-id='type-id-560' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='long int' size-in-bits='64' id='type-id-561'/>
+    <typedef-decl name='__time_t' type-id='type-id-561' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-559'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-561' filepath='/usr/include/bits/types.h' line='196' column='1' id='type-id-560'/>
+    <pointer-type-def type-id='type-id-558' size-in-bits='64' id='type-id-562'/>
+    <pointer-type-def type-id='type-id-563' size-in-bits='64' id='type-id-564'/>
+    <typedef-decl name='eth_timesync_read_rx_timestamp_t' type-id='type-id-564' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='447' column='1' id='type-id-406'/>
+    <pointer-type-def type-id='type-id-565' size-in-bits='64' id='type-id-566'/>
+    <typedef-decl name='eth_timesync_read_tx_timestamp_t' type-id='type-id-566' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='452' column='1' id='type-id-407'/>
+    <typedef-decl name='__int64_t' type-id='type-id-561' filepath='/usr/include/bits/types.h' line='44' column='1' id='type-id-567'/>
+    <typedef-decl name='int64_t' type-id='type-id-567' filepath='/usr/include/bits/stdint-intn.h' line='27' column='1' id='type-id-568'/>
+    <pointer-type-def type-id='type-id-569' size-in-bits='64' id='type-id-570'/>
+    <typedef-decl name='eth_timesync_adjust_time' type-id='type-id-570' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='456' column='1' id='type-id-408'/>
+    <typedef-decl name='eth_timesync_read_time' type-id='type-id-566' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='459' column='1' id='type-id-409'/>
+    <qualified-type-def type-id='type-id-558' const='yes' id='type-id-571'/>
+    <pointer-type-def type-id='type-id-571' size-in-bits='64' id='type-id-572'/>
+    <pointer-type-def type-id='type-id-573' size-in-bits='64' id='type-id-574'/>
+    <typedef-decl name='eth_timesync_write_time' type-id='type-id-574' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='463' column='1' id='type-id-410'/>
+    <pointer-type-def type-id='type-id-6' size-in-bits='64' id='type-id-575'/>
+    <pointer-type-def type-id='type-id-576' size-in-bits='64' id='type-id-577'/>
+    <typedef-decl name='eth_read_clock' type-id='type-id-577' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='467' column='1' id='type-id-411'/>
+    <qualified-type-def type-id='type-id-6' const='yes' id='type-id-578'/>
+    <pointer-type-def type-id='type-id-578' size-in-bits='64' id='type-id-579'/>
+    <pointer-type-def type-id='type-id-580' size-in-bits='64' id='type-id-581'/>
+    <typedef-decl name='eth_xstats_get_by_id_t' type-id='type-id-581' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='188' column='1' id='type-id-412'/>
+    <pointer-type-def type-id='type-id-582' size-in-bits='64' id='type-id-583'/>
+    <typedef-decl name='eth_xstats_get_names_by_id_t' type-id='type-id-583' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='219' column='1' id='type-id-413'/>
+    <pointer-type-def type-id='type-id-584' size-in-bits='64' id='type-id-585'/>
+    <typedef-decl name='eth_tm_ops_get_t' type-id='type-id-585' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='512' column='1' id='type-id-414'/>
+    <typedef-decl name='eth_mtr_ops_get_t' type-id='type-id-585' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='515' column='1' id='type-id-415'/>
+    <pointer-type-def type-id='type-id-586' size-in-bits='64' id='type-id-587'/>
+    <typedef-decl name='eth_pool_ops_supported_t' type-id='type-id-587' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='522' column='1' id='type-id-416'/>
+    <class-decl name='rte_eth_hairpin_cap' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='861' column='1' id='type-id-588'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max_nb_queues' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='863' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='max_rx_2_tx' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_tx_2_rx' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='867' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='max_nb_desc' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='868' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-588' size-in-bits='64' id='type-id-589'/>
+    <pointer-type-def type-id='type-id-590' size-in-bits='64' id='type-id-591'/>
+    <typedef-decl name='eth_hairpin_cap_get_t' type-id='type-id-591' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='543' column='1' id='type-id-417'/>
+    <class-decl name='rte_eth_hairpin_conf' size-in-bits='1040' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='890' column='1' id='type-id-592'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='peer_count' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='891' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='peers' type-id='type-id-593' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='892' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_hairpin_peer' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='879' column='1' id='type-id-594'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='port' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='880' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='queue' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='881' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-594' size-in-bits='1024' id='type-id-593'>
+      <subrange length='32' type-id='type-id-31' id='type-id-137'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-592' const='yes' id='type-id-595'/>
+    <pointer-type-def type-id='type-id-595' size-in-bits='64' id='type-id-596'/>
+    <pointer-type-def type-id='type-id-597' size-in-bits='64' id='type-id-598'/>
+    <typedef-decl name='eth_rx_hairpin_queue_setup_t' type-id='type-id-598' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='571' column='1' id='type-id-418'/>
+    <typedef-decl name='eth_tx_hairpin_queue_setup_t' type-id='type-id-598' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='601' column='1' id='type-id-419'/>
+    <qualified-type-def type-id='type-id-329' const='yes' id='type-id-599'/>
+    <pointer-type-def type-id='type-id-599' size-in-bits='64' id='type-id-265'/>
+    <class-decl name='rte_intr_handle' size-in-bits='213248' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='69' column='1' id='type-id-600'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-601' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-50' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-602' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='max_intr' type-id='type-id-3' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='nb_efd' type-id='type-id-3' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='efd_counter_size' type-id='type-id-38' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='efds' type-id='type-id-603' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16576'>
+        <var-decl name='elist' type-id='type-id-604' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='213184'>
+        <var-decl name='intr_vec' type-id='type-id-605' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='71' column='1' id='type-id-601'>
+      <data-member access='private'>
+        <var-decl name='vfio_dev_fd' type-id='type-id-50' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='uio_cfg_fd' type-id='type-id-50' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='73' column='1'/>
+      </data-member>
+    </union-decl>
+    <enum-decl name='rte_intr_handle_type' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='27' column='1' id='type-id-602'>
+      <underlying-type type-id='type-id-30'/>
+      <enumerator name='RTE_INTR_HANDLE_UNKNOWN' value='0'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO' value='1'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO_INTX' value='2'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_LEGACY' value='3'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSI' value='4'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSIX' value='5'/>
+      <enumerator name='RTE_INTR_HANDLE_ALARM' value='6'/>
+      <enumerator name='RTE_INTR_HANDLE_EXT' value='7'/>
+      <enumerator name='RTE_INTR_HANDLE_VDEV' value='8'/>
+      <enumerator name='RTE_INTR_HANDLE_DEV_EVENT' value='9'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_REQ' value='10'/>
+      <enumerator name='RTE_INTR_HANDLE_MAX' value='11'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-50' size-in-bits='16384' id='type-id-603'>
+      <subrange length='512' type-id='type-id-31' id='type-id-606'/>
+
+    </array-type-def>
+    <class-decl name='rte_epoll_event' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='61' column='1' id='type-id-607'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='status' type-id='type-id-608' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-50' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='epfd' type-id='type-id-50' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='epdata' type-id='type-id-609' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-3' volatile='yes' id='type-id-608'/>
+    <class-decl name='rte_epoll_data' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='47' column='1' id='type-id-609'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event' type-id='type-id-3' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='data' type-id='type-id-79' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cb_fun' type-id='type-id-610' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='cb_arg' type-id='type-id-79' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='51' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-611' size-in-bits='64' id='type-id-612'/>
+    <typedef-decl name='rte_intr_event_cb_t' type-id='type-id-612' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='45' column='1' id='type-id-610'/>
+
+    <array-type-def dimensions='1' type-id='type-id-607' size-in-bits='196608' id='type-id-604'>
+      <subrange length='512' type-id='type-id-31' id='type-id-606'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-50' size-in-bits='64' id='type-id-605'/>
+    <pointer-type-def type-id='type-id-600' size-in-bits='64' id='type-id-266'/>
+    <class-decl name='rte_eth_dev_cb_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1' id='type-id-267'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-613' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-614' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_callback' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-615'/>
+    <pointer-type-def type-id='type-id-615' size-in-bits='64' id='type-id-613'/>
+    <pointer-type-def type-id='type-id-613' size-in-bits='64' id='type-id-614'/>
+    <class-decl name='rte_eth_rxtx_callback' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='758' column='1' id='type-id-616'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-617' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='759' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fn' type-id='type-id-618' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='763' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='param' type-id='type-id-79' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='764' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-616' size-in-bits='64' id='type-id-617'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='760' column='1' id='type-id-618'>
+      <data-member access='private'>
+        <var-decl name='rx' type-id='type-id-619' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='761' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='tx' type-id='type-id-620' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='762' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-621' size-in-bits='64' id='type-id-622'/>
+    <typedef-decl name='rte_rx_callback_fn' type-id='type-id-622' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1437' column='1' id='type-id-619'/>
+    <pointer-type-def type-id='type-id-623' size-in-bits='64' id='type-id-624'/>
+    <typedef-decl name='rte_tx_callback_fn' type-id='type-id-624' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1461' column='1' id='type-id-620'/>
+
+    <array-type-def dimensions='1' type-id='type-id-617' size-in-bits='65536' id='type-id-268'>
+      <subrange length='1024' type-id='type-id-31' id='type-id-327'/>
+
+    </array-type-def>
+    <enum-decl name='rte_eth_dev_state' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1467' column='1' id='type-id-269'>
+      <underlying-type type-id='type-id-30'/>
+      <enumerator name='RTE_ETH_DEV_UNUSED' value='0'/>
+      <enumerator name='RTE_ETH_DEV_ATTACHED' value='1'/>
+      <enumerator name='RTE_ETH_DEV_REMOVED' value='2'/>
+    </enum-decl>
+    <class-decl name='rte_flow_attr' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='75' column='1' id='type-id-625'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='group' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='priority' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='ingress' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='egress' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='transfer' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='98' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='reserved' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='99' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-625' const='yes' id='type-id-626'/>
+    <pointer-type-def type-id='type-id-626' size-in-bits='64' id='type-id-627'/>
+    <class-decl name='rte_flow_item' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1517' column='1' id='type-id-628'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-629' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1518' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='spec' type-id='type-id-79' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1519' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='last' type-id='type-id-79' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='mask' type-id='type-id-79' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1521' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_item_type' filepath='../lib/librte_ethdev/rte_flow.h' line='118' column='1' id='type-id-629'>
+      <underlying-type type-id='type-id-30'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_END' value='0'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VOID' value='1'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_INVERT' value='2'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ANY' value='3'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PF' value='4'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VF' value='5'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PHY_PORT' value='6'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PORT_ID' value='7'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_RAW' value='8'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ETH' value='9'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VLAN' value='10'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV4' value='11'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV6' value='12'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP' value='13'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_UDP' value='14'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_TCP' value='15'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_SCTP' value='16'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VXLAN' value='17'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_E_TAG' value='18'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_NVGRE' value='19'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_MPLS' value='20'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GRE' value='21'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_FUZZY' value='22'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTP' value='23'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTPC' value='24'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTPU' value='25'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ESP' value='26'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GENEVE' value='27'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VXLAN_GPE' value='28'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ARP_ETH_IPV4' value='29'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV6_EXT' value='30'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6' value='31'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_NS' value='32'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_NA' value='33'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT' value='34'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT_SLA_ETH' value='35'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT_TLA_ETH' value='36'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_MARK' value='37'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_META' value='38'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GRE_KEY' value='39'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTP_PSC' value='40'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOES' value='41'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOED' value='42'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOE_PROTO_ID' value='43'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_NSH' value='44'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IGMP' value='45'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_AH' value='46'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_HIGIG2' value='47'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_TAG' value='48'/>
+    </enum-decl>
+    <qualified-type-def type-id='type-id-628' const='yes' id='type-id-630'/>
+    <pointer-type-def type-id='type-id-630' size-in-bits='64' id='type-id-631'/>
+    <class-decl name='rte_flow_action' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2568' column='1' id='type-id-632'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-633' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2569' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='conf' type-id='type-id-79' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2570' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_action_type' filepath='../lib/librte_ethdev/rte_flow.h' line='1550' column='1' id='type-id-633'>
+      <underlying-type type-id='type-id-30'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_END' value='0'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VOID' value='1'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PASSTHRU' value='2'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_JUMP' value='3'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_MARK' value='4'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_FLAG' value='5'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_QUEUE' value='6'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DROP' value='7'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_COUNT' value='8'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RSS' value='9'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PF' value='10'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VF' value='11'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PHY_PORT' value='12'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PORT_ID' value='13'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_METER' value='14'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SECURITY' value='15'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_MPLS_TTL' value='16'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_DEC_MPLS_TTL' value='17'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_NW_TTL' value='18'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_DEC_NW_TTL' value='19'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_OUT' value='20'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_IN' value='21'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_POP_VLAN' value='22'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_PUSH_VLAN' value='23'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_VID' value='24'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_PCP' value='25'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_POP_MPLS' value='26'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_PUSH_MPLS' value='27'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VXLAN_ENCAP' value='28'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VXLAN_DECAP' value='29'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_NVGRE_ENCAP' value='30'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_NVGRE_DECAP' value='31'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RAW_ENCAP' value='32'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RAW_DECAP' value='33'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV4_SRC' value='34'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV4_DST' value='35'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV6_SRC' value='36'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV6_DST' value='37'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TP_SRC' value='38'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TP_DST' value='39'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_MAC_SWAP' value='40'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TTL' value='41'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TTL' value='42'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_MAC_SRC' value='43'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_MAC_DST' value='44'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_INC_TCP_SEQ' value='45'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TCP_SEQ' value='46'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_INC_TCP_ACK' value='47'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TCP_ACK' value='48'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TAG' value='49'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_META' value='50'/>
+    </enum-decl>
+    <qualified-type-def type-id='type-id-632' const='yes' id='type-id-634'/>
+    <pointer-type-def type-id='type-id-634' size-in-bits='64' id='type-id-635'/>
+    <class-decl name='rte_flow_error' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2618' column='1' id='type-id-636'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-637' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2619' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='cause' type-id='type-id-79' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2620' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='message' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2621' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_error_type' filepath='../lib/librte_ethdev/rte_flow.h' line='2587' column='1' id='type-id-637'>
+      <underlying-type type-id='type-id-30'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_UNSPECIFIED' value='1'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_HANDLE' value='2'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_GROUP' value='3'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_PRIORITY' value='4'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_INGRESS' value='5'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_EGRESS' value='6'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_TRANSFER' value='7'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR' value='8'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_NUM' value='9'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_SPEC' value='10'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_LAST' value='11'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_MASK' value='12'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM' value='13'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION_NUM' value='14'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION_CONF' value='15'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION' value='16'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-636' size-in-bits='64' id='type-id-638'/>
+    <pointer-type-def type-id='type-id-639' size-in-bits='64' id='type-id-257'/>
+    <class-decl name='rte_flow' size-in-bits='11072' is-struct='yes' visibility='default' filepath='../drivers/net/sfc/sfc_flow.h' line='49' column='1' id='type-id-640'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='spec' type-id='type-id-641' visibility='default' filepath='../drivers/net/sfc/sfc_flow.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6368'>
+        <var-decl name='rss' type-id='type-id-642' visibility='default' filepath='../drivers/net/sfc/sfc_flow.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6400'>
+        <var-decl name='rss_conf' type-id='type-id-643' visibility='default' filepath='../drivers/net/sfc/sfc_flow.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='10944'>
+        <var-decl name='entries' type-id='type-id-644' visibility='default' filepath='../drivers/net/sfc/sfc_flow.h' line='53' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='sfc_flow_spec' size-in-bits='6368' is-struct='yes' visibility='default' filepath='../drivers/net/sfc/sfc_flow.h' line='39' column='1' id='type-id-641'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='template' type-id='type-id-645' visibility='default' filepath='../drivers/net/sfc/sfc_flow.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='filters' type-id='type-id-646' visibility='default' filepath='../drivers/net/sfc/sfc_flow.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6336'>
+        <var-decl name='count' type-id='type-id-1' visibility='default' filepath='../drivers/net/sfc/sfc_flow.h' line='45' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='efx_filter_spec_s' size-in-bits='704' is-struct='yes' visibility='default' filepath='../drivers/net/sfc/base/efx.h' line='2970' column='1' id='type-id-647'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='efs_match_flags' type-id='type-id-648' visibility='default' filepath='../drivers/net/sfc/base/efx.h' line='2971' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='efs_priority' type-id='type-id-38' visibility='default' filepath='../drivers/net/sfc/base/efx.h' line='2972' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='efs_flags' type-id='type-id-649' visibility='default' filepath='../drivers/net/sfc/base/efx.h' line='2973' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='efs_dmaq_id' type-id='type-id-36' visibility='default' filepath='../drivers/net/sfc/base/efx.h' line='2974' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='efs_rss_context' type-id='type-id-3' visibility='default' filepath='../drivers/net/sfc/base/efx.h' line='2975' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='efs_mark' type-id='type-id-3' visibility='default' filepath='../drivers/net/sfc/base/efx.h' line='2976' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='efs_outer_vid' type-id='type-id-36' visibility='default' filepath='../drivers/net/sfc/base/efx.h' line='2978' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='efs_inner_vid' type-id='type-id-36' visibility='default' filepath='../drivers/net/sfc/base/efx.h' line='2979' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='efs_loc_mac' type-id='type-id-324' visibility='default' filepath='../drivers/net/sfc/base/efx.h' line='2980' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='208'>
+        <var-decl name='efs_rem_mac' type-id='type-id-324' visibility='default' filepath='../drivers/net/sfc/base/efx.h' line='2981' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='efs_ether_type' type-id='type-id-36' visibility='default' filepath='../drivers/net/sfc/base/efx.h' line='2982' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='272'>
+        <var-decl name='efs_ip_proto' type-id='type-id-38' visibility='default' filepath='../drivers/net/sfc/base/efx.h' line='2983' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='efs_encap_type' type-id='type-id-650' visibility='default' filepath='../drivers/net/sfc/base/efx.h' line='2984' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='efs_loc_port' type-id='type-id-36' visibility='default' filepath='../drivers/net/sfc/base/efx.h' line='2985' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='efs_rem_port' type-id='type-id-36' visibility='default' filepath='../drivers/net/sfc/base/efx.h' line='2986' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='efs_rem_host' type-id='type-id-651' visibility='default' filepath='../drivers/net/sfc/base/efx.h' line='2987' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='efs_loc_host' type-id='type-id-651' visibility='default' filepath='../drivers/net/sfc/base/efx.h' line='2988' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='efs_vni_or_vsid' type-id='type-id-652' visibility='default' filepath='../drivers/net/sfc/base/efx.h' line='2989' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='632'>
+        <var-decl name='efs_ifrm_loc_mac' type-id='type-id-324' visibility='default' filepath='../drivers/net/sfc/base/efx.h' line='2990' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='efx_filter_match_flags_t' type-id='type-id-3' filepath='../drivers/net/sfc/base/efx.h' line='2950' column='1' id='type-id-648'/>
+    <typedef-decl name='efx_filter_flags_t' type-id='type-id-38' filepath='../drivers/net/sfc/base/efx.h' line='2905' column='1' id='type-id-649'/>
+    <enum-decl name='efx_tunnel_protocol_e' filepath='../drivers/net/sfc/base/efx.h' line='1255' column='1' id='type-id-653'>
+      <underlying-type type-id='type-id-30'/>
+      <enumerator name='EFX_TUNNEL_PROTOCOL_NONE' value='0'/>
+      <enumerator name='EFX_TUNNEL_PROTOCOL_VXLAN' value='1'/>
+      <enumerator name='EFX_TUNNEL_PROTOCOL_GENEVE' value='2'/>
+      <enumerator name='EFX_TUNNEL_PROTOCOL_NVGRE' value='3'/>
+      <enumerator name='EFX_TUNNEL_NPROTOS' value='4'/>
+    </enum-decl>
+    <typedef-decl name='efx_tunnel_protocol_t' type-id='type-id-653' filepath='../drivers/net/sfc/base/efx.h' line='1261' column='1' id='type-id-650'/>
+    <union-decl name='efx_oword_u' size-in-bits='128' visibility='default' filepath='../drivers/net/sfc/base/efx_types.h' line='206' column='1' id='type-id-654'>
+      <data-member access='private'>
+        <var-decl name='eo_byte' type-id='type-id-655' visibility='default' filepath='../drivers/net/sfc/base/efx_types.h' line='207' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='eo_word' type-id='type-id-656' visibility='default' filepath='../drivers/net/sfc/base/efx_types.h' line='208' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='eo_dword' type-id='type-id-657' visibility='default' filepath='../drivers/net/sfc/base/efx_types.h' line='209' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='eo_qword' type-id='type-id-658' visibility='default' filepath='../drivers/net/sfc/base/efx_types.h' line='210' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='eo_u128' type-id='type-id-659' visibility='default' filepath='../drivers/net/sfc/base/efx_types.h' line='212' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='eo_u64' type-id='type-id-44' visibility='default' filepath='../drivers/net/sfc/base/efx_types.h' line='215' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='eo_u32' type-id='type-id-312' visibility='default' filepath='../drivers/net/sfc/base/efx_types.h' line='217' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='eo_u16' type-id='type-id-660' visibility='default' filepath='../drivers/net/sfc/base/efx_types.h' line='218' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='eo_u8' type-id='type-id-321' visibility='default' filepath='../drivers/net/sfc/base/efx_types.h' line='219' column='1'/>
+      </data-member>
+    </union-decl>
+    <union-decl name='efx_byte_u' size-in-bits='8' visibility='default' filepath='../drivers/net/sfc/base/efx_types.h' line='156' column='1' id='type-id-661'>
+      <data-member access='private'>
+        <var-decl name='eb_u8' type-id='type-id-662' visibility='default' filepath='../drivers/net/sfc/base/efx_types.h' line='157' column='1'/>
+      </data-member>
+    </union-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-38' size-in-bits='8' id='type-id-662'>
+      <subrange length='1' type-id='type-id-31' id='type-id-663'/>
+
+    </array-type-def>
+    <typedef-decl name='efx_byte_t' type-id='type-id-661' filepath='../drivers/net/sfc/base/efx_types.h' line='158' column='1' id='type-id-664'/>
+
+    <array-type-def dimensions='1' type-id='type-id-664' size-in-bits='128' id='type-id-655'>
+      <subrange length='16' type-id='type-id-31' id='type-id-319'/>
+
+    </array-type-def>
+    <union-decl name='efx_word_u' size-in-bits='16' visibility='default' filepath='../drivers/net/sfc/base/efx_types.h' line='165' column='1' id='type-id-665'>
+      <data-member access='private'>
+        <var-decl name='ew_byte' type-id='type-id-666' visibility='default' filepath='../drivers/net/sfc/base/efx_types.h' line='166' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='ew_u16' type-id='type-id-667' visibility='default' filepath='../drivers/net/sfc/base/efx_types.h' line='167' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='ew_u8' type-id='type-id-668' visibility='default' filepath='../drivers/net/sfc/base/efx_types.h' line='168' column='1'/>
+      </data-member>
+    </union-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-664' size-in-bits='16' id='type-id-666'>
+      <subrange length='2' type-id='type-id-31' id='type-id-121'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-36' size-in-bits='16' id='type-id-667'>
+      <subrange length='1' type-id='type-id-31' id='type-id-663'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-38' size-in-bits='16' id='type-id-668'>
+      <subrange length='2' type-id='type-id-31' id='type-id-121'/>
+
+    </array-type-def>
+    <typedef-decl name='efx_word_t' type-id='type-id-665' filepath='../drivers/net/sfc/base/efx_types.h' line='169' column='1' id='type-id-669'/>
+
+    <array-type-def dimensions='1' type-id='type-id-669' size-in-bits='128' id='type-id-656'>
+      <subrange length='8' type-id='type-id-31' id='type-id-300'/>
+
+    </array-type-def>
+    <union-decl name='efx_dword_u' size-in-bits='32' visibility='default' filepath='../drivers/net/sfc/base/efx_types.h' line='176' column='1' id='type-id-670'>
+      <data-member access='private'>
+        <var-decl name='ed_byte' type-id='type-id-671' visibility='default' filepath='../drivers/net/sfc/base/efx_types.h' line='177' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='ed_word' type-id='type-id-672' visibility='default' filepath='../drivers/net/sfc/base/efx_types.h' line='178' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='ed_u32' type-id='type-id-673' visibility='default' filepath='../drivers/net/sfc/base/efx_types.h' line='179' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='ed_u16' type-id='type-id-674' visibility='default' filepath='../drivers/net/sfc/base/efx_types.h' line='180' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='ed_u8' type-id='type-id-675' visibility='default' filepath='../drivers/net/sfc/base/efx_types.h' line='181' column='1'/>
+      </data-member>
+    </union-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-664' size-in-bits='32' id='type-id-671'>
+      <subrange length='4' type-id='type-id-31' id='type-id-313'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-669' size-in-bits='32' id='type-id-672'>
+      <subrange length='2' type-id='type-id-31' id='type-id-121'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='32' id='type-id-673'>
+      <subrange length='1' type-id='type-id-31' id='type-id-663'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-36' size-in-bits='32' id='type-id-674'>
+      <subrange length='2' type-id='type-id-31' id='type-id-121'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-38' size-in-bits='32' id='type-id-675'>
+      <subrange length='4' type-id='type-id-31' id='type-id-313'/>
+
+    </array-type-def>
+    <typedef-decl name='efx_dword_t' type-id='type-id-670' filepath='../drivers/net/sfc/base/efx_types.h' line='182' column='1' id='type-id-676'/>
+
+    <array-type-def dimensions='1' type-id='type-id-676' size-in-bits='128' id='type-id-657'>
+      <subrange length='4' type-id='type-id-31' id='type-id-313'/>
+
+    </array-type-def>
+    <union-decl name='efx_qword_u' size-in-bits='64' visibility='default' filepath='../drivers/net/sfc/base/efx_types.h' line='189' column='1' id='type-id-677'>
+      <data-member access='private'>
+        <var-decl name='eq_byte' type-id='type-id-678' visibility='default' filepath='../drivers/net/sfc/base/efx_types.h' line='190' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='eq_word' type-id='type-id-679' visibility='default' filepath='../drivers/net/sfc/base/efx_types.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='eq_dword' type-id='type-id-680' visibility='default' filepath='../drivers/net/sfc/base/efx_types.h' line='192' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='eq_u64' type-id='type-id-681' visibility='default' filepath='../drivers/net/sfc/base/efx_types.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='eq_u32' type-id='type-id-682' visibility='default' filepath='../drivers/net/sfc/base/efx_types.h' line='196' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='eq_u16' type-id='type-id-683' visibility='default' filepath='../drivers/net/sfc/base/efx_types.h' line='197' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='eq_u8' type-id='type-id-298' visibility='default' filepath='../drivers/net/sfc/base/efx_types.h' line='198' column='1'/>
+      </data-member>
+    </union-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-664' size-in-bits='64' id='type-id-678'>
+      <subrange length='8' type-id='type-id-31' id='type-id-300'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-669' size-in-bits='64' id='type-id-679'>
+      <subrange length='4' type-id='type-id-31' id='type-id-313'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-676' size-in-bits='64' id='type-id-680'>
+      <subrange length='2' type-id='type-id-31' id='type-id-121'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-6' size-in-bits='64' id='type-id-681'>
+      <subrange length='1' type-id='type-id-31' id='type-id-663'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='64' id='type-id-682'>
+      <subrange length='2' type-id='type-id-31' id='type-id-121'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-36' size-in-bits='64' id='type-id-683'>
+      <subrange length='4' type-id='type-id-31' id='type-id-313'/>
+
+    </array-type-def>
+    <typedef-decl name='efx_qword_t' type-id='type-id-677' filepath='../drivers/net/sfc/base/efx_types.h' line='199' column='1' id='type-id-684'/>
+
+    <array-type-def dimensions='1' type-id='type-id-684' size-in-bits='128' id='type-id-658'>
+      <subrange length='2' type-id='type-id-31' id='type-id-121'/>
+
+    </array-type-def>
+    <type-decl name='long long int' size-in-bits='64' id='type-id-685'/>
+
+    <array-type-def dimensions='1' type-id='type-id-685' size-in-bits='128' id='type-id-686'>
+      <subrange length='2' id='type-id-121'/>
+
+    </array-type-def>
+    <typedef-decl name='__m128i' type-id='type-id-686' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/emmintrin.h' line='53' column='1' id='type-id-687'/>
+
+    <array-type-def dimensions='1' type-id='type-id-687' size-in-bits='128' id='type-id-659'>
+      <subrange length='1' type-id='type-id-31' id='type-id-663'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-36' size-in-bits='128' id='type-id-660'>
+      <subrange length='8' type-id='type-id-31' id='type-id-300'/>
+
+    </array-type-def>
+    <typedef-decl name='efx_oword_t' type-id='type-id-654' filepath='../drivers/net/sfc/base/efx_types.h' line='220' column='1' id='type-id-651'/>
+
+    <array-type-def dimensions='1' type-id='type-id-38' size-in-bits='24' id='type-id-652'>
+      <subrange length='3' type-id='type-id-31' id='type-id-688'/>
+
+    </array-type-def>
+    <typedef-decl name='efx_filter_spec_t' type-id='type-id-647' filepath='../drivers/net/sfc/base/efx.h' line='2991' column='1' id='type-id-645'/>
+
+    <array-type-def dimensions='1' type-id='type-id-645' size-in-bits='5632' id='type-id-646'>
+      <subrange length='8' type-id='type-id-31' id='type-id-300'/>
+
+    </array-type-def>
+    <typedef-decl name='boolean_t' type-id='type-id-184' filepath='../drivers/net/sfc/efsys.h' line='51' column='1' id='type-id-642'/>
+    <class-decl name='sfc_flow_rss' size-in-bits='4512' is-struct='yes' visibility='default' filepath='../drivers/net/sfc/sfc_flow.h' line='30' column='1' id='type-id-643'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rxq_hw_index_min' type-id='type-id-1' visibility='default' filepath='../drivers/net/sfc/sfc_flow.h' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='rxq_hw_index_max' type-id='type-id-1' visibility='default' filepath='../drivers/net/sfc/sfc_flow.h' line='32' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rss_hash_types' type-id='type-id-1' visibility='default' filepath='../drivers/net/sfc/sfc_flow.h' line='33' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='rss_key' type-id='type-id-689' visibility='default' filepath='../drivers/net/sfc/sfc_flow.h' line='34' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='rss_tbl' type-id='type-id-690' visibility='default' filepath='../drivers/net/sfc/sfc_flow.h' line='35' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-38' size-in-bits='320' id='type-id-689'>
+      <subrange length='40' type-id='type-id-31' id='type-id-691'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='4096' id='type-id-690'>
+      <subrange length='128' type-id='type-id-31' id='type-id-326'/>
+
+    </array-type-def>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/sfc/sfc_flow.h' line='53' column='1' id='type-id-644'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-692' visibility='default' filepath='../drivers/net/sfc/sfc_flow.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-693' visibility='default' filepath='../drivers/net/sfc/sfc_flow.h' line='53' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-640' size-in-bits='64' id='type-id-692'/>
+    <pointer-type-def type-id='type-id-692' size-in-bits='64' id='type-id-693'/>
+    <pointer-type-def type-id='type-id-694' size-in-bits='64' id='type-id-258'/>
+    <pointer-type-def type-id='type-id-695' size-in-bits='64' id='type-id-259'/>
+    <pointer-type-def type-id='type-id-696' size-in-bits='64' id='type-id-260'/>
+    <pointer-type-def type-id='type-id-697' size-in-bits='64' id='type-id-261'/>
+    <pointer-type-def type-id='type-id-698' size-in-bits='64' id='type-id-262'/>
+    <qualified-type-def type-id='type-id-256' const='yes' id='type-id-699'/>
+    <var-decl name='sfc_flow_ops' type-id='type-id-699' visibility='default' filepath='../drivers/net/sfc/sfc_flow.h' line='58' column='1'/>
+    <function-type size-in-bits='64' id='type-id-469'>
+      <parameter type-id='type-id-420'/>
+      <return type-id='type-id-37'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-421'>
+      <parameter type-id='type-id-420'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-467'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-114'/>
+      <parameter type-id='type-id-89'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-586'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-24'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-639'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-627'/>
+      <parameter type-id='type-id-631'/>
+      <parameter type-id='type-id-635'/>
+      <parameter type-id='type-id-638'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-573'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-572'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-580'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-579'/>
+      <parameter type-id='type-id-575'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-549'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-547'/>
+      <parameter type-id='type-id-548'/>
+      <parameter type-id='type-id-79'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-476'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-475'/>
+      <parameter type-id='type-id-36'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-425'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-50'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-698'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-50'/>
+      <parameter type-id='type-id-638'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-541'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-540'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-537'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-536'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-556'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-555'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-452'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-122'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-545'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-544'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-499'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-498'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-590'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-589'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-522'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-521'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-524'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-521'/>
+      <parameter type-id='type-id-3'/>
+      <parameter type-id='type-id-38'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-513'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-512'/>
+      <parameter type-id='type-id-38'/>
+      <parameter type-id='type-id-38'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-503'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-502'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-529'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-528'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-533'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-532'/>
+      <parameter type-id='type-id-36'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-440'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-439'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-517'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-516'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-444'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-443'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-582'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-447'/>
+      <parameter type-id='type-id-579'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-448'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-447'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-431'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-277'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-433'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-277'/>
+      <parameter type-id='type-id-3'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-429'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-277'/>
+      <parameter type-id='type-id-3'/>
+      <parameter type-id='type-id-3'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-505'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-277'/>
+      <parameter type-id='type-id-38'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-697'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-692'/>
+      <parameter type-id='type-id-635'/>
+      <parameter type-id='type-id-79'/>
+      <parameter type-id='type-id-638'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-695'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-692'/>
+      <parameter type-id='type-id-638'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-696'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-638'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-565'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-562'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-563'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-562'/>
+      <parameter type-id='type-id-3'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-569'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-568'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-435'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-36'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-473'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-36'/>
+      <parameter type-id='type-id-50'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-465'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-36'/>
+      <parameter type-id='type-id-464'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-526'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-36'/>
+      <parameter type-id='type-id-36'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-597'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-36'/>
+      <parameter type-id='type-id-36'/>
+      <parameter type-id='type-id-596'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-482'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-36'/>
+      <parameter type-id='type-id-36'/>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-481'/>
+      <parameter type-id='type-id-151'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-492'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-36'/>
+      <parameter type-id='type-id-36'/>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-491'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-450'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-36'/>
+      <parameter type-id='type-id-38'/>
+      <parameter type-id='type-id-38'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-471'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-3'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-507'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-38'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-576'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-575'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-584'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-79'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-488'>
+      <parameter type-id='type-id-79'/>
+      <parameter type-id='type-id-36'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-494'>
+      <parameter type-id='type-id-79'/>
+      <parameter type-id='type-id-3'/>
+      <return type-id='type-id-50'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-694'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-627'/>
+      <parameter type-id='type-id-631'/>
+      <parameter type-id='type-id-635'/>
+      <parameter type-id='type-id-638'/>
+      <return type-id='type-id-692'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-621'>
+      <parameter type-id='type-id-36'/>
+      <parameter type-id='type-id-36'/>
+      <parameter type-id='type-id-217'/>
+      <parameter type-id='type-id-36'/>
+      <parameter type-id='type-id-36'/>
+      <parameter type-id='type-id-79'/>
+      <return type-id='type-id-36'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-623'>
+      <parameter type-id='type-id-36'/>
+      <parameter type-id='type-id-36'/>
+      <parameter type-id='type-id-217'/>
+      <parameter type-id='type-id-36'/>
+      <parameter type-id='type-id-79'/>
+      <return type-id='type-id-36'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-486'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-36'/>
+      <return type-id='type-id-3'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-611'>
+      <parameter type-id='type-id-50'/>
+      <parameter type-id='type-id-79'/>
+      <return type-id='type-id-33'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-423'>
+      <parameter type-id='type-id-420'/>
+      <return type-id='type-id-33'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-478'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-36'/>
+      <parameter type-id='type-id-50'/>
+      <return type-id='type-id-33'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-456'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-36'/>
+      <parameter type-id='type-id-455'/>
+      <return type-id='type-id-33'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-460'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-36'/>
+      <parameter type-id='type-id-459'/>
+      <return type-id='type-id-33'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-427'>
+      <parameter type-id='type-id-420'/>
+      <parameter type-id='type-id-3'/>
+      <return type-id='type-id-33'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-484'>
+      <parameter type-id='type-id-79'/>
+      <return type-id='type-id-33'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/sfc/sfc_ef10_rx.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='sfc_ef10_rx' type-id='type-id-4' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='267' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/sfc/sfc_ef10_essb_rx.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='sfc_ef10_essb_rx' type-id='type-id-4' visibility='default' filepath='../drivers/net/sfc/sfc_dp_rx.h' line='268' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/sfc/sfc_ef10_tx.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='sfc_ef10_tx' type-id='type-id-220' visibility='default' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='290' column='1'/>
+    <var-decl name='sfc_ef10_simple_tx' type-id='type-id-220' visibility='default' filepath='../drivers/net/sfc/sfc_dp_tx.h' line='291' column='1'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_sfc_efx.dump b/drivers/.abi/librte_pmd_sfc_efx.dump
new file mode 100644
index 000000000..cb22db546
--- /dev/null
+++ b/drivers/.abi/librte_pmd_sfc_efx.dump
@@ -0,0 +1,12 @@
+<abi-corpus path='tmp_abi_sofiles//drivers/librte_pmd_sfc_efx.so.20.0.0' architecture='elf-amd-x86_64' soname='librte_pmd_sfc_efx.so.20.0'>
+  <elf-needed>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_skeleton_event.dump b/drivers/.abi/librte_pmd_skeleton_event.dump
new file mode 100644
index 000000000..52c5a2507
--- /dev/null
+++ b/drivers/.abi/librte_pmd_skeleton_event.dump
@@ -0,0 +1,25 @@
+<abi-corpus path='gcc//drivers/librte_pmd_skeleton_event.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_skeleton_event.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eventdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='librte_timer.so.20.0'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+  </elf-needed>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_softnic.dump b/drivers/.abi/librte_pmd_softnic.dump
new file mode 100644
index 000000000..5e8fe7fd1
--- /dev/null
+++ b/drivers/.abi/librte_pmd_softnic.dump
@@ -0,0 +1,5523 @@
+<abi-corpus path='gcc//drivers/librte_pmd_softnic.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_softnic.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='librte_pipeline.so.20.0'/>
+    <dependency name='librte_port.so.20.0'/>
+    <dependency name='librte_sched.so.20.0'/>
+    <dependency name='librte_ip_frag.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='librte_eventdev.so.20.0'/>
+    <dependency name='librte_timer.so.20.0'/>
+    <dependency name='librte_kni.so.20.0'/>
+    <dependency name='librte_table.so.20.0'/>
+    <dependency name='librte_lpm.so.20.0'/>
+    <dependency name='librte_acl.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpcap.so.1'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_pmd_softnic_manage' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_softnic_run' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/softnic/rte_eth_softnic_tm.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_tm_ops' size-in-bits='1856' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='211' column='1' id='type-id-1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='node_type_get' type-id='type-id-2' visibility='default' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='213' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='capabilities_get' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='216' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='level_capabilities_get' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='218' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='node_capabilities_get' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='220' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='wred_profile_add' type-id='type-id-6' visibility='default' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='223' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='wred_profile_delete' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='shared_wred_context_add_update' type-id='type-id-8' visibility='default' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='shared_wred_context_delete' type-id='type-id-9' visibility='default' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='shaper_profile_add' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='234' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='shaper_profile_delete' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='shared_shaper_add_update' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='shared_shaper_delete' type-id='type-id-13' visibility='default' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='node_add' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='243' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='node_delete' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='node_suspend' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='node_resume' type-id='type-id-17' visibility='default' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='hierarchy_commit' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='node_parent_update' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='node_shaper_update' type-id='type-id-20' visibility='default' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='node_shared_shaper_update' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='node_stats_update' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='node_wfq_weight_mode_update' type-id='type-id-23' visibility='default' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='262' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='node_cman_update' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='264' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='node_wred_context_update' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='266' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='node_shared_wred_context_update' type-id='type-id-26' visibility='default' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='269' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='node_stats_read' type-id='type-id-27' visibility='default' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='271' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='mark_vlan_dei' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='274' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='mark_ip_ecn' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='276' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='mark_ip_dscp' type-id='type-id-30' visibility='default' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='278' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='int' size-in-bits='32' id='type-id-31'/>
+    <class-decl name='rte_eth_dev' size-in-bits='132608' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='777' column='1' id='type-id-32'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_pkt_burst' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='778' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tx_pkt_burst' type-id='type-id-34' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tx_pkt_prepare' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='data' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='786' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='process_private' type-id='type-id-37' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='787' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_ops' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='788' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='device' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='789' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='intr_handle' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='790' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='link_intr_cbs' type-id='type-id-41' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='792' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='post_rx_burst_cbs' type-id='type-id-42' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='797' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='66176'>
+        <var-decl name='pre_tx_burst_cbs' type-id='type-id-42' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131712'>
+        <var-decl name='state' type-id='type-id-43' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='803' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131776'>
+        <var-decl name='security_ctx' type-id='type-id-37' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131840'>
+        <var-decl name='reserved_64s' type-id='type-id-44' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='806' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='132096'>
+        <var-decl name='reserved_ptrs' type-id='type-id-45' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='807' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-46'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-46' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-47'/>
+    <typedef-decl name='uint16_t' type-id='type-id-47' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-48'/>
+    <type-decl name='void' id='type-id-49'/>
+    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-37'/>
+    <class-decl name='rte_mbuf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='480' column='1' id='type-id-50'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheline0' type-id='type-id-51' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-37' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-52' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rearm_data' type-id='type-id-53' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='497' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_off' type-id='type-id-48' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_segs' type-id='type-id-48' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='port' type-id='type-id-48' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ol_flags' type-id='type-id-54' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_descriptor_fields1' type-id='type-id-51' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='pkt_len' type-id='type-id-55' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data_len' type-id='type-id-48' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='vlan_tci' type-id='type-id-48' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vlan_tci_outer' type-id='type-id-48' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='buf_len' type-id='type-id-48' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='timestamp' type-id='type-id-54' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cacheline1' type-id='type-id-51' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='pool' type-id='type-id-56' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='next' type-id='type-id-57' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv_size' type-id='type-id-48' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='timesync' type-id='type-id-48' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='seqn' type-id='type-id-55' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='shinfo' type-id='type-id-58' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dynfield1' type-id='type-id-59' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-60'/>
+
+    <array-type-def dimensions='1' type-id='type-id-37' size-in-bits='infinite' id='type-id-61'>
+      <subrange length='infinite' type-id='type-id-60' id='type-id-62'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER' type-id='type-id-61' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='414' column='1' id='type-id-51'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='491' column='1' id='type-id-52'>
+      <data-member access='private'>
+        <var-decl name='buf_iova' type-id='type-id-63' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='buf_physaddr' type-id='type-id-63' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='__uint64_t' type-id='type-id-60' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-64'/>
+    <typedef-decl name='uint64_t' type-id='type-id-64' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-54'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-54' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-63'/>
+
+    <array-type-def dimensions='1' type-id='type-id-54' size-in-bits='infinite' id='type-id-65'>
+      <subrange length='infinite' type-id='type-id-60' id='type-id-62'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER64' type-id='type-id-65' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='420' column='1' id='type-id-53'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-66'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-66' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-67'/>
+    <typedef-decl name='uint32_t' type-id='type-id-67' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-55'/>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-68'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-69' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-70' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-37' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-71' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-66' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-31' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-55' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-55' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-55' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-55' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-55' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-66' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-72' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-73' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-55' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-74' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-55' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-75' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-76'/>
+
+    <array-type-def dimensions='1' type-id='type-id-76' size-in-bits='256' id='type-id-69'>
+      <subrange length='32' type-id='type-id-60' id='type-id-77'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-70'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-37' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-54' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-78'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-69' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-79' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-80' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-54' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-72' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-55' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-79'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-81' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-63' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-54' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-81'/>
+    <typedef-decl name='size_t' type-id='type-id-60' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-80'/>
+    <typedef-decl name='__int32_t' type-id='type-id-31' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-82'/>
+    <typedef-decl name='int32_t' type-id='type-id-82' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-72'/>
+    <qualified-type-def type-id='type-id-78' const='yes' id='type-id-83'/>
+    <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-71'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-84'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-55' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-55' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-55' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-85' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-37' size-in-bits='98304' id='type-id-85'>
+      <subrange length='1536' type-id='type-id-60' id='type-id-86'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-84' size-in-bits='64' id='type-id-73'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-74'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-87' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-88' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-89'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-90' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-56' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-91' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-90'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-87' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-89' size-in-bits='64' id='type-id-87'/>
+    <pointer-type-def type-id='type-id-68' size-in-bits='64' id='type-id-56'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-91'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-63' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-81' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-87' size-in-bits='64' id='type-id-88'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-75'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-92' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-93' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-94'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-95' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-56' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-37' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-96' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-80' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-97' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-37' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-95'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-92' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-92'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-96'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-63' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-81' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-98' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-99'/>
+    <pointer-type-def type-id='type-id-99' size-in-bits='64' id='type-id-97'/>
+    <pointer-type-def type-id='type-id-92' size-in-bits='64' id='type-id-93'/>
+    <pointer-type-def type-id='type-id-50' size-in-bits='64' id='type-id-57'/>
+    <class-decl name='rte_mbuf_ext_shared_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='689' column='1' id='type-id-100'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_cb' type-id='type-id-101' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcb_opaque' type-id='type-id-37' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt_atomic' type-id='type-id-102' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-103' size-in-bits='64' id='type-id-104'/>
+    <typedef-decl name='rte_mbuf_extbuf_free_callback_t' type-id='type-id-104' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='684' column='1' id='type-id-101'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-102' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-105'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-106' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-107'/>
+    <typedef-decl name='__int16_t' type-id='type-id-107' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-108'/>
+    <typedef-decl name='int16_t' type-id='type-id-108' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-109'/>
+    <qualified-type-def type-id='type-id-109' volatile='yes' id='type-id-106'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-105' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-102'/>
+    <pointer-type-def type-id='type-id-100' size-in-bits='64' id='type-id-58'/>
+
+    <array-type-def dimensions='1' type-id='type-id-54' size-in-bits='128' id='type-id-59'>
+      <subrange length='2' type-id='type-id-60' id='type-id-110'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-57' size-in-bits='64' id='type-id-111'/>
+    <pointer-type-def type-id='type-id-112' size-in-bits='64' id='type-id-113'/>
+    <typedef-decl name='eth_rx_burst_t' type-id='type-id-113' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='340' column='1' id='type-id-33'/>
+    <typedef-decl name='eth_tx_burst_t' type-id='type-id-113' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='345' column='1' id='type-id-34'/>
+    <typedef-decl name='eth_tx_prep_t' type-id='type-id-113' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='350' column='1' id='type-id-35'/>
+    <class-decl name='rte_eth_dev_data' size-in-bits='55808' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='820' column='1' id='type-id-114'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-115' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='821' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_queues' type-id='type-id-116' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='823' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_queues' type-id='type-id-116' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='824' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='nb_rx_queues' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='825' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='656'>
+        <var-decl name='nb_tx_queues' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='826' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='sriov' type-id='type-id-117' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='dev_private' type-id='type-id-37' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='830' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_link' type-id='type-id-118' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='835' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dev_conf' type-id='type-id-119' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='836' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25536'>
+        <var-decl name='mtu' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='837' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25568'>
+        <var-decl name='min_rx_buf_size' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25600'>
+        <var-decl name='rx_mbuf_alloc_failed' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='841' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25664'>
+        <var-decl name='mac_addrs' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='842' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25728'>
+        <var-decl name='mac_pool_sel' type-id='type-id-121' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='846' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='33920'>
+        <var-decl name='hash_mac_addrs' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='848' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='33984'>
+        <var-decl name='port_id' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='852' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='promiscuous' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='855' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='scattered_rx' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='856' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='all_multicast' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='857' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4'>
+        <var-decl name='dev_started' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='858' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3'>
+        <var-decl name='lro' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='859' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='34008'>
+        <var-decl name='rx_queue_state' type-id='type-id-123' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='860' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='42200'>
+        <var-decl name='tx_queue_state' type-id='type-id-123' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='862' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50400'>
+        <var-decl name='dev_flags' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='864' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50432'>
+        <var-decl name='kdrv' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50464'>
+        <var-decl name='numa_node' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='866' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50496'>
+        <var-decl name='vlan_filter_conf' type-id='type-id-125' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='867' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='54592'>
+        <var-decl name='owner' type-id='type-id-126' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='869' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55168'>
+        <var-decl name='representor_id' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='870' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55232'>
+        <var-decl name='reserved_64s' type-id='type-id-44' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='875' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55488'>
+        <var-decl name='reserved_ptrs' type-id='type-id-45' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='876' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-76' size-in-bits='512' id='type-id-115'>
+      <subrange length='64' type-id='type-id-60' id='type-id-127'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-37' size-in-bits='64' id='type-id-116'/>
+    <class-decl name='rte_eth_dev_sriov' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1476' column='1' id='type-id-117'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='active' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1477' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='nb_q_per_pool' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1478' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='def_vmdq_idx' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1479' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='def_pool_q_idx' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1480' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-128'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-128' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-129'/>
+    <typedef-decl name='uint8_t' type-id='type-id-129' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-122'/>
+    <class-decl name='rte_eth_link' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='308' column='1' id='type-id-118'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_speed' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='309' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='15'>
+        <var-decl name='link_duplex' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='310' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='14'>
+        <var-decl name='link_autoneg' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='311' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='13'>
+        <var-decl name='link_status' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='312' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_conf' size-in-bits='24640' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1045' column='1' id='type-id-119'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_speeds' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1046' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rxmode' type-id='type-id-130' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1053' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='txmode' type-id='type-id-131' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1054' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='lpbk_mode' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1055' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='rx_adv_conf' type-id='type-id-132' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1068' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='17984'>
+        <var-decl name='tx_adv_conf' type-id='type-id-133' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1076' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18080'>
+        <var-decl name='dcb_capability_en' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1079' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18112'>
+        <var-decl name='fdir_conf' type-id='type-id-134' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1080' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24576'>
+        <var-decl name='intr_conf' type-id='type-id-135' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1081' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rxmode' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='394' column='1' id='type-id-130'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mq_mode' type-id='type-id-136' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='396' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_rx_pkt_len' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='397' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='max_lro_pkt_size' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='399' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='split_hdr_size' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='400' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='offloads' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='406' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-59' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='408' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-137' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='409' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-138'/>
+    <enum-decl name='rte_eth_rx_mq_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='344' column='1' id='type-id-136'>
+      <underlying-type type-id='type-id-138'/>
+      <enumerator name='ETH_MQ_RX_NONE' value='0'/>
+      <enumerator name='ETH_MQ_RX_RSS' value='1'/>
+      <enumerator name='ETH_MQ_RX_DCB' value='2'/>
+      <enumerator name='ETH_MQ_RX_DCB_RSS' value='3'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_ONLY' value='4'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_RSS' value='5'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_DCB' value='6'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_DCB_RSS' value='7'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-37' size-in-bits='128' id='type-id-137'>
+      <subrange length='2' type-id='type-id-60' id='type-id-110'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_txmode' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='792' column='1' id='type-id-131'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mq_mode' type-id='type-id-139' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='793' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offloads' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='799' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pvid' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='hw_vlan_reject_tagged' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='hw_vlan_reject_untagged' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='806' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='hw_vlan_insert_pvid' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='808' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-59' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='811' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-137' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='812' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_tx_mq_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='377' column='1' id='type-id-139'>
+      <underlying-type type-id='type-id-138'/>
+      <enumerator name='ETH_MQ_TX_NONE' value='0'/>
+      <enumerator name='ETH_MQ_TX_DCB' value='1'/>
+      <enumerator name='ETH_MQ_TX_VMDQ_DCB' value='2'/>
+      <enumerator name='ETH_MQ_TX_VMDQ_ONLY' value='3'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16960' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1060' column='1' id='type-id-132'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rss_conf' type-id='type-id-140' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1061' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='vmdq_dcb_conf' type-id='type-id-141' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1062' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8512'>
+        <var-decl name='dcb_rx_conf' type-id='type-id-142' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1064' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8640'>
+        <var-decl name='vmdq_rx_conf' type-id='type-id-143' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1066' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rss_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='448' column='1' id='type-id-140'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rss_key' type-id='type-id-144' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rss_key_len' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rss_hf' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='451' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-122' size-in-bits='64' id='type-id-144'/>
+    <class-decl name='rte_eth_vmdq_dcb_conf' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='745' column='1' id='type-id-141'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-145' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='746' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='enable_default_pool' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='default_pool' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='748' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='nb_pool_maps' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='749' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pool_map' type-id='type-id-146' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8256'>
+        <var-decl name='dcb_tc' type-id='type-id-147' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='754' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_nb_pools' filepath='../lib/librte_ethdev/rte_ethdev.h' line='704' column='1' id='type-id-145'>
+      <underlying-type type-id='type-id-138'/>
+      <enumerator name='ETH_8_POOLS' value='8'/>
+      <enumerator name='ETH_16_POOLS' value='16'/>
+      <enumerator name='ETH_32_POOLS' value='32'/>
+      <enumerator name='ETH_64_POOLS' value='64'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='750' column='1' id='type-id-148'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_id' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='751' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pools' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='752' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-148' size-in-bits='8192' id='type-id-146'>
+      <subrange length='64' type-id='type-id-60' id='type-id-127'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-122' size-in-bits='64' id='type-id-147'>
+      <subrange length='8' type-id='type-id-60' id='type-id-149'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_dcb_rx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='712' column='1' id='type-id-142'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-150' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-147' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='715' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_nb_tcs' filepath='../lib/librte_ethdev/rte_ethdev.h' line='695' column='1' id='type-id-150'>
+      <underlying-type type-id='type-id-138'/>
+      <enumerator name='ETH_4_TCS' value='4'/>
+      <enumerator name='ETH_8_TCS' value='8'/>
+    </enum-decl>
+    <class-decl name='rte_eth_vmdq_rx_conf' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='776' column='1' id='type-id-143'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-145' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='777' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='enable_default_pool' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='778' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='default_pool' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='enable_loop_back' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='nb_pool_maps' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='781' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rx_mode' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='782' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pool_map' type-id='type-id-146' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='786' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <union-decl name='__anonymous_union__' size-in-bits='96' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1069' column='1' id='type-id-133'>
+      <data-member access='private'>
+        <var-decl name='vmdq_dcb_tx_conf' type-id='type-id-151' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1070' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dcb_tx_conf' type-id='type-id-152' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1072' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='vmdq_tx_conf' type-id='type-id-153' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1074' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_eth_vmdq_dcb_tx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='718' column='1' id='type-id-151'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-145' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-147' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='721' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dcb_tx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='724' column='1' id='type-id-152'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-150' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-147' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='727' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vmdq_tx_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='730' column='1' id='type-id-153'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-145' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='731' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_fdir_conf' size-in-bits='6464' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1005' column='1' id='type-id-134'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mode' type-id='type-id-154' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1006' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='pballoc' type-id='type-id-155' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1007' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='status' type-id='type-id-156' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1008' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='drop_queue' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1010' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mask' type-id='type-id-157' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1011' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='flex_conf' type-id='type-id-158' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1012' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_fdir_mode' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='603' column='1' id='type-id-154'>
+      <underlying-type type-id='type-id-138'/>
+      <enumerator name='RTE_FDIR_MODE_NONE' value='0'/>
+      <enumerator name='RTE_FDIR_MODE_SIGNATURE' value='1'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT' value='2'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT_MAC_VLAN' value='3'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT_TUNNEL' value='4'/>
+    </enum-decl>
+    <enum-decl name='rte_fdir_pballoc_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='984' column='1' id='type-id-155'>
+      <underlying-type type-id='type-id-138'/>
+      <enumerator name='RTE_FDIR_PBALLOC_64K' value='0'/>
+      <enumerator name='RTE_FDIR_PBALLOC_128K' value='1'/>
+      <enumerator name='RTE_FDIR_PBALLOC_256K' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_fdir_status_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='993' column='1' id='type-id-156'>
+      <underlying-type type-id='type-id-138'/>
+      <enumerator name='RTE_FDIR_NO_REPORT_STATUS' value='0'/>
+      <enumerator name='RTE_FDIR_REPORT_STATUS' value='1'/>
+      <enumerator name='RTE_FDIR_REPORT_STATUS_ALWAYS' value='2'/>
+    </enum-decl>
+    <class-decl name='rte_eth_fdir_masks' size-in-bits='544' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='533' column='1' id='type-id-157'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_tci_mask' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='534' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ipv4_mask' type-id='type-id-159' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='536' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ipv6_mask' type-id='type-id-160' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='538' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='src_port_mask' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='540' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='dst_port_mask' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='542' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='mac_addr_byte_mask' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='545' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='tunnel_id_mask' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='547' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='tunnel_type_mask' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='548' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_ipv4_flow' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='342' column='1' id='type-id-159'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='343' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dst_ip' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='344' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tos' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='345' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='ttl' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='346' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='proto' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='347' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_ipv6_flow' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='381' column='1' id='type-id-160'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-161' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='382' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dst_ip' type-id='type-id-161' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='383' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='tc' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='384' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='264'>
+        <var-decl name='proto' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='385' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='272'>
+        <var-decl name='hop_limits' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='386' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-55' size-in-bits='128' id='type-id-161'>
+      <subrange length='4' type-id='type-id-60' id='type-id-162'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_fdir_flex_conf' size-in-bits='5792' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='591' column='1' id='type-id-158'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_payloads' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='592' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='nb_flexmasks' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='593' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flex_set' type-id='type-id-163' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='594' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2336'>
+        <var-decl name='flex_mask' type-id='type-id-164' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='596' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_flex_payload_cfg' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='568' column='1' id='type-id-165'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-166' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='569' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='src_offset' type-id='type-id-167' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='570' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_payload_type' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='555' column='1' id='type-id-166'>
+      <underlying-type type-id='type-id-138'/>
+      <enumerator name='RTE_ETH_PAYLOAD_UNKNOWN' value='0'/>
+      <enumerator name='RTE_ETH_RAW_PAYLOAD' value='1'/>
+      <enumerator name='RTE_ETH_L2_PAYLOAD' value='2'/>
+      <enumerator name='RTE_ETH_L3_PAYLOAD' value='3'/>
+      <enumerator name='RTE_ETH_L4_PAYLOAD' value='4'/>
+      <enumerator name='RTE_ETH_PAYLOAD_MAX' value='8'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-48' size-in-bits='256' id='type-id-167'>
+      <subrange length='16' type-id='type-id-60' id='type-id-168'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-165' size-in-bits='2304' id='type-id-163'>
+      <subrange length='8' type-id='type-id-60' id='type-id-149'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_fdir_flex_mask' size-in-bits='144' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='581' column='1' id='type-id-169'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flow_type' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='582' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='mask' type-id='type-id-170' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='583' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-122' size-in-bits='128' id='type-id-170'>
+      <subrange length='16' type-id='type-id-60' id='type-id-168'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-169' size-in-bits='3456' id='type-id-164'>
+      <subrange length='24' type-id='type-id-60' id='type-id-171'/>
+
+    </array-type-def>
+    <class-decl name='rte_intr_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1031' column='1' id='type-id-135'>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='lsc' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1033' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='rxq' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1035' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='rmv' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1037' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_ether_addr' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='60' column='1' id='type-id-172'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr_bytes' type-id='type-id-173' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='61' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-122' size-in-bits='48' id='type-id-173'>
+      <subrange length='6' type-id='type-id-60' id='type-id-174'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-172' size-in-bits='64' id='type-id-120'/>
+
+    <array-type-def dimensions='1' type-id='type-id-54' size-in-bits='8192' id='type-id-121'>
+      <subrange length='128' type-id='type-id-60' id='type-id-175'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-122' size-in-bits='8192' id='type-id-123'>
+      <subrange length='1024' type-id='type-id-60' id='type-id-176'/>
+
+    </array-type-def>
+    <enum-decl name='rte_kernel_driver' filepath='../lib/librte_eal/common/include/rte_dev.h' line='60' column='1' id='type-id-124'>
+      <underlying-type type-id='type-id-138'/>
+      <enumerator name='RTE_KDRV_UNKNOWN' value='0'/>
+      <enumerator name='RTE_KDRV_IGB_UIO' value='1'/>
+      <enumerator name='RTE_KDRV_VFIO' value='2'/>
+      <enumerator name='RTE_KDRV_UIO_GENERIC' value='3'/>
+      <enumerator name='RTE_KDRV_NIC_UIO' value='4'/>
+      <enumerator name='RTE_KDRV_NONE' value='5'/>
+    </enum-decl>
+    <class-decl name='rte_vlan_filter_conf' size-in-bits='4096' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='427' column='1' id='type-id-125'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ids' type-id='type-id-177' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='428' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-54' size-in-bits='4096' id='type-id-177'>
+      <subrange length='64' type-id='type-id-60' id='type-id-127'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_dev_owner' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1490' column='1' id='type-id-126'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1491' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='name' type-id='type-id-115' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1492' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-54' size-in-bits='256' id='type-id-44'>
+      <subrange length='4' type-id='type-id-60' id='type-id-162'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-37' size-in-bits='256' id='type-id-45'>
+      <subrange length='4' type-id='type-id-60' id='type-id-162'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-114' size-in-bits='64' id='type-id-36'/>
+    <class-decl name='eth_dev_ops' size-in-bits='6016' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='609' column='1' id='type-id-178'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_configure' type-id='type-id-179' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_start' type-id='type-id-180' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='611' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dev_stop' type-id='type-id-181' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='612' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_set_link_up' type-id='type-id-182' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dev_set_link_down' type-id='type-id-183' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='614' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_close' type-id='type-id-184' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='615' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='dev_reset' type-id='type-id-185' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='616' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='link_update' type-id='type-id-186' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='617' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='is_removed' type-id='type-id-187' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='618' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='promiscuous_enable' type-id='type-id-188' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='promiscuous_disable' type-id='type-id-189' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='allmulticast_enable' type-id='type-id-190' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='623' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='allmulticast_disable' type-id='type-id-191' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='624' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='mac_addr_remove' type-id='type-id-192' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='625' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='mac_addr_add' type-id='type-id-193' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='626' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='mac_addr_set' type-id='type-id-194' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='627' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='set_mc_addr_list' type-id='type-id-195' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='628' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mtu_set' type-id='type-id-196' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='629' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='stats_get' type-id='type-id-197' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='631' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='stats_reset' type-id='type-id-198' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='632' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='xstats_get' type-id='type-id-199' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='633' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='xstats_reset' type-id='type-id-200' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='634' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='xstats_get_names' type-id='type-id-201' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='635' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='queue_stats_mapping_set' type-id='type-id-202' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='637' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='dev_infos_get' type-id='type-id-203' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='640' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='rxq_info_get' type-id='type-id-204' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='641' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='txq_info_get' type-id='type-id-205' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='642' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='rx_burst_mode_get' type-id='type-id-206' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='643' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='tx_burst_mode_get' type-id='type-id-206' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='644' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='fw_version_get' type-id='type-id-207' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='645' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='dev_supported_ptypes_get' type-id='type-id-208' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='646' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='dev_ptypes_set' type-id='type-id-209' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='648' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='vlan_filter_set' type-id='type-id-210' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='651' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='vlan_tpid_set' type-id='type-id-211' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='652' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='vlan_strip_queue_set' type-id='type-id-212' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='653' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='vlan_offload_set' type-id='type-id-213' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='654' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='vlan_pvid_set' type-id='type-id-214' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='655' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='rx_queue_start' type-id='type-id-215' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='657' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='rx_queue_stop' type-id='type-id-216' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='658' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2496'>
+        <var-decl name='tx_queue_start' type-id='type-id-215' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='659' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='tx_queue_stop' type-id='type-id-216' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='660' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='rx_queue_setup' type-id='type-id-217' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='661' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2688'>
+        <var-decl name='rx_queue_release' type-id='type-id-218' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2752'>
+        <var-decl name='rx_queue_count' type-id='type-id-219' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='663' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2816'>
+        <var-decl name='rx_descriptor_done' type-id='type-id-220' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2880'>
+        <var-decl name='rx_descriptor_status' type-id='type-id-221' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='666' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2944'>
+        <var-decl name='tx_descriptor_status' type-id='type-id-222' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3008'>
+        <var-decl name='rx_queue_intr_enable' type-id='type-id-223' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='670' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3072'>
+        <var-decl name='rx_queue_intr_disable' type-id='type-id-224' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3136'>
+        <var-decl name='tx_queue_setup' type-id='type-id-225' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='672' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3200'>
+        <var-decl name='tx_queue_release' type-id='type-id-218' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3264'>
+        <var-decl name='tx_done_cleanup' type-id='type-id-226' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='674' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3328'>
+        <var-decl name='dev_led_on' type-id='type-id-227' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3392'>
+        <var-decl name='dev_led_off' type-id='type-id-228' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='677' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3456'>
+        <var-decl name='flow_ctrl_get' type-id='type-id-229' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='679' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3520'>
+        <var-decl name='flow_ctrl_set' type-id='type-id-230' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='680' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='priority_flow_ctrl_set' type-id='type-id-231' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='681' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3648'>
+        <var-decl name='uc_hash_table_set' type-id='type-id-232' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='683' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3712'>
+        <var-decl name='uc_all_hash_table_set' type-id='type-id-233' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='684' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3776'>
+        <var-decl name='mirror_rule_set' type-id='type-id-234' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='686' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3840'>
+        <var-decl name='mirror_rule_reset' type-id='type-id-235' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='687' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3904'>
+        <var-decl name='udp_tunnel_port_add' type-id='type-id-236' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='689' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3968'>
+        <var-decl name='udp_tunnel_port_del' type-id='type-id-237' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4032'>
+        <var-decl name='l2_tunnel_eth_type_conf' type-id='type-id-238' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4096'>
+        <var-decl name='l2_tunnel_offload_set' type-id='type-id-239' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='693' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4160'>
+        <var-decl name='set_queue_rate_limit' type-id='type-id-240' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='696' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4224'>
+        <var-decl name='rss_hash_update' type-id='type-id-241' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='698' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4288'>
+        <var-decl name='rss_hash_conf_get' type-id='type-id-242' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='699' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4352'>
+        <var-decl name='reta_update' type-id='type-id-243' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='700' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4416'>
+        <var-decl name='reta_query' type-id='type-id-244' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='701' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4480'>
+        <var-decl name='get_reg' type-id='type-id-245' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='703' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4544'>
+        <var-decl name='get_eeprom_length' type-id='type-id-246' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='704' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4608'>
+        <var-decl name='get_eeprom' type-id='type-id-247' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='705' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4672'>
+        <var-decl name='set_eeprom' type-id='type-id-248' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='706' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4736'>
+        <var-decl name='get_module_info' type-id='type-id-249' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='708' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4800'>
+        <var-decl name='get_module_eeprom' type-id='type-id-250' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='710' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4864'>
+        <var-decl name='filter_ctrl' type-id='type-id-251' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4928'>
+        <var-decl name='get_dcb_info' type-id='type-id-252' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='715' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4992'>
+        <var-decl name='timesync_enable' type-id='type-id-253' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='717' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5056'>
+        <var-decl name='timesync_disable' type-id='type-id-254' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5120'>
+        <var-decl name='timesync_read_rx_timestamp' type-id='type-id-255' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='721' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5184'>
+        <var-decl name='timesync_read_tx_timestamp' type-id='type-id-256' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='723' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5248'>
+        <var-decl name='timesync_adjust_time' type-id='type-id-257' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5312'>
+        <var-decl name='timesync_read_time' type-id='type-id-258' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='726' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5376'>
+        <var-decl name='timesync_write_time' type-id='type-id-259' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='727' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5440'>
+        <var-decl name='read_clock' type-id='type-id-260' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='729' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5504'>
+        <var-decl name='xstats_get_by_id' type-id='type-id-261' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='731' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5568'>
+        <var-decl name='xstats_get_names_by_id' type-id='type-id-262' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='733' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5632'>
+        <var-decl name='tm_ops_get' type-id='type-id-263' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='736' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5696'>
+        <var-decl name='mtr_ops_get' type-id='type-id-264' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='739' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5760'>
+        <var-decl name='pool_ops_supported' type-id='type-id-265' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='742' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5824'>
+        <var-decl name='hairpin_cap_get' type-id='type-id-266' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='745' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5888'>
+        <var-decl name='rx_hairpin_queue_setup' type-id='type-id-267' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5952'>
+        <var-decl name='tx_hairpin_queue_setup' type-id='type-id-268' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='749' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-269'/>
+    <pointer-type-def type-id='type-id-270' size-in-bits='64' id='type-id-271'/>
+    <typedef-decl name='eth_dev_configure_t' type-id='type-id-271' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='31' column='1' id='type-id-179'/>
+    <typedef-decl name='eth_dev_start_t' type-id='type-id-271' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='34' column='1' id='type-id-180'/>
+    <pointer-type-def type-id='type-id-272' size-in-bits='64' id='type-id-273'/>
+    <typedef-decl name='eth_dev_stop_t' type-id='type-id-273' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='37' column='1' id='type-id-181'/>
+    <typedef-decl name='eth_dev_set_link_up_t' type-id='type-id-271' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='40' column='1' id='type-id-182'/>
+    <typedef-decl name='eth_dev_set_link_down_t' type-id='type-id-271' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='43' column='1' id='type-id-183'/>
+    <typedef-decl name='eth_dev_close_t' type-id='type-id-273' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='46' column='1' id='type-id-184'/>
+    <typedef-decl name='eth_dev_reset_t' type-id='type-id-271' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='49' column='1' id='type-id-185'/>
+    <pointer-type-def type-id='type-id-274' size-in-bits='64' id='type-id-275'/>
+    <typedef-decl name='eth_link_update_t' type-id='type-id-275' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='155' column='1' id='type-id-186'/>
+    <typedef-decl name='eth_is_removed_t' type-id='type-id-271' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='52' column='1' id='type-id-187'/>
+    <typedef-decl name='eth_promiscuous_enable_t' type-id='type-id-271' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='78' column='1' id='type-id-188'/>
+    <typedef-decl name='eth_promiscuous_disable_t' type-id='type-id-271' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='103' column='1' id='type-id-189'/>
+    <typedef-decl name='eth_allmulticast_enable_t' type-id='type-id-271' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='128' column='1' id='type-id-190'/>
+    <typedef-decl name='eth_allmulticast_disable_t' type-id='type-id-271' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='153' column='1' id='type-id-191'/>
+    <pointer-type-def type-id='type-id-276' size-in-bits='64' id='type-id-277'/>
+    <typedef-decl name='eth_mac_addr_remove_t' type-id='type-id-277' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='391' column='1' id='type-id-192'/>
+    <pointer-type-def type-id='type-id-278' size-in-bits='64' id='type-id-279'/>
+    <typedef-decl name='eth_mac_addr_add_t' type-id='type-id-279' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='394' column='1' id='type-id-193'/>
+    <pointer-type-def type-id='type-id-280' size-in-bits='64' id='type-id-281'/>
+    <typedef-decl name='eth_mac_addr_set_t' type-id='type-id-281' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='400' column='1' id='type-id-194'/>
+    <pointer-type-def type-id='type-id-282' size-in-bits='64' id='type-id-283'/>
+    <typedef-decl name='eth_set_mc_addr_list_t' type-id='type-id-283' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='436' column='1' id='type-id-195'/>
+    <pointer-type-def type-id='type-id-284' size-in-bits='64' id='type-id-285'/>
+    <typedef-decl name='mtu_set_t' type-id='type-id-285' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='315' column='1' id='type-id-196'/>
+    <class-decl name='rte_eth_stats' size-in-bits='5632' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='243' column='1' id='type-id-286'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ipackets' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='opackets' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ibytes' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='246' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='obytes' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='imissed' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='ierrors' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='oerrors' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='rx_nombuf' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='q_ipackets' type-id='type-id-287' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='q_opackets' type-id='type-id-287' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='q_ibytes' type-id='type-id-287' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='q_obytes' type-id='type-id-287' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4608'>
+        <var-decl name='q_errors' type-id='type-id-287' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='263' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-54' size-in-bits='1024' id='type-id-287'>
+      <subrange length='16' type-id='type-id-60' id='type-id-168'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-286' size-in-bits='64' id='type-id-288'/>
+    <pointer-type-def type-id='type-id-289' size-in-bits='64' id='type-id-290'/>
+    <typedef-decl name='eth_stats_get_t' type-id='type-id-290' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='159' column='1' id='type-id-197'/>
+    <typedef-decl name='eth_stats_reset_t' type-id='type-id-271' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='182' column='1' id='type-id-198'/>
+    <class-decl name='rte_eth_xstat' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1337' column='1' id='type-id-291'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1338' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='value' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1339' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-291' size-in-bits='64' id='type-id-292'/>
+    <pointer-type-def type-id='type-id-293' size-in-bits='64' id='type-id-294'/>
+    <typedef-decl name='eth_xstats_get_t' type-id='type-id-294' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='184' column='1' id='type-id-199'/>
+    <typedef-decl name='eth_xstats_reset_t' type-id='type-id-271' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='213' column='1' id='type-id-200'/>
+    <class-decl name='rte_eth_xstat_name' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1349' column='1' id='type-id-295'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-115' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1350' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-295' size-in-bits='64' id='type-id-296'/>
+    <pointer-type-def type-id='type-id-297' size-in-bits='64' id='type-id-298'/>
+    <typedef-decl name='eth_xstats_get_names_t' type-id='type-id-298' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='215' column='1' id='type-id-201'/>
+    <pointer-type-def type-id='type-id-299' size-in-bits='64' id='type-id-300'/>
+    <typedef-decl name='eth_queue_stats_mapping_set_t' type-id='type-id-300' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='224' column='1' id='type-id-202'/>
+    <class-decl name='rte_eth_dev_info' size-in-bits='2560' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1226' column='1' id='type-id-301'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='device' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1227' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='driver_name' type-id='type-id-302' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='if_index' type-id='type-id-66' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='min_mtu' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='max_mtu' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_flags' type-id='type-id-303' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='min_rx_bufsize' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1234' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='max_rx_pktlen' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1235' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='max_lro_pkt_size' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='max_rx_queues' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='max_tx_queues' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1239' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='max_mac_addrs' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='max_hash_mac_addrs' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1241' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='max_vfs' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1243' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='max_vmdq_pools' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_offload_capa' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_offload_capa' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='rx_queue_offload_capa' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='tx_queue_offload_capa' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='reta_size' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='hash_key_size' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='flow_type_rss_offloads' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='default_rxconf' type-id='type-id-304' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='default_txconf' type-id='type-id-305' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='vmdq_queue_base' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1744'>
+        <var-decl name='vmdq_queue_num' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1760'>
+        <var-decl name='vmdq_pool_base' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1262' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1776'>
+        <var-decl name='rx_desc_lim' type-id='type-id-306' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1263' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='tx_desc_lim' type-id='type-id-306' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1264' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1952'>
+        <var-decl name='speed_capa' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1265' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='nb_rx_queues' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1267' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2000'>
+        <var-decl name='nb_tx_queues' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1268' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2016'>
+        <var-decl name='default_rxportconf' type-id='type-id-307' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1270' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2064'>
+        <var-decl name='default_txportconf' type-id='type-id-307' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1272' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='dev_capa' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1274' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='switch_info' type-id='type-id-308' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='reserved_64s' type-id='type-id-59' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1281' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='reserved_ptrs' type-id='type-id-137' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1282' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-309'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-310' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-302' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-311' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-312' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-31' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-313' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-310'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-39' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-314' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-309' size-in-bits='64' id='type-id-39'/>
+    <pointer-type-def type-id='type-id-39' size-in-bits='64' id='type-id-314'/>
+    <qualified-type-def type-id='type-id-76' const='yes' id='type-id-315'/>
+    <pointer-type-def type-id='type-id-315' size-in-bits='64' id='type-id-302'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-316'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-317' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-302' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-302' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-317'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-318' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-319' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-316' size-in-bits='64' id='type-id-318'/>
+    <pointer-type-def type-id='type-id-318' size-in-bits='64' id='type-id-319'/>
+    <qualified-type-def type-id='type-id-316' const='yes' id='type-id-320'/>
+    <pointer-type-def type-id='type-id-320' size-in-bits='64' id='type-id-311'/>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-321'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-322' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-302' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-323' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-324' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-325' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-326' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-327' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-328' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-329' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-330' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-331' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-332' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-333' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-334' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-335' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-322'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-336' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-337' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-321' size-in-bits='64' id='type-id-336'/>
+    <pointer-type-def type-id='type-id-336' size-in-bits='64' id='type-id-337'/>
+    <pointer-type-def type-id='type-id-338' size-in-bits='64' id='type-id-339'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-339' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-323'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-339' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-324'/>
+    <qualified-type-def type-id='type-id-309' const='yes' id='type-id-340'/>
+    <pointer-type-def type-id='type-id-340' size-in-bits='64' id='type-id-341'/>
+    <pointer-type-def type-id='type-id-342' size-in-bits='64' id='type-id-343'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-343' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-344'/>
+    <pointer-type-def type-id='type-id-345' size-in-bits='64' id='type-id-346'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-346' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-325'/>
+    <pointer-type-def type-id='type-id-347' size-in-bits='64' id='type-id-348'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-348' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-326'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-348' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-327'/>
+    <pointer-type-def type-id='type-id-349' size-in-bits='64' id='type-id-350'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-350' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-328'/>
+    <pointer-type-def type-id='type-id-351' size-in-bits='64' id='type-id-352'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-352' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-329'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-352' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-330'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-331'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-353' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-353'>
+      <underlying-type type-id='type-id-138'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-354'>
+      <underlying-type type-id='type-id-138'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-355' size-in-bits='64' id='type-id-356'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-356' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-332'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-357'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-302' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-302' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-302' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-336' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-358' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-39' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-37' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-359'/>
+    <pointer-type-def type-id='type-id-359' size-in-bits='64' id='type-id-358'/>
+    <qualified-type-def type-id='type-id-357' const='yes' id='type-id-360'/>
+    <pointer-type-def type-id='type-id-360' size-in-bits='64' id='type-id-361'/>
+    <pointer-type-def type-id='type-id-362' size-in-bits='64' id='type-id-363'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-363' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-333'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-348' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-334'/>
+    <pointer-type-def type-id='type-id-364' size-in-bits='64' id='type-id-365'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-365' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-335'/>
+    <qualified-type-def type-id='type-id-321' const='yes' id='type-id-366'/>
+    <pointer-type-def type-id='type-id-366' size-in-bits='64' id='type-id-312'/>
+    <class-decl name='rte_devargs' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='47' column='1' id='type-id-367'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-368' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='type' type-id='type-id-369' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='policy' type-id='type-id-370' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='name' type-id='type-id-115' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='' type-id='type-id-371' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='bus' type-id='type-id-336' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='cls' type-id='type-id-358' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='bus_str' type-id='type-id-302' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='cls_str' type-id='type-id-302' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='data' type-id='type-id-302' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='66' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1' id='type-id-368'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-313' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-372' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-367' size-in-bits='64' id='type-id-313'/>
+    <pointer-type-def type-id='type-id-313' size-in-bits='64' id='type-id-372'/>
+    <enum-decl name='rte_devtype' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='31' column='1' id='type-id-369'>
+      <underlying-type type-id='type-id-138'/>
+      <enumerator name='RTE_DEVTYPE_WHITELISTED_PCI' value='0'/>
+      <enumerator name='RTE_DEVTYPE_BLACKLISTED_PCI' value='1'/>
+      <enumerator name='RTE_DEVTYPE_VIRTUAL' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_dev_policy' filepath='../lib/librte_eal/common/include/rte_dev.h' line='72' column='1' id='type-id-370'>
+      <underlying-type type-id='type-id-138'/>
+      <enumerator name='RTE_DEV_WHITELISTED' value='0'/>
+      <enumerator name='RTE_DEV_BLACKLISTED' value='1'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='57' column='1' id='type-id-371'>
+      <data-member access='private'>
+        <var-decl name='args' type-id='type-id-373' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='drv_str' type-id='type-id-302' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='60' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-76' size-in-bits='64' id='type-id-373'/>
+    <qualified-type-def type-id='type-id-55' const='yes' id='type-id-374'/>
+    <pointer-type-def type-id='type-id-374' size-in-bits='64' id='type-id-303'/>
+    <class-decl name='rte_eth_rxconf' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='818' column='1' id='type-id-304'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_thresh' type-id='type-id-375' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='819' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='rx_free_thresh' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='820' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='rx_drop_en' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='821' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='rx_deferred_start' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='822' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offloads' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='reserved_64s' type-id='type-id-59' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='830' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='reserved_ptrs' type-id='type-id-137' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='831' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_thresh' size-in-bits='24' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='327' column='1' id='type-id-375'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pthresh' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='328' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='hthresh' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='329' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='wthresh' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='330' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_txconf' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='837' column='1' id='type-id-305'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tx_thresh' type-id='type-id-375' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tx_rs_thresh' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='839' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='tx_free_thresh' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='840' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tx_deferred_start' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='843' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='offloads' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='849' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-59' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='851' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-137' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='852' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_desc_lim' size-in-bits='80' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='898' column='1' id='type-id-306'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_max' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='899' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='nb_min' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='900' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_align' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='901' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='nb_seg_max' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='911' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='nb_mtu_seg_max' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='924' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_portconf' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1189' column='1' id='type-id-307'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='burst_size' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1190' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='ring_size' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_queues' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1192' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_switch_info' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1204' column='1' id='type-id-308'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-302' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='domain_id' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1206' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='port_id' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1207' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-301' size-in-bits='64' id='type-id-376'/>
+    <pointer-type-def type-id='type-id-377' size-in-bits='64' id='type-id-378'/>
+    <typedef-decl name='eth_dev_infos_get_t' type-id='type-id-378' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='230' column='1' id='type-id-203'/>
+    <class-decl name='rte_eth_rxq_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1289' column='1' id='type-id-379'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mp' type-id='type-id-56' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1290' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='conf' type-id='type-id-304' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1291' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='scattered_rx' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1292' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='nb_desc' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1293' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-379' size-in-bits='64' id='type-id-380'/>
+    <pointer-type-def type-id='type-id-381' size-in-bits='64' id='type-id-382'/>
+    <typedef-decl name='eth_rxq_info_get_t' type-id='type-id-382' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='306' column='1' id='type-id-204'/>
+    <class-decl name='rte_eth_txq_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1300' column='1' id='type-id-383'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='conf' type-id='type-id-305' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1301' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='nb_desc' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1302' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-383' size-in-bits='64' id='type-id-384'/>
+    <pointer-type-def type-id='type-id-385' size-in-bits='64' id='type-id-386'/>
+    <typedef-decl name='eth_txq_info_get_t' type-id='type-id-386' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='309' column='1' id='type-id-205'/>
+    <class-decl name='rte_eth_burst_mode' size-in-bits='8256' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1318' column='1' id='type-id-387'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1319' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='info' type-id='type-id-388' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1322' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-76' size-in-bits='8192' id='type-id-388'>
+      <subrange length='1024' type-id='type-id-60' id='type-id-176'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-387' size-in-bits='64' id='type-id-389'/>
+    <pointer-type-def type-id='type-id-390' size-in-bits='64' id='type-id-391'/>
+    <typedef-decl name='eth_burst_mode_get_t' type-id='type-id-391' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='312' column='1' id='type-id-206'/>
+    <pointer-type-def type-id='type-id-392' size-in-bits='64' id='type-id-393'/>
+    <typedef-decl name='eth_fw_version_get_t' type-id='type-id-393' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='299' column='1' id='type-id-207'/>
+    <pointer-type-def type-id='type-id-394' size-in-bits='64' id='type-id-395'/>
+    <typedef-decl name='eth_dev_supported_ptypes_get_t' type-id='type-id-395' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='234' column='1' id='type-id-208'/>
+    <pointer-type-def type-id='type-id-396' size-in-bits='64' id='type-id-397'/>
+    <typedef-decl name='eth_dev_ptypes_set_t' type-id='type-id-397' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='249' column='1' id='type-id-209'/>
+    <pointer-type-def type-id='type-id-398' size-in-bits='64' id='type-id-399'/>
+    <typedef-decl name='vlan_filter_set_t' type-id='type-id-399' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='318' column='1' id='type-id-210'/>
+    <enum-decl name='rte_vlan_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='416' column='1' id='type-id-400'>
+      <underlying-type type-id='type-id-138'/>
+      <enumerator name='ETH_VLAN_TYPE_UNKNOWN' value='0'/>
+      <enumerator name='ETH_VLAN_TYPE_INNER' value='1'/>
+      <enumerator name='ETH_VLAN_TYPE_OUTER' value='2'/>
+      <enumerator name='ETH_VLAN_TYPE_MAX' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-401' size-in-bits='64' id='type-id-402'/>
+    <typedef-decl name='vlan_tpid_set_t' type-id='type-id-402' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='323' column='1' id='type-id-211'/>
+    <pointer-type-def type-id='type-id-403' size-in-bits='64' id='type-id-404'/>
+    <typedef-decl name='vlan_strip_queue_set_t' type-id='type-id-404' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='335' column='1' id='type-id-212'/>
+    <typedef-decl name='vlan_offload_set_t' type-id='type-id-275' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='327' column='1' id='type-id-213'/>
+    <typedef-decl name='vlan_pvid_set_t' type-id='type-id-399' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='330' column='1' id='type-id-214'/>
+    <typedef-decl name='eth_queue_start_t' type-id='type-id-285' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='252' column='1' id='type-id-215'/>
+    <typedef-decl name='eth_queue_stop_t' type-id='type-id-285' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='256' column='1' id='type-id-216'/>
+    <qualified-type-def type-id='type-id-304' const='yes' id='type-id-405'/>
+    <pointer-type-def type-id='type-id-405' size-in-bits='64' id='type-id-406'/>
+    <pointer-type-def type-id='type-id-407' size-in-bits='64' id='type-id-408'/>
+    <typedef-decl name='eth_rx_queue_setup_t' type-id='type-id-408' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='260' column='1' id='type-id-217'/>
+    <pointer-type-def type-id='type-id-409' size-in-bits='64' id='type-id-410'/>
+    <typedef-decl name='eth_queue_release_t' type-id='type-id-410' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='283' column='1' id='type-id-218'/>
+    <pointer-type-def type-id='type-id-411' size-in-bits='64' id='type-id-412'/>
+    <typedef-decl name='eth_rx_queue_count_t' type-id='type-id-412' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='286' column='1' id='type-id-219'/>
+    <pointer-type-def type-id='type-id-413' size-in-bits='64' id='type-id-414'/>
+    <typedef-decl name='eth_rx_descriptor_done_t' type-id='type-id-414' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='290' column='1' id='type-id-220'/>
+    <typedef-decl name='eth_rx_descriptor_status_t' type-id='type-id-414' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='293' column='1' id='type-id-221'/>
+    <typedef-decl name='eth_tx_descriptor_status_t' type-id='type-id-414' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='296' column='1' id='type-id-222'/>
+    <typedef-decl name='eth_rx_enable_intr_t' type-id='type-id-285' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='275' column='1' id='type-id-223'/>
+    <typedef-decl name='eth_rx_disable_intr_t' type-id='type-id-285' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='279' column='1' id='type-id-224'/>
+    <qualified-type-def type-id='type-id-305' const='yes' id='type-id-415'/>
+    <pointer-type-def type-id='type-id-415' size-in-bits='64' id='type-id-416'/>
+    <pointer-type-def type-id='type-id-417' size-in-bits='64' id='type-id-418'/>
+    <typedef-decl name='eth_tx_queue_setup_t' type-id='type-id-418' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='268' column='1' id='type-id-225'/>
+    <pointer-type-def type-id='type-id-419' size-in-bits='64' id='type-id-420'/>
+    <typedef-decl name='eth_tx_done_cleanup_t' type-id='type-id-420' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='303' column='1' id='type-id-226'/>
+    <typedef-decl name='eth_dev_led_on_t' type-id='type-id-271' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='385' column='1' id='type-id-227'/>
+    <typedef-decl name='eth_dev_led_off_t' type-id='type-id-271' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='388' column='1' id='type-id-228'/>
+    <class-decl name='rte_eth_fc_conf' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='942' column='1' id='type-id-421'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='high_water' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='943' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='low_water' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='944' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pause_time' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='945' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='send_xon' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='946' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='mode' type-id='type-id-422' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='947' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mac_ctrl_frame_fwd' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='948' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='autoneg' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='949' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_fc_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='930' column='1' id='type-id-422'>
+      <underlying-type type-id='type-id-138'/>
+      <enumerator name='RTE_FC_NONE' value='0'/>
+      <enumerator name='RTE_FC_RX_PAUSE' value='1'/>
+      <enumerator name='RTE_FC_TX_PAUSE' value='2'/>
+      <enumerator name='RTE_FC_FULL' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-421' size-in-bits='64' id='type-id-423'/>
+    <pointer-type-def type-id='type-id-424' size-in-bits='64' id='type-id-425'/>
+    <typedef-decl name='flow_ctrl_get_t' type-id='type-id-425' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='355' column='1' id='type-id-229'/>
+    <typedef-decl name='flow_ctrl_set_t' type-id='type-id-425' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='359' column='1' id='type-id-230'/>
+    <class-decl name='rte_eth_pfc_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='957' column='1' id='type-id-426'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fc' type-id='type-id-421' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='958' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='priority' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='959' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-426' size-in-bits='64' id='type-id-427'/>
+    <pointer-type-def type-id='type-id-428' size-in-bits='64' id='type-id-429'/>
+    <typedef-decl name='priority_flow_ctrl_set_t' type-id='type-id-429' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='363' column='1' id='type-id-231'/>
+    <pointer-type-def type-id='type-id-430' size-in-bits='64' id='type-id-431'/>
+    <typedef-decl name='eth_uc_hash_table_set_t' type-id='type-id-431' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='404' column='1' id='type-id-232'/>
+    <pointer-type-def type-id='type-id-432' size-in-bits='64' id='type-id-433'/>
+    <typedef-decl name='eth_uc_all_hash_table_set_t' type-id='type-id-433' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='409' column='1' id='type-id-233'/>
+    <class-decl name='rte_eth_mirror_conf' size-in-bits='1216' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='670' column='1' id='type-id-434'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rule_type' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='dst_pool' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='672' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pool_mask' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vlan' type-id='type-id-435' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='675' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vlan_mirror' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='661' column='1' id='type-id-435'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_mask' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='vlan_id' type-id='type-id-436' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='664' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-48' size-in-bits='1024' id='type-id-436'>
+      <subrange length='64' type-id='type-id-60' id='type-id-127'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-434' size-in-bits='64' id='type-id-437'/>
+    <pointer-type-def type-id='type-id-438' size-in-bits='64' id='type-id-439'/>
+    <typedef-decl name='eth_mirror_rule_set_t' type-id='type-id-439' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='418' column='1' id='type-id-234'/>
+    <typedef-decl name='eth_mirror_rule_reset_t' type-id='type-id-433' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='424' column='1' id='type-id-235'/>
+    <class-decl name='rte_eth_udp_tunnel' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1023' column='1' id='type-id-440'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='udp_port' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1024' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='prot_type' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1025' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-440' size-in-bits='64' id='type-id-441'/>
+    <pointer-type-def type-id='type-id-442' size-in-bits='64' id='type-id-443'/>
+    <typedef-decl name='eth_udp_tunnel_port_add_t' type-id='type-id-443' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='428' column='1' id='type-id-236'/>
+    <typedef-decl name='eth_udp_tunnel_port_del_t' type-id='type-id-443' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='432' column='1' id='type-id-237'/>
+    <class-decl name='rte_eth_l2_tunnel_conf' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='751' column='1' id='type-id-444'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='l2_tunnel_type' type-id='type-id-445' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='752' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ether_type' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tunnel_id' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='754' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='vf_id' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='755' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pool' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='756' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_tunnel_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='965' column='1' id='type-id-445'>
+      <underlying-type type-id='type-id-138'/>
+      <enumerator name='RTE_TUNNEL_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_TUNNEL_TYPE_VXLAN' value='1'/>
+      <enumerator name='RTE_TUNNEL_TYPE_GENEVE' value='2'/>
+      <enumerator name='RTE_TUNNEL_TYPE_TEREDO' value='3'/>
+      <enumerator name='RTE_TUNNEL_TYPE_NVGRE' value='4'/>
+      <enumerator name='RTE_TUNNEL_TYPE_IP_IN_GRE' value='5'/>
+      <enumerator name='RTE_L2_TUNNEL_TYPE_E_TAG' value='6'/>
+      <enumerator name='RTE_TUNNEL_TYPE_VXLAN_GPE' value='7'/>
+      <enumerator name='RTE_TUNNEL_TYPE_MAX' value='8'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-444' size-in-bits='64' id='type-id-446'/>
+    <pointer-type-def type-id='type-id-447' size-in-bits='64' id='type-id-448'/>
+    <typedef-decl name='eth_l2_tunnel_eth_type_conf_t' type-id='type-id-448' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='494' column='1' id='type-id-238'/>
+    <pointer-type-def type-id='type-id-449' size-in-bits='64' id='type-id-450'/>
+    <typedef-decl name='eth_l2_tunnel_offload_set_t' type-id='type-id-450' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='498' column='1' id='type-id-239'/>
+    <pointer-type-def type-id='type-id-451' size-in-bits='64' id='type-id-452'/>
+    <typedef-decl name='eth_set_queue_rate_limit_t' type-id='type-id-452' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='413' column='1' id='type-id-240'/>
+    <pointer-type-def type-id='type-id-140' size-in-bits='64' id='type-id-453'/>
+    <pointer-type-def type-id='type-id-454' size-in-bits='64' id='type-id-455'/>
+    <typedef-decl name='rss_hash_update_t' type-id='type-id-455' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='377' column='1' id='type-id-241'/>
+    <typedef-decl name='rss_hash_conf_get_t' type-id='type-id-455' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='381' column='1' id='type-id-242'/>
+    <class-decl name='rte_eth_rss_reta_entry64' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='684' column='1' id='type-id-456'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mask' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='685' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='reta' type-id='type-id-436' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='687' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-456' size-in-bits='64' id='type-id-457'/>
+    <pointer-type-def type-id='type-id-458' size-in-bits='64' id='type-id-459'/>
+    <typedef-decl name='reta_update_t' type-id='type-id-459' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='367' column='1' id='type-id-243'/>
+    <typedef-decl name='reta_query_t' type-id='type-id-459' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='372' column='1' id='type-id-244'/>
+    <class-decl name='rte_dev_reg_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='13' column='1' id='type-id-460'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-37' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='14' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offset' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='15' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='length' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='16' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='width' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='17' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='version' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='18' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-460' size-in-bits='64' id='type-id-461'/>
+    <pointer-type-def type-id='type-id-462' size-in-bits='64' id='type-id-463'/>
+    <typedef-decl name='eth_get_reg_t' type-id='type-id-463' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='471' column='1' id='type-id-245'/>
+    <typedef-decl name='eth_get_eeprom_length_t' type-id='type-id-271' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='475' column='1' id='type-id-246'/>
+    <class-decl name='rte_dev_eeprom_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='24' column='1' id='type-id-464'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-37' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='25' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offset' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='26' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='length' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='27' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='magic' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='28' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-464' size-in-bits='64' id='type-id-465'/>
+    <pointer-type-def type-id='type-id-466' size-in-bits='64' id='type-id-467'/>
+    <typedef-decl name='eth_get_eeprom_t' type-id='type-id-467' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='478' column='1' id='type-id-247'/>
+    <typedef-decl name='eth_set_eeprom_t' type-id='type-id-467' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='482' column='1' id='type-id-248'/>
+    <class-decl name='rte_eth_dev_module_info' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='34' column='1' id='type-id-468'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='eeprom_len' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-468' size-in-bits='64' id='type-id-469'/>
+    <pointer-type-def type-id='type-id-470' size-in-bits='64' id='type-id-471'/>
+    <typedef-decl name='eth_get_module_info_t' type-id='type-id-471' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='486' column='1' id='type-id-249'/>
+    <typedef-decl name='eth_get_module_eeprom_t' type-id='type-id-467' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='490' column='1' id='type-id-250'/>
+    <enum-decl name='rte_filter_type' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='28' column='1' id='type-id-472'>
+      <underlying-type type-id='type-id-138'/>
+      <enumerator name='RTE_ETH_FILTER_NONE' value='0'/>
+      <enumerator name='RTE_ETH_FILTER_MACVLAN' value='1'/>
+      <enumerator name='RTE_ETH_FILTER_ETHERTYPE' value='2'/>
+      <enumerator name='RTE_ETH_FILTER_FLEXIBLE' value='3'/>
+      <enumerator name='RTE_ETH_FILTER_SYN' value='4'/>
+      <enumerator name='RTE_ETH_FILTER_NTUPLE' value='5'/>
+      <enumerator name='RTE_ETH_FILTER_TUNNEL' value='6'/>
+      <enumerator name='RTE_ETH_FILTER_FDIR' value='7'/>
+      <enumerator name='RTE_ETH_FILTER_HASH' value='8'/>
+      <enumerator name='RTE_ETH_FILTER_L2_TUNNEL' value='9'/>
+      <enumerator name='RTE_ETH_FILTER_GENERIC' value='10'/>
+      <enumerator name='RTE_ETH_FILTER_MAX' value='11'/>
+    </enum-decl>
+    <enum-decl name='rte_filter_op' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='46' column='1' id='type-id-473'>
+      <underlying-type type-id='type-id-138'/>
+      <enumerator name='RTE_ETH_FILTER_NOP' value='0'/>
+      <enumerator name='RTE_ETH_FILTER_ADD' value='1'/>
+      <enumerator name='RTE_ETH_FILTER_UPDATE' value='2'/>
+      <enumerator name='RTE_ETH_FILTER_DELETE' value='3'/>
+      <enumerator name='RTE_ETH_FILTER_FLUSH' value='4'/>
+      <enumerator name='RTE_ETH_FILTER_GET' value='5'/>
+      <enumerator name='RTE_ETH_FILTER_SET' value='6'/>
+      <enumerator name='RTE_ETH_FILTER_INFO' value='7'/>
+      <enumerator name='RTE_ETH_FILTER_STATS' value='8'/>
+      <enumerator name='RTE_ETH_FILTER_OP_MAX' value='9'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-474' size-in-bits='64' id='type-id-475'/>
+    <typedef-decl name='eth_filter_ctrl_t' type-id='type-id-475' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='506' column='1' id='type-id-251'/>
+    <class-decl name='rte_eth_dcb_info' size-in-bits='16520' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1377' column='1' id='type-id-476'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1378' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='prio_tc' type-id='type-id-147' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1379' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='tc_bws' type-id='type-id-147' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1380' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='tc_queue' type-id='type-id-477' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1382' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dcb_tc_queue_mapping' size-in-bits='16384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1360' column='1' id='type-id-477'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tc_rxq' type-id='type-id-478' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1365' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8192'>
+        <var-decl name='tc_txq' type-id='type-id-478' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1370' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1362' column='1' id='type-id-479'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='base' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1363' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='nb_queue' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1364' column='1'/>
+      </data-member>
+    </class-decl>
+
+
+    <array-type-def dimensions='2' type-id='type-id-479' size-in-bits='1152' id='type-id-478'>
+      <subrange length='64' type-id='type-id-60' id='type-id-127'/>
+
+      <subrange length='8' type-id='type-id-60' id='type-id-149'/>
+
+    </array-type-def>
+
+
+    <pointer-type-def type-id='type-id-476' size-in-bits='64' id='type-id-480'/>
+    <pointer-type-def type-id='type-id-481' size-in-bits='64' id='type-id-482'/>
+    <typedef-decl name='eth_get_dcb_info' type-id='type-id-482' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='518' column='1' id='type-id-252'/>
+    <typedef-decl name='eth_timesync_enable_t' type-id='type-id-271' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='441' column='1' id='type-id-253'/>
+    <typedef-decl name='eth_timesync_disable_t' type-id='type-id-271' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='444' column='1' id='type-id-254'/>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='9' column='1' id='type-id-483'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tv_sec' type-id='type-id-484' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='11' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tv_nsec' type-id='type-id-485' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='long int' size-in-bits='64' id='type-id-486'/>
+    <typedef-decl name='__time_t' type-id='type-id-486' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-484'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-486' filepath='/usr/include/bits/types.h' line='196' column='1' id='type-id-485'/>
+    <pointer-type-def type-id='type-id-483' size-in-bits='64' id='type-id-487'/>
+    <pointer-type-def type-id='type-id-488' size-in-bits='64' id='type-id-489'/>
+    <typedef-decl name='eth_timesync_read_rx_timestamp_t' type-id='type-id-489' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='447' column='1' id='type-id-255'/>
+    <pointer-type-def type-id='type-id-490' size-in-bits='64' id='type-id-491'/>
+    <typedef-decl name='eth_timesync_read_tx_timestamp_t' type-id='type-id-491' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='452' column='1' id='type-id-256'/>
+    <typedef-decl name='__int64_t' type-id='type-id-486' filepath='/usr/include/bits/types.h' line='44' column='1' id='type-id-492'/>
+    <typedef-decl name='int64_t' type-id='type-id-492' filepath='/usr/include/bits/stdint-intn.h' line='27' column='1' id='type-id-493'/>
+    <pointer-type-def type-id='type-id-494' size-in-bits='64' id='type-id-495'/>
+    <typedef-decl name='eth_timesync_adjust_time' type-id='type-id-495' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='456' column='1' id='type-id-257'/>
+    <typedef-decl name='eth_timesync_read_time' type-id='type-id-491' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='459' column='1' id='type-id-258'/>
+    <qualified-type-def type-id='type-id-483' const='yes' id='type-id-496'/>
+    <pointer-type-def type-id='type-id-496' size-in-bits='64' id='type-id-497'/>
+    <pointer-type-def type-id='type-id-498' size-in-bits='64' id='type-id-499'/>
+    <typedef-decl name='eth_timesync_write_time' type-id='type-id-499' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='463' column='1' id='type-id-259'/>
+    <pointer-type-def type-id='type-id-54' size-in-bits='64' id='type-id-500'/>
+    <pointer-type-def type-id='type-id-501' size-in-bits='64' id='type-id-502'/>
+    <typedef-decl name='eth_read_clock' type-id='type-id-502' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='467' column='1' id='type-id-260'/>
+    <qualified-type-def type-id='type-id-54' const='yes' id='type-id-503'/>
+    <pointer-type-def type-id='type-id-503' size-in-bits='64' id='type-id-504'/>
+    <pointer-type-def type-id='type-id-505' size-in-bits='64' id='type-id-506'/>
+    <typedef-decl name='eth_xstats_get_by_id_t' type-id='type-id-506' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='188' column='1' id='type-id-261'/>
+    <pointer-type-def type-id='type-id-507' size-in-bits='64' id='type-id-508'/>
+    <typedef-decl name='eth_xstats_get_names_by_id_t' type-id='type-id-508' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='219' column='1' id='type-id-262'/>
+    <pointer-type-def type-id='type-id-509' size-in-bits='64' id='type-id-510'/>
+    <typedef-decl name='eth_tm_ops_get_t' type-id='type-id-510' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='512' column='1' id='type-id-263'/>
+    <typedef-decl name='eth_mtr_ops_get_t' type-id='type-id-510' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='515' column='1' id='type-id-264'/>
+    <pointer-type-def type-id='type-id-511' size-in-bits='64' id='type-id-512'/>
+    <typedef-decl name='eth_pool_ops_supported_t' type-id='type-id-512' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='522' column='1' id='type-id-265'/>
+    <class-decl name='rte_eth_hairpin_cap' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='861' column='1' id='type-id-513'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max_nb_queues' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='863' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='max_rx_2_tx' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_tx_2_rx' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='867' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='max_nb_desc' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='868' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-513' size-in-bits='64' id='type-id-514'/>
+    <pointer-type-def type-id='type-id-515' size-in-bits='64' id='type-id-516'/>
+    <typedef-decl name='eth_hairpin_cap_get_t' type-id='type-id-516' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='543' column='1' id='type-id-266'/>
+    <class-decl name='rte_eth_hairpin_conf' size-in-bits='1040' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='890' column='1' id='type-id-517'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='peer_count' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='891' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='peers' type-id='type-id-518' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='892' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_hairpin_peer' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='879' column='1' id='type-id-519'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='port' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='880' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='queue' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='881' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-519' size-in-bits='1024' id='type-id-518'>
+      <subrange length='32' type-id='type-id-60' id='type-id-77'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-517' const='yes' id='type-id-520'/>
+    <pointer-type-def type-id='type-id-520' size-in-bits='64' id='type-id-521'/>
+    <pointer-type-def type-id='type-id-522' size-in-bits='64' id='type-id-523'/>
+    <typedef-decl name='eth_rx_hairpin_queue_setup_t' type-id='type-id-523' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='571' column='1' id='type-id-267'/>
+    <typedef-decl name='eth_tx_hairpin_queue_setup_t' type-id='type-id-523' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='601' column='1' id='type-id-268'/>
+    <qualified-type-def type-id='type-id-178' const='yes' id='type-id-524'/>
+    <pointer-type-def type-id='type-id-524' size-in-bits='64' id='type-id-38'/>
+    <class-decl name='rte_intr_handle' size-in-bits='213248' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='69' column='1' id='type-id-525'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-526' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-31' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-527' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='max_intr' type-id='type-id-55' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='nb_efd' type-id='type-id-55' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='efd_counter_size' type-id='type-id-122' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='efds' type-id='type-id-528' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16576'>
+        <var-decl name='elist' type-id='type-id-529' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='213184'>
+        <var-decl name='intr_vec' type-id='type-id-530' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='71' column='1' id='type-id-526'>
+      <data-member access='private'>
+        <var-decl name='vfio_dev_fd' type-id='type-id-31' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='uio_cfg_fd' type-id='type-id-31' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='73' column='1'/>
+      </data-member>
+    </union-decl>
+    <enum-decl name='rte_intr_handle_type' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='27' column='1' id='type-id-527'>
+      <underlying-type type-id='type-id-138'/>
+      <enumerator name='RTE_INTR_HANDLE_UNKNOWN' value='0'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO' value='1'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO_INTX' value='2'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_LEGACY' value='3'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSI' value='4'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSIX' value='5'/>
+      <enumerator name='RTE_INTR_HANDLE_ALARM' value='6'/>
+      <enumerator name='RTE_INTR_HANDLE_EXT' value='7'/>
+      <enumerator name='RTE_INTR_HANDLE_VDEV' value='8'/>
+      <enumerator name='RTE_INTR_HANDLE_DEV_EVENT' value='9'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_REQ' value='10'/>
+      <enumerator name='RTE_INTR_HANDLE_MAX' value='11'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-31' size-in-bits='16384' id='type-id-528'>
+      <subrange length='512' type-id='type-id-60' id='type-id-531'/>
+
+    </array-type-def>
+    <class-decl name='rte_epoll_event' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='61' column='1' id='type-id-532'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='status' type-id='type-id-533' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-31' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='epfd' type-id='type-id-31' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='epdata' type-id='type-id-534' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-55' volatile='yes' id='type-id-533'/>
+    <class-decl name='rte_epoll_data' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='47' column='1' id='type-id-534'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event' type-id='type-id-55' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='data' type-id='type-id-37' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cb_fun' type-id='type-id-535' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='cb_arg' type-id='type-id-37' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='51' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-536' size-in-bits='64' id='type-id-537'/>
+    <typedef-decl name='rte_intr_event_cb_t' type-id='type-id-537' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='45' column='1' id='type-id-535'/>
+
+    <array-type-def dimensions='1' type-id='type-id-532' size-in-bits='196608' id='type-id-529'>
+      <subrange length='512' type-id='type-id-60' id='type-id-531'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-530'/>
+    <pointer-type-def type-id='type-id-525' size-in-bits='64' id='type-id-40'/>
+    <class-decl name='rte_eth_dev_cb_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1' id='type-id-41'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-538' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-539' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_callback' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-540'/>
+    <pointer-type-def type-id='type-id-540' size-in-bits='64' id='type-id-538'/>
+    <pointer-type-def type-id='type-id-538' size-in-bits='64' id='type-id-539'/>
+    <class-decl name='rte_eth_rxtx_callback' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='758' column='1' id='type-id-541'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-542' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='759' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fn' type-id='type-id-543' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='763' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='param' type-id='type-id-37' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='764' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-541' size-in-bits='64' id='type-id-542'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='760' column='1' id='type-id-543'>
+      <data-member access='private'>
+        <var-decl name='rx' type-id='type-id-544' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='761' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='tx' type-id='type-id-545' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='762' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-546' size-in-bits='64' id='type-id-547'/>
+    <typedef-decl name='rte_rx_callback_fn' type-id='type-id-547' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1437' column='1' id='type-id-544'/>
+    <pointer-type-def type-id='type-id-548' size-in-bits='64' id='type-id-549'/>
+    <typedef-decl name='rte_tx_callback_fn' type-id='type-id-549' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1461' column='1' id='type-id-545'/>
+
+    <array-type-def dimensions='1' type-id='type-id-542' size-in-bits='65536' id='type-id-42'>
+      <subrange length='1024' type-id='type-id-60' id='type-id-176'/>
+
+    </array-type-def>
+    <enum-decl name='rte_eth_dev_state' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1467' column='1' id='type-id-43'>
+      <underlying-type type-id='type-id-138'/>
+      <enumerator name='RTE_ETH_DEV_UNUSED' value='0'/>
+      <enumerator name='RTE_ETH_DEV_ATTACHED' value='1'/>
+      <enumerator name='RTE_ETH_DEV_REMOVED' value='2'/>
+    </enum-decl>
+    <class-decl name='rte_tm_error' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='1030' column='1' id='type-id-550'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-551' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='1031' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='cause' type-id='type-id-37' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='1032' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='message' type-id='type-id-302' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='1033' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_tm_error_type' filepath='../lib/librte_ethdev/rte_tm.h' line='983' column='1' id='type-id-551'>
+      <underlying-type type-id='type-id-138'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_UNSPECIFIED' value='1'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_CAPABILITIES' value='2'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_LEVEL_ID' value='3'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_WRED_PROFILE' value='4'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_WRED_PROFILE_GREEN' value='5'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_WRED_PROFILE_YELLOW' value='6'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_WRED_PROFILE_RED' value='7'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_WRED_PROFILE_ID' value='8'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_SHARED_WRED_CONTEXT_ID' value='9'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_SHAPER_PROFILE' value='10'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_SHAPER_PROFILE_COMMITTED_RATE' value='11'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_SHAPER_PROFILE_COMMITTED_SIZE' value='12'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_SHAPER_PROFILE_PEAK_RATE' value='13'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_SHAPER_PROFILE_PEAK_SIZE' value='14'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_SHAPER_PROFILE_PKT_ADJUST_LEN' value='15'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_SHAPER_PROFILE_ID' value='16'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_SHARED_SHAPER_ID' value='17'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_NODE_PARENT_NODE_ID' value='18'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_NODE_PRIORITY' value='19'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_NODE_WEIGHT' value='20'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_NODE_PARAMS' value='21'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_NODE_PARAMS_SHAPER_PROFILE_ID' value='22'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_NODE_PARAMS_SHARED_SHAPER_ID' value='23'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_NODE_PARAMS_N_SHARED_SHAPERS' value='24'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_NODE_PARAMS_WFQ_WEIGHT_MODE' value='25'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_NODE_PARAMS_N_SP_PRIORITIES' value='26'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_NODE_PARAMS_CMAN' value='27'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_NODE_PARAMS_WRED_PROFILE_ID' value='28'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_NODE_PARAMS_SHARED_WRED_CONTEXT_ID' value='29'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_NODE_PARAMS_N_SHARED_WRED_CONTEXTS' value='30'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_NODE_PARAMS_STATS' value='31'/>
+      <enumerator name='RTE_TM_ERROR_TYPE_NODE_ID' value='32'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-550' size-in-bits='64' id='type-id-552'/>
+    <pointer-type-def type-id='type-id-553' size-in-bits='64' id='type-id-554'/>
+    <typedef-decl name='rte_tm_node_type_get_t' type-id='type-id-554' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='28' column='1' id='type-id-2'/>
+    <class-decl name='rte_tm_capabilities' size-in-bits='1664' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='201' column='1' id='type-id-555'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n_nodes_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='203' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='n_levels_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='208' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='non_leaf_nodes_identical' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='213' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='leaf_nodes_identical' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='218' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='shaper_n_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='226' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='shaper_private_n_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='shaper_private_dual_rate_n_max' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='241' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='shaper_private_rate_min' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='246' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='shaper_private_rate_max' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='shaper_shared_n_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='shaper_shared_n_nodes_per_shaper_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='shaper_shared_n_shapers_per_node_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='269' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='shaper_shared_dual_rate_n_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='275' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='shaper_shared_rate_min' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='280' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='shaper_shared_rate_max' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='285' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='shaper_pkt_length_adjust_min' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='290' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='shaper_pkt_length_adjust_max' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='295' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='sched_n_children_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='302' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='736'>
+        <var-decl name='sched_sp_n_priorities_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='312' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='sched_wfq_n_children_per_group_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='322' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='sched_wfq_n_groups_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='335' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='sched_wfq_weight_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='340' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='864'>
+        <var-decl name='cman_wred_packet_mode_supported' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='348' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='cman_wred_byte_mode_supported' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='356' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='928'>
+        <var-decl name='cman_head_drop_supported' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='362' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='cman_wred_context_n_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='371' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='992'>
+        <var-decl name='cman_wred_context_private_n_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='378' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='cman_wred_context_shared_n_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='383' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1056'>
+        <var-decl name='cman_wred_context_shared_n_nodes_per_context_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='388' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='cman_wred_context_shared_n_contexts_per_node_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='397' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1120'>
+        <var-decl name='mark_vlan_dei_supported' type-id='type-id-556' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='400' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='mark_ip_ecn_tcp_supported' type-id='type-id-556' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='403' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1312'>
+        <var-decl name='mark_ip_ecn_sctp_supported' type-id='type-id-556' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='406' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='mark_ip_dscp_supported' type-id='type-id-556' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='409' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='dynamic_update_mask' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='414' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='stats_mask' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='419' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-31' size-in-bits='96' id='type-id-556'>
+      <subrange length='3' type-id='type-id-60' id='type-id-557'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-555' size-in-bits='64' id='type-id-558'/>
+    <pointer-type-def type-id='type-id-559' size-in-bits='64' id='type-id-560'/>
+    <typedef-decl name='rte_tm_capabilities_get_t' type-id='type-id-560' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='34' column='1' id='type-id-3'/>
+    <class-decl name='rte_tm_level_capabilities' size-in-bits='640' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='425' column='1' id='type-id-561'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n_nodes_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='427' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='n_nodes_nonleaf_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='433' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='n_nodes_leaf_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='439' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='non_leaf_nodes_identical' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='445' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='leaf_nodes_identical' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='451' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-562' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='448' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='454' column='1' id='type-id-562'>
+      <data-member access='private'>
+        <var-decl name='nonleaf' type-id='type-id-563' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='565' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='leaf' type-id='type-id-564' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='661' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='448' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='456' column='1' id='type-id-563'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='shaper_private_supported' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='462' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='shaper_private_dual_rate_supported' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='472' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='shaper_private_rate_min' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='479' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='shaper_private_rate_max' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='486' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='shaper_shared_n_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='496' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='sched_n_children_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='504' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='sched_sp_n_priorities_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='517' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='sched_wfq_n_children_per_group_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='529' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='sched_wfq_n_groups_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='548' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='sched_wfq_weight_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='555' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='stats_mask' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='564' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='448' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='568' column='1' id='type-id-564'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='shaper_private_supported' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='574' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='shaper_private_dual_rate_supported' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='583' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='shaper_private_rate_min' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='590' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='shaper_private_rate_max' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='597' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='shaper_shared_n_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='607' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='cman_wred_packet_mode_supported' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='616' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cman_wred_byte_mode_supported' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='625' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='cman_head_drop_supported' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='633' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='cman_wred_context_private_supported' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='640' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='cman_wred_context_shared_n_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='651' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='stats_mask' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='660' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-561' size-in-bits='64' id='type-id-565'/>
+    <pointer-type-def type-id='type-id-566' size-in-bits='64' id='type-id-567'/>
+    <typedef-decl name='rte_tm_level_capabilities_get_t' type-id='type-id-567' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='39' column='1' id='type-id-4'/>
+    <class-decl name='rte_tm_node_capabilities' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='668' column='1' id='type-id-568'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='shaper_private_supported' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='670' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='shaper_private_dual_rate_supported' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='675' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='shaper_private_rate_min' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='681' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='shaper_private_rate_max' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='687' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='shaper_shared_n_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='693' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='' type-id='type-id-569' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='stats_mask' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='766' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='160' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='696' column='1' id='type-id-569'>
+      <data-member access='private'>
+        <var-decl name='nonleaf' type-id='type-id-570' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='738' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='leaf' type-id='type-id-571' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='760' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='160' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='698' column='1' id='type-id-570'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='sched_n_children_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='700' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='sched_sp_n_priorities_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='708' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='sched_wfq_n_children_per_group_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='717' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='sched_wfq_n_groups_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='731' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='sched_wfq_weight_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='737' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='160' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='741' column='1' id='type-id-571'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cman_wred_packet_mode_supported' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='743' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='cman_wred_byte_mode_supported' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='746' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='cman_head_drop_supported' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='749' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='cman_wred_context_private_supported' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='752' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cman_wred_context_shared_n_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='759' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-568' size-in-bits='64' id='type-id-572'/>
+    <pointer-type-def type-id='type-id-573' size-in-bits='64' id='type-id-574'/>
+    <typedef-decl name='rte_tm_node_capabilities_get_t' type-id='type-id-574' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='45' column='1' id='type-id-5'/>
+    <class-decl name='rte_tm_wred_params' size-in-bits='640' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='824' column='1' id='type-id-575'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='red_params' type-id='type-id-576' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='826' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='packet_mode' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='832' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_tm_red_params' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='794' column='1' id='type-id-577'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='min_th' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='796' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='max_th' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='799' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='maxp_inv' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='wq_log2' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='807' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-577' size-in-bits='576' id='type-id-576'>
+      <subrange length='3' type-id='type-id-60' id='type-id-557'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-575' size-in-bits='64' id='type-id-578'/>
+    <pointer-type-def type-id='type-id-579' size-in-bits='64' id='type-id-580'/>
+    <typedef-decl name='rte_tm_wred_profile_add_t' type-id='type-id-580' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='51' column='1' id='type-id-6'/>
+    <pointer-type-def type-id='type-id-581' size-in-bits='64' id='type-id-582'/>
+    <typedef-decl name='rte_tm_wred_profile_delete_t' type-id='type-id-582' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='57' column='1' id='type-id-7'/>
+    <pointer-type-def type-id='type-id-583' size-in-bits='64' id='type-id-584'/>
+    <typedef-decl name='rte_tm_shared_wred_context_add_update_t' type-id='type-id-584' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='62' column='1' id='type-id-8'/>
+    <typedef-decl name='rte_tm_shared_wred_context_delete_t' type-id='type-id-582' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='69' column='1' id='type-id-9'/>
+    <class-decl name='rte_tm_shaper_params' size-in-bits='320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='864' column='1' id='type-id-585'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='committed' type-id='type-id-586' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='866' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='peak' type-id='type-id-586' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='869' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='pkt_length_adjust' type-id='type-id-72' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='876' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_tm_token_bucket' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='838' column='1' id='type-id-586'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rate' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='840' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='size' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='843' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-585' size-in-bits='64' id='type-id-587'/>
+    <pointer-type-def type-id='type-id-588' size-in-bits='64' id='type-id-589'/>
+    <typedef-decl name='rte_tm_shaper_profile_add_t' type-id='type-id-589' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='75' column='1' id='type-id-10'/>
+    <typedef-decl name='rte_tm_shaper_profile_delete_t' type-id='type-id-582' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='81' column='1' id='type-id-11'/>
+    <typedef-decl name='rte_tm_shared_shaper_add_update_t' type-id='type-id-584' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='86' column='1' id='type-id-12'/>
+    <typedef-decl name='rte_tm_shared_shaper_delete_t' type-id='type-id-582' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='92' column='1' id='type-id-13'/>
+    <class-decl name='rte_tm_node_params' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='906' column='1' id='type-id-590'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='shaper_profile_id' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='911' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='shared_shaper_id' type-id='type-id-591' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='914' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='n_shared_shapers' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='917' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-592' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='stats_mask' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='974' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-55' size-in-bits='64' id='type-id-591'/>
+    <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='920' column='1' id='type-id-592'>
+      <data-member access='private'>
+        <var-decl name='nonleaf' type-id='type-id-593' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='933' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='leaf' type-id='type-id-594' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='965' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='922' column='1' id='type-id-593'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='wfq_weight_mode' type-id='type-id-530' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='929' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='n_sp_priorities' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='932' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='936' column='1' id='type-id-594'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cman' type-id='type-id-595' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='938' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='wred' type-id='type-id-596' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='964' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_tm_cman_mode' filepath='../lib/librte_ethdev/rte_tm.h' line='785' column='1' id='type-id-595'>
+      <underlying-type type-id='type-id-138'/>
+      <enumerator name='RTE_TM_CMAN_TAIL_DROP' value='0'/>
+      <enumerator name='RTE_TM_CMAN_HEAD_DROP' value='1'/>
+      <enumerator name='RTE_TM_CMAN_WRED' value='2'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='943' column='1' id='type-id-596'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='wred_profile_id' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='949' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='shared_wred_context_id' type-id='type-id-591' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='956' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='n_shared_wred_contexts' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='963' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-590' size-in-bits='64' id='type-id-597'/>
+    <pointer-type-def type-id='type-id-598' size-in-bits='64' id='type-id-599'/>
+    <typedef-decl name='rte_tm_node_add_t' type-id='type-id-599' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='97' column='1' id='type-id-14'/>
+    <typedef-decl name='rte_tm_node_delete_t' type-id='type-id-582' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='107' column='1' id='type-id-15'/>
+    <typedef-decl name='rte_tm_node_suspend_t' type-id='type-id-582' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='112' column='1' id='type-id-16'/>
+    <typedef-decl name='rte_tm_node_resume_t' type-id='type-id-582' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='117' column='1' id='type-id-17'/>
+    <pointer-type-def type-id='type-id-600' size-in-bits='64' id='type-id-601'/>
+    <typedef-decl name='rte_tm_hierarchy_commit_t' type-id='type-id-601' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='122' column='1' id='type-id-18'/>
+    <pointer-type-def type-id='type-id-602' size-in-bits='64' id='type-id-603'/>
+    <typedef-decl name='rte_tm_node_parent_update_t' type-id='type-id-603' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='127' column='1' id='type-id-19'/>
+    <typedef-decl name='rte_tm_node_shaper_update_t' type-id='type-id-584' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='135' column='1' id='type-id-20'/>
+    <pointer-type-def type-id='type-id-604' size-in-bits='64' id='type-id-605'/>
+    <typedef-decl name='rte_tm_node_shared_shaper_update_t' type-id='type-id-605' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='141' column='1' id='type-id-21'/>
+    <pointer-type-def type-id='type-id-606' size-in-bits='64' id='type-id-607'/>
+    <typedef-decl name='rte_tm_node_stats_update_t' type-id='type-id-607' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='148' column='1' id='type-id-22'/>
+    <pointer-type-def type-id='type-id-608' size-in-bits='64' id='type-id-609'/>
+    <typedef-decl name='rte_tm_node_wfq_weight_mode_update_t' type-id='type-id-609' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='154' column='1' id='type-id-23'/>
+    <pointer-type-def type-id='type-id-610' size-in-bits='64' id='type-id-611'/>
+    <typedef-decl name='rte_tm_node_cman_update_t' type-id='type-id-611' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='162' column='1' id='type-id-24'/>
+    <typedef-decl name='rte_tm_node_wred_context_update_t' type-id='type-id-584' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='168' column='1' id='type-id-25'/>
+    <pointer-type-def type-id='type-id-612' size-in-bits='64' id='type-id-613'/>
+    <typedef-decl name='rte_tm_node_shared_wred_context_update_t' type-id='type-id-613' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='175' column='1' id='type-id-26'/>
+    <class-decl name='rte_tm_node_stats' size-in-bits='640' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='132' column='1' id='type-id-614'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n_pkts' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='134' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='n_bytes' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='leaf' type-id='type-id-615' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='160' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='512' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='140' column='1' id='type-id-615'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n_pkts_dropped' type-id='type-id-616' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='144' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='n_bytes_dropped' type-id='type-id-616' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='149' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='n_pkts_queued' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='n_bytes_queued' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_tm.h' line='159' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-54' size-in-bits='192' id='type-id-616'>
+      <subrange length='3' type-id='type-id-60' id='type-id-557'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-614' size-in-bits='64' id='type-id-617'/>
+    <pointer-type-def type-id='type-id-618' size-in-bits='64' id='type-id-619'/>
+    <typedef-decl name='rte_tm_node_stats_read_t' type-id='type-id-619' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='183' column='1' id='type-id-27'/>
+    <pointer-type-def type-id='type-id-620' size-in-bits='64' id='type-id-621'/>
+    <typedef-decl name='rte_tm_mark_vlan_dei_t' type-id='type-id-621' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='191' column='1' id='type-id-28'/>
+    <typedef-decl name='rte_tm_mark_ip_ecn_t' type-id='type-id-621' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='198' column='1' id='type-id-29'/>
+    <typedef-decl name='rte_tm_mark_ip_dscp_t' type-id='type-id-621' filepath='../lib/librte_ethdev/rte_tm_driver.h' line='205' column='1' id='type-id-30'/>
+    <qualified-type-def type-id='type-id-1' const='yes' id='type-id-622'/>
+    <var-decl name='pmd_tm_ops' type-id='type-id-622' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='764' column='1'/>
+    <function-type size-in-bits='64' id='type-id-394'>
+      <parameter type-id='type-id-269'/>
+      <return type-id='type-id-303'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-355'>
+      <return type-id='type-id-354'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-338'>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-349'>
+      <parameter type-id='type-id-302'/>
+      <parameter type-id='type-id-37'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-342'>
+      <parameter type-id='type-id-341'/>
+      <parameter type-id='type-id-37'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-347'>
+      <parameter type-id='type-id-39'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-351'>
+      <parameter type-id='type-id-39'/>
+      <parameter type-id='type-id-37'/>
+      <parameter type-id='type-id-54'/>
+      <parameter type-id='type-id-80'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-270'>
+      <parameter type-id='type-id-269'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-392'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-373'/>
+      <parameter type-id='type-id-80'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-511'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-302'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-498'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-497'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-505'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-504'/>
+      <parameter type-id='type-id-500'/>
+      <parameter type-id='type-id-66'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-474'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-472'/>
+      <parameter type-id='type-id-473'/>
+      <parameter type-id='type-id-37'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-401'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-400'/>
+      <parameter type-id='type-id-48'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-274'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-31'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-620'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-31'/>
+      <parameter type-id='type-id-31'/>
+      <parameter type-id='type-id-31'/>
+      <parameter type-id='type-id-552'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-600'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-31'/>
+      <parameter type-id='type-id-552'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-466'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-465'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-462'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-461'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-481'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-480'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-377'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-376'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-470'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-469'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-424'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-423'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-515'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-514'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-447'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-446'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-449'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-446'/>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-122'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-438'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-437'/>
+      <parameter type-id='type-id-122'/>
+      <parameter type-id='type-id-122'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-428'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-427'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-454'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-453'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-458'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-457'/>
+      <parameter type-id='type-id-48'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-289'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-288'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-442'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-441'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-293'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-292'/>
+      <parameter type-id='type-id-66'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-507'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-296'/>
+      <parameter type-id='type-id-504'/>
+      <parameter type-id='type-id-66'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-297'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-296'/>
+      <parameter type-id='type-id-66'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-280'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-120'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-282'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-120'/>
+      <parameter type-id='type-id-55'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-278'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-120'/>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-55'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-430'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-120'/>
+      <parameter type-id='type-id-122'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-559'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-558'/>
+      <parameter type-id='type-id-552'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-490'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-487'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-488'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-487'/>
+      <parameter type-id='type-id-55'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-494'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-493'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-284'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-48'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-398'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-48'/>
+      <parameter type-id='type-id-31'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-390'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-48'/>
+      <parameter type-id='type-id-389'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-451'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-48'/>
+      <parameter type-id='type-id-48'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-522'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-48'/>
+      <parameter type-id='type-id-48'/>
+      <parameter type-id='type-id-521'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-407'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-48'/>
+      <parameter type-id='type-id-48'/>
+      <parameter type-id='type-id-66'/>
+      <parameter type-id='type-id-406'/>
+      <parameter type-id='type-id-56'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-417'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-48'/>
+      <parameter type-id='type-id-48'/>
+      <parameter type-id='type-id-66'/>
+      <parameter type-id='type-id-416'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-299'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-48'/>
+      <parameter type-id='type-id-122'/>
+      <parameter type-id='type-id-122'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-396'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-55'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-610'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-595'/>
+      <parameter type-id='type-id-552'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-553'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-530'/>
+      <parameter type-id='type-id-552'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-608'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-530'/>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-552'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-581'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-552'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-566'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-565'/>
+      <parameter type-id='type-id-552'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-573'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-572'/>
+      <parameter type-id='type-id-552'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-618'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-617'/>
+      <parameter type-id='type-id-500'/>
+      <parameter type-id='type-id-31'/>
+      <parameter type-id='type-id-552'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-588'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-587'/>
+      <parameter type-id='type-id-552'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-579'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-578'/>
+      <parameter type-id='type-id-552'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-612'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-31'/>
+      <parameter type-id='type-id-552'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-583'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-552'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-604'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-72'/>
+      <parameter type-id='type-id-552'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-602'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-552'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-598'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-597'/>
+      <parameter type-id='type-id-552'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-606'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-54'/>
+      <parameter type-id='type-id-552'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-432'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-122'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-501'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-500'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-509'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-37'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-364'>
+      <parameter type-id='type-id-37'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-413'>
+      <parameter type-id='type-id-37'/>
+      <parameter type-id='type-id-48'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-419'>
+      <parameter type-id='type-id-37'/>
+      <parameter type-id='type-id-55'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-345'>
+      <parameter type-id='type-id-341'/>
+      <parameter type-id='type-id-344'/>
+      <parameter type-id='type-id-37'/>
+      <return type-id='type-id-39'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-546'>
+      <parameter type-id='type-id-48'/>
+      <parameter type-id='type-id-48'/>
+      <parameter type-id='type-id-111'/>
+      <parameter type-id='type-id-48'/>
+      <parameter type-id='type-id-48'/>
+      <parameter type-id='type-id-37'/>
+      <return type-id='type-id-48'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-548'>
+      <parameter type-id='type-id-48'/>
+      <parameter type-id='type-id-48'/>
+      <parameter type-id='type-id-111'/>
+      <parameter type-id='type-id-48'/>
+      <parameter type-id='type-id-37'/>
+      <return type-id='type-id-48'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-112'>
+      <parameter type-id='type-id-37'/>
+      <parameter type-id='type-id-111'/>
+      <parameter type-id='type-id-48'/>
+      <return type-id='type-id-48'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-411'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-48'/>
+      <return type-id='type-id-55'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-536'>
+      <parameter type-id='type-id-31'/>
+      <parameter type-id='type-id-37'/>
+      <return type-id='type-id-49'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-272'>
+      <parameter type-id='type-id-269'/>
+      <return type-id='type-id-49'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-403'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-48'/>
+      <parameter type-id='type-id-31'/>
+      <return type-id='type-id-49'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-381'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-48'/>
+      <parameter type-id='type-id-380'/>
+      <return type-id='type-id-49'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-385'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-48'/>
+      <parameter type-id='type-id-384'/>
+      <return type-id='type-id-49'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-276'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-55'/>
+      <return type-id='type-id-49'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-98'>
+      <parameter type-id='type-id-92'/>
+      <parameter type-id='type-id-37'/>
+      <return type-id='type-id-49'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-409'>
+      <parameter type-id='type-id-37'/>
+      <return type-id='type-id-49'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-103'>
+      <parameter type-id='type-id-37'/>
+      <parameter type-id='type-id-37'/>
+      <return type-id='type-id-49'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-362'>
+      <parameter type-id='type-id-37'/>
+      <parameter type-id='type-id-302'/>
+      <parameter type-id='type-id-361'/>
+      <return type-id='type-id-37'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/softnic/rte_eth_softnic.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='rte_pmd_softnic_manage' mangled-name='rte_pmd_softnic_manage' filepath='../drivers/net/softnic/rte_eth_softnic.c' line='702' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_softnic_manage@@EXPERIMENTAL'>
+      <parameter type-id='type-id-48' name='port_id' filepath='../drivers/net/softnic/rte_eth_softnic.c' line='702' column='1'/>
+      <return type-id='type-id-31'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/softnic/rte_eth_softnic_thread.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='rte_pmd_softnic_run' mangled-name='rte_pmd_softnic_run' filepath='../drivers/net/softnic/rte_eth_softnic_thread.c' line='3092' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_softnic_run@@DPDK_20.0'>
+      <parameter type-id='type-id-48' name='port_id' filepath='../drivers/net/softnic/rte_eth_softnic_thread.c' line='3092' column='1'/>
+      <return type-id='type-id-31'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/softnic/rte_eth_softnic_flow.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_flow_ops' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='63' column='1' id='type-id-623'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='validate' type-id='type-id-624' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='create' type-id='type-id-625' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='destroy' type-id='type-id-626' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='flush' type-id='type-id-627' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='query' type-id='type-id-628' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='isolate' type-id='type-id-629' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='95' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_flow_attr' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='75' column='1' id='type-id-630'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='group' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='priority' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='ingress' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='egress' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='transfer' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='98' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='reserved' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='99' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-630' const='yes' id='type-id-631'/>
+    <pointer-type-def type-id='type-id-631' size-in-bits='64' id='type-id-632'/>
+    <class-decl name='rte_flow_item' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1517' column='1' id='type-id-633'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-634' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1518' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='spec' type-id='type-id-37' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1519' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='last' type-id='type-id-37' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='mask' type-id='type-id-37' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1521' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_item_type' filepath='../lib/librte_ethdev/rte_flow.h' line='118' column='1' id='type-id-634'>
+      <underlying-type type-id='type-id-138'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_END' value='0'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VOID' value='1'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_INVERT' value='2'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ANY' value='3'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PF' value='4'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VF' value='5'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PHY_PORT' value='6'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PORT_ID' value='7'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_RAW' value='8'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ETH' value='9'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VLAN' value='10'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV4' value='11'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV6' value='12'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP' value='13'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_UDP' value='14'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_TCP' value='15'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_SCTP' value='16'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VXLAN' value='17'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_E_TAG' value='18'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_NVGRE' value='19'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_MPLS' value='20'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GRE' value='21'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_FUZZY' value='22'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTP' value='23'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTPC' value='24'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTPU' value='25'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ESP' value='26'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GENEVE' value='27'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VXLAN_GPE' value='28'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ARP_ETH_IPV4' value='29'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV6_EXT' value='30'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6' value='31'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_NS' value='32'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_NA' value='33'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT' value='34'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT_SLA_ETH' value='35'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT_TLA_ETH' value='36'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_MARK' value='37'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_META' value='38'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GRE_KEY' value='39'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTP_PSC' value='40'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOES' value='41'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOED' value='42'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOE_PROTO_ID' value='43'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_NSH' value='44'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IGMP' value='45'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_AH' value='46'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_HIGIG2' value='47'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_TAG' value='48'/>
+    </enum-decl>
+    <qualified-type-def type-id='type-id-633' const='yes' id='type-id-635'/>
+    <pointer-type-def type-id='type-id-635' size-in-bits='64' id='type-id-636'/>
+    <class-decl name='rte_flow_action' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2568' column='1' id='type-id-637'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-638' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2569' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='conf' type-id='type-id-37' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2570' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_action_type' filepath='../lib/librte_ethdev/rte_flow.h' line='1550' column='1' id='type-id-638'>
+      <underlying-type type-id='type-id-138'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_END' value='0'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VOID' value='1'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PASSTHRU' value='2'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_JUMP' value='3'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_MARK' value='4'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_FLAG' value='5'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_QUEUE' value='6'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DROP' value='7'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_COUNT' value='8'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RSS' value='9'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PF' value='10'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VF' value='11'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PHY_PORT' value='12'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PORT_ID' value='13'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_METER' value='14'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SECURITY' value='15'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_MPLS_TTL' value='16'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_DEC_MPLS_TTL' value='17'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_NW_TTL' value='18'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_DEC_NW_TTL' value='19'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_OUT' value='20'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_IN' value='21'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_POP_VLAN' value='22'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_PUSH_VLAN' value='23'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_VID' value='24'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_PCP' value='25'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_POP_MPLS' value='26'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_PUSH_MPLS' value='27'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VXLAN_ENCAP' value='28'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VXLAN_DECAP' value='29'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_NVGRE_ENCAP' value='30'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_NVGRE_DECAP' value='31'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RAW_ENCAP' value='32'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RAW_DECAP' value='33'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV4_SRC' value='34'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV4_DST' value='35'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV6_SRC' value='36'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV6_DST' value='37'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TP_SRC' value='38'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TP_DST' value='39'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_MAC_SWAP' value='40'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TTL' value='41'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TTL' value='42'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_MAC_SRC' value='43'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_MAC_DST' value='44'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_INC_TCP_SEQ' value='45'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TCP_SEQ' value='46'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_INC_TCP_ACK' value='47'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TCP_ACK' value='48'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TAG' value='49'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_META' value='50'/>
+    </enum-decl>
+    <qualified-type-def type-id='type-id-637' const='yes' id='type-id-639'/>
+    <pointer-type-def type-id='type-id-639' size-in-bits='64' id='type-id-640'/>
+    <class-decl name='rte_flow_error' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2618' column='1' id='type-id-641'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-642' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2619' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='cause' type-id='type-id-37' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2620' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='message' type-id='type-id-302' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2621' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_error_type' filepath='../lib/librte_ethdev/rte_flow.h' line='2587' column='1' id='type-id-642'>
+      <underlying-type type-id='type-id-138'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_UNSPECIFIED' value='1'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_HANDLE' value='2'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_GROUP' value='3'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_PRIORITY' value='4'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_INGRESS' value='5'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_EGRESS' value='6'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_TRANSFER' value='7'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR' value='8'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_NUM' value='9'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_SPEC' value='10'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_LAST' value='11'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_MASK' value='12'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM' value='13'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION_NUM' value='14'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION_CONF' value='15'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION' value='16'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-641' size-in-bits='64' id='type-id-643'/>
+    <pointer-type-def type-id='type-id-644' size-in-bits='64' id='type-id-624'/>
+    <class-decl name='rte_flow' size-in-bits='8704' is-struct='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='973' column='1' id='type-id-645'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='node' type-id='type-id-646' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='974' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='match' type-id='type-id-647' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='975' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='action' type-id='type-id-648' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='976' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8512'>
+        <var-decl name='data' type-id='type-id-37' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='977' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8576'>
+        <var-decl name='pipeline' type-id='type-id-649' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='978' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8640'>
+        <var-decl name='table_id' type-id='type-id-55' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='979' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='974' column='1' id='type-id-646'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-650' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='974' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-651' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='974' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-645' size-in-bits='64' id='type-id-650'/>
+    <pointer-type-def type-id='type-id-650' size-in-bits='64' id='type-id-651'/>
+    <class-decl name='softnic_table_rule_match' size-in-bits='2080' is-struct='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='942' column='1' id='type-id-647'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='match_type' type-id='type-id-652' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='943' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='match' type-id='type-id-653' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='950' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='softnic_table_type' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='439' column='1' id='type-id-652'>
+      <underlying-type type-id='type-id-138'/>
+      <enumerator name='TABLE_ACL' value='0'/>
+      <enumerator name='TABLE_ARRAY' value='1'/>
+      <enumerator name='TABLE_HASH' value='2'/>
+      <enumerator name='TABLE_LPM' value='3'/>
+      <enumerator name='TABLE_STUB' value='4'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='2048' is-anonymous='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='945' column='1' id='type-id-653'>
+      <data-member access='private'>
+        <var-decl name='acl' type-id='type-id-654' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='946' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='array' type-id='type-id-655' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='947' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='hash' type-id='type-id-656' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='948' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='lpm' type-id='type-id-657' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='949' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='softnic_table_rule_match_acl' size-in-bits='480' is-struct='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='895' column='1' id='type-id-654'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ip_version' type-id='type-id-31' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='896' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='' type-id='type-id-658' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='sa_depth' type-id='type-id-55' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='911' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='da_depth' type-id='type-id-55' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='912' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='sp0' type-id='type-id-48' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='913' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='sp1' type-id='type-id-48' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='914' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='dp0' type-id='type-id-48' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='915' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='400'>
+        <var-decl name='dp1' type-id='type-id-48' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='916' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='proto' type-id='type-id-122' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='917' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='424'>
+        <var-decl name='proto_mask' type-id='type-id-122' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='918' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='priority' type-id='type-id-55' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='919' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='899' column='1' id='type-id-658'>
+      <data-member access='private'>
+        <var-decl name='ipv4' type-id='type-id-659' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='903' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='ipv6' type-id='type-id-660' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='908' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='900' column='1' id='type-id-659'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='sa' type-id='type-id-55' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='901' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='da' type-id='type-id-55' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='902' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='905' column='1' id='type-id-660'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='sa' type-id='type-id-170' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='906' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='da' type-id='type-id-170' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='907' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='softnic_table_rule_match_array' size-in-bits='32' is-struct='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='922' column='1' id='type-id-655'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pos' type-id='type-id-55' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='923' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='softnic_table_rule_match_hash' size-in-bits='2048' is-struct='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='926' column='1' id='type-id-656'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='key' type-id='type-id-661' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='927' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-122' size-in-bits='2048' id='type-id-661'>
+      <subrange length='256' type-id='type-id-60' id='type-id-662'/>
+
+    </array-type-def>
+    <class-decl name='softnic_table_rule_match_lpm' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='930' column='1' id='type-id-657'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ip_version' type-id='type-id-31' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='931' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='' type-id='type-id-663' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='depth' type-id='type-id-122' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='939' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='934' column='1' id='type-id-663'>
+      <data-member access='private'>
+        <var-decl name='ipv4' type-id='type-id-55' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='935' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='ipv6' type-id='type-id-170' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='936' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='softnic_table_rule_action' size-in-bits='6272' is-struct='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='956' column='1' id='type-id-648'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='action_mask' type-id='type-id-54' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='957' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fwd' type-id='type-id-664' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='958' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='lb' type-id='type-id-665' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='959' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mtr' type-id='type-id-666' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='960' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2464'>
+        <var-decl name='tm' type-id='type-id-667' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='961' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2528'>
+        <var-decl name='encap' type-id='type-id-668' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='962' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3072'>
+        <var-decl name='nat' type-id='type-id-669' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='963' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3264'>
+        <var-decl name='ttl' type-id='type-id-670' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='964' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3328'>
+        <var-decl name='stats' type-id='type-id-671' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='965' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3456'>
+        <var-decl name='time' type-id='type-id-672' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='966' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3520'>
+        <var-decl name='tag' type-id='type-id-673' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='967' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3552'>
+        <var-decl name='decap' type-id='type-id-674' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='968' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='sym_crypto' type-id='type-id-675' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='969' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4224'>
+        <var-decl name='sym_crypto_key' type-id='type-id-661' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='970' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_fwd_params' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='124' column='1' id='type-id-664'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='action' type-id='type-id-676' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='126' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='id' type-id='type-id-55' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='129' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_pipeline_action' filepath='../lib/librte_pipeline/rte_pipeline.h' line='181' column='1' id='type-id-676'>
+      <underlying-type type-id='type-id-138'/>
+      <enumerator name='RTE_PIPELINE_ACTION_DROP' value='0'/>
+      <enumerator name='RTE_PIPELINE_ACTION_PORT' value='1'/>
+      <enumerator name='RTE_PIPELINE_ACTION_PORT_META' value='2'/>
+      <enumerator name='RTE_PIPELINE_ACTION_TABLE' value='3'/>
+      <enumerator name='RTE_PIPELINE_ACTIONS' value='4'/>
+    </enum-decl>
+    <class-decl name='rte_table_action_lb_params' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='170' column='1' id='type-id-665'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='out' type-id='type-id-677' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='177' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-55' size-in-bits='256' id='type-id-677'>
+      <subrange length='8' type-id='type-id-60' id='type-id-149'/>
+
+    </array-type-def>
+    <class-decl name='rte_table_action_mtr_params' size-in-bits='2080' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='313' column='1' id='type-id-666'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mtr' type-id='type-id-678' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='317' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='tc_mask' type-id='type-id-55' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='323' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_mtr_tc_params' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='257' column='1' id='type-id-679'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='meter_profile_id' type-id='type-id-55' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='policer' type-id='type-id-680' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_table_action_policer' filepath='../lib/librte_pipeline/rte_table_action.h' line='239' column='1' id='type-id-681'>
+      <underlying-type type-id='type-id-138'/>
+      <enumerator name='RTE_TABLE_ACTION_POLICER_COLOR_GREEN' value='0'/>
+      <enumerator name='RTE_TABLE_ACTION_POLICER_COLOR_YELLOW' value='1'/>
+      <enumerator name='RTE_TABLE_ACTION_POLICER_COLOR_RED' value='2'/>
+      <enumerator name='RTE_TABLE_ACTION_POLICER_DROP' value='3'/>
+      <enumerator name='RTE_TABLE_ACTION_POLICER_MAX' value='4'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-681' size-in-bits='96' alignment-in-bits='32' id='type-id-680'>
+      <subrange length='3' type-id='type-id-60' id='type-id-557'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-679' size-in-bits='2048' id='type-id-678'>
+      <subrange length='16' type-id='type-id-60' id='type-id-168'/>
+
+    </array-type-def>
+    <class-decl name='rte_table_action_tm_params' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='351' column='1' id='type-id-667'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='subport_id' type-id='type-id-55' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='353' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='pipe_id' type-id='type-id-55' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='356' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_encap_params' size-in-bits='544' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='546' column='1' id='type-id-668'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-682' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='548' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='' type-id='type-id-683' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_table_action_encap_type' filepath='../lib/librte_pipeline/rte_table_action.h' line='363' column='1' id='type-id-682'>
+      <underlying-type type-id='type-id-138'/>
+      <enumerator name='RTE_TABLE_ACTION_ENCAP_ETHER' value='0'/>
+      <enumerator name='RTE_TABLE_ACTION_ENCAP_VLAN' value='1'/>
+      <enumerator name='RTE_TABLE_ACTION_ENCAP_QINQ' value='2'/>
+      <enumerator name='RTE_TABLE_ACTION_ENCAP_MPLS' value='3'/>
+      <enumerator name='RTE_TABLE_ACTION_ENCAP_PPPOE' value='4'/>
+      <enumerator name='RTE_TABLE_ACTION_ENCAP_VXLAN' value='5'/>
+      <enumerator name='RTE_TABLE_ACTION_ENCAP_QINQ_PPPOE' value='6'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='512' is-anonymous='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='551' column='1' id='type-id-683'>
+      <data-member access='private'>
+        <var-decl name='ether' type-id='type-id-684' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='553' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='vlan' type-id='type-id-685' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='556' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='qinq' type-id='type-id-686' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='559' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='mpls' type-id='type-id-687' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pppoe' type-id='type-id-688' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='565' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='vxlan' type-id='type-id-689' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='568' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='qinq_pppoe' type-id='type-id-690' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='571' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_table_action_encap_ether_params' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='442' column='1' id='type-id-684'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ether' type-id='type-id-691' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='443' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_ether_hdr' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='389' column='1' id='type-id-691'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='da' type-id='type-id-172' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='390' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='sa' type-id='type-id-172' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='391' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_encap_vlan_params' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='447' column='1' id='type-id-685'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ether' type-id='type-id-691' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='448' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='vlan' type-id='type-id-692' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='449' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_vlan_hdr' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='395' column='1' id='type-id-692'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pcp' type-id='type-id-122' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='396' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='dei' type-id='type-id-122' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='397' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='vid' type-id='type-id-48' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='398' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_encap_qinq_params' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='453' column='1' id='type-id-686'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ether' type-id='type-id-691' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='454' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='svlan' type-id='type-id-692' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='455' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cvlan' type-id='type-id-692' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='456' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_encap_mpls_params' size-in-bits='416' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='465' column='1' id='type-id-687'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ether' type-id='type-id-691' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='467' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='mpls' type-id='type-id-693' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='470' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='mpls_count' type-id='type-id-55' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='473' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='unicast' type-id='type-id-31' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='476' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_mpls_hdr' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='402' column='1' id='type-id-694'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='label' type-id='type-id-55' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='403' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tc' type-id='type-id-122' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='404' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='ttl' type-id='type-id-122' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='405' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-694' size-in-bits='256' id='type-id-693'>
+      <subrange length='4' type-id='type-id-60' id='type-id-162'/>
+
+    </array-type-def>
+    <class-decl name='rte_table_action_encap_pppoe_params' size-in-bits='112' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='480' column='1' id='type-id-688'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ether' type-id='type-id-691' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='pppoe' type-id='type-id-695' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='482' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_pppoe_hdr' size-in-bits='16' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='409' column='1' id='type-id-695'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='session_id' type-id='type-id-48' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='410' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_encap_vxlan_params' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='486' column='1' id='type-id-689'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ether' type-id='type-id-691' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='487' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='vlan' type-id='type-id-692' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='488' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-696' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='udp' type-id='type-id-697' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='496' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='vxlan' type-id='type-id-698' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='497' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='491' column='1' id='type-id-696'>
+      <data-member access='private'>
+        <var-decl name='ipv4' type-id='type-id-699' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='ipv6' type-id='type-id-700' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_table_action_ipv4_header' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='414' column='1' id='type-id-699'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='sa' type-id='type-id-55' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='415' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='da' type-id='type-id-55' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='416' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dscp' type-id='type-id-122' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='417' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='ttl' type-id='type-id-122' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='418' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_ipv6_header' size-in-bits='320' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='422' column='1' id='type-id-700'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='sa' type-id='type-id-170' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='423' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='da' type-id='type-id-170' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='424' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='flow_label' type-id='type-id-55' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='425' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='dscp' type-id='type-id-122' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='426' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='296'>
+        <var-decl name='hop_limit' type-id='type-id-122' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='427' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_udp_header' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='431' column='1' id='type-id-697'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='sp' type-id='type-id-48' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='432' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='dp' type-id='type-id-48' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='433' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_vxlan_hdr' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='437' column='1' id='type-id-698'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vni' type-id='type-id-55' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='438' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_encap_ether_qinq_pppoe' size-in-bits='176' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='536' column='1' id='type-id-690'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ether' type-id='type-id-691' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='539' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='svlan' type-id='type-id-692' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='540' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cvlan' type-id='type-id-692' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='541' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='pppoe' type-id='type-id-695' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='542' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_nat_params' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='594' column='1' id='type-id-669'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ip_version' type-id='type-id-31' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='596' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='addr' type-id='type-id-663' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='605' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='port' type-id='type-id-48' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='608' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_ttl_params' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='633' column='1' id='type-id-670'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='decrement' type-id='type-id-31' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='638' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_stats_params' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='670' column='1' id='type-id-671'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n_packets' type-id='type-id-54' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='675' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='n_bytes' type-id='type-id-54' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='681' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_time_params' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='703' column='1' id='type-id-672'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='time' type-id='type-id-54' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='705' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_tag_params' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='799' column='1' id='type-id-673'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tag' type-id='type-id-55' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='801' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_decap_params' size-in-bits='16' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='808' column='1' id='type-id-674'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n' type-id='type-id-48' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='810' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_sym_crypto_params' size-in-bits='640' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='750' column='1' id='type-id-675'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xform' type-id='type-id-701' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='data_offset' type-id='type-id-55' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='760' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-702' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_crypto_sym_xform' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-703'/>
+    <pointer-type-def type-id='type-id-703' size-in-bits='64' id='type-id-701'/>
+    <union-decl name='__anonymous_union__' size-in-bits='512' is-anonymous='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='762' column='1' id='type-id-702'>
+      <data-member access='private'>
+        <var-decl name='cipher_auth' type-id='type-id-704' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='776' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='aead' type-id='type-id-705' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='791' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='512' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='763' column='1' id='type-id-704'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cipher_iv' type-id='type-id-706' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='765' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cipher_iv_update' type-id='type-id-706' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='768' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='auth_iv' type-id='type-id-706' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='771' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='auth_iv_update' type-id='type-id-706' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='774' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_vlo' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='725' column='1' id='type-id-706'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='val' type-id='type-id-144' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='726' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='length' type-id='type-id-55' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='727' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='offset' type-id='type-id-55' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='728' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='512' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='778' column='1' id='type-id-705'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='aad' type-id='type-id-706' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='iv' type-id='type-id-706' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='783' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='aad_update' type-id='type-id-706' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='786' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='iv_update' type-id='type-id-706' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='789' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='pipeline' size-in-bits='742528' is-struct='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='510' column='1' id='type-id-707'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='node' type-id='type-id-708' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='511' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-115' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='512' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='p' type-id='type-id-709' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='514' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='params' type-id='type-id-710' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='port_in' type-id='type-id-711' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='516' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='94976'>
+        <var-decl name='port_out' type-id='type-id-712' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='517' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='148224'>
+        <var-decl name='table' type-id='type-id-713' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='518' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='742144'>
+        <var-decl name='n_ports_in' type-id='type-id-55' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='519' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='742176'>
+        <var-decl name='n_ports_out' type-id='type-id-55' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='742208'>
+        <var-decl name='n_tables' type-id='type-id-55' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='521' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='742272'>
+        <var-decl name='msgq_req' type-id='type-id-714' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='523' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='742336'>
+        <var-decl name='msgq_rsp' type-id='type-id-714' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='524' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='742400'>
+        <var-decl name='timer_period_ms' type-id='type-id-55' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='742432'>
+        <var-decl name='enabled' type-id='type-id-31' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='527' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='742464'>
+        <var-decl name='thread_id' type-id='type-id-55' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='528' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='742496'>
+        <var-decl name='cpu_id' type-id='type-id-55' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='529' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='511' column='1' id='type-id-708'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-649' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='511' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-715' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='511' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-707' size-in-bits='64' id='type-id-649'/>
+    <pointer-type-def type-id='type-id-649' size-in-bits='64' id='type-id-715'/>
+    <class-decl name='rte_pipeline' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-716'/>
+    <pointer-type-def type-id='type-id-716' size-in-bits='64' id='type-id-709'/>
+    <class-decl name='pipeline_params' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='361' column='1' id='type-id-710'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='timer_period_ms' type-id='type-id-55' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='362' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='offset_port_id' type-id='type-id-55' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='363' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='softnic_port_in' size-in-bits='1472' is-struct='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='491' column='1' id='type-id-717'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='params' type-id='type-id-718' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='ap' type-id='type-id-719' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='493' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='a' type-id='type-id-720' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='494' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='softnic_port_in_params' size-in-bits='1344' is-struct='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='375' column='1' id='type-id-718'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-721' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='377' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dev_name' type-id='type-id-115' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='378' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='' type-id='type-id-722' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='burst_size' type-id='type-id-55' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='401' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='action_profile_name' type-id='type-id-115' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='404' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='softnic_port_in_type' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='366' column='1' id='type-id-721'>
+      <underlying-type type-id='type-id-138'/>
+      <enumerator name='PORT_IN_RXQ' value='0'/>
+      <enumerator name='PORT_IN_SWQ' value='1'/>
+      <enumerator name='PORT_IN_TMGR' value='2'/>
+      <enumerator name='PORT_IN_TAP' value='3'/>
+      <enumerator name='PORT_IN_SOURCE' value='4'/>
+      <enumerator name='PORT_IN_CRYPTODEV' value='5'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='379' column='1' id='type-id-722'>
+      <data-member access='private'>
+        <var-decl name='rxq' type-id='type-id-723' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='382' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='tap' type-id='type-id-724' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='387' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='source' type-id='type-id-725' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='393' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='cryptodev' type-id='type-id-726' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='399' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='380' column='1' id='type-id-723'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='queue_id' type-id='type-id-48' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='381' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='384' column='1' id='type-id-724'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mempool_name' type-id='type-id-302' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='385' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mtu' type-id='type-id-55' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='386' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='389' column='1' id='type-id-725'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mempool_name' type-id='type-id-302' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='390' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='file_name' type-id='type-id-302' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='391' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='n_bytes_per_pkt' type-id='type-id-55' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='392' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='395' column='1' id='type-id-726'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='queue_id' type-id='type-id-48' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='396' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='f_callback' type-id='type-id-37' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='397' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='arg_callback' type-id='type-id-37' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='398' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='softnic_port_in_action_profile' size-in-bits='2368' is-struct='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='315' column='1' id='type-id-727'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='node' type-id='type-id-728' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='316' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-115' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='317' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='params' type-id='type-id-729' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='318' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='ap' type-id='type-id-730' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='319' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='316' column='1' id='type-id-728'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-719' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='316' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-731' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='316' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-727' size-in-bits='64' id='type-id-719'/>
+    <pointer-type-def type-id='type-id-719' size-in-bits='64' id='type-id-731'/>
+    <class-decl name='softnic_port_in_action_profile_params' size-in-bits='1664' is-struct='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='309' column='1' id='type-id-729'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='action_mask' type-id='type-id-54' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='310' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fltr' type-id='type-id-732' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='311' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='lb' type-id='type-id-733' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='312' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_port_in_action_fltr_config' size-in-bits='352' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_port_in_action.h' line='76' column='1' id='type-id-732'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='key_offset' type-id='type-id-55' visibility='default' filepath='../lib/librte_pipeline/rte_port_in_action.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='key_mask' type-id='type-id-170' visibility='default' filepath='../lib/librte_pipeline/rte_port_in_action.h' line='83' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='key' type-id='type-id-170' visibility='default' filepath='../lib/librte_pipeline/rte_port_in_action.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='filter_on_match' type-id='type-id-31' visibility='default' filepath='../lib/librte_pipeline/rte_port_in_action.h' line='93' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='port_id' type-id='type-id-55' visibility='default' filepath='../lib/librte_pipeline/rte_port_in_action.h' line='100' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_port_in_action_lb_config' size-in-bits='1216' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_port_in_action.h' line='122' column='1' id='type-id-733'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='key_size' type-id='type-id-55' visibility='default' filepath='../lib/librte_pipeline/rte_port_in_action.h' line='124' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='key_offset' type-id='type-id-55' visibility='default' filepath='../lib/librte_pipeline/rte_port_in_action.h' line='129' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key_mask' type-id='type-id-734' visibility='default' filepath='../lib/librte_pipeline/rte_port_in_action.h' line='132' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='f_hash' type-id='type-id-735' visibility='default' filepath='../lib/librte_pipeline/rte_port_in_action.h' line='135' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='seed' type-id='type-id-54' visibility='default' filepath='../lib/librte_pipeline/rte_port_in_action.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='port_id' type-id='type-id-736' visibility='default' filepath='../lib/librte_pipeline/rte_port_in_action.h' line='148' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-122' size-in-bits='512' id='type-id-734'>
+      <subrange length='64' type-id='type-id-60' id='type-id-127'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-737' size-in-bits='64' id='type-id-738'/>
+    <typedef-decl name='rte_table_hash_op_hash' type-id='type-id-738' filepath='../lib/librte_table/rte_table_hash.h' line='56' column='1' id='type-id-735'/>
+
+    <array-type-def dimensions='1' type-id='type-id-55' size-in-bits='512' id='type-id-736'>
+      <subrange length='16' type-id='type-id-60' id='type-id-168'/>
+
+    </array-type-def>
+    <class-decl name='rte_port_in_action_profile' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-739'/>
+    <pointer-type-def type-id='type-id-739' size-in-bits='64' id='type-id-730'/>
+    <class-decl name='rte_port_in_action' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-740'/>
+    <pointer-type-def type-id='type-id-740' size-in-bits='64' id='type-id-720'/>
+
+    <array-type-def dimensions='1' type-id='type-id-717' size-in-bits='94208' id='type-id-711'>
+      <subrange length='64' type-id='type-id-60' id='type-id-127'/>
+
+    </array-type-def>
+    <class-decl name='softnic_port_out' size-in-bits='832' is-struct='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='497' column='1' id='type-id-741'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='params' type-id='type-id-742' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='498' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='softnic_port_out_params' size-in-bits='832' is-struct='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='416' column='1' id='type-id-742'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-743' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='417' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dev_name' type-id='type-id-115' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='418' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='' type-id='type-id-744' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='burst_size' type-id='type-id-55' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='434' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='736'>
+        <var-decl name='retry' type-id='type-id-31' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='435' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='n_retries' type-id='type-id-55' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='436' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='softnic_port_out_type' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='407' column='1' id='type-id-743'>
+      <underlying-type type-id='type-id-138'/>
+      <enumerator name='PORT_OUT_TXQ' value='0'/>
+      <enumerator name='PORT_OUT_SWQ' value='1'/>
+      <enumerator name='PORT_OUT_TMGR' value='2'/>
+      <enumerator name='PORT_OUT_TAP' value='3'/>
+      <enumerator name='PORT_OUT_SINK' value='4'/>
+      <enumerator name='PORT_OUT_CRYPTODEV' value='5'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='419' column='1' id='type-id-744'>
+      <data-member access='private'>
+        <var-decl name='txq' type-id='type-id-723' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='422' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='sink' type-id='type-id-745' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='427' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='cryptodev' type-id='type-id-746' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='432' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='424' column='1' id='type-id-745'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='file_name' type-id='type-id-302' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='425' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='max_n_pkts' type-id='type-id-55' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='426' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='429' column='1' id='type-id-746'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='queue_id' type-id='type-id-48' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='430' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='op_offset' type-id='type-id-55' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='431' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-741' size-in-bits='53248' id='type-id-712'>
+      <subrange length='64' type-id='type-id-60' id='type-id-127'/>
+
+    </array-type-def>
+    <class-decl name='softnic_table' size-in-bits='9280' is-struct='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='501' column='1' id='type-id-747'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='params' type-id='type-id-748' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='502' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2752'>
+        <var-decl name='ap' type-id='type-id-749' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='503' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2816'>
+        <var-decl name='a' type-id='type-id-750' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='504' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2880'>
+        <var-decl name='flows' type-id='type-id-751' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='505' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3008'>
+        <var-decl name='dscp_table' type-id='type-id-752' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='506' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='9152'>
+        <var-decl name='meter_profiles' type-id='type-id-753' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='507' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='softnic_table_params' size-in-bits='2752' is-struct='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='477' column='1' id='type-id-748'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='match_type' type-id='type-id-652' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='479' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='match' type-id='type-id-754' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='485' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='action_profile_name' type-id='type-id-115' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='488' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='2208' is-anonymous='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='480' column='1' id='type-id-754'>
+      <data-member access='private'>
+        <var-decl name='acl' type-id='type-id-755' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='array' type-id='type-id-756' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='482' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='hash' type-id='type-id-757' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='lpm' type-id='type-id-758' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='484' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='softnic_table_acl_params' size-in-bits='96' is-struct='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='447' column='1' id='type-id-755'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n_rules' type-id='type-id-55' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='448' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ip_header_offset' type-id='type-id-55' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ip_version' type-id='type-id-31' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='450' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='softnic_table_array_params' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='453' column='1' id='type-id-756'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n_keys' type-id='type-id-55' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='454' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='key_offset' type-id='type-id-55' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='455' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='softnic_table_hash_params' size-in-bits='2208' is-struct='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='462' column='1' id='type-id-757'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n_keys' type-id='type-id-55' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='463' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='key_offset' type-id='type-id-55' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='464' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key_size' type-id='type-id-55' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='465' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='key_mask' type-id='type-id-661' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='466' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2144'>
+        <var-decl name='n_buckets' type-id='type-id-55' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='467' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='extendable_bucket' type-id='type-id-31' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='468' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='softnic_table_lpm_params' size-in-bits='96' is-struct='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='471' column='1' id='type-id-758'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n_rules' type-id='type-id-55' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='472' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='key_offset' type-id='type-id-55' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='473' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key_size' type-id='type-id-55' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='474' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='softnic_table_action_profile' size-in-bits='2368' is-struct='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='340' column='1' id='type-id-759'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='node' type-id='type-id-760' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='341' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-115' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='342' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='params' type-id='type-id-761' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='343' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='ap' type-id='type-id-762' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='344' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='341' column='1' id='type-id-760'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-749' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='341' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-763' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='341' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-759' size-in-bits='64' id='type-id-749'/>
+    <pointer-type-def type-id='type-id-749' size-in-bits='64' id='type-id-763'/>
+    <class-decl name='softnic_table_action_profile_params' size-in-bits='1664' is-struct='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='327' column='1' id='type-id-761'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='action_mask' type-id='type-id-54' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='328' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='common' type-id='type-id-764' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='329' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='lb' type-id='type-id-765' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='330' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='mtr' type-id='type-id-766' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='331' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='tm' type-id='type-id-767' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='332' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='encap' type-id='type-id-768' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='333' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='nat' type-id='type-id-769' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='334' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='ttl' type-id='type-id-770' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='335' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='stats' type-id='type-id-771' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='336' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='sym_crypto' type-id='type-id-772' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='337' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_common_config' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='108' column='1' id='type-id-764'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ip_version' type-id='type-id-31' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='112' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ip_offset' type-id='type-id-55' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='117' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_lb_config' size-in-bits='768' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='145' column='1' id='type-id-765'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='key_size' type-id='type-id-55' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='147' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='key_offset' type-id='type-id-55' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='key_mask' type-id='type-id-734' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='155' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='f_hash' type-id='type-id-735' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='158' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='seed' type-id='type-id-54' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='161' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='out_offset' type-id='type-id-55' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='166' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_mtr_config' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='287' column='1' id='type-id-766'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='alg' type-id='type-id-773' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='289' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='n_tc' type-id='type-id-55' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='295' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='n_packets_enabled' type-id='type-id-31' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='302' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='n_bytes_enabled' type-id='type-id-31' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='309' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_table_action_meter_algorithm' filepath='../lib/librte_pipeline/rte_table_action.h' line='215' column='1' id='type-id-773'>
+      <underlying-type type-id='type-id-138'/>
+      <enumerator name='RTE_TABLE_ACTION_METER_SRTCM' value='0'/>
+      <enumerator name='RTE_TABLE_ACTION_METER_TRTCM' value='1'/>
+    </enum-decl>
+    <class-decl name='rte_table_action_tm_config' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='342' column='1' id='type-id-767'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n_subports_per_port' type-id='type-id-55' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='344' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='n_pipes_per_subport' type-id='type-id-55' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='347' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_encap_config' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='501' column='1' id='type-id-768'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='encap_mask' type-id='type-id-54' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='508' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-774' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='96' is-anonymous='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='512' column='1' id='type-id-774'>
+      <data-member access='private'>
+        <var-decl name='vxlan' type-id='type-id-775' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='531' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='96' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='513' column='1' id='type-id-775'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data_offset' type-id='type-id-55' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='519' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='vlan' type-id='type-id-31' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='524' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ip_version' type-id='type-id-31' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='530' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_nat_config' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='579' column='1' id='type-id-769'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='source_nat' type-id='type-id-31' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='584' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='proto' type-id='type-id-122' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='590' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_ttl_config' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='615' column='1' id='type-id-770'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='drop' type-id='type-id-31' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='n_packets_enabled' type-id='type-id-31' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='629' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_stats_config' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='653' column='1' id='type-id-771'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n_packets_enabled' type-id='type-id-31' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='659' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='n_bytes_enabled' type-id='type-id-31' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='666' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_sym_crypto_config' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='732' column='1' id='type-id-772'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cryptodev_id' type-id='type-id-122' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='734' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='op_offset' type-id='type-id-55' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='740' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp_create' type-id='type-id-56' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='743' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mp_init' type-id='type-id-56' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='746' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_profile' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-776'/>
+    <pointer-type-def type-id='type-id-776' size-in-bits='64' id='type-id-762'/>
+    <class-decl name='rte_table_action' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-777'/>
+    <pointer-type-def type-id='type-id-777' size-in-bits='64' id='type-id-750'/>
+    <class-decl name='flow_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='55' column='1' id='type-id-751'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-650' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-651' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='55' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_dscp_table' size-in-bits='6144' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='209' column='1' id='type-id-752'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='entry' type-id='type-id-778' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='211' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_table_action_dscp_table_entry' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='190' column='1' id='type-id-779'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tc_id' type-id='type-id-55' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tc_queue_id' type-id='type-id-55' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='200' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='color' type-id='type-id-780' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='205' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_color' filepath='../lib/librte_meter/rte_meter.h' line='36' column='1' id='type-id-780'>
+      <underlying-type type-id='type-id-138'/>
+      <enumerator name='RTE_COLOR_GREEN' value='0'/>
+      <enumerator name='RTE_COLOR_YELLOW' value='1'/>
+      <enumerator name='RTE_COLOR_RED' value='2'/>
+      <enumerator name='RTE_COLORS' value='3'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-779' size-in-bits='6144' id='type-id-778'>
+      <subrange length='64' type-id='type-id-60' id='type-id-127'/>
+
+    </array-type-def>
+    <class-decl name='softnic_table_meter_profile_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='355' column='1' id='type-id-753'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-781' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='355' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-782' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='355' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='softnic_table_meter_profile' size-in-bits='512' is-struct='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='349' column='1' id='type-id-783'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='node' type-id='type-id-784' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='350' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='meter_profile_id' type-id='type-id-55' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='351' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='profile' type-id='type-id-785' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='352' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='350' column='1' id='type-id-784'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-781' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='350' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-782' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='350' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-783' size-in-bits='64' id='type-id-781'/>
+    <pointer-type-def type-id='type-id-781' size-in-bits='64' id='type-id-782'/>
+    <class-decl name='rte_table_action_meter_profile' size-in-bits='320' is-struct='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='224' column='1' id='type-id-785'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='alg' type-id='type-id-773' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='226' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-786' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='229' column='1' id='type-id-786'>
+      <data-member access='private'>
+        <var-decl name='srtcm' type-id='type-id-787' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='trtcm' type-id='type-id-788' visibility='default' filepath='../lib/librte_pipeline/rte_table_action.h' line='234' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_meter_srtcm_params' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='46' column='1' id='type-id-787'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cir' type-id='type-id-54' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='47' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='cbs' type-id='type-id-54' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ebs' type-id='type-id-54' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='49' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_meter_trtcm_params' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='55' column='1' id='type-id-788'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cir' type-id='type-id-54' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pir' type-id='type-id-54' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cbs' type-id='type-id-54' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='pbs' type-id='type-id-54' visibility='default' filepath='../lib/librte_meter/rte_meter.h' line='59' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-747' size-in-bits='593920' id='type-id-713'>
+      <subrange length='64' type-id='type-id-60' id='type-id-127'/>
+
+    </array-type-def>
+    <class-decl name='rte_ring' size-in-bits='3072' is-struct='yes' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='81' column='1' id='type-id-789'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-69' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='87' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='flags' type-id='type-id-31' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='memzone' type-id='type-id-71' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='89' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='size' type-id='type-id-55' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='mask' type-id='type-id-55' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='92' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='capacity' type-id='type-id-55' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='93' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='pad0' type-id='type-id-76' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='95' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='prod' type-id='type-id-790' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='98' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='pad1' type-id='type-id-76' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='99' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='cons' type-id='type-id-790' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='102' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='pad2' type-id='type-id-76' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='103' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_ring_headtail' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='65' column='1' id='type-id-790'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='head' type-id='type-id-533' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tail' type-id='type-id-533' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='single' type-id='type-id-55' visibility='default' filepath='../lib/librte_ring/rte_ring.h' line='68' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-789' size-in-bits='64' id='type-id-714'/>
+    <pointer-type-def type-id='type-id-791' size-in-bits='64' id='type-id-625'/>
+    <pointer-type-def type-id='type-id-792' size-in-bits='64' id='type-id-626'/>
+    <pointer-type-def type-id='type-id-793' size-in-bits='64' id='type-id-627'/>
+    <pointer-type-def type-id='type-id-794' size-in-bits='64' id='type-id-628'/>
+    <pointer-type-def type-id='type-id-795' size-in-bits='64' id='type-id-629'/>
+    <qualified-type-def type-id='type-id-623' const='yes' id='type-id-796'/>
+    <var-decl name='pmd_flow_ops' type-id='type-id-796' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='655' column='1'/>
+    <function-type size-in-bits='64' id='type-id-644'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-632'/>
+      <parameter type-id='type-id-636'/>
+      <parameter type-id='type-id-640'/>
+      <parameter type-id='type-id-643'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-795'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-31'/>
+      <parameter type-id='type-id-643'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-794'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-650'/>
+      <parameter type-id='type-id-640'/>
+      <parameter type-id='type-id-37'/>
+      <parameter type-id='type-id-643'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-792'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-650'/>
+      <parameter type-id='type-id-643'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-793'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-643'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-791'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-632'/>
+      <parameter type-id='type-id-636'/>
+      <parameter type-id='type-id-640'/>
+      <parameter type-id='type-id-643'/>
+      <return type-id='type-id-650'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-737'>
+      <parameter type-id='type-id-37'/>
+      <parameter type-id='type-id-37'/>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-54'/>
+      <return type-id='type-id-54'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/softnic/rte_eth_softnic_meter.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_mtr_ops' size-in-bits='768' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_mtr_driver.h' line='98' column='1' id='type-id-797'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='capabilities_get' type-id='type-id-798' visibility='default' filepath='../lib/librte_ethdev/rte_mtr_driver.h' line='100' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='meter_profile_add' type-id='type-id-799' visibility='default' filepath='../lib/librte_ethdev/rte_mtr_driver.h' line='103' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='meter_profile_delete' type-id='type-id-800' visibility='default' filepath='../lib/librte_ethdev/rte_mtr_driver.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='create' type-id='type-id-801' visibility='default' filepath='../lib/librte_ethdev/rte_mtr_driver.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='destroy' type-id='type-id-802' visibility='default' filepath='../lib/librte_ethdev/rte_mtr_driver.h' line='112' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='meter_enable' type-id='type-id-803' visibility='default' filepath='../lib/librte_ethdev/rte_mtr_driver.h' line='115' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='meter_disable' type-id='type-id-804' visibility='default' filepath='../lib/librte_ethdev/rte_mtr_driver.h' line='118' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='meter_profile_update' type-id='type-id-805' visibility='default' filepath='../lib/librte_ethdev/rte_mtr_driver.h' line='121' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='meter_dscp_table_update' type-id='type-id-806' visibility='default' filepath='../lib/librte_ethdev/rte_mtr_driver.h' line='124' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='policer_actions_update' type-id='type-id-807' visibility='default' filepath='../lib/librte_ethdev/rte_mtr_driver.h' line='127' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='stats_update' type-id='type-id-808' visibility='default' filepath='../lib/librte_ethdev/rte_mtr_driver.h' line='130' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='stats_read' type-id='type-id-809' visibility='default' filepath='../lib/librte_ethdev/rte_mtr_driver.h' line='133' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mtr_capabilities' size-in-bits='704' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='247' column='1' id='type-id-810'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='n_shared_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='identical' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='shared_identical' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='265' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='shared_n_flows_per_mtr_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='271' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='chaining_n_mtrs_per_flow_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='277' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='chaining_use_prev_mtr_color_supported' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='289' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='chaining_use_prev_mtr_color_enforced' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='300' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='meter_srtcm_rfc2697_n_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='306' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='meter_trtcm_rfc2698_n_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='312' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='meter_trtcm_rfc4115_n_max' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='318' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='meter_rate_max' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='325' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='color_aware_srtcm_rfc2697_supported' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='331' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='color_aware_trtcm_rfc2698_supported' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='337' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='color_aware_trtcm_rfc4115_supported' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='343' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='policer_action_recolor_supported' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='349' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='policer_action_drop_supported' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='355' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='stats_mask' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='360' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-810' size-in-bits='64' id='type-id-811'/>
+    <class-decl name='rte_mtr_error' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='395' column='1' id='type-id-812'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-813' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='396' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='cause' type-id='type-id-37' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='397' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='message' type-id='type-id-302' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='398' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_mtr_error_type' filepath='../lib/librte_ethdev/rte_mtr.h' line='369' column='1' id='type-id-813'>
+      <underlying-type type-id='type-id-138'/>
+      <enumerator name='RTE_MTR_ERROR_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_MTR_ERROR_TYPE_UNSPECIFIED' value='1'/>
+      <enumerator name='RTE_MTR_ERROR_TYPE_METER_PROFILE_ID' value='2'/>
+      <enumerator name='RTE_MTR_ERROR_TYPE_METER_PROFILE' value='3'/>
+      <enumerator name='RTE_MTR_ERROR_TYPE_MTR_ID' value='4'/>
+      <enumerator name='RTE_MTR_ERROR_TYPE_MTR_PARAMS' value='5'/>
+      <enumerator name='RTE_MTR_ERROR_TYPE_POLICER_ACTION_GREEN' value='6'/>
+      <enumerator name='RTE_MTR_ERROR_TYPE_POLICER_ACTION_YELLOW' value='7'/>
+      <enumerator name='RTE_MTR_ERROR_TYPE_POLICER_ACTION_RED' value='8'/>
+      <enumerator name='RTE_MTR_ERROR_TYPE_STATS_MASK' value='9'/>
+      <enumerator name='RTE_MTR_ERROR_TYPE_STATS' value='10'/>
+      <enumerator name='RTE_MTR_ERROR_TYPE_SHARED' value='11'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-812' size-in-bits='64' id='type-id-814'/>
+    <pointer-type-def type-id='type-id-815' size-in-bits='64' id='type-id-816'/>
+    <typedef-decl name='rte_mtr_capabilities_get_t' type-id='type-id-816' filepath='../lib/librte_ethdev/rte_mtr_driver.h' line='27' column='1' id='type-id-798'/>
+    <class-decl name='rte_mtr_meter_profile' size-in-bits='320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='127' column='1' id='type-id-817'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='alg' type-id='type-id-818' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='129' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-819' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_mtr_algorithm' filepath='../lib/librte_ethdev/rte_mtr.h' line='106' column='1' id='type-id-818'>
+      <underlying-type type-id='type-id-138'/>
+      <enumerator name='RTE_MTR_NONE' value='0'/>
+      <enumerator name='RTE_MTR_SRTCM_RFC2697' value='1'/>
+      <enumerator name='RTE_MTR_TRTCM_RFC2698' value='2'/>
+      <enumerator name='RTE_MTR_TRTCM_RFC4115' value='3'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='132' column='1' id='type-id-819'>
+      <data-member access='private'>
+        <var-decl name='srtcm_rfc2697' type-id='type-id-820' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='143' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='trtcm_rfc2698' type-id='type-id-821' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='158' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='trtcm_rfc4115' type-id='type-id-822' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='173' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='134' column='1' id='type-id-820'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cir' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='136' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='cbs' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='139' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ebs' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='142' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='146' column='1' id='type-id-821'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cir' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='148' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pir' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='151' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cbs' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='pbs' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='157' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='161' column='1' id='type-id-822'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cir' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='163' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='eir' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='166' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cbs' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='169' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ebs' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='172' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-817' size-in-bits='64' id='type-id-823'/>
+    <pointer-type-def type-id='type-id-824' size-in-bits='64' id='type-id-825'/>
+    <typedef-decl name='rte_mtr_meter_profile_add_t' type-id='type-id-825' filepath='../lib/librte_ethdev/rte_mtr_driver.h' line='32' column='1' id='type-id-799'/>
+    <pointer-type-def type-id='type-id-826' size-in-bits='64' id='type-id-827'/>
+    <typedef-decl name='rte_mtr_meter_profile_delete_t' type-id='type-id-827' filepath='../lib/librte_ethdev/rte_mtr_driver.h' line='38' column='1' id='type-id-800'/>
+    <class-decl name='rte_mtr_params' size-in-bits='320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='199' column='1' id='type-id-828'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='meter_profile_id' type-id='type-id-55' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='201' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='use_prev_mtr_color' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='212' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dscp_table' type-id='type-id-829' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='226' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='meter_enable' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='action' type-id='type-id-830' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='stats_mask' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='241' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-780' size-in-bits='64' id='type-id-829'/>
+    <enum-decl name='rte_mtr_policer_action' filepath='../lib/librte_ethdev/rte_mtr.h' line='180' column='1' id='type-id-831'>
+      <underlying-type type-id='type-id-138'/>
+      <enumerator name='MTR_POLICER_ACTION_COLOR_GREEN' value='0'/>
+      <enumerator name='MTR_POLICER_ACTION_COLOR_YELLOW' value='1'/>
+      <enumerator name='MTR_POLICER_ACTION_COLOR_RED' value='2'/>
+      <enumerator name='MTR_POLICER_ACTION_DROP' value='3'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-831' size-in-bits='96' alignment-in-bits='32' id='type-id-830'>
+      <subrange length='3' type-id='type-id-60' id='type-id-557'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-828' size-in-bits='64' id='type-id-832'/>
+    <pointer-type-def type-id='type-id-833' size-in-bits='64' id='type-id-834'/>
+    <typedef-decl name='rte_mtr_create_t' type-id='type-id-834' filepath='../lib/librte_ethdev/rte_mtr_driver.h' line='43' column='1' id='type-id-801'/>
+    <typedef-decl name='rte_mtr_destroy_t' type-id='type-id-827' filepath='../lib/librte_ethdev/rte_mtr_driver.h' line='50' column='1' id='type-id-802'/>
+    <typedef-decl name='rte_mtr_meter_enable_t' type-id='type-id-827' filepath='../lib/librte_ethdev/rte_mtr_driver.h' line='55' column='1' id='type-id-803'/>
+    <typedef-decl name='rte_mtr_meter_disable_t' type-id='type-id-827' filepath='../lib/librte_ethdev/rte_mtr_driver.h' line='60' column='1' id='type-id-804'/>
+    <pointer-type-def type-id='type-id-835' size-in-bits='64' id='type-id-836'/>
+    <typedef-decl name='rte_mtr_meter_profile_update_t' type-id='type-id-836' filepath='../lib/librte_ethdev/rte_mtr_driver.h' line='65' column='1' id='type-id-805'/>
+    <pointer-type-def type-id='type-id-837' size-in-bits='64' id='type-id-838'/>
+    <typedef-decl name='rte_mtr_meter_dscp_table_update_t' type-id='type-id-838' filepath='../lib/librte_ethdev/rte_mtr_driver.h' line='71' column='1' id='type-id-806'/>
+    <pointer-type-def type-id='type-id-831' size-in-bits='64' id='type-id-839'/>
+    <pointer-type-def type-id='type-id-840' size-in-bits='64' id='type-id-841'/>
+    <typedef-decl name='rte_mtr_policer_actions_update_t' type-id='type-id-841' filepath='../lib/librte_ethdev/rte_mtr_driver.h' line='77' column='1' id='type-id-807'/>
+    <pointer-type-def type-id='type-id-842' size-in-bits='64' id='type-id-843'/>
+    <typedef-decl name='rte_mtr_stats_update_t' type-id='type-id-843' filepath='../lib/librte_ethdev/rte_mtr_driver.h' line='84' column='1' id='type-id-808'/>
+    <class-decl name='rte_mtr_stats' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='89' column='1' id='type-id-844'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='n_pkts' type-id='type-id-616' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='n_bytes' type-id='type-id-616' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='n_pkts_dropped' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='97' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='n_bytes_dropped' type-id='type-id-54' visibility='default' filepath='../lib/librte_ethdev/rte_mtr.h' line='100' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-844' size-in-bits='64' id='type-id-845'/>
+    <pointer-type-def type-id='type-id-846' size-in-bits='64' id='type-id-847'/>
+    <typedef-decl name='rte_mtr_stats_read_t' type-id='type-id-847' filepath='../lib/librte_ethdev/rte_mtr_driver.h' line='90' column='1' id='type-id-809'/>
+    <qualified-type-def type-id='type-id-797' const='yes' id='type-id-848'/>
+    <var-decl name='pmd_mtr_ops' type-id='type-id-848' visibility='default' filepath='../drivers/net/softnic/rte_eth_softnic_internals.h' line='674' column='1'/>
+    <function-type size-in-bits='64' id='type-id-815'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-811'/>
+      <parameter type-id='type-id-814'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-837'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-829'/>
+      <parameter type-id='type-id-814'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-826'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-814'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-824'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-823'/>
+      <parameter type-id='type-id-814'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-833'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-832'/>
+      <parameter type-id='type-id-31'/>
+      <parameter type-id='type-id-814'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-846'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-845'/>
+      <parameter type-id='type-id-500'/>
+      <parameter type-id='type-id-31'/>
+      <parameter type-id='type-id-814'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-835'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-814'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-840'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-839'/>
+      <parameter type-id='type-id-814'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-842'>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-55'/>
+      <parameter type-id='type-id-54'/>
+      <parameter type-id='type-id-814'/>
+      <return type-id='type-id-31'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_sw_event.dump b/drivers/.abi/librte_pmd_sw_event.dump
new file mode 100644
index 000000000..4894ccf9a
--- /dev/null
+++ b/drivers/.abi/librte_pmd_sw_event.dump
@@ -0,0 +1,28 @@
+<abi-corpus path='gcc//drivers/librte_pmd_sw_event.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_sw_event.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_eventdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='librte_timer.so.20.0'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/event/sw/sw_evdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='eventdev_sw_log_level' type-id='type-id-1' visibility='default' filepath='../drivers/event/sw/sw_evdev_log.h' line='8' column='1'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_szedata2.dump b/drivers/.abi/librte_pmd_szedata2.dump
new file mode 100644
index 000000000..52499ba4b
--- /dev/null
+++ b/drivers/.abi/librte_pmd_szedata2.dump
@@ -0,0 +1,28 @@
+<abi-corpus path='gcc//drivers/librte_pmd_szedata2.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_szedata2.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libsze2.so.1'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/szedata2/rte_eth_szedata2.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='szedata2_logtype_init' type-id='type-id-1' visibility='default' filepath='../drivers/net/szedata2/szedata2_logs.h' line='10' column='1'/>
+    <var-decl name='szedata2_logtype_driver' type-id='type-id-1' visibility='default' filepath='../drivers/net/szedata2/szedata2_logs.h' line='17' column='1'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_tap.dump b/drivers/.abi/librte_pmd_tap.dump
new file mode 100644
index 000000000..343396041
--- /dev/null
+++ b/drivers/.abi/librte_pmd_tap.dump
@@ -0,0 +1,26 @@
+<abi-corpus path='gcc//drivers/librte_pmd_tap.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_tap.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_gso.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/tap/rte_eth_tap.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='tap_logtype' type-id='type-id-1' visibility='default' filepath='../drivers/net/tap/tap_log.h' line='6' column='1'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_thunderx.dump b/drivers/.abi/librte_pmd_thunderx.dump
new file mode 100644
index 000000000..e33ac33f4
--- /dev/null
+++ b/drivers/.abi/librte_pmd_thunderx.dump
@@ -0,0 +1,28 @@
+<abi-corpus path='gcc//drivers/librte_pmd_thunderx.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_thunderx.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/thunderx/nicvf_ethdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='nicvf_logtype_mbox' type-id='type-id-1' visibility='default' filepath='../drivers/net/thunderx/base/../nicvf_logs.h' line='42' column='1'/>
+    <var-decl name='nicvf_logtype_init' type-id='type-id-1' visibility='default' filepath='../drivers/net/thunderx/base/../nicvf_logs.h' line='40' column='1'/>
+    <var-decl name='nicvf_logtype_driver' type-id='type-id-1' visibility='default' filepath='../drivers/net/thunderx/base/../nicvf_logs.h' line='41' column='1'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_thunderx_nicvf.dump b/drivers/.abi/librte_pmd_thunderx_nicvf.dump
new file mode 100644
index 000000000..9a9a9badf
--- /dev/null
+++ b/drivers/.abi/librte_pmd_thunderx_nicvf.dump
@@ -0,0 +1,12 @@
+<abi-corpus path='tmp_abi_sofiles//drivers/librte_pmd_thunderx_nicvf.so.20.0.0' architecture='elf-amd-x86_64' soname='librte_pmd_thunderx_nicvf.so.20.0'>
+  <elf-needed>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_vdev_netvsc.dump b/drivers/.abi/librte_pmd_vdev_netvsc.dump
new file mode 100644
index 000000000..06248b06e
--- /dev/null
+++ b/drivers/.abi/librte_pmd_vdev_netvsc.dump
@@ -0,0 +1,22 @@
+<abi-corpus path='gcc//drivers/librte_pmd_vdev_netvsc.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_vdev_netvsc.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_vhost.dump b/drivers/.abi/librte_pmd_vhost.dump
new file mode 100644
index 000000000..4189eb58a
--- /dev/null
+++ b/drivers/.abi/librte_pmd_vhost.dump
@@ -0,0 +1,57 @@
+<abi-corpus path='gcc//drivers/librte_pmd_vhost.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_vhost.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='librte_vhost.so.20.0'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_eth_vhost_get_queue_event' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_eth_vhost_get_vid_from_port_id' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/vhost/rte_eth_vhost.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-2'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-2' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-3'/>
+    <typedef-decl name='uint16_t' type-id='type-id-3' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-4'/>
+    <function-decl name='rte_eth_vhost_get_vid_from_port_id' mangled-name='rte_eth_vhost_get_vid_from_port_id' filepath='../drivers/net/vhost/rte_eth_vhost.c' line='918' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_vhost_get_vid_from_port_id@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='port_id' filepath='../drivers/net/vhost/rte_eth_vhost.c' line='918' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <class-decl name='rte_eth_vhost_queue_event' size-in-bits='32' is-struct='yes' visibility='default' filepath='../drivers/net/vhost/rte_eth_vhost.h' line='20' column='1' id='type-id-5'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='queue_id' type-id='type-id-4' visibility='default' filepath='../drivers/net/vhost/rte_eth_vhost.h' line='21' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='rx' type-id='type-id-6' visibility='default' filepath='../drivers/net/vhost/rte_eth_vhost.h' line='22' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='enable' type-id='type-id-6' visibility='default' filepath='../drivers/net/vhost/rte_eth_vhost.h' line='23' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='bool' size-in-bits='8' id='type-id-6'/>
+    <pointer-type-def type-id='type-id-5' size-in-bits='64' id='type-id-7'/>
+    <function-decl name='rte_eth_vhost_get_queue_event' mangled-name='rte_eth_vhost_get_queue_event' filepath='../drivers/net/vhost/rte_eth_vhost.c' line='881' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_eth_vhost_get_queue_event@@DPDK_20.0'>
+      <parameter type-id='type-id-4' name='port_id' filepath='../drivers/net/vhost/rte_eth_vhost.c' line='881' column='1'/>
+      <parameter type-id='type-id-7' name='event' filepath='../drivers/net/vhost/rte_eth_vhost.c' line='882' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_virtio.dump b/drivers/.abi/librte_pmd_virtio.dump
new file mode 100644
index 000000000..86b50a265
--- /dev/null
+++ b/drivers/.abi/librte_pmd_virtio.dump
@@ -0,0 +1,3808 @@
+<abi-corpus path='gcc//drivers/librte_pmd_virtio.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_virtio.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/virtio/virtio_ethdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='virtio_logtype_init' type-id='type-id-1' visibility='default' filepath='../drivers/net/virtio/virtio_logs.h' line='10' column='1'/>
+    <var-decl name='virtio_logtype_driver' type-id='type-id-1' visibility='default' filepath='../drivers/net/virtio/virtio_logs.h' line='31' column='1'/>
+    <class-decl name='virtio_hw_internal' size-in-bits='256' is-struct='yes' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='279' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vtpci_ops' type-id='type-id-3' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='280' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='io' type-id='type-id-4' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='281' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='virtio_pci_ops' size-in-bits='832' is-struct='yes' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='209' column='1' id='type-id-5'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='read_dev_cfg' type-id='type-id-6' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='210' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='write_dev_cfg' type-id='type-id-6' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='212' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='get_status' type-id='type-id-7' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='215' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='set_status' type-id='type-id-8' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='216' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='get_features' type-id='type-id-9' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='218' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='set_features' type-id='type-id-10' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='219' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='get_isr' type-id='type-id-7' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='221' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='set_config_irq' type-id='type-id-11' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='223' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='set_queue_irq' type-id='type-id-12' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='get_queue_num' type-id='type-id-11' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='setup_queue' type-id='type-id-13' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='del_queue' type-id='type-id-14' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='notify_queue' type-id='type-id-14' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='231' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='void' id='type-id-15'/>
+    <class-decl name='virtio_hw' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='236' column='1' id='type-id-16'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cvq' type-id='type-id-17' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='req_guest_features' type-id='type-id-18' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='guest_features' type-id='type-id-18' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='239' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='max_queue_pairs' type-id='type-id-19' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='started' type-id='type-id-20' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='241' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='240'>
+        <var-decl name='max_mtu' type-id='type-id-21' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='242' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='vtnet_hdr_size' type-id='type-id-21' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='243' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='272'>
+        <var-decl name='vlan_strip' type-id='type-id-22' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='280'>
+        <var-decl name='use_msix' type-id='type-id-22' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='modern' type-id='type-id-22' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='246' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='296'>
+        <var-decl name='use_simple_rx' type-id='type-id-22' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='304'>
+        <var-decl name='use_inorder_rx' type-id='type-id-22' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='312'>
+        <var-decl name='use_inorder_tx' type-id='type-id-22' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='weak_barriers' type-id='type-id-22' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='328'>
+        <var-decl name='has_tx_offload' type-id='type-id-20' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='has_rx_offload' type-id='type-id-20' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='port_id' type-id='type-id-21' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='mac_addr' type-id='type-id-23' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='notify_off_multiplier' type-id='type-id-19' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='isr' type-id='type-id-24' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='notify_base' type-id='type-id-25' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='common_cfg' type-id='type-id-26' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dev_cfg' type-id='type-id-27' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='virtio_user_dev' type-id='type-id-28' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='state_lock' type-id='type-id-29' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='266' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='inject_pkts' type-id='type-id-30' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='267' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='opened' type-id='type-id-20' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='268' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='vqs' type-id='type-id-31' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='270' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='virtnet_ctl' size-in-bits='384' is-struct='yes' visibility='default' filepath='../drivers/net/virtio/virtio_rxtx.h' line='51' column='1' id='type-id-32'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vq' type-id='type-id-33' visibility='default' filepath='../drivers/net/virtio/virtio_rxtx.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='virtio_net_hdr_mz' type-id='type-id-34' visibility='default' filepath='../drivers/net/virtio/virtio_rxtx.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='virtio_net_hdr_mem' type-id='type-id-35' visibility='default' filepath='../drivers/net/virtio/virtio_rxtx.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='port_id' type-id='type-id-21' visibility='default' filepath='../drivers/net/virtio/virtio_rxtx.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='mz' type-id='type-id-34' visibility='default' filepath='../drivers/net/virtio/virtio_rxtx.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='lock' type-id='type-id-29' visibility='default' filepath='../drivers/net/virtio/virtio_rxtx.h' line='58' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='virtqueue' size-in-bits='4608' is-struct='yes' visibility='default' filepath='../drivers/net/virtio/virtqueue.h' line='239' column='1' id='type-id-36'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='hw' type-id='type-id-37' visibility='default' filepath='../drivers/net/virtio/virtqueue.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-38' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='vq_used_cons_idx' type-id='type-id-21' visibility='default' filepath='../drivers/net/virtio/virtqueue.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='400'>
+        <var-decl name='vq_nentries' type-id='type-id-21' visibility='default' filepath='../drivers/net/virtio/virtqueue.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vq_free_cnt' type-id='type-id-21' visibility='default' filepath='../drivers/net/virtio/virtqueue.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='vq_avail_idx' type-id='type-id-21' visibility='default' filepath='../drivers/net/virtio/virtqueue.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='vq_free_thresh' type-id='type-id-21' visibility='default' filepath='../drivers/net/virtio/virtqueue.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='vq_ring_virt_mem' type-id='type-id-28' visibility='default' filepath='../drivers/net/virtio/virtqueue.h' line='262' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='vq_ring_size' type-id='type-id-39' visibility='default' filepath='../drivers/net/virtio/virtqueue.h' line='263' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4096'>
+        <var-decl name='vq_ring_mem' type-id='type-id-35' visibility='default' filepath='../drivers/net/virtio/virtqueue.h' line='271' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4160'>
+        <var-decl name='vq_desc_head_idx' type-id='type-id-21' visibility='default' filepath='../drivers/net/virtio/virtqueue.h' line='279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4176'>
+        <var-decl name='vq_desc_tail_idx' type-id='type-id-21' visibility='default' filepath='../drivers/net/virtio/virtqueue.h' line='280' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4192'>
+        <var-decl name='vq_queue_index' type-id='type-id-21' visibility='default' filepath='../drivers/net/virtio/virtqueue.h' line='281' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4208'>
+        <var-decl name='offset' type-id='type-id-21' visibility='default' filepath='../drivers/net/virtio/virtqueue.h' line='282' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4224'>
+        <var-decl name='notify_addr' type-id='type-id-25' visibility='default' filepath='../drivers/net/virtio/virtqueue.h' line='283' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4288'>
+        <var-decl name='sw_ring' type-id='type-id-30' visibility='default' filepath='../drivers/net/virtio/virtqueue.h' line='284' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4352'>
+        <var-decl name='vq_descx' type-id='type-id-40' visibility='default' filepath='../drivers/net/virtio/virtqueue.h' line='285' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-16' size-in-bits='64' id='type-id-37'/>
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='../drivers/net/virtio/virtqueue.h' line='241' column='1' id='type-id-38'>
+      <data-member access='private'>
+        <var-decl name='vq_split' type-id='type-id-41' visibility='default' filepath='../drivers/net/virtio/virtqueue.h' line='245' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='vq_packed' type-id='type-id-42' visibility='default' filepath='../drivers/net/virtio/virtqueue.h' line='253' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/virtio/virtqueue.h' line='242' column='1' id='type-id-41'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ring' type-id='type-id-43' visibility='default' filepath='../drivers/net/virtio/virtqueue.h' line='244' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='vring' size-in-bits='256' is-struct='yes' visibility='default' filepath='../drivers/net/virtio/virtio_user/../virtio_ring.h' line='91' column='1' id='type-id-43'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='num' type-id='type-id-39' visibility='default' filepath='../drivers/net/virtio/virtio_ring.h' line='92' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='desc' type-id='type-id-44' visibility='default' filepath='../drivers/net/virtio/virtio_ring.h' line='93' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='avail' type-id='type-id-45' visibility='default' filepath='../drivers/net/virtio/virtio_ring.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='used' type-id='type-id-46' visibility='default' filepath='../drivers/net/virtio/virtio_ring.h' line='95' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-39'/>
+    <class-decl name='vring_desc' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/virtio/virtio_ring.h' line='39' column='1' id='type-id-47'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr' type-id='type-id-18' visibility='default' filepath='../drivers/net/virtio/virtio_ring.h' line='40' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-19' visibility='default' filepath='../drivers/net/virtio/virtio_ring.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='flags' type-id='type-id-21' visibility='default' filepath='../drivers/net/virtio/virtio_ring.h' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='112'>
+        <var-decl name='next' type-id='type-id-21' visibility='default' filepath='../drivers/net/virtio/virtio_ring.h' line='43' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-48'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-48' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-49'/>
+    <typedef-decl name='uint64_t' type-id='type-id-49' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-18'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-39' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-50'/>
+    <typedef-decl name='uint32_t' type-id='type-id-50' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-19'/>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-51'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-51' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-52'/>
+    <typedef-decl name='uint16_t' type-id='type-id-52' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-21'/>
+    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-44'/>
+    <class-decl name='vring_avail' size-in-bits='32' is-struct='yes' visibility='default' filepath='../drivers/net/virtio/virtio_ring.h' line='46' column='1' id='type-id-53'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-21' visibility='default' filepath='../drivers/net/virtio/virtio_ring.h' line='47' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='idx' type-id='type-id-21' visibility='default' filepath='../drivers/net/virtio/virtio_ring.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ring' type-id='type-id-54' visibility='default' filepath='../drivers/net/virtio/virtio_ring.h' line='49' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-21' size-in-bits='infinite' id='type-id-54'>
+      <subrange length='infinite' type-id='type-id-48' id='type-id-55'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-45'/>
+    <class-decl name='vring_used' size-in-bits='32' is-struct='yes' visibility='default' filepath='../drivers/net/virtio/virtio_ring.h' line='60' column='1' id='type-id-56'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-21' visibility='default' filepath='../drivers/net/virtio/virtio_ring.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='idx' type-id='type-id-57' visibility='default' filepath='../drivers/net/virtio/virtio_ring.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ring' type-id='type-id-58' visibility='default' filepath='../drivers/net/virtio/virtio_ring.h' line='63' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-21' volatile='yes' id='type-id-57'/>
+    <class-decl name='vring_used_elem' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/net/virtio/virtio_ring.h' line='53' column='1' id='type-id-59'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-19' visibility='default' filepath='../drivers/net/virtio/virtio_ring.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='len' type-id='type-id-19' visibility='default' filepath='../drivers/net/virtio/virtio_ring.h' line='57' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-59' size-in-bits='infinite' id='type-id-58'>
+      <subrange length='infinite' type-id='type-id-48' id='type-id-55'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-56' size-in-bits='64' id='type-id-46'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/virtio/virtqueue.h' line='247' column='1' id='type-id-42'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ring' type-id='type-id-60' visibility='default' filepath='../drivers/net/virtio/virtqueue.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='used_wrap_counter' type-id='type-id-20' visibility='default' filepath='../drivers/net/virtio/virtqueue.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='272'>
+        <var-decl name='cached_flags' type-id='type-id-21' visibility='default' filepath='../drivers/net/virtio/virtqueue.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='event_flags_shadow' type-id='type-id-21' visibility='default' filepath='../drivers/net/virtio/virtqueue.h' line='252' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='vring_packed' size-in-bits='256' is-struct='yes' visibility='default' filepath='../drivers/net/virtio/virtio_user/../virtio_ring.h' line='84' column='1' id='type-id-60'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='num' type-id='type-id-39' visibility='default' filepath='../drivers/net/virtio/virtio_ring.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='desc' type-id='type-id-61' visibility='default' filepath='../drivers/net/virtio/virtio_ring.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='driver' type-id='type-id-62' visibility='default' filepath='../drivers/net/virtio/virtio_ring.h' line='87' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='device' type-id='type-id-62' visibility='default' filepath='../drivers/net/virtio/virtio_ring.h' line='88' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='vring_packed_desc' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/virtio/virtio_ring.h' line='69' column='1' id='type-id-63'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr' type-id='type-id-18' visibility='default' filepath='../drivers/net/virtio/virtio_ring.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-19' visibility='default' filepath='../drivers/net/virtio/virtio_ring.h' line='71' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='id' type-id='type-id-21' visibility='default' filepath='../drivers/net/virtio/virtio_ring.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='112'>
+        <var-decl name='flags' type-id='type-id-21' visibility='default' filepath='../drivers/net/virtio/virtio_ring.h' line='73' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-61'/>
+    <class-decl name='vring_packed_desc_event' size-in-bits='32' is-struct='yes' visibility='default' filepath='../drivers/net/virtio/virtio_ring.h' line='79' column='1' id='type-id-64'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='desc_event_off_wrap' type-id='type-id-21' visibility='default' filepath='../drivers/net/virtio/virtio_ring.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='desc_event_flags' type-id='type-id-21' visibility='default' filepath='../drivers/net/virtio/virtio_ring.h' line='81' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-64' size-in-bits='64' id='type-id-62'/>
+    <type-decl name='bool' size-in-bits='8' id='type-id-20'/>
+    <pointer-type-def type-id='type-id-15' size-in-bits='64' id='type-id-28'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-18' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-35'/>
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-25'/>
+    <class-decl name='rte_mbuf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='480' column='1' id='type-id-65'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheline0' type-id='type-id-66' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-28' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-67' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rearm_data' type-id='type-id-68' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='497' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_off' type-id='type-id-21' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_segs' type-id='type-id-21' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='port' type-id='type-id-21' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ol_flags' type-id='type-id-18' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_descriptor_fields1' type-id='type-id-66' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='pkt_len' type-id='type-id-19' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data_len' type-id='type-id-21' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='vlan_tci' type-id='type-id-21' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vlan_tci_outer' type-id='type-id-21' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='buf_len' type-id='type-id-21' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='timestamp' type-id='type-id-18' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cacheline1' type-id='type-id-66' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='pool' type-id='type-id-69' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='next' type-id='type-id-70' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv_size' type-id='type-id-21' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='timesync' type-id='type-id-21' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='seqn' type-id='type-id-19' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='shinfo' type-id='type-id-71' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dynfield1' type-id='type-id-72' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-28' size-in-bits='infinite' id='type-id-73'>
+      <subrange length='infinite' type-id='type-id-48' id='type-id-55'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER' type-id='type-id-73' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='414' column='1' id='type-id-66'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='491' column='1' id='type-id-67'>
+      <data-member access='private'>
+        <var-decl name='buf_iova' type-id='type-id-35' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='buf_physaddr' type-id='type-id-35' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-18' size-in-bits='infinite' id='type-id-74'>
+      <subrange length='infinite' type-id='type-id-48' id='type-id-55'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER64' type-id='type-id-74' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='420' column='1' id='type-id-68'/>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-75'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-76' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-77' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-34' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-19' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-19' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-19' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-19' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-19' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-78' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-79' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-19' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-80' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-19' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-81' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-82'/>
+
+    <array-type-def dimensions='1' type-id='type-id-82' size-in-bits='256' id='type-id-76'>
+      <subrange length='32' type-id='type-id-48' id='type-id-83'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-77'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-18' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-84'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-76' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-85' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-86' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-18' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-78' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-85'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-87' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-35' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-18' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-87'/>
+    <typedef-decl name='size_t' type-id='type-id-48' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-86'/>
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-88'/>
+    <typedef-decl name='int32_t' type-id='type-id-88' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-78'/>
+    <qualified-type-def type-id='type-id-84' const='yes' id='type-id-89'/>
+    <pointer-type-def type-id='type-id-89' size-in-bits='64' id='type-id-34'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-90'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-19' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-19' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-19' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-91' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-28' size-in-bits='98304' id='type-id-91'>
+      <subrange length='1536' type-id='type-id-48' id='type-id-92'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-90' size-in-bits='64' id='type-id-79'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-80'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-93' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-94' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-95'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-96' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-69' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-97' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-96'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-93' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-95' size-in-bits='64' id='type-id-93'/>
+    <pointer-type-def type-id='type-id-75' size-in-bits='64' id='type-id-69'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-97'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-35' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-87' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-93' size-in-bits='64' id='type-id-94'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-81'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-98' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-99' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-100'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-101' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-69' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-102' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-86' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-103' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-28' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-101'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-98' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-100' size-in-bits='64' id='type-id-98'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-102'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-35' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-87' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-104' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-105'/>
+    <pointer-type-def type-id='type-id-105' size-in-bits='64' id='type-id-103'/>
+    <pointer-type-def type-id='type-id-98' size-in-bits='64' id='type-id-99'/>
+    <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-70'/>
+    <class-decl name='rte_mbuf_ext_shared_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='689' column='1' id='type-id-106'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_cb' type-id='type-id-107' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcb_opaque' type-id='type-id-28' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt_atomic' type-id='type-id-108' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-109' size-in-bits='64' id='type-id-110'/>
+    <typedef-decl name='rte_mbuf_extbuf_free_callback_t' type-id='type-id-110' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='684' column='1' id='type-id-107'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-108' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-111'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-112' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-113'/>
+    <typedef-decl name='__int16_t' type-id='type-id-113' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-114'/>
+    <typedef-decl name='int16_t' type-id='type-id-114' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-115'/>
+    <qualified-type-def type-id='type-id-115' volatile='yes' id='type-id-112'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-111' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-108'/>
+    <pointer-type-def type-id='type-id-106' size-in-bits='64' id='type-id-71'/>
+
+    <array-type-def dimensions='1' type-id='type-id-18' size-in-bits='128' id='type-id-72'>
+      <subrange length='2' type-id='type-id-48' id='type-id-116'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-70' size-in-bits='64' id='type-id-30'/>
+    <class-decl name='vq_desc_extra' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/virtio/virtqueue.h' line='233' column='1' id='type-id-117'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cookie' type-id='type-id-28' visibility='default' filepath='../drivers/net/virtio/virtqueue.h' line='234' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ndescs' type-id='type-id-21' visibility='default' filepath='../drivers/net/virtio/virtqueue.h' line='235' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='next' type-id='type-id-21' visibility='default' filepath='../drivers/net/virtio/virtqueue.h' line='236' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-117' size-in-bits='infinite' id='type-id-40'>
+      <subrange length='infinite' type-id='type-id-48' id='type-id-55'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-33'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-29' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_spinlock.h' line='30' column='1' id='type-id-118'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='locked' type-id='type-id-119' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_spinlock.h' line='31' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-1' volatile='yes' id='type-id-119'/>
+    <typedef-decl name='rte_spinlock_t' type-id='type-id-118' filepath='../lib/librte_eal/common/include/generic/rte_spinlock.h' line='32' column='1' id='type-id-29'/>
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-17'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-120'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-120' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-121'/>
+    <typedef-decl name='uint8_t' type-id='type-id-121' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-22'/>
+
+    <array-type-def dimensions='1' type-id='type-id-22' size-in-bits='48' id='type-id-23'>
+      <subrange length='6' type-id='type-id-48' id='type-id-122'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-24'/>
+    <class-decl name='virtio_pci_common_cfg' size-in-bits='448' is-struct='yes' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='182' column='1' id='type-id-123'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='device_feature_select' type-id='type-id-19' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='184' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='device_feature' type-id='type-id-19' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='185' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='guest_feature_select' type-id='type-id-19' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='guest_feature' type-id='type-id-19' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='msix_config' type-id='type-id-21' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='num_queues' type-id='type-id-21' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='189' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='device_status' type-id='type-id-22' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='190' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='168'>
+        <var-decl name='config_generation' type-id='type-id-22' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='queue_select' type-id='type-id-21' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='queue_size' type-id='type-id-21' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='208'>
+        <var-decl name='queue_msix_vector' type-id='type-id-21' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='196' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='queue_enable' type-id='type-id-21' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='197' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='240'>
+        <var-decl name='queue_notify_off' type-id='type-id-21' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='198' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='queue_desc_lo' type-id='type-id-19' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='199' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='queue_desc_hi' type-id='type-id-19' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='200' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='queue_avail_lo' type-id='type-id-19' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='201' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='queue_avail_hi' type-id='type-id-19' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='202' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='queue_used_lo' type-id='type-id-19' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='203' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='queue_used_hi' type-id='type-id-19' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='204' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-123' size-in-bits='64' id='type-id-26'/>
+    <class-decl name='virtio_net_config' size-in-bits='96' is-struct='yes' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='295' column='1' id='type-id-124'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mac' type-id='type-id-23' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='297' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='status' type-id='type-id-21' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='299' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='max_virtqueue_pairs' type-id='type-id-21' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='300' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='mtu' type-id='type-id-21' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='301' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-124' size-in-bits='64' id='type-id-27'/>
+    <pointer-type-def type-id='type-id-33' size-in-bits='64' id='type-id-31'/>
+    <pointer-type-def type-id='type-id-125' size-in-bits='64' id='type-id-6'/>
+    <pointer-type-def type-id='type-id-126' size-in-bits='64' id='type-id-7'/>
+    <pointer-type-def type-id='type-id-127' size-in-bits='64' id='type-id-8'/>
+    <pointer-type-def type-id='type-id-128' size-in-bits='64' id='type-id-9'/>
+    <pointer-type-def type-id='type-id-129' size-in-bits='64' id='type-id-10'/>
+    <pointer-type-def type-id='type-id-130' size-in-bits='64' id='type-id-11'/>
+    <pointer-type-def type-id='type-id-131' size-in-bits='64' id='type-id-12'/>
+    <pointer-type-def type-id='type-id-132' size-in-bits='64' id='type-id-13'/>
+    <pointer-type-def type-id='type-id-133' size-in-bits='64' id='type-id-14'/>
+    <qualified-type-def type-id='type-id-5' const='yes' id='type-id-134'/>
+    <pointer-type-def type-id='type-id-134' size-in-bits='64' id='type-id-3'/>
+    <class-decl name='rte_pci_ioport' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='293' column='1' id='type-id-4'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev' type-id='type-id-135' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='294' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='base' type-id='type-id-18' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='295' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='len' type-id='type-id-18' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='296' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_pci_device' size-in-bits='428736' is-struct='yes' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='57' column='1' id='type-id-136'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-137' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='device' type-id='type-id-138' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='addr' type-id='type-id-139' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='60' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='id' type-id='type-id-140' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='mem_resource' type-id='type-id-141' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='intr_handle' type-id='type-id-142' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='215168'>
+        <var-decl name='driver' type-id='type-id-143' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='215232'>
+        <var-decl name='max_vfs' type-id='type-id-21' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='215264'>
+        <var-decl name='kdrv' type-id='type-id-144' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='67' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='215296'>
+        <var-decl name='name' type-id='type-id-145' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='215488'>
+        <var-decl name='vfio_req_intr_handle' type-id='type-id-142' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='69' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='58' column='1' id='type-id-137'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-135' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-146' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='58' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-136' size-in-bits='64' id='type-id-135'/>
+    <pointer-type-def type-id='type-id-135' size-in-bits='64' id='type-id-146'/>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-138'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-147' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-148' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-149' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-150' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-151' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-147'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-152' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-153' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-138' size-in-bits='64' id='type-id-152'/>
+    <pointer-type-def type-id='type-id-152' size-in-bits='64' id='type-id-153'/>
+    <qualified-type-def type-id='type-id-82' const='yes' id='type-id-154'/>
+    <pointer-type-def type-id='type-id-154' size-in-bits='64' id='type-id-148'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-155'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-156' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-148' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-148' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-156'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-157' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-158' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-155' size-in-bits='64' id='type-id-157'/>
+    <pointer-type-def type-id='type-id-157' size-in-bits='64' id='type-id-158'/>
+    <qualified-type-def type-id='type-id-155' const='yes' id='type-id-159'/>
+    <pointer-type-def type-id='type-id-159' size-in-bits='64' id='type-id-149'/>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-160'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-161' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-148' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-162' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-163' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-164' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-165' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-166' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-167' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-168' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-169' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-170' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-171' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-172' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-173' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-174' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-161'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-175' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-176' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-160' size-in-bits='64' id='type-id-175'/>
+    <pointer-type-def type-id='type-id-175' size-in-bits='64' id='type-id-176'/>
+    <pointer-type-def type-id='type-id-177' size-in-bits='64' id='type-id-178'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-178' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-162'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-178' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-163'/>
+    <qualified-type-def type-id='type-id-138' const='yes' id='type-id-179'/>
+    <pointer-type-def type-id='type-id-179' size-in-bits='64' id='type-id-180'/>
+    <pointer-type-def type-id='type-id-181' size-in-bits='64' id='type-id-182'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-182' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-183'/>
+    <pointer-type-def type-id='type-id-184' size-in-bits='64' id='type-id-185'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-185' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-164'/>
+    <pointer-type-def type-id='type-id-186' size-in-bits='64' id='type-id-187'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-187' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-165'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-187' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-166'/>
+    <pointer-type-def type-id='type-id-188' size-in-bits='64' id='type-id-189'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-189' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-167'/>
+    <pointer-type-def type-id='type-id-190' size-in-bits='64' id='type-id-191'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-191' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-168'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-191' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-169'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-170'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-192' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-193'/>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-192'>
+      <underlying-type type-id='type-id-193'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-194'>
+      <underlying-type type-id='type-id-193'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-195' size-in-bits='64' id='type-id-196'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-196' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-171'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-197'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-148' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-148' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-148' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-175' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-198' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-152' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-28' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-199'/>
+    <pointer-type-def type-id='type-id-199' size-in-bits='64' id='type-id-198'/>
+    <qualified-type-def type-id='type-id-197' const='yes' id='type-id-200'/>
+    <pointer-type-def type-id='type-id-200' size-in-bits='64' id='type-id-201'/>
+    <pointer-type-def type-id='type-id-202' size-in-bits='64' id='type-id-203'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-203' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-172'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-187' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-173'/>
+    <pointer-type-def type-id='type-id-204' size-in-bits='64' id='type-id-205'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-205' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-174'/>
+    <qualified-type-def type-id='type-id-160' const='yes' id='type-id-206'/>
+    <pointer-type-def type-id='type-id-206' size-in-bits='64' id='type-id-150'/>
+    <class-decl name='rte_devargs' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='47' column='1' id='type-id-207'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-208' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='type' type-id='type-id-209' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='policy' type-id='type-id-210' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='name' type-id='type-id-211' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='' type-id='type-id-212' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='bus' type-id='type-id-175' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='cls' type-id='type-id-198' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='bus_str' type-id='type-id-148' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='cls_str' type-id='type-id-148' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='data' type-id='type-id-148' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='66' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1' id='type-id-208'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-151' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-213' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-207' size-in-bits='64' id='type-id-151'/>
+    <pointer-type-def type-id='type-id-151' size-in-bits='64' id='type-id-213'/>
+    <enum-decl name='rte_devtype' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='31' column='1' id='type-id-209'>
+      <underlying-type type-id='type-id-193'/>
+      <enumerator name='RTE_DEVTYPE_WHITELISTED_PCI' value='0'/>
+      <enumerator name='RTE_DEVTYPE_BLACKLISTED_PCI' value='1'/>
+      <enumerator name='RTE_DEVTYPE_VIRTUAL' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_dev_policy' filepath='../lib/librte_eal/common/include/rte_dev.h' line='72' column='1' id='type-id-210'>
+      <underlying-type type-id='type-id-193'/>
+      <enumerator name='RTE_DEV_WHITELISTED' value='0'/>
+      <enumerator name='RTE_DEV_BLACKLISTED' value='1'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-82' size-in-bits='512' id='type-id-211'>
+      <subrange length='64' type-id='type-id-48' id='type-id-214'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='57' column='1' id='type-id-212'>
+      <data-member access='private'>
+        <var-decl name='args' type-id='type-id-215' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='drv_str' type-id='type-id-148' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='60' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-82' size-in-bits='64' id='type-id-215'/>
+    <class-decl name='rte_pci_addr' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='61' column='1' id='type-id-139'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='domain' type-id='type-id-19' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='bus' type-id='type-id-22' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='devid' type-id='type-id-22' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='function' type-id='type-id-22' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_pci_id' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='50' column='1' id='type-id-140'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='class_id' type-id='type-id-19' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='vendor_id' type-id='type-id-21' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='device_id' type-id='type-id-21' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='subsystem_vendor_id' type-id='type-id-21' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='subsystem_device_id' type-id='type-id-21' visibility='default' filepath='../lib/librte_pci/rte_pci.h' line='55' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mem_resource' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='80' column='1' id='type-id-216'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='phys_addr' type-id='type-id-18' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-18' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='82' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-28' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-216' size-in-bits='1152' id='type-id-141'>
+      <subrange length='6' type-id='type-id-48' id='type-id-122'/>
+
+    </array-type-def>
+    <class-decl name='rte_intr_handle' size-in-bits='213248' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='69' column='1' id='type-id-142'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-217' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-218' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='max_intr' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='nb_efd' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='efd_counter_size' type-id='type-id-22' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='efds' type-id='type-id-219' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16576'>
+        <var-decl name='elist' type-id='type-id-220' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='213184'>
+        <var-decl name='intr_vec' type-id='type-id-221' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='71' column='1' id='type-id-217'>
+      <data-member access='private'>
+        <var-decl name='vfio_dev_fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='uio_cfg_fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='73' column='1'/>
+      </data-member>
+    </union-decl>
+    <enum-decl name='rte_intr_handle_type' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='27' column='1' id='type-id-218'>
+      <underlying-type type-id='type-id-193'/>
+      <enumerator name='RTE_INTR_HANDLE_UNKNOWN' value='0'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO' value='1'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO_INTX' value='2'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_LEGACY' value='3'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSI' value='4'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSIX' value='5'/>
+      <enumerator name='RTE_INTR_HANDLE_ALARM' value='6'/>
+      <enumerator name='RTE_INTR_HANDLE_EXT' value='7'/>
+      <enumerator name='RTE_INTR_HANDLE_VDEV' value='8'/>
+      <enumerator name='RTE_INTR_HANDLE_DEV_EVENT' value='9'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_REQ' value='10'/>
+      <enumerator name='RTE_INTR_HANDLE_MAX' value='11'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='16384' id='type-id-219'>
+      <subrange length='512' type-id='type-id-48' id='type-id-222'/>
+
+    </array-type-def>
+    <class-decl name='rte_epoll_event' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='61' column='1' id='type-id-223'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='status' type-id='type-id-224' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='epfd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='epdata' type-id='type-id-225' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-19' volatile='yes' id='type-id-224'/>
+    <class-decl name='rte_epoll_data' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='47' column='1' id='type-id-225'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event' type-id='type-id-19' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='data' type-id='type-id-28' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cb_fun' type-id='type-id-226' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='cb_arg' type-id='type-id-28' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='51' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-227' size-in-bits='64' id='type-id-228'/>
+    <typedef-decl name='rte_intr_event_cb_t' type-id='type-id-228' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='45' column='1' id='type-id-226'/>
+
+    <array-type-def dimensions='1' type-id='type-id-223' size-in-bits='196608' id='type-id-220'>
+      <subrange length='512' type-id='type-id-48' id='type-id-222'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-221'/>
+    <class-decl name='rte_pci_driver' size-in-bits='832' is-struct='yes' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='157' column='1' id='type-id-229'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-230' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='158' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='driver' type-id='type-id-155' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='159' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='bus' type-id='type-id-231' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='160' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='probe' type-id='type-id-232' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='161' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='remove' type-id='type-id-233' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='162' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-234' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='163' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-235' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='164' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='id_table' type-id='type-id-236' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='165' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='drv_flags' type-id='type-id-19' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='166' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='158' column='1' id='type-id-230'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-143' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='158' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-237' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='158' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-229' size-in-bits='64' id='type-id-143'/>
+    <pointer-type-def type-id='type-id-143' size-in-bits='64' id='type-id-237'/>
+    <class-decl name='rte_pci_bus' size-in-bits='1280' is-struct='yes' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='172' column='1' id='type-id-238'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='bus' type-id='type-id-160' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='173' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='device_list' type-id='type-id-239' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='174' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='driver_list' type-id='type-id-240' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='175' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_pci_device_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='41' column='1' id='type-id-239'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-135' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-146' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='41' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_pci_driver_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='43' column='1' id='type-id-240'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-143' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-237' visibility='default' filepath='../drivers/bus/pci/rte_bus_pci.h' line='43' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-238' size-in-bits='64' id='type-id-231'/>
+    <typedef-decl name='pci_probe_t' type-id='type-id-241' filepath='../drivers/bus/pci/rte_bus_pci.h' line='109' column='1' id='type-id-242'/>
+    <pointer-type-def type-id='type-id-242' size-in-bits='64' id='type-id-232'/>
+    <typedef-decl name='pci_remove_t' type-id='type-id-243' filepath='../drivers/bus/pci/rte_bus_pci.h' line='114' column='1' id='type-id-244'/>
+    <pointer-type-def type-id='type-id-244' size-in-bits='64' id='type-id-233'/>
+    <typedef-decl name='pci_dma_map_t' type-id='type-id-245' filepath='../drivers/bus/pci/rte_bus_pci.h' line='132' column='1' id='type-id-246'/>
+    <pointer-type-def type-id='type-id-246' size-in-bits='64' id='type-id-234'/>
+    <typedef-decl name='pci_dma_unmap_t' type-id='type-id-245' filepath='../drivers/bus/pci/rte_bus_pci.h' line='151' column='1' id='type-id-247'/>
+    <pointer-type-def type-id='type-id-247' size-in-bits='64' id='type-id-235'/>
+    <qualified-type-def type-id='type-id-140' const='yes' id='type-id-248'/>
+    <pointer-type-def type-id='type-id-248' size-in-bits='64' id='type-id-236'/>
+    <enum-decl name='rte_kernel_driver' filepath='../lib/librte_eal/common/include/rte_dev.h' line='60' column='1' id='type-id-144'>
+      <underlying-type type-id='type-id-193'/>
+      <enumerator name='RTE_KDRV_UNKNOWN' value='0'/>
+      <enumerator name='RTE_KDRV_IGB_UIO' value='1'/>
+      <enumerator name='RTE_KDRV_VFIO' value='2'/>
+      <enumerator name='RTE_KDRV_UIO_GENERIC' value='3'/>
+      <enumerator name='RTE_KDRV_NIC_UIO' value='4'/>
+      <enumerator name='RTE_KDRV_NONE' value='5'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-82' size-in-bits='144' id='type-id-145'>
+      <subrange length='18' type-id='type-id-48' id='type-id-249'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='8192' id='type-id-250'>
+      <subrange length='32' type-id='type-id-48' id='type-id-83'/>
+
+    </array-type-def>
+    <var-decl name='virtio_hw_internal' type-id='type-id-250' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='287' column='1'/>
+    <class-decl name='eth_dev_ops' size-in-bits='6016' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='609' column='1' id='type-id-251'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_configure' type-id='type-id-252' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_start' type-id='type-id-253' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='611' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dev_stop' type-id='type-id-254' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='612' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_set_link_up' type-id='type-id-255' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dev_set_link_down' type-id='type-id-256' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='614' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_close' type-id='type-id-257' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='615' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='dev_reset' type-id='type-id-258' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='616' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='link_update' type-id='type-id-259' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='617' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='is_removed' type-id='type-id-260' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='618' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='promiscuous_enable' type-id='type-id-261' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='promiscuous_disable' type-id='type-id-262' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='allmulticast_enable' type-id='type-id-263' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='623' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='allmulticast_disable' type-id='type-id-264' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='624' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='mac_addr_remove' type-id='type-id-265' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='625' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='mac_addr_add' type-id='type-id-266' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='626' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='mac_addr_set' type-id='type-id-267' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='627' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='set_mc_addr_list' type-id='type-id-268' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='628' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mtu_set' type-id='type-id-269' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='629' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='stats_get' type-id='type-id-270' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='631' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='stats_reset' type-id='type-id-271' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='632' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='xstats_get' type-id='type-id-272' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='633' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='xstats_reset' type-id='type-id-273' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='634' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='xstats_get_names' type-id='type-id-274' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='635' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='queue_stats_mapping_set' type-id='type-id-275' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='637' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='dev_infos_get' type-id='type-id-276' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='640' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='rxq_info_get' type-id='type-id-277' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='641' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='txq_info_get' type-id='type-id-278' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='642' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='rx_burst_mode_get' type-id='type-id-279' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='643' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='tx_burst_mode_get' type-id='type-id-279' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='644' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='fw_version_get' type-id='type-id-280' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='645' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='dev_supported_ptypes_get' type-id='type-id-281' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='646' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='dev_ptypes_set' type-id='type-id-282' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='648' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='vlan_filter_set' type-id='type-id-283' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='651' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='vlan_tpid_set' type-id='type-id-284' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='652' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='vlan_strip_queue_set' type-id='type-id-285' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='653' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='vlan_offload_set' type-id='type-id-286' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='654' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='vlan_pvid_set' type-id='type-id-287' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='655' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='rx_queue_start' type-id='type-id-288' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='657' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='rx_queue_stop' type-id='type-id-289' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='658' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2496'>
+        <var-decl name='tx_queue_start' type-id='type-id-288' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='659' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='tx_queue_stop' type-id='type-id-289' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='660' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='rx_queue_setup' type-id='type-id-290' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='661' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2688'>
+        <var-decl name='rx_queue_release' type-id='type-id-291' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2752'>
+        <var-decl name='rx_queue_count' type-id='type-id-292' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='663' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2816'>
+        <var-decl name='rx_descriptor_done' type-id='type-id-293' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2880'>
+        <var-decl name='rx_descriptor_status' type-id='type-id-294' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='666' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2944'>
+        <var-decl name='tx_descriptor_status' type-id='type-id-295' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3008'>
+        <var-decl name='rx_queue_intr_enable' type-id='type-id-296' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='670' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3072'>
+        <var-decl name='rx_queue_intr_disable' type-id='type-id-297' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3136'>
+        <var-decl name='tx_queue_setup' type-id='type-id-298' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='672' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3200'>
+        <var-decl name='tx_queue_release' type-id='type-id-291' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3264'>
+        <var-decl name='tx_done_cleanup' type-id='type-id-299' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='674' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3328'>
+        <var-decl name='dev_led_on' type-id='type-id-300' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3392'>
+        <var-decl name='dev_led_off' type-id='type-id-301' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='677' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3456'>
+        <var-decl name='flow_ctrl_get' type-id='type-id-302' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='679' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3520'>
+        <var-decl name='flow_ctrl_set' type-id='type-id-303' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='680' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='priority_flow_ctrl_set' type-id='type-id-304' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='681' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3648'>
+        <var-decl name='uc_hash_table_set' type-id='type-id-305' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='683' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3712'>
+        <var-decl name='uc_all_hash_table_set' type-id='type-id-306' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='684' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3776'>
+        <var-decl name='mirror_rule_set' type-id='type-id-307' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='686' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3840'>
+        <var-decl name='mirror_rule_reset' type-id='type-id-308' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='687' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3904'>
+        <var-decl name='udp_tunnel_port_add' type-id='type-id-309' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='689' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3968'>
+        <var-decl name='udp_tunnel_port_del' type-id='type-id-310' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4032'>
+        <var-decl name='l2_tunnel_eth_type_conf' type-id='type-id-311' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4096'>
+        <var-decl name='l2_tunnel_offload_set' type-id='type-id-312' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='693' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4160'>
+        <var-decl name='set_queue_rate_limit' type-id='type-id-313' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='696' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4224'>
+        <var-decl name='rss_hash_update' type-id='type-id-314' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='698' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4288'>
+        <var-decl name='rss_hash_conf_get' type-id='type-id-315' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='699' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4352'>
+        <var-decl name='reta_update' type-id='type-id-316' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='700' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4416'>
+        <var-decl name='reta_query' type-id='type-id-317' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='701' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4480'>
+        <var-decl name='get_reg' type-id='type-id-318' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='703' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4544'>
+        <var-decl name='get_eeprom_length' type-id='type-id-319' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='704' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4608'>
+        <var-decl name='get_eeprom' type-id='type-id-320' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='705' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4672'>
+        <var-decl name='set_eeprom' type-id='type-id-321' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='706' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4736'>
+        <var-decl name='get_module_info' type-id='type-id-322' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='708' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4800'>
+        <var-decl name='get_module_eeprom' type-id='type-id-323' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='710' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4864'>
+        <var-decl name='filter_ctrl' type-id='type-id-324' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4928'>
+        <var-decl name='get_dcb_info' type-id='type-id-325' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='715' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4992'>
+        <var-decl name='timesync_enable' type-id='type-id-326' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='717' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5056'>
+        <var-decl name='timesync_disable' type-id='type-id-327' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5120'>
+        <var-decl name='timesync_read_rx_timestamp' type-id='type-id-328' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='721' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5184'>
+        <var-decl name='timesync_read_tx_timestamp' type-id='type-id-329' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='723' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5248'>
+        <var-decl name='timesync_adjust_time' type-id='type-id-330' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5312'>
+        <var-decl name='timesync_read_time' type-id='type-id-331' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='726' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5376'>
+        <var-decl name='timesync_write_time' type-id='type-id-332' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='727' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5440'>
+        <var-decl name='read_clock' type-id='type-id-333' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='729' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5504'>
+        <var-decl name='xstats_get_by_id' type-id='type-id-334' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='731' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5568'>
+        <var-decl name='xstats_get_names_by_id' type-id='type-id-335' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='733' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5632'>
+        <var-decl name='tm_ops_get' type-id='type-id-336' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='736' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5696'>
+        <var-decl name='mtr_ops_get' type-id='type-id-337' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='739' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5760'>
+        <var-decl name='pool_ops_supported' type-id='type-id-338' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='742' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5824'>
+        <var-decl name='hairpin_cap_get' type-id='type-id-339' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='745' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5888'>
+        <var-decl name='rx_hairpin_queue_setup' type-id='type-id-340' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5952'>
+        <var-decl name='tx_hairpin_queue_setup' type-id='type-id-341' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='749' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev' size-in-bits='132608' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='777' column='1' id='type-id-342'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_pkt_burst' type-id='type-id-343' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='778' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tx_pkt_burst' type-id='type-id-344' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tx_pkt_prepare' type-id='type-id-345' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='data' type-id='type-id-346' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='786' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='process_private' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='787' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_ops' type-id='type-id-347' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='788' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='device' type-id='type-id-152' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='789' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='intr_handle' type-id='type-id-348' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='790' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='link_intr_cbs' type-id='type-id-349' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='792' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='post_rx_burst_cbs' type-id='type-id-350' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='797' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='66176'>
+        <var-decl name='pre_tx_burst_cbs' type-id='type-id-350' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131712'>
+        <var-decl name='state' type-id='type-id-351' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='803' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131776'>
+        <var-decl name='security_ctx' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131840'>
+        <var-decl name='reserved_64s' type-id='type-id-352' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='806' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='132096'>
+        <var-decl name='reserved_ptrs' type-id='type-id-353' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='807' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-354' size-in-bits='64' id='type-id-355'/>
+    <typedef-decl name='eth_rx_burst_t' type-id='type-id-355' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='340' column='1' id='type-id-343'/>
+    <typedef-decl name='eth_tx_burst_t' type-id='type-id-355' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='345' column='1' id='type-id-344'/>
+    <typedef-decl name='eth_tx_prep_t' type-id='type-id-355' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='350' column='1' id='type-id-345'/>
+    <class-decl name='rte_eth_dev_data' size-in-bits='55808' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='820' column='1' id='type-id-356'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-211' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='821' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_queues' type-id='type-id-357' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='823' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_queues' type-id='type-id-357' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='824' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='nb_rx_queues' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='825' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='656'>
+        <var-decl name='nb_tx_queues' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='826' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='sriov' type-id='type-id-358' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='dev_private' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='830' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_link' type-id='type-id-359' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='835' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dev_conf' type-id='type-id-360' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='836' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25536'>
+        <var-decl name='mtu' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='837' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25568'>
+        <var-decl name='min_rx_buf_size' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25600'>
+        <var-decl name='rx_mbuf_alloc_failed' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='841' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25664'>
+        <var-decl name='mac_addrs' type-id='type-id-361' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='842' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25728'>
+        <var-decl name='mac_pool_sel' type-id='type-id-362' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='846' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='33920'>
+        <var-decl name='hash_mac_addrs' type-id='type-id-361' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='848' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='33984'>
+        <var-decl name='port_id' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='852' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='promiscuous' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='855' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='scattered_rx' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='856' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='all_multicast' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='857' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4'>
+        <var-decl name='dev_started' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='858' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3'>
+        <var-decl name='lro' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='859' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='34008'>
+        <var-decl name='rx_queue_state' type-id='type-id-363' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='860' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='42200'>
+        <var-decl name='tx_queue_state' type-id='type-id-363' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='862' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50400'>
+        <var-decl name='dev_flags' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='864' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50432'>
+        <var-decl name='kdrv' type-id='type-id-144' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50464'>
+        <var-decl name='numa_node' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='866' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50496'>
+        <var-decl name='vlan_filter_conf' type-id='type-id-364' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='867' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='54592'>
+        <var-decl name='owner' type-id='type-id-365' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='869' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55168'>
+        <var-decl name='representor_id' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='870' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55232'>
+        <var-decl name='reserved_64s' type-id='type-id-352' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='875' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55488'>
+        <var-decl name='reserved_ptrs' type-id='type-id-353' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='876' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-357'/>
+    <class-decl name='rte_eth_dev_sriov' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1476' column='1' id='type-id-358'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='active' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1477' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='nb_q_per_pool' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1478' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='def_vmdq_idx' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1479' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='def_pool_q_idx' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1480' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_link' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='308' column='1' id='type-id-359'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_speed' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='309' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='15'>
+        <var-decl name='link_duplex' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='310' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='14'>
+        <var-decl name='link_autoneg' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='311' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='13'>
+        <var-decl name='link_status' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='312' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_conf' size-in-bits='24640' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1045' column='1' id='type-id-360'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_speeds' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1046' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rxmode' type-id='type-id-366' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1053' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='txmode' type-id='type-id-367' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1054' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='lpbk_mode' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1055' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='rx_adv_conf' type-id='type-id-368' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1068' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='17984'>
+        <var-decl name='tx_adv_conf' type-id='type-id-369' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1076' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18080'>
+        <var-decl name='dcb_capability_en' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1079' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18112'>
+        <var-decl name='fdir_conf' type-id='type-id-370' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1080' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24576'>
+        <var-decl name='intr_conf' type-id='type-id-371' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1081' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rxmode' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='394' column='1' id='type-id-366'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mq_mode' type-id='type-id-372' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='396' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_rx_pkt_len' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='397' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='max_lro_pkt_size' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='399' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='split_hdr_size' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='400' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='offloads' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='406' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-72' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='408' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-373' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='409' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_rx_mq_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='344' column='1' id='type-id-372'>
+      <underlying-type type-id='type-id-193'/>
+      <enumerator name='ETH_MQ_RX_NONE' value='0'/>
+      <enumerator name='ETH_MQ_RX_RSS' value='1'/>
+      <enumerator name='ETH_MQ_RX_DCB' value='2'/>
+      <enumerator name='ETH_MQ_RX_DCB_RSS' value='3'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_ONLY' value='4'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_RSS' value='5'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_DCB' value='6'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_DCB_RSS' value='7'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-28' size-in-bits='128' id='type-id-373'>
+      <subrange length='2' type-id='type-id-48' id='type-id-116'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_txmode' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='792' column='1' id='type-id-367'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mq_mode' type-id='type-id-374' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='793' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offloads' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='799' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pvid' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='hw_vlan_reject_tagged' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='hw_vlan_reject_untagged' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='806' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='hw_vlan_insert_pvid' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='808' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-72' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='811' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-373' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='812' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_tx_mq_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='377' column='1' id='type-id-374'>
+      <underlying-type type-id='type-id-193'/>
+      <enumerator name='ETH_MQ_TX_NONE' value='0'/>
+      <enumerator name='ETH_MQ_TX_DCB' value='1'/>
+      <enumerator name='ETH_MQ_TX_VMDQ_DCB' value='2'/>
+      <enumerator name='ETH_MQ_TX_VMDQ_ONLY' value='3'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16960' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1060' column='1' id='type-id-368'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rss_conf' type-id='type-id-375' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1061' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='vmdq_dcb_conf' type-id='type-id-376' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1062' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8512'>
+        <var-decl name='dcb_rx_conf' type-id='type-id-377' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1064' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8640'>
+        <var-decl name='vmdq_rx_conf' type-id='type-id-378' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1066' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rss_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='448' column='1' id='type-id-375'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rss_key' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rss_key_len' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rss_hf' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='451' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vmdq_dcb_conf' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='745' column='1' id='type-id-376'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-379' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='746' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='enable_default_pool' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='default_pool' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='748' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='nb_pool_maps' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='749' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pool_map' type-id='type-id-380' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8256'>
+        <var-decl name='dcb_tc' type-id='type-id-381' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='754' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_nb_pools' filepath='../lib/librte_ethdev/rte_ethdev.h' line='704' column='1' id='type-id-379'>
+      <underlying-type type-id='type-id-193'/>
+      <enumerator name='ETH_8_POOLS' value='8'/>
+      <enumerator name='ETH_16_POOLS' value='16'/>
+      <enumerator name='ETH_32_POOLS' value='32'/>
+      <enumerator name='ETH_64_POOLS' value='64'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='750' column='1' id='type-id-382'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_id' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='751' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pools' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='752' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-382' size-in-bits='8192' id='type-id-380'>
+      <subrange length='64' type-id='type-id-48' id='type-id-214'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-22' size-in-bits='64' id='type-id-381'>
+      <subrange length='8' type-id='type-id-48' id='type-id-383'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_dcb_rx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='712' column='1' id='type-id-377'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-384' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-381' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='715' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_nb_tcs' filepath='../lib/librte_ethdev/rte_ethdev.h' line='695' column='1' id='type-id-384'>
+      <underlying-type type-id='type-id-193'/>
+      <enumerator name='ETH_4_TCS' value='4'/>
+      <enumerator name='ETH_8_TCS' value='8'/>
+    </enum-decl>
+    <class-decl name='rte_eth_vmdq_rx_conf' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='776' column='1' id='type-id-378'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-379' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='777' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='enable_default_pool' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='778' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='default_pool' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='enable_loop_back' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='nb_pool_maps' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='781' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rx_mode' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='782' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pool_map' type-id='type-id-380' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='786' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <union-decl name='__anonymous_union__' size-in-bits='96' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1069' column='1' id='type-id-369'>
+      <data-member access='private'>
+        <var-decl name='vmdq_dcb_tx_conf' type-id='type-id-385' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1070' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dcb_tx_conf' type-id='type-id-386' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1072' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='vmdq_tx_conf' type-id='type-id-387' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1074' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_eth_vmdq_dcb_tx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='718' column='1' id='type-id-385'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-379' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-381' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='721' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dcb_tx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='724' column='1' id='type-id-386'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-384' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-381' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='727' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vmdq_tx_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='730' column='1' id='type-id-387'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-379' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='731' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_fdir_conf' size-in-bits='6464' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1005' column='1' id='type-id-370'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mode' type-id='type-id-388' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1006' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='pballoc' type-id='type-id-389' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1007' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='status' type-id='type-id-390' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1008' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='drop_queue' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1010' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mask' type-id='type-id-391' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1011' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='flex_conf' type-id='type-id-392' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1012' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_fdir_mode' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='603' column='1' id='type-id-388'>
+      <underlying-type type-id='type-id-193'/>
+      <enumerator name='RTE_FDIR_MODE_NONE' value='0'/>
+      <enumerator name='RTE_FDIR_MODE_SIGNATURE' value='1'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT' value='2'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT_MAC_VLAN' value='3'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT_TUNNEL' value='4'/>
+    </enum-decl>
+    <enum-decl name='rte_fdir_pballoc_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='984' column='1' id='type-id-389'>
+      <underlying-type type-id='type-id-193'/>
+      <enumerator name='RTE_FDIR_PBALLOC_64K' value='0'/>
+      <enumerator name='RTE_FDIR_PBALLOC_128K' value='1'/>
+      <enumerator name='RTE_FDIR_PBALLOC_256K' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_fdir_status_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='993' column='1' id='type-id-390'>
+      <underlying-type type-id='type-id-193'/>
+      <enumerator name='RTE_FDIR_NO_REPORT_STATUS' value='0'/>
+      <enumerator name='RTE_FDIR_REPORT_STATUS' value='1'/>
+      <enumerator name='RTE_FDIR_REPORT_STATUS_ALWAYS' value='2'/>
+    </enum-decl>
+    <class-decl name='rte_eth_fdir_masks' size-in-bits='544' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='533' column='1' id='type-id-391'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_tci_mask' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='534' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ipv4_mask' type-id='type-id-393' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='536' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ipv6_mask' type-id='type-id-394' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='538' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='src_port_mask' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='540' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='dst_port_mask' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='542' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='mac_addr_byte_mask' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='545' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='tunnel_id_mask' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='547' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='tunnel_type_mask' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='548' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_ipv4_flow' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='342' column='1' id='type-id-393'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='343' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dst_ip' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='344' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tos' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='345' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='ttl' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='346' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='proto' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='347' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_ipv6_flow' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='381' column='1' id='type-id-394'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-395' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='382' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dst_ip' type-id='type-id-395' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='383' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='tc' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='384' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='264'>
+        <var-decl name='proto' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='385' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='272'>
+        <var-decl name='hop_limits' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='386' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-19' size-in-bits='128' id='type-id-395'>
+      <subrange length='4' type-id='type-id-48' id='type-id-396'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_fdir_flex_conf' size-in-bits='5792' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='591' column='1' id='type-id-392'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_payloads' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='592' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='nb_flexmasks' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='593' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flex_set' type-id='type-id-397' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='594' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2336'>
+        <var-decl name='flex_mask' type-id='type-id-398' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='596' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_flex_payload_cfg' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='568' column='1' id='type-id-399'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-400' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='569' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='src_offset' type-id='type-id-401' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='570' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_payload_type' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='555' column='1' id='type-id-400'>
+      <underlying-type type-id='type-id-193'/>
+      <enumerator name='RTE_ETH_PAYLOAD_UNKNOWN' value='0'/>
+      <enumerator name='RTE_ETH_RAW_PAYLOAD' value='1'/>
+      <enumerator name='RTE_ETH_L2_PAYLOAD' value='2'/>
+      <enumerator name='RTE_ETH_L3_PAYLOAD' value='3'/>
+      <enumerator name='RTE_ETH_L4_PAYLOAD' value='4'/>
+      <enumerator name='RTE_ETH_PAYLOAD_MAX' value='8'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-21' size-in-bits='256' id='type-id-401'>
+      <subrange length='16' type-id='type-id-48' id='type-id-402'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-399' size-in-bits='2304' id='type-id-397'>
+      <subrange length='8' type-id='type-id-48' id='type-id-383'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_fdir_flex_mask' size-in-bits='144' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='581' column='1' id='type-id-403'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flow_type' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='582' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='mask' type-id='type-id-404' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='583' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-22' size-in-bits='128' id='type-id-404'>
+      <subrange length='16' type-id='type-id-48' id='type-id-402'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-403' size-in-bits='3456' id='type-id-398'>
+      <subrange length='24' type-id='type-id-48' id='type-id-405'/>
+
+    </array-type-def>
+    <class-decl name='rte_intr_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1031' column='1' id='type-id-371'>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='lsc' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1033' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='rxq' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1035' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='rmv' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1037' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_ether_addr' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='60' column='1' id='type-id-406'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr_bytes' type-id='type-id-23' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='61' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-406' size-in-bits='64' id='type-id-361'/>
+
+    <array-type-def dimensions='1' type-id='type-id-18' size-in-bits='8192' id='type-id-362'>
+      <subrange length='128' type-id='type-id-48' id='type-id-407'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-22' size-in-bits='8192' id='type-id-363'>
+      <subrange length='1024' type-id='type-id-48' id='type-id-408'/>
+
+    </array-type-def>
+    <class-decl name='rte_vlan_filter_conf' size-in-bits='4096' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='427' column='1' id='type-id-364'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ids' type-id='type-id-409' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='428' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-18' size-in-bits='4096' id='type-id-409'>
+      <subrange length='64' type-id='type-id-48' id='type-id-214'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_dev_owner' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1490' column='1' id='type-id-365'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1491' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='name' type-id='type-id-211' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1492' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-18' size-in-bits='256' id='type-id-352'>
+      <subrange length='4' type-id='type-id-48' id='type-id-396'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-28' size-in-bits='256' id='type-id-353'>
+      <subrange length='4' type-id='type-id-48' id='type-id-396'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-356' size-in-bits='64' id='type-id-346'/>
+    <qualified-type-def type-id='type-id-251' const='yes' id='type-id-410'/>
+    <pointer-type-def type-id='type-id-410' size-in-bits='64' id='type-id-347'/>
+    <pointer-type-def type-id='type-id-142' size-in-bits='64' id='type-id-348'/>
+    <class-decl name='rte_eth_dev_cb_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1' id='type-id-349'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-411' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-412' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_callback' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-413'/>
+    <pointer-type-def type-id='type-id-413' size-in-bits='64' id='type-id-411'/>
+    <pointer-type-def type-id='type-id-411' size-in-bits='64' id='type-id-412'/>
+    <class-decl name='rte_eth_rxtx_callback' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='758' column='1' id='type-id-414'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-415' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='759' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fn' type-id='type-id-416' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='763' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='param' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='764' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-414' size-in-bits='64' id='type-id-415'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='760' column='1' id='type-id-416'>
+      <data-member access='private'>
+        <var-decl name='rx' type-id='type-id-417' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='761' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='tx' type-id='type-id-418' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='762' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-419' size-in-bits='64' id='type-id-420'/>
+    <typedef-decl name='rte_rx_callback_fn' type-id='type-id-420' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1437' column='1' id='type-id-417'/>
+    <pointer-type-def type-id='type-id-421' size-in-bits='64' id='type-id-422'/>
+    <typedef-decl name='rte_tx_callback_fn' type-id='type-id-422' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1461' column='1' id='type-id-418'/>
+
+    <array-type-def dimensions='1' type-id='type-id-415' size-in-bits='65536' id='type-id-350'>
+      <subrange length='1024' type-id='type-id-48' id='type-id-408'/>
+
+    </array-type-def>
+    <enum-decl name='rte_eth_dev_state' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1467' column='1' id='type-id-351'>
+      <underlying-type type-id='type-id-193'/>
+      <enumerator name='RTE_ETH_DEV_UNUSED' value='0'/>
+      <enumerator name='RTE_ETH_DEV_ATTACHED' value='1'/>
+      <enumerator name='RTE_ETH_DEV_REMOVED' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-342' size-in-bits='64' id='type-id-423'/>
+    <pointer-type-def type-id='type-id-424' size-in-bits='64' id='type-id-425'/>
+    <typedef-decl name='eth_dev_configure_t' type-id='type-id-425' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='31' column='1' id='type-id-252'/>
+    <typedef-decl name='eth_dev_start_t' type-id='type-id-425' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='34' column='1' id='type-id-253'/>
+    <pointer-type-def type-id='type-id-426' size-in-bits='64' id='type-id-427'/>
+    <typedef-decl name='eth_dev_stop_t' type-id='type-id-427' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='37' column='1' id='type-id-254'/>
+    <typedef-decl name='eth_dev_set_link_up_t' type-id='type-id-425' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='40' column='1' id='type-id-255'/>
+    <typedef-decl name='eth_dev_set_link_down_t' type-id='type-id-425' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='43' column='1' id='type-id-256'/>
+    <typedef-decl name='eth_dev_close_t' type-id='type-id-427' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='46' column='1' id='type-id-257'/>
+    <typedef-decl name='eth_dev_reset_t' type-id='type-id-425' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='49' column='1' id='type-id-258'/>
+    <pointer-type-def type-id='type-id-428' size-in-bits='64' id='type-id-429'/>
+    <typedef-decl name='eth_link_update_t' type-id='type-id-429' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='155' column='1' id='type-id-259'/>
+    <typedef-decl name='eth_is_removed_t' type-id='type-id-425' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='52' column='1' id='type-id-260'/>
+    <typedef-decl name='eth_promiscuous_enable_t' type-id='type-id-425' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='78' column='1' id='type-id-261'/>
+    <typedef-decl name='eth_promiscuous_disable_t' type-id='type-id-425' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='103' column='1' id='type-id-262'/>
+    <typedef-decl name='eth_allmulticast_enable_t' type-id='type-id-425' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='128' column='1' id='type-id-263'/>
+    <typedef-decl name='eth_allmulticast_disable_t' type-id='type-id-425' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='153' column='1' id='type-id-264'/>
+    <pointer-type-def type-id='type-id-430' size-in-bits='64' id='type-id-431'/>
+    <typedef-decl name='eth_mac_addr_remove_t' type-id='type-id-431' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='391' column='1' id='type-id-265'/>
+    <pointer-type-def type-id='type-id-432' size-in-bits='64' id='type-id-433'/>
+    <typedef-decl name='eth_mac_addr_add_t' type-id='type-id-433' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='394' column='1' id='type-id-266'/>
+    <pointer-type-def type-id='type-id-434' size-in-bits='64' id='type-id-435'/>
+    <typedef-decl name='eth_mac_addr_set_t' type-id='type-id-435' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='400' column='1' id='type-id-267'/>
+    <pointer-type-def type-id='type-id-436' size-in-bits='64' id='type-id-437'/>
+    <typedef-decl name='eth_set_mc_addr_list_t' type-id='type-id-437' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='436' column='1' id='type-id-268'/>
+    <pointer-type-def type-id='type-id-438' size-in-bits='64' id='type-id-439'/>
+    <typedef-decl name='mtu_set_t' type-id='type-id-439' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='315' column='1' id='type-id-269'/>
+    <class-decl name='rte_eth_stats' size-in-bits='5632' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='243' column='1' id='type-id-440'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ipackets' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='opackets' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ibytes' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='246' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='obytes' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='imissed' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='ierrors' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='oerrors' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='rx_nombuf' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='q_ipackets' type-id='type-id-441' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='q_opackets' type-id='type-id-441' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='q_ibytes' type-id='type-id-441' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='q_obytes' type-id='type-id-441' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4608'>
+        <var-decl name='q_errors' type-id='type-id-441' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='263' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-18' size-in-bits='1024' id='type-id-441'>
+      <subrange length='16' type-id='type-id-48' id='type-id-402'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-440' size-in-bits='64' id='type-id-442'/>
+    <pointer-type-def type-id='type-id-443' size-in-bits='64' id='type-id-444'/>
+    <typedef-decl name='eth_stats_get_t' type-id='type-id-444' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='159' column='1' id='type-id-270'/>
+    <typedef-decl name='eth_stats_reset_t' type-id='type-id-425' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='182' column='1' id='type-id-271'/>
+    <class-decl name='rte_eth_xstat' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1337' column='1' id='type-id-445'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1338' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='value' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1339' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-445' size-in-bits='64' id='type-id-446'/>
+    <pointer-type-def type-id='type-id-447' size-in-bits='64' id='type-id-448'/>
+    <typedef-decl name='eth_xstats_get_t' type-id='type-id-448' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='184' column='1' id='type-id-272'/>
+    <typedef-decl name='eth_xstats_reset_t' type-id='type-id-425' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='213' column='1' id='type-id-273'/>
+    <class-decl name='rte_eth_xstat_name' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1349' column='1' id='type-id-449'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-211' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1350' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-449' size-in-bits='64' id='type-id-450'/>
+    <pointer-type-def type-id='type-id-451' size-in-bits='64' id='type-id-452'/>
+    <typedef-decl name='eth_xstats_get_names_t' type-id='type-id-452' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='215' column='1' id='type-id-274'/>
+    <pointer-type-def type-id='type-id-453' size-in-bits='64' id='type-id-454'/>
+    <typedef-decl name='eth_queue_stats_mapping_set_t' type-id='type-id-454' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='224' column='1' id='type-id-275'/>
+    <class-decl name='rte_eth_dev_info' size-in-bits='2560' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1226' column='1' id='type-id-455'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='device' type-id='type-id-152' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1227' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='driver_name' type-id='type-id-148' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='if_index' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='min_mtu' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='max_mtu' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_flags' type-id='type-id-456' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='min_rx_bufsize' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1234' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='max_rx_pktlen' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1235' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='max_lro_pkt_size' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='max_rx_queues' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='max_tx_queues' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1239' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='max_mac_addrs' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='max_hash_mac_addrs' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1241' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='max_vfs' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1243' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='max_vmdq_pools' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_offload_capa' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_offload_capa' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='rx_queue_offload_capa' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='tx_queue_offload_capa' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='reta_size' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='hash_key_size' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='flow_type_rss_offloads' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='default_rxconf' type-id='type-id-457' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='default_txconf' type-id='type-id-458' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='vmdq_queue_base' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1744'>
+        <var-decl name='vmdq_queue_num' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1760'>
+        <var-decl name='vmdq_pool_base' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1262' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1776'>
+        <var-decl name='rx_desc_lim' type-id='type-id-459' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1263' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='tx_desc_lim' type-id='type-id-459' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1264' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1952'>
+        <var-decl name='speed_capa' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1265' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='nb_rx_queues' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1267' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2000'>
+        <var-decl name='nb_tx_queues' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1268' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2016'>
+        <var-decl name='default_rxportconf' type-id='type-id-460' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1270' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2064'>
+        <var-decl name='default_txportconf' type-id='type-id-460' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1272' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='dev_capa' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1274' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='switch_info' type-id='type-id-461' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='reserved_64s' type-id='type-id-72' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1281' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='reserved_ptrs' type-id='type-id-373' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1282' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-19' const='yes' id='type-id-462'/>
+    <pointer-type-def type-id='type-id-462' size-in-bits='64' id='type-id-456'/>
+    <class-decl name='rte_eth_rxconf' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='818' column='1' id='type-id-457'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_thresh' type-id='type-id-463' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='819' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='rx_free_thresh' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='820' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='rx_drop_en' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='821' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='rx_deferred_start' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='822' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offloads' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='reserved_64s' type-id='type-id-72' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='830' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='reserved_ptrs' type-id='type-id-373' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='831' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_thresh' size-in-bits='24' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='327' column='1' id='type-id-463'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pthresh' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='328' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='hthresh' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='329' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='wthresh' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='330' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_txconf' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='837' column='1' id='type-id-458'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tx_thresh' type-id='type-id-463' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tx_rs_thresh' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='839' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='tx_free_thresh' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='840' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tx_deferred_start' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='843' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='offloads' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='849' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-72' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='851' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-373' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='852' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_desc_lim' size-in-bits='80' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='898' column='1' id='type-id-459'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_max' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='899' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='nb_min' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='900' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_align' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='901' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='nb_seg_max' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='911' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='nb_mtu_seg_max' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='924' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_portconf' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1189' column='1' id='type-id-460'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='burst_size' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1190' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='ring_size' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_queues' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1192' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_switch_info' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1204' column='1' id='type-id-461'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-148' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='domain_id' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1206' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='port_id' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1207' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-455' size-in-bits='64' id='type-id-464'/>
+    <pointer-type-def type-id='type-id-465' size-in-bits='64' id='type-id-466'/>
+    <typedef-decl name='eth_dev_infos_get_t' type-id='type-id-466' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='230' column='1' id='type-id-276'/>
+    <class-decl name='rte_eth_rxq_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1289' column='1' id='type-id-467'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mp' type-id='type-id-69' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1290' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='conf' type-id='type-id-457' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1291' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='scattered_rx' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1292' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='nb_desc' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1293' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-467' size-in-bits='64' id='type-id-468'/>
+    <pointer-type-def type-id='type-id-469' size-in-bits='64' id='type-id-470'/>
+    <typedef-decl name='eth_rxq_info_get_t' type-id='type-id-470' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='306' column='1' id='type-id-277'/>
+    <class-decl name='rte_eth_txq_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1300' column='1' id='type-id-471'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='conf' type-id='type-id-458' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1301' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='nb_desc' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1302' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-471' size-in-bits='64' id='type-id-472'/>
+    <pointer-type-def type-id='type-id-473' size-in-bits='64' id='type-id-474'/>
+    <typedef-decl name='eth_txq_info_get_t' type-id='type-id-474' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='309' column='1' id='type-id-278'/>
+    <class-decl name='rte_eth_burst_mode' size-in-bits='8256' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1318' column='1' id='type-id-475'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1319' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='info' type-id='type-id-476' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1322' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-82' size-in-bits='8192' id='type-id-476'>
+      <subrange length='1024' type-id='type-id-48' id='type-id-408'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-475' size-in-bits='64' id='type-id-477'/>
+    <pointer-type-def type-id='type-id-478' size-in-bits='64' id='type-id-479'/>
+    <typedef-decl name='eth_burst_mode_get_t' type-id='type-id-479' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='312' column='1' id='type-id-279'/>
+    <pointer-type-def type-id='type-id-480' size-in-bits='64' id='type-id-481'/>
+    <typedef-decl name='eth_fw_version_get_t' type-id='type-id-481' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='299' column='1' id='type-id-280'/>
+    <pointer-type-def type-id='type-id-482' size-in-bits='64' id='type-id-483'/>
+    <typedef-decl name='eth_dev_supported_ptypes_get_t' type-id='type-id-483' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='234' column='1' id='type-id-281'/>
+    <pointer-type-def type-id='type-id-484' size-in-bits='64' id='type-id-485'/>
+    <typedef-decl name='eth_dev_ptypes_set_t' type-id='type-id-485' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='249' column='1' id='type-id-282'/>
+    <pointer-type-def type-id='type-id-486' size-in-bits='64' id='type-id-487'/>
+    <typedef-decl name='vlan_filter_set_t' type-id='type-id-487' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='318' column='1' id='type-id-283'/>
+    <enum-decl name='rte_vlan_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='416' column='1' id='type-id-488'>
+      <underlying-type type-id='type-id-193'/>
+      <enumerator name='ETH_VLAN_TYPE_UNKNOWN' value='0'/>
+      <enumerator name='ETH_VLAN_TYPE_INNER' value='1'/>
+      <enumerator name='ETH_VLAN_TYPE_OUTER' value='2'/>
+      <enumerator name='ETH_VLAN_TYPE_MAX' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-489' size-in-bits='64' id='type-id-490'/>
+    <typedef-decl name='vlan_tpid_set_t' type-id='type-id-490' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='323' column='1' id='type-id-284'/>
+    <pointer-type-def type-id='type-id-491' size-in-bits='64' id='type-id-492'/>
+    <typedef-decl name='vlan_strip_queue_set_t' type-id='type-id-492' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='335' column='1' id='type-id-285'/>
+    <typedef-decl name='vlan_offload_set_t' type-id='type-id-429' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='327' column='1' id='type-id-286'/>
+    <typedef-decl name='vlan_pvid_set_t' type-id='type-id-487' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='330' column='1' id='type-id-287'/>
+    <typedef-decl name='eth_queue_start_t' type-id='type-id-439' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='252' column='1' id='type-id-288'/>
+    <typedef-decl name='eth_queue_stop_t' type-id='type-id-439' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='256' column='1' id='type-id-289'/>
+    <qualified-type-def type-id='type-id-457' const='yes' id='type-id-493'/>
+    <pointer-type-def type-id='type-id-493' size-in-bits='64' id='type-id-494'/>
+    <pointer-type-def type-id='type-id-495' size-in-bits='64' id='type-id-496'/>
+    <typedef-decl name='eth_rx_queue_setup_t' type-id='type-id-496' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='260' column='1' id='type-id-290'/>
+    <pointer-type-def type-id='type-id-497' size-in-bits='64' id='type-id-498'/>
+    <typedef-decl name='eth_queue_release_t' type-id='type-id-498' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='283' column='1' id='type-id-291'/>
+    <pointer-type-def type-id='type-id-499' size-in-bits='64' id='type-id-500'/>
+    <typedef-decl name='eth_rx_queue_count_t' type-id='type-id-500' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='286' column='1' id='type-id-292'/>
+    <pointer-type-def type-id='type-id-501' size-in-bits='64' id='type-id-502'/>
+    <typedef-decl name='eth_rx_descriptor_done_t' type-id='type-id-502' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='290' column='1' id='type-id-293'/>
+    <typedef-decl name='eth_rx_descriptor_status_t' type-id='type-id-502' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='293' column='1' id='type-id-294'/>
+    <typedef-decl name='eth_tx_descriptor_status_t' type-id='type-id-502' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='296' column='1' id='type-id-295'/>
+    <typedef-decl name='eth_rx_enable_intr_t' type-id='type-id-439' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='275' column='1' id='type-id-296'/>
+    <typedef-decl name='eth_rx_disable_intr_t' type-id='type-id-439' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='279' column='1' id='type-id-297'/>
+    <qualified-type-def type-id='type-id-458' const='yes' id='type-id-503'/>
+    <pointer-type-def type-id='type-id-503' size-in-bits='64' id='type-id-504'/>
+    <pointer-type-def type-id='type-id-505' size-in-bits='64' id='type-id-506'/>
+    <typedef-decl name='eth_tx_queue_setup_t' type-id='type-id-506' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='268' column='1' id='type-id-298'/>
+    <pointer-type-def type-id='type-id-507' size-in-bits='64' id='type-id-508'/>
+    <typedef-decl name='eth_tx_done_cleanup_t' type-id='type-id-508' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='303' column='1' id='type-id-299'/>
+    <typedef-decl name='eth_dev_led_on_t' type-id='type-id-425' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='385' column='1' id='type-id-300'/>
+    <typedef-decl name='eth_dev_led_off_t' type-id='type-id-425' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='388' column='1' id='type-id-301'/>
+    <class-decl name='rte_eth_fc_conf' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='942' column='1' id='type-id-509'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='high_water' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='943' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='low_water' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='944' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pause_time' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='945' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='send_xon' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='946' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='mode' type-id='type-id-510' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='947' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mac_ctrl_frame_fwd' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='948' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='autoneg' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='949' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_fc_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='930' column='1' id='type-id-510'>
+      <underlying-type type-id='type-id-193'/>
+      <enumerator name='RTE_FC_NONE' value='0'/>
+      <enumerator name='RTE_FC_RX_PAUSE' value='1'/>
+      <enumerator name='RTE_FC_TX_PAUSE' value='2'/>
+      <enumerator name='RTE_FC_FULL' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-509' size-in-bits='64' id='type-id-511'/>
+    <pointer-type-def type-id='type-id-512' size-in-bits='64' id='type-id-513'/>
+    <typedef-decl name='flow_ctrl_get_t' type-id='type-id-513' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='355' column='1' id='type-id-302'/>
+    <typedef-decl name='flow_ctrl_set_t' type-id='type-id-513' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='359' column='1' id='type-id-303'/>
+    <class-decl name='rte_eth_pfc_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='957' column='1' id='type-id-514'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fc' type-id='type-id-509' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='958' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='priority' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='959' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-514' size-in-bits='64' id='type-id-515'/>
+    <pointer-type-def type-id='type-id-516' size-in-bits='64' id='type-id-517'/>
+    <typedef-decl name='priority_flow_ctrl_set_t' type-id='type-id-517' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='363' column='1' id='type-id-304'/>
+    <pointer-type-def type-id='type-id-518' size-in-bits='64' id='type-id-519'/>
+    <typedef-decl name='eth_uc_hash_table_set_t' type-id='type-id-519' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='404' column='1' id='type-id-305'/>
+    <pointer-type-def type-id='type-id-520' size-in-bits='64' id='type-id-521'/>
+    <typedef-decl name='eth_uc_all_hash_table_set_t' type-id='type-id-521' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='409' column='1' id='type-id-306'/>
+    <class-decl name='rte_eth_mirror_conf' size-in-bits='1216' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='670' column='1' id='type-id-522'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rule_type' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='dst_pool' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='672' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pool_mask' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vlan' type-id='type-id-523' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='675' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vlan_mirror' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='661' column='1' id='type-id-523'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_mask' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='vlan_id' type-id='type-id-524' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='664' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-21' size-in-bits='1024' id='type-id-524'>
+      <subrange length='64' type-id='type-id-48' id='type-id-214'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-522' size-in-bits='64' id='type-id-525'/>
+    <pointer-type-def type-id='type-id-526' size-in-bits='64' id='type-id-527'/>
+    <typedef-decl name='eth_mirror_rule_set_t' type-id='type-id-527' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='418' column='1' id='type-id-307'/>
+    <typedef-decl name='eth_mirror_rule_reset_t' type-id='type-id-521' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='424' column='1' id='type-id-308'/>
+    <class-decl name='rte_eth_udp_tunnel' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1023' column='1' id='type-id-528'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='udp_port' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1024' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='prot_type' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1025' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-528' size-in-bits='64' id='type-id-529'/>
+    <pointer-type-def type-id='type-id-530' size-in-bits='64' id='type-id-531'/>
+    <typedef-decl name='eth_udp_tunnel_port_add_t' type-id='type-id-531' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='428' column='1' id='type-id-309'/>
+    <typedef-decl name='eth_udp_tunnel_port_del_t' type-id='type-id-531' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='432' column='1' id='type-id-310'/>
+    <class-decl name='rte_eth_l2_tunnel_conf' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='751' column='1' id='type-id-532'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='l2_tunnel_type' type-id='type-id-533' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='752' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ether_type' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tunnel_id' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='754' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='vf_id' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='755' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pool' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='756' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_tunnel_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='965' column='1' id='type-id-533'>
+      <underlying-type type-id='type-id-193'/>
+      <enumerator name='RTE_TUNNEL_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_TUNNEL_TYPE_VXLAN' value='1'/>
+      <enumerator name='RTE_TUNNEL_TYPE_GENEVE' value='2'/>
+      <enumerator name='RTE_TUNNEL_TYPE_TEREDO' value='3'/>
+      <enumerator name='RTE_TUNNEL_TYPE_NVGRE' value='4'/>
+      <enumerator name='RTE_TUNNEL_TYPE_IP_IN_GRE' value='5'/>
+      <enumerator name='RTE_L2_TUNNEL_TYPE_E_TAG' value='6'/>
+      <enumerator name='RTE_TUNNEL_TYPE_VXLAN_GPE' value='7'/>
+      <enumerator name='RTE_TUNNEL_TYPE_MAX' value='8'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-532' size-in-bits='64' id='type-id-534'/>
+    <pointer-type-def type-id='type-id-535' size-in-bits='64' id='type-id-536'/>
+    <typedef-decl name='eth_l2_tunnel_eth_type_conf_t' type-id='type-id-536' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='494' column='1' id='type-id-311'/>
+    <pointer-type-def type-id='type-id-537' size-in-bits='64' id='type-id-538'/>
+    <typedef-decl name='eth_l2_tunnel_offload_set_t' type-id='type-id-538' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='498' column='1' id='type-id-312'/>
+    <pointer-type-def type-id='type-id-539' size-in-bits='64' id='type-id-540'/>
+    <typedef-decl name='eth_set_queue_rate_limit_t' type-id='type-id-540' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='413' column='1' id='type-id-313'/>
+    <pointer-type-def type-id='type-id-375' size-in-bits='64' id='type-id-541'/>
+    <pointer-type-def type-id='type-id-542' size-in-bits='64' id='type-id-543'/>
+    <typedef-decl name='rss_hash_update_t' type-id='type-id-543' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='377' column='1' id='type-id-314'/>
+    <typedef-decl name='rss_hash_conf_get_t' type-id='type-id-543' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='381' column='1' id='type-id-315'/>
+    <class-decl name='rte_eth_rss_reta_entry64' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='684' column='1' id='type-id-544'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mask' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='685' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='reta' type-id='type-id-524' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='687' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-544' size-in-bits='64' id='type-id-545'/>
+    <pointer-type-def type-id='type-id-546' size-in-bits='64' id='type-id-547'/>
+    <typedef-decl name='reta_update_t' type-id='type-id-547' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='367' column='1' id='type-id-316'/>
+    <typedef-decl name='reta_query_t' type-id='type-id-547' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='372' column='1' id='type-id-317'/>
+    <class-decl name='rte_dev_reg_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='13' column='1' id='type-id-548'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='14' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offset' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='15' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='length' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='16' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='width' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='17' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='version' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='18' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-548' size-in-bits='64' id='type-id-549'/>
+    <pointer-type-def type-id='type-id-550' size-in-bits='64' id='type-id-551'/>
+    <typedef-decl name='eth_get_reg_t' type-id='type-id-551' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='471' column='1' id='type-id-318'/>
+    <typedef-decl name='eth_get_eeprom_length_t' type-id='type-id-425' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='475' column='1' id='type-id-319'/>
+    <class-decl name='rte_dev_eeprom_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='24' column='1' id='type-id-552'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='25' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offset' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='26' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='length' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='27' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='magic' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='28' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-552' size-in-bits='64' id='type-id-553'/>
+    <pointer-type-def type-id='type-id-554' size-in-bits='64' id='type-id-555'/>
+    <typedef-decl name='eth_get_eeprom_t' type-id='type-id-555' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='478' column='1' id='type-id-320'/>
+    <typedef-decl name='eth_set_eeprom_t' type-id='type-id-555' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='482' column='1' id='type-id-321'/>
+    <class-decl name='rte_eth_dev_module_info' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='34' column='1' id='type-id-556'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='eeprom_len' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-556' size-in-bits='64' id='type-id-557'/>
+    <pointer-type-def type-id='type-id-558' size-in-bits='64' id='type-id-559'/>
+    <typedef-decl name='eth_get_module_info_t' type-id='type-id-559' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='486' column='1' id='type-id-322'/>
+    <typedef-decl name='eth_get_module_eeprom_t' type-id='type-id-555' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='490' column='1' id='type-id-323'/>
+    <enum-decl name='rte_filter_type' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='28' column='1' id='type-id-560'>
+      <underlying-type type-id='type-id-193'/>
+      <enumerator name='RTE_ETH_FILTER_NONE' value='0'/>
+      <enumerator name='RTE_ETH_FILTER_MACVLAN' value='1'/>
+      <enumerator name='RTE_ETH_FILTER_ETHERTYPE' value='2'/>
+      <enumerator name='RTE_ETH_FILTER_FLEXIBLE' value='3'/>
+      <enumerator name='RTE_ETH_FILTER_SYN' value='4'/>
+      <enumerator name='RTE_ETH_FILTER_NTUPLE' value='5'/>
+      <enumerator name='RTE_ETH_FILTER_TUNNEL' value='6'/>
+      <enumerator name='RTE_ETH_FILTER_FDIR' value='7'/>
+      <enumerator name='RTE_ETH_FILTER_HASH' value='8'/>
+      <enumerator name='RTE_ETH_FILTER_L2_TUNNEL' value='9'/>
+      <enumerator name='RTE_ETH_FILTER_GENERIC' value='10'/>
+      <enumerator name='RTE_ETH_FILTER_MAX' value='11'/>
+    </enum-decl>
+    <enum-decl name='rte_filter_op' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='46' column='1' id='type-id-561'>
+      <underlying-type type-id='type-id-193'/>
+      <enumerator name='RTE_ETH_FILTER_NOP' value='0'/>
+      <enumerator name='RTE_ETH_FILTER_ADD' value='1'/>
+      <enumerator name='RTE_ETH_FILTER_UPDATE' value='2'/>
+      <enumerator name='RTE_ETH_FILTER_DELETE' value='3'/>
+      <enumerator name='RTE_ETH_FILTER_FLUSH' value='4'/>
+      <enumerator name='RTE_ETH_FILTER_GET' value='5'/>
+      <enumerator name='RTE_ETH_FILTER_SET' value='6'/>
+      <enumerator name='RTE_ETH_FILTER_INFO' value='7'/>
+      <enumerator name='RTE_ETH_FILTER_STATS' value='8'/>
+      <enumerator name='RTE_ETH_FILTER_OP_MAX' value='9'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-562' size-in-bits='64' id='type-id-563'/>
+    <typedef-decl name='eth_filter_ctrl_t' type-id='type-id-563' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='506' column='1' id='type-id-324'/>
+    <class-decl name='rte_eth_dcb_info' size-in-bits='16520' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1377' column='1' id='type-id-564'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1378' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='prio_tc' type-id='type-id-381' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1379' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='tc_bws' type-id='type-id-381' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1380' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='tc_queue' type-id='type-id-565' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1382' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dcb_tc_queue_mapping' size-in-bits='16384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1360' column='1' id='type-id-565'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tc_rxq' type-id='type-id-566' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1365' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8192'>
+        <var-decl name='tc_txq' type-id='type-id-566' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1370' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1362' column='1' id='type-id-567'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='base' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1363' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='nb_queue' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1364' column='1'/>
+      </data-member>
+    </class-decl>
+
+
+    <array-type-def dimensions='2' type-id='type-id-567' size-in-bits='1152' id='type-id-566'>
+      <subrange length='64' type-id='type-id-48' id='type-id-214'/>
+
+      <subrange length='8' type-id='type-id-48' id='type-id-383'/>
+
+    </array-type-def>
+
+
+    <pointer-type-def type-id='type-id-564' size-in-bits='64' id='type-id-568'/>
+    <pointer-type-def type-id='type-id-569' size-in-bits='64' id='type-id-570'/>
+    <typedef-decl name='eth_get_dcb_info' type-id='type-id-570' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='518' column='1' id='type-id-325'/>
+    <typedef-decl name='eth_timesync_enable_t' type-id='type-id-425' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='441' column='1' id='type-id-326'/>
+    <typedef-decl name='eth_timesync_disable_t' type-id='type-id-425' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='444' column='1' id='type-id-327'/>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='9' column='1' id='type-id-571'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tv_sec' type-id='type-id-572' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='11' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tv_nsec' type-id='type-id-573' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='long int' size-in-bits='64' id='type-id-574'/>
+    <typedef-decl name='__time_t' type-id='type-id-574' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-572'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-574' filepath='/usr/include/bits/types.h' line='196' column='1' id='type-id-573'/>
+    <pointer-type-def type-id='type-id-571' size-in-bits='64' id='type-id-575'/>
+    <pointer-type-def type-id='type-id-576' size-in-bits='64' id='type-id-577'/>
+    <typedef-decl name='eth_timesync_read_rx_timestamp_t' type-id='type-id-577' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='447' column='1' id='type-id-328'/>
+    <pointer-type-def type-id='type-id-578' size-in-bits='64' id='type-id-579'/>
+    <typedef-decl name='eth_timesync_read_tx_timestamp_t' type-id='type-id-579' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='452' column='1' id='type-id-329'/>
+    <typedef-decl name='__int64_t' type-id='type-id-574' filepath='/usr/include/bits/types.h' line='44' column='1' id='type-id-580'/>
+    <typedef-decl name='int64_t' type-id='type-id-580' filepath='/usr/include/bits/stdint-intn.h' line='27' column='1' id='type-id-581'/>
+    <pointer-type-def type-id='type-id-582' size-in-bits='64' id='type-id-583'/>
+    <typedef-decl name='eth_timesync_adjust_time' type-id='type-id-583' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='456' column='1' id='type-id-330'/>
+    <typedef-decl name='eth_timesync_read_time' type-id='type-id-579' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='459' column='1' id='type-id-331'/>
+    <qualified-type-def type-id='type-id-571' const='yes' id='type-id-584'/>
+    <pointer-type-def type-id='type-id-584' size-in-bits='64' id='type-id-585'/>
+    <pointer-type-def type-id='type-id-586' size-in-bits='64' id='type-id-587'/>
+    <typedef-decl name='eth_timesync_write_time' type-id='type-id-587' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='463' column='1' id='type-id-332'/>
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-588'/>
+    <pointer-type-def type-id='type-id-589' size-in-bits='64' id='type-id-590'/>
+    <typedef-decl name='eth_read_clock' type-id='type-id-590' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='467' column='1' id='type-id-333'/>
+    <qualified-type-def type-id='type-id-18' const='yes' id='type-id-591'/>
+    <pointer-type-def type-id='type-id-591' size-in-bits='64' id='type-id-592'/>
+    <pointer-type-def type-id='type-id-593' size-in-bits='64' id='type-id-594'/>
+    <typedef-decl name='eth_xstats_get_by_id_t' type-id='type-id-594' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='188' column='1' id='type-id-334'/>
+    <pointer-type-def type-id='type-id-595' size-in-bits='64' id='type-id-596'/>
+    <typedef-decl name='eth_xstats_get_names_by_id_t' type-id='type-id-596' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='219' column='1' id='type-id-335'/>
+    <pointer-type-def type-id='type-id-597' size-in-bits='64' id='type-id-598'/>
+    <typedef-decl name='eth_tm_ops_get_t' type-id='type-id-598' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='512' column='1' id='type-id-336'/>
+    <typedef-decl name='eth_mtr_ops_get_t' type-id='type-id-598' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='515' column='1' id='type-id-337'/>
+    <pointer-type-def type-id='type-id-599' size-in-bits='64' id='type-id-600'/>
+    <typedef-decl name='eth_pool_ops_supported_t' type-id='type-id-600' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='522' column='1' id='type-id-338'/>
+    <class-decl name='rte_eth_hairpin_cap' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='861' column='1' id='type-id-601'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max_nb_queues' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='863' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='max_rx_2_tx' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_tx_2_rx' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='867' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='max_nb_desc' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='868' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-601' size-in-bits='64' id='type-id-602'/>
+    <pointer-type-def type-id='type-id-603' size-in-bits='64' id='type-id-604'/>
+    <typedef-decl name='eth_hairpin_cap_get_t' type-id='type-id-604' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='543' column='1' id='type-id-339'/>
+    <class-decl name='rte_eth_hairpin_conf' size-in-bits='1040' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='890' column='1' id='type-id-605'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='peer_count' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='891' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='peers' type-id='type-id-606' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='892' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_hairpin_peer' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='879' column='1' id='type-id-607'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='port' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='880' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='queue' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='881' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-607' size-in-bits='1024' id='type-id-606'>
+      <subrange length='32' type-id='type-id-48' id='type-id-83'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-605' const='yes' id='type-id-608'/>
+    <pointer-type-def type-id='type-id-608' size-in-bits='64' id='type-id-609'/>
+    <pointer-type-def type-id='type-id-610' size-in-bits='64' id='type-id-611'/>
+    <typedef-decl name='eth_rx_hairpin_queue_setup_t' type-id='type-id-611' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='571' column='1' id='type-id-340'/>
+    <typedef-decl name='eth_tx_hairpin_queue_setup_t' type-id='type-id-611' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='601' column='1' id='type-id-341'/>
+    <var-decl name='virtio_user_secondary_eth_dev_ops' type-id='type-id-410' visibility='default' filepath='../drivers/net/virtio/virtio_ethdev.h' line='50' column='1'/>
+    <function-type size-in-bits='64' id='type-id-482'>
+      <parameter type-id='type-id-423'/>
+      <return type-id='type-id-456'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-195'>
+      <return type-id='type-id-194'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-177'>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-188'>
+      <parameter type-id='type-id-148'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-181'>
+      <parameter type-id='type-id-180'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-186'>
+      <parameter type-id='type-id-152'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-190'>
+      <parameter type-id='type-id-152'/>
+      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-86'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-424'>
+      <parameter type-id='type-id-423'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-480'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-215'/>
+      <parameter type-id='type-id-86'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-599'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-148'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-586'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-585'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-593'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-592'/>
+      <parameter type-id='type-id-588'/>
+      <parameter type-id='type-id-39'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-562'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-560'/>
+      <parameter type-id='type-id-561'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-489'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-488'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-428'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-554'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-553'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-550'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-549'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-569'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-568'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-465'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-464'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-558'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-557'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-512'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-511'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-603'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-602'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-535'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-534'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-537'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-534'/>
+      <parameter type-id='type-id-19'/>
+      <parameter type-id='type-id-22'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-526'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-525'/>
+      <parameter type-id='type-id-22'/>
+      <parameter type-id='type-id-22'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-516'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-515'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-542'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-541'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-546'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-545'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-443'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-442'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-530'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-529'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-447'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-446'/>
+      <parameter type-id='type-id-39'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-595'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-450'/>
+      <parameter type-id='type-id-592'/>
+      <parameter type-id='type-id-39'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-451'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-450'/>
+      <parameter type-id='type-id-39'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-434'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-361'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-436'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-361'/>
+      <parameter type-id='type-id-19'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-432'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-361'/>
+      <parameter type-id='type-id-19'/>
+      <parameter type-id='type-id-19'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-518'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-361'/>
+      <parameter type-id='type-id-22'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-578'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-575'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-576'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-575'/>
+      <parameter type-id='type-id-19'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-582'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-581'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-438'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-486'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-478'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-477'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-539'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-610'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-609'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-495'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-39'/>
+      <parameter type-id='type-id-494'/>
+      <parameter type-id='type-id-69'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-505'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-39'/>
+      <parameter type-id='type-id-504'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-453'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-22'/>
+      <parameter type-id='type-id-22'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-484'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-19'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-520'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-22'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-589'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-588'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-597'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-243'>
+      <parameter type-id='type-id-135'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-245'>
+      <parameter type-id='type-id-135'/>
+      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-18'/>
+      <parameter type-id='type-id-86'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-241'>
+      <parameter type-id='type-id-143'/>
+      <parameter type-id='type-id-135'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-132'>
+      <parameter type-id='type-id-37'/>
+      <parameter type-id='type-id-33'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-204'>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-501'>
+      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-507'>
+      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-19'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-184'>
+      <parameter type-id='type-id-180'/>
+      <parameter type-id='type-id-183'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-152'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-419'>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-30'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-21'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-421'>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-30'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-21'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-130'>
+      <parameter type-id='type-id-37'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-21'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-131'>
+      <parameter type-id='type-id-37'/>
+      <parameter type-id='type-id-33'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-21'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-354'>
+      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-30'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-21'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-499'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-19'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-128'>
+      <parameter type-id='type-id-37'/>
+      <return type-id='type-id-18'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-126'>
+      <parameter type-id='type-id-37'/>
+      <return type-id='type-id-22'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-227'>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-15'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-426'>
+      <parameter type-id='type-id-423'/>
+      <return type-id='type-id-15'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-491'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-15'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-469'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-468'/>
+      <return type-id='type-id-15'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-473'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-472'/>
+      <return type-id='type-id-15'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-430'>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-19'/>
+      <return type-id='type-id-15'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-104'>
+      <parameter type-id='type-id-98'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-15'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-125'>
+      <parameter type-id='type-id-37'/>
+      <parameter type-id='type-id-86'/>
+      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-15'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-129'>
+      <parameter type-id='type-id-37'/>
+      <parameter type-id='type-id-18'/>
+      <return type-id='type-id-15'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-127'>
+      <parameter type-id='type-id-37'/>
+      <parameter type-id='type-id-22'/>
+      <return type-id='type-id-15'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-133'>
+      <parameter type-id='type-id-37'/>
+      <parameter type-id='type-id-33'/>
+      <return type-id='type-id-15'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-497'>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-15'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-109'>
+      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-15'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-202'>
+      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-148'/>
+      <parameter type-id='type-id-201'/>
+      <return type-id='type-id-28'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/virtio/virtio_pci.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='legacy_ops' type-id='type-id-134' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='352' column='1'/>
+    <var-decl name='modern_ops' type-id='type-id-134' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='353' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/virtio/virtio_user_ethdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='virtio_user_ops' type-id='type-id-134' visibility='default' filepath='../drivers/net/virtio/virtio_pci.h' line='354' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/virtio/virtio_user/vhost_kernel.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='virtio_user_backend_ops' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/net/virtio/virtio_user/vhost.h' line='81' column='1' id='type-id-612'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='setup' type-id='type-id-613' visibility='default' filepath='../drivers/net/virtio/virtio_user/vhost.h' line='82' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='send_request' type-id='type-id-614' visibility='default' filepath='../drivers/net/virtio/virtio_user/vhost.h' line='83' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='enable_qp' type-id='type-id-615' visibility='default' filepath='../drivers/net/virtio/virtio_user/vhost.h' line='86' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='virtio_user_dev' size-in-bits='40064' is-struct='yes' visibility='default' filepath='../drivers/net/virtio/virtio_user/virtio_user_dev.h' line='19' column='1' id='type-id-616'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vhostfd' type-id='type-id-1' visibility='default' filepath='../drivers/net/virtio/virtio_user/virtio_user_dev.h' line='21' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='listenfd' type-id='type-id-1' visibility='default' filepath='../drivers/net/virtio/virtio_user/virtio_user_dev.h' line='22' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='is_server' type-id='type-id-20' visibility='default' filepath='../drivers/net/virtio/virtio_user/virtio_user_dev.h' line='23' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ifname' type-id='type-id-215' visibility='default' filepath='../drivers/net/virtio/virtio_user/virtio_user_dev.h' line='26' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='vhostfds' type-id='type-id-221' visibility='default' filepath='../drivers/net/virtio/virtio_user/virtio_user_dev.h' line='27' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='tapfds' type-id='type-id-221' visibility='default' filepath='../drivers/net/virtio/virtio_user/virtio_user_dev.h' line='28' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='callfds' type-id='type-id-617' visibility='default' filepath='../drivers/net/virtio/virtio_user/virtio_user_dev.h' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='864'>
+        <var-decl name='kickfds' type-id='type-id-617' visibility='default' filepath='../drivers/net/virtio/virtio_user/virtio_user_dev.h' line='32' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='mac_specified' type-id='type-id-1' visibility='default' filepath='../drivers/net/virtio/virtio_user/virtio_user_dev.h' line='33' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1440'>
+        <var-decl name='max_queue_pairs' type-id='type-id-19' visibility='default' filepath='../drivers/net/virtio/virtio_user/virtio_user_dev.h' line='34' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='queue_pairs' type-id='type-id-19' visibility='default' filepath='../drivers/net/virtio/virtio_user/virtio_user_dev.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1504'>
+        <var-decl name='queue_size' type-id='type-id-19' visibility='default' filepath='../drivers/net/virtio/virtio_user/virtio_user_dev.h' line='36' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='features' type-id='type-id-18' visibility='default' filepath='../drivers/net/virtio/virtio_user/virtio_user_dev.h' line='37' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='device_features' type-id='type-id-18' visibility='default' filepath='../drivers/net/virtio/virtio_user/virtio_user_dev.h' line='40' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='frontend_features' type-id='type-id-18' visibility='default' filepath='../drivers/net/virtio/virtio_user/virtio_user_dev.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='unsupported_features' type-id='type-id-18' visibility='default' filepath='../drivers/net/virtio/virtio_user/virtio_user_dev.h' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='status' type-id='type-id-22' visibility='default' filepath='../drivers/net/virtio/virtio_user/virtio_user_dev.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1808'>
+        <var-decl name='port_id' type-id='type-id-21' visibility='default' filepath='../drivers/net/virtio/virtio_user/virtio_user_dev.h' line='44' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1824'>
+        <var-decl name='mac_addr' type-id='type-id-23' visibility='default' filepath='../drivers/net/virtio/virtio_user/virtio_user_dev.h' line='45' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1872'>
+        <var-decl name='path' type-id='type-id-618' visibility='default' filepath='../drivers/net/virtio/virtio_user/virtio_user_dev.h' line='46' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='34688'>
+        <var-decl name='' type-id='type-id-619' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='39040'>
+        <var-decl name='packed_queues' type-id='type-id-620' visibility='default' filepath='../drivers/net/virtio/virtio_user/virtio_user_dev.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='39616'>
+        <var-decl name='ops' type-id='type-id-621' visibility='default' filepath='../drivers/net/virtio/virtio_user/virtio_user_dev.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='39680'>
+        <var-decl name='mutex' type-id='type-id-622' visibility='default' filepath='../drivers/net/virtio/virtio_user/virtio_user_dev.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40000'>
+        <var-decl name='started' type-id='type-id-20' visibility='default' filepath='../drivers/net/virtio/virtio_user/virtio_user_dev.h' line='55' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='544' id='type-id-617'>
+      <subrange length='17' type-id='type-id-48' id='type-id-623'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-82' size-in-bits='32768' id='type-id-618'>
+      <subrange length='4096' type-id='type-id-48' id='type-id-624'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='4352' is-anonymous='yes' visibility='default' filepath='../drivers/net/virtio/virtio_user/virtio_user_dev.h' line='47' column='1' id='type-id-619'>
+      <data-member access='private'>
+        <var-decl name='vrings' type-id='type-id-625' visibility='default' filepath='../drivers/net/virtio/virtio_user/virtio_user_dev.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='packed_vrings' type-id='type-id-626' visibility='default' filepath='../drivers/net/virtio/virtio_user/virtio_user_dev.h' line='49' column='1'/>
+      </data-member>
+    </union-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-43' size-in-bits='4352' id='type-id-625'>
+      <subrange length='17' type-id='type-id-48' id='type-id-623'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-60' size-in-bits='4352' id='type-id-626'>
+      <subrange length='17' type-id='type-id-48' id='type-id-623'/>
+
+    </array-type-def>
+    <class-decl name='virtio_user_queue' size-in-bits='32' is-struct='yes' visibility='default' filepath='../drivers/net/virtio/virtio_user/virtio_user_dev.h' line='13' column='1' id='type-id-627'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='used_idx' type-id='type-id-21' visibility='default' filepath='../drivers/net/virtio/virtio_user/virtio_user_dev.h' line='14' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='avail_wrap_counter' type-id='type-id-20' visibility='default' filepath='../drivers/net/virtio/virtio_user/virtio_user_dev.h' line='15' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='used_wrap_counter' type-id='type-id-20' visibility='default' filepath='../drivers/net/virtio/virtio_user/virtio_user_dev.h' line='16' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-627' size-in-bits='544' id='type-id-620'>
+      <subrange length='17' type-id='type-id-48' id='type-id-623'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-612' size-in-bits='64' id='type-id-621'/>
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='67' column='1' id='type-id-628'>
+      <data-member access='private'>
+        <var-decl name='__data' type-id='type-id-629' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='69' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='__size' type-id='type-id-630' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='__align' type-id='type-id-574' visibility='default' filepath='/usr/include/bits/pthreadtypes.h' line='71' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__pthread_mutex_s' size-in-bits='320' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='118' column='1' id='type-id-629'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__lock' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='120' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='__count' type-id='type-id-39' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='121' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='__owner' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='122' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='__nusers' type-id='type-id-39' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='124' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='__kind' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='148' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='__spins' type-id='type-id-113' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='__elision' type-id='type-id-113' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='__list' type-id='type-id-631' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='155' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__pthread_internal_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='82' column='1' id='type-id-632'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__prev' type-id='type-id-633' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='__next' type-id='type-id-633' visibility='default' filepath='/usr/include/bits/thread-shared-types.h' line='85' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-632' size-in-bits='64' id='type-id-633'/>
+    <typedef-decl name='__pthread_list_t' type-id='type-id-632' filepath='/usr/include/bits/thread-shared-types.h' line='86' column='1' id='type-id-631'/>
+
+    <array-type-def dimensions='1' type-id='type-id-82' size-in-bits='320' id='type-id-630'>
+      <subrange length='40' type-id='type-id-48' id='type-id-634'/>
+
+    </array-type-def>
+    <typedef-decl name='pthread_mutex_t' type-id='type-id-628' filepath='/usr/include/bits/pthreadtypes.h' line='72' column='1' id='type-id-622'/>
+    <pointer-type-def type-id='type-id-616' size-in-bits='64' id='type-id-635'/>
+    <pointer-type-def type-id='type-id-636' size-in-bits='64' id='type-id-613'/>
+    <enum-decl name='vhost_user_request' filepath='../drivers/net/virtio/virtio_user/vhost.h' line='47' column='1' id='type-id-637'>
+      <underlying-type type-id='type-id-193'/>
+      <enumerator name='VHOST_USER_NONE' value='0'/>
+      <enumerator name='VHOST_USER_GET_FEATURES' value='1'/>
+      <enumerator name='VHOST_USER_SET_FEATURES' value='2'/>
+      <enumerator name='VHOST_USER_SET_OWNER' value='3'/>
+      <enumerator name='VHOST_USER_RESET_OWNER' value='4'/>
+      <enumerator name='VHOST_USER_SET_MEM_TABLE' value='5'/>
+      <enumerator name='VHOST_USER_SET_LOG_BASE' value='6'/>
+      <enumerator name='VHOST_USER_SET_LOG_FD' value='7'/>
+      <enumerator name='VHOST_USER_SET_VRING_NUM' value='8'/>
+      <enumerator name='VHOST_USER_SET_VRING_ADDR' value='9'/>
+      <enumerator name='VHOST_USER_SET_VRING_BASE' value='10'/>
+      <enumerator name='VHOST_USER_GET_VRING_BASE' value='11'/>
+      <enumerator name='VHOST_USER_SET_VRING_KICK' value='12'/>
+      <enumerator name='VHOST_USER_SET_VRING_CALL' value='13'/>
+      <enumerator name='VHOST_USER_SET_VRING_ERR' value='14'/>
+      <enumerator name='VHOST_USER_GET_PROTOCOL_FEATURES' value='15'/>
+      <enumerator name='VHOST_USER_SET_PROTOCOL_FEATURES' value='16'/>
+      <enumerator name='VHOST_USER_GET_QUEUE_NUM' value='17'/>
+      <enumerator name='VHOST_USER_SET_VRING_ENABLE' value='18'/>
+      <enumerator name='VHOST_USER_MAX' value='19'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-638' size-in-bits='64' id='type-id-614'/>
+    <pointer-type-def type-id='type-id-639' size-in-bits='64' id='type-id-615'/>
+    <var-decl name='virtio_ops_kernel' type-id='type-id-612' visibility='default' filepath='../drivers/net/virtio/virtio_user/vhost.h' line='92' column='1'/>
+    <function-type size-in-bits='64' id='type-id-636'>
+      <parameter type-id='type-id-635'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-638'>
+      <parameter type-id='type-id-635'/>
+      <parameter type-id='type-id-637'/>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-639'>
+      <parameter type-id='type-id-635'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/virtio/virtio_user/vhost_user.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <qualified-type-def type-id='type-id-148' const='yes' id='type-id-640'/>
+
+    <array-type-def dimensions='1' type-id='type-id-640' size-in-bits='1216' id='type-id-641'>
+      <subrange length='19' type-id='type-id-48' id='type-id-642'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-641' const='yes' id='type-id-643'/>
+    <var-decl name='vhost_msg_strings' type-id='type-id-643' visibility='default' filepath='../drivers/net/virtio/virtio_user/vhost.h' line='70' column='1'/>
+    <var-decl name='virtio_ops_user' type-id='type-id-612' visibility='default' filepath='../drivers/net/virtio/virtio_user/vhost.h' line='91' column='1'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_vmxnet3.dump b/drivers/.abi/librte_pmd_vmxnet3.dump
new file mode 100644
index 000000000..ae223f403
--- /dev/null
+++ b/drivers/.abi/librte_pmd_vmxnet3.dump
@@ -0,0 +1,27 @@
+<abi-corpus path='gcc//drivers/librte_pmd_vmxnet3.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_vmxnet3.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/vmxnet3/vmxnet3_ethdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='vmxnet3_logtype_init' type-id='type-id-1' visibility='default' filepath='../drivers/net/vmxnet3/vmxnet3_logs.h' line='8' column='1'/>
+    <var-decl name='vmxnet3_logtype_driver' type-id='type-id-1' visibility='default' filepath='../drivers/net/vmxnet3/vmxnet3_logs.h' line='35' column='1'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_vmxnet3_uio.dump b/drivers/.abi/librte_pmd_vmxnet3_uio.dump
new file mode 100644
index 000000000..5626689bd
--- /dev/null
+++ b/drivers/.abi/librte_pmd_vmxnet3_uio.dump
@@ -0,0 +1,11 @@
+<abi-corpus path='tmp_abi_sofiles//drivers/librte_pmd_vmxnet3_uio.so.20.0.0' architecture='elf-amd-x86_64' soname='librte_pmd_vmxnet3_uio.so.20.0'>
+  <elf-needed>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+</abi-corpus>
-- 
2.17.1


^ permalink raw reply	[relevance 7%]

* [dpdk-dev] [PATCH v6 09/11] drivers/net/intel: add dump files for v20.0 ABI
  2019-12-13 16:40  8%       ` [dpdk-dev] [PATCH v6 00/11] Add ABI compatibility checks to the meson build Kevin Laatz
                           ` (7 preceding siblings ...)
  2019-12-13 16:41  7%         ` [dpdk-dev] [PATCH v6 08/11] drivers/net: " Kevin Laatz
@ 2019-12-13 16:41  3%         ` Kevin Laatz
  2019-12-13 16:41 21%         ` [dpdk-dev] [PATCH v6 10/11] build: add abi checks to meson Kevin Laatz
                           ` (2 subsequent siblings)
  11 siblings, 0 replies; 200+ results
From: Kevin Laatz @ 2019-12-13 16:41 UTC (permalink / raw)
  To: dev
  Cc: thomas, david.marchand, bruce.richardson, ray.kinsella, tdu, zr,
	cernay, Kevin Laatz

This patch adds the drivers/net intel .dump files generated for the v20.0
ABI. These files will be used to compare the ABI during the meson build
when the compat_checks meson is enabled. If there is a mismatch between the
.dump files (the baseline, ie. current stable ABI version) and the code
being compiled, then abidiff will report an error and the build will fail.

The .dump files are stored in the drivers/.abi directory.  The directory is
hidden to reduce clutter and also to discourage changing these files since
they should not be modified.

Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
---
 drivers/.abi/librte_pmd_e1000.dump  | 3414 ++++++++++++++
 drivers/.abi/librte_pmd_fm10k.dump  |  894 ++++
 drivers/.abi/librte_pmd_i40e.dump   | 3553 +++++++++++++++
 drivers/.abi/librte_pmd_ice.dump    | 6395 +++++++++++++++++++++++++++
 drivers/.abi/librte_pmd_ipn3ke.dump | 3581 +++++++++++++++
 drivers/.abi/librte_pmd_ixgbe.dump  | 3369 ++++++++++++++
 6 files changed, 21206 insertions(+)
 create mode 100644 drivers/.abi/librte_pmd_e1000.dump
 create mode 100644 drivers/.abi/librte_pmd_fm10k.dump
 create mode 100644 drivers/.abi/librte_pmd_i40e.dump
 create mode 100644 drivers/.abi/librte_pmd_ice.dump
 create mode 100644 drivers/.abi/librte_pmd_ipn3ke.dump
 create mode 100644 drivers/.abi/librte_pmd_ixgbe.dump

diff --git a/drivers/.abi/librte_pmd_e1000.dump b/drivers/.abi/librte_pmd_e1000.dump
new file mode 100644
index 000000000..0594bdd4a
--- /dev/null
+++ b/drivers/.abi/librte_pmd_e1000.dump
@@ -0,0 +1,3414 @@
+<abi-corpus path='gcc//drivers/librte_pmd_e1000.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_e1000.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/e1000/e1000_logs.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='e1000_logtype_init' type-id='type-id-1' visibility='default' filepath='../drivers/net/e1000/e1000_logs.h' line='10' column='1'/>
+    <var-decl name='e1000_logtype_driver' type-id='type-id-1' visibility='default' filepath='../drivers/net/e1000/e1000_logs.h' line='45' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/e1000/igb_flow.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='igb_flow_mem_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='363' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-3' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='363' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-4' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='363' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='igb_flow_mem' size-in-bits='256' is-struct='yes' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='347' column='1' id='type-id-5'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='entries' type-id='type-id-6' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='348' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='flow' type-id='type-id-7' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='349' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev' type-id='type-id-8' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='350' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='348' column='1' id='type-id-6'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-3' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='348' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-4' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='348' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-5' size-in-bits='64' id='type-id-3'/>
+    <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-4'/>
+    <class-decl name='rte_flow' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='311' column='1' id='type-id-9'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='filter_type' type-id='type-id-10' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='312' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rule' type-id='type-id-11' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='313' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-12'/>
+    <enum-decl name='rte_filter_type' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='28' column='1' id='type-id-10'>
+      <underlying-type type-id='type-id-12'/>
+      <enumerator name='RTE_ETH_FILTER_NONE' value='0'/>
+      <enumerator name='RTE_ETH_FILTER_MACVLAN' value='1'/>
+      <enumerator name='RTE_ETH_FILTER_ETHERTYPE' value='2'/>
+      <enumerator name='RTE_ETH_FILTER_FLEXIBLE' value='3'/>
+      <enumerator name='RTE_ETH_FILTER_SYN' value='4'/>
+      <enumerator name='RTE_ETH_FILTER_NTUPLE' value='5'/>
+      <enumerator name='RTE_ETH_FILTER_TUNNEL' value='6'/>
+      <enumerator name='RTE_ETH_FILTER_FDIR' value='7'/>
+      <enumerator name='RTE_ETH_FILTER_HASH' value='8'/>
+      <enumerator name='RTE_ETH_FILTER_L2_TUNNEL' value='9'/>
+      <enumerator name='RTE_ETH_FILTER_GENERIC' value='10'/>
+      <enumerator name='RTE_ETH_FILTER_MAX' value='11'/>
+    </enum-decl>
+    <type-decl name='void' id='type-id-13'/>
+    <pointer-type-def type-id='type-id-13' size-in-bits='64' id='type-id-11'/>
+    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-7'/>
+    <class-decl name='rte_eth_dev' size-in-bits='132608' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='777' column='1' id='type-id-14'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_pkt_burst' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='778' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tx_pkt_burst' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tx_pkt_prepare' type-id='type-id-17' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='data' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='786' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='process_private' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='787' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_ops' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='788' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='device' type-id='type-id-20' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='789' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='intr_handle' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='790' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='link_intr_cbs' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='792' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='post_rx_burst_cbs' type-id='type-id-23' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='797' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='66176'>
+        <var-decl name='pre_tx_burst_cbs' type-id='type-id-23' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131712'>
+        <var-decl name='state' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='803' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131776'>
+        <var-decl name='security_ctx' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131840'>
+        <var-decl name='reserved_64s' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='806' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='132096'>
+        <var-decl name='reserved_ptrs' type-id='type-id-26' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='807' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-27'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-27' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-28'/>
+    <typedef-decl name='uint16_t' type-id='type-id-28' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-29'/>
+    <class-decl name='rte_mbuf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='480' column='1' id='type-id-30'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheline0' type-id='type-id-31' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-11' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-32' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rearm_data' type-id='type-id-33' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='497' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_off' type-id='type-id-29' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_segs' type-id='type-id-29' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='port' type-id='type-id-29' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ol_flags' type-id='type-id-34' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_descriptor_fields1' type-id='type-id-31' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='pkt_len' type-id='type-id-35' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data_len' type-id='type-id-29' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='vlan_tci' type-id='type-id-29' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vlan_tci_outer' type-id='type-id-29' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='buf_len' type-id='type-id-29' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='timestamp' type-id='type-id-34' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cacheline1' type-id='type-id-31' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='pool' type-id='type-id-36' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='next' type-id='type-id-37' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv_size' type-id='type-id-29' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='timesync' type-id='type-id-29' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='seqn' type-id='type-id-35' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='shinfo' type-id='type-id-38' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dynfield1' type-id='type-id-39' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-40'/>
+
+    <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='infinite' id='type-id-41'>
+      <subrange length='infinite' type-id='type-id-40' id='type-id-42'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER' type-id='type-id-41' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='414' column='1' id='type-id-31'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='491' column='1' id='type-id-32'>
+      <data-member access='private'>
+        <var-decl name='buf_iova' type-id='type-id-43' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='buf_physaddr' type-id='type-id-43' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='__uint64_t' type-id='type-id-40' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-44'/>
+    <typedef-decl name='uint64_t' type-id='type-id-44' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-34'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-34' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-43'/>
+
+    <array-type-def dimensions='1' type-id='type-id-34' size-in-bits='infinite' id='type-id-45'>
+      <subrange length='infinite' type-id='type-id-40' id='type-id-42'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER64' type-id='type-id-45' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='420' column='1' id='type-id-33'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-46'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-46' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-47'/>
+    <typedef-decl name='uint32_t' type-id='type-id-47' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-35'/>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-48'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-50' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-11' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-51' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-46' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-35' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-35' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-35' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-35' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-35' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-46' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-52' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-53' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-35' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-54' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-35' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-55' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-56'/>
+
+    <array-type-def dimensions='1' type-id='type-id-56' size-in-bits='256' id='type-id-49'>
+      <subrange length='32' type-id='type-id-40' id='type-id-57'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-50'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-11' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-34' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-58'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-49' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-59' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-60' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-34' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-52' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-35' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-59'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-61' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-43' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-34' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-61'/>
+    <typedef-decl name='size_t' type-id='type-id-40' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-60'/>
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-62'/>
+    <typedef-decl name='int32_t' type-id='type-id-62' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-52'/>
+    <qualified-type-def type-id='type-id-58' const='yes' id='type-id-63'/>
+    <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-51'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-64'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-35' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-35' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-35' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-65' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='98304' id='type-id-65'>
+      <subrange length='1536' type-id='type-id-40' id='type-id-66'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-64' size-in-bits='64' id='type-id-53'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-54'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-67' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-68' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-69'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-70' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-36' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-71' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-70'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-67' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-69' size-in-bits='64' id='type-id-67'/>
+    <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-36'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-71'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-43' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-61' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-67' size-in-bits='64' id='type-id-68'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-55'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-72' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-73' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-74'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-75' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-36' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-11' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-76' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-60' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-77' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-11' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-75'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-72' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-74' size-in-bits='64' id='type-id-72'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-76'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-43' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-61' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-78' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-79'/>
+    <pointer-type-def type-id='type-id-79' size-in-bits='64' id='type-id-77'/>
+    <pointer-type-def type-id='type-id-72' size-in-bits='64' id='type-id-73'/>
+    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-37'/>
+    <class-decl name='rte_mbuf_ext_shared_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='689' column='1' id='type-id-80'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_cb' type-id='type-id-81' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcb_opaque' type-id='type-id-11' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt_atomic' type-id='type-id-82' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-84'/>
+    <typedef-decl name='rte_mbuf_extbuf_free_callback_t' type-id='type-id-84' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='684' column='1' id='type-id-81'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-82' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-85'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-86' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-87'/>
+    <typedef-decl name='__int16_t' type-id='type-id-87' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-88'/>
+    <typedef-decl name='int16_t' type-id='type-id-88' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-89'/>
+    <qualified-type-def type-id='type-id-89' volatile='yes' id='type-id-86'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-85' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-82'/>
+    <pointer-type-def type-id='type-id-80' size-in-bits='64' id='type-id-38'/>
+
+    <array-type-def dimensions='1' type-id='type-id-34' size-in-bits='128' id='type-id-39'>
+      <subrange length='2' type-id='type-id-40' id='type-id-90'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-37' size-in-bits='64' id='type-id-91'/>
+    <pointer-type-def type-id='type-id-92' size-in-bits='64' id='type-id-93'/>
+    <typedef-decl name='eth_rx_burst_t' type-id='type-id-93' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='340' column='1' id='type-id-15'/>
+    <typedef-decl name='eth_tx_burst_t' type-id='type-id-93' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='345' column='1' id='type-id-16'/>
+    <typedef-decl name='eth_tx_prep_t' type-id='type-id-93' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='350' column='1' id='type-id-17'/>
+    <class-decl name='rte_eth_dev_data' size-in-bits='55808' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='820' column='1' id='type-id-94'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-95' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='821' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_queues' type-id='type-id-96' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='823' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_queues' type-id='type-id-96' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='824' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='nb_rx_queues' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='825' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='656'>
+        <var-decl name='nb_tx_queues' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='826' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='sriov' type-id='type-id-97' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='dev_private' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='830' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_link' type-id='type-id-98' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='835' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dev_conf' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='836' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25536'>
+        <var-decl name='mtu' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='837' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25568'>
+        <var-decl name='min_rx_buf_size' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25600'>
+        <var-decl name='rx_mbuf_alloc_failed' type-id='type-id-34' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='841' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25664'>
+        <var-decl name='mac_addrs' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='842' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25728'>
+        <var-decl name='mac_pool_sel' type-id='type-id-101' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='846' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='33920'>
+        <var-decl name='hash_mac_addrs' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='848' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='33984'>
+        <var-decl name='port_id' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='852' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='promiscuous' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='855' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='scattered_rx' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='856' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='all_multicast' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='857' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4'>
+        <var-decl name='dev_started' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='858' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3'>
+        <var-decl name='lro' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='859' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='34008'>
+        <var-decl name='rx_queue_state' type-id='type-id-103' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='860' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='42200'>
+        <var-decl name='tx_queue_state' type-id='type-id-103' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='862' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50400'>
+        <var-decl name='dev_flags' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='864' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50432'>
+        <var-decl name='kdrv' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50464'>
+        <var-decl name='numa_node' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='866' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50496'>
+        <var-decl name='vlan_filter_conf' type-id='type-id-105' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='867' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='54592'>
+        <var-decl name='owner' type-id='type-id-106' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='869' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55168'>
+        <var-decl name='representor_id' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='870' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55232'>
+        <var-decl name='reserved_64s' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='875' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55488'>
+        <var-decl name='reserved_ptrs' type-id='type-id-26' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='876' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-56' size-in-bits='512' id='type-id-95'>
+      <subrange length='64' type-id='type-id-40' id='type-id-107'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-96'/>
+    <class-decl name='rte_eth_dev_sriov' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1476' column='1' id='type-id-97'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='active' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1477' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='nb_q_per_pool' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1478' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='def_vmdq_idx' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1479' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='def_pool_q_idx' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1480' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-108'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-108' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-109'/>
+    <typedef-decl name='uint8_t' type-id='type-id-109' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-102'/>
+    <class-decl name='rte_eth_link' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='308' column='1' id='type-id-98'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_speed' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='309' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='15'>
+        <var-decl name='link_duplex' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='310' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='14'>
+        <var-decl name='link_autoneg' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='311' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='13'>
+        <var-decl name='link_status' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='312' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_conf' size-in-bits='24640' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1045' column='1' id='type-id-99'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_speeds' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1046' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rxmode' type-id='type-id-110' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1053' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='txmode' type-id='type-id-111' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1054' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='lpbk_mode' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1055' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='rx_adv_conf' type-id='type-id-112' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1068' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='17984'>
+        <var-decl name='tx_adv_conf' type-id='type-id-113' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1076' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18080'>
+        <var-decl name='dcb_capability_en' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1079' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18112'>
+        <var-decl name='fdir_conf' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1080' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24576'>
+        <var-decl name='intr_conf' type-id='type-id-115' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1081' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rxmode' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='394' column='1' id='type-id-110'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mq_mode' type-id='type-id-116' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='396' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_rx_pkt_len' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='397' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='max_lro_pkt_size' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='399' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='split_hdr_size' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='400' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='offloads' type-id='type-id-34' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='406' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='408' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-117' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='409' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_rx_mq_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='344' column='1' id='type-id-116'>
+      <underlying-type type-id='type-id-12'/>
+      <enumerator name='ETH_MQ_RX_NONE' value='0'/>
+      <enumerator name='ETH_MQ_RX_RSS' value='1'/>
+      <enumerator name='ETH_MQ_RX_DCB' value='2'/>
+      <enumerator name='ETH_MQ_RX_DCB_RSS' value='3'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_ONLY' value='4'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_RSS' value='5'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_DCB' value='6'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_DCB_RSS' value='7'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='128' id='type-id-117'>
+      <subrange length='2' type-id='type-id-40' id='type-id-90'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_txmode' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='792' column='1' id='type-id-111'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mq_mode' type-id='type-id-118' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='793' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offloads' type-id='type-id-34' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='799' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pvid' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='hw_vlan_reject_tagged' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='hw_vlan_reject_untagged' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='806' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='hw_vlan_insert_pvid' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='808' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='811' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-117' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='812' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_tx_mq_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='377' column='1' id='type-id-118'>
+      <underlying-type type-id='type-id-12'/>
+      <enumerator name='ETH_MQ_TX_NONE' value='0'/>
+      <enumerator name='ETH_MQ_TX_DCB' value='1'/>
+      <enumerator name='ETH_MQ_TX_VMDQ_DCB' value='2'/>
+      <enumerator name='ETH_MQ_TX_VMDQ_ONLY' value='3'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16960' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1060' column='1' id='type-id-112'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rss_conf' type-id='type-id-119' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1061' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='vmdq_dcb_conf' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1062' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8512'>
+        <var-decl name='dcb_rx_conf' type-id='type-id-121' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1064' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8640'>
+        <var-decl name='vmdq_rx_conf' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1066' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rss_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='448' column='1' id='type-id-119'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rss_key' type-id='type-id-123' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rss_key_len' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rss_hf' type-id='type-id-34' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='451' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-102' size-in-bits='64' id='type-id-123'/>
+    <class-decl name='rte_eth_vmdq_dcb_conf' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='745' column='1' id='type-id-120'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='746' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='enable_default_pool' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='default_pool' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='748' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='nb_pool_maps' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='749' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pool_map' type-id='type-id-125' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8256'>
+        <var-decl name='dcb_tc' type-id='type-id-126' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='754' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_nb_pools' filepath='../lib/librte_ethdev/rte_ethdev.h' line='704' column='1' id='type-id-124'>
+      <underlying-type type-id='type-id-12'/>
+      <enumerator name='ETH_8_POOLS' value='8'/>
+      <enumerator name='ETH_16_POOLS' value='16'/>
+      <enumerator name='ETH_32_POOLS' value='32'/>
+      <enumerator name='ETH_64_POOLS' value='64'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='750' column='1' id='type-id-127'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_id' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='751' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pools' type-id='type-id-34' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='752' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-127' size-in-bits='8192' id='type-id-125'>
+      <subrange length='64' type-id='type-id-40' id='type-id-107'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-102' size-in-bits='64' id='type-id-126'>
+      <subrange length='8' type-id='type-id-40' id='type-id-128'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_dcb_rx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='712' column='1' id='type-id-121'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-129' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-126' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='715' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_nb_tcs' filepath='../lib/librte_ethdev/rte_ethdev.h' line='695' column='1' id='type-id-129'>
+      <underlying-type type-id='type-id-12'/>
+      <enumerator name='ETH_4_TCS' value='4'/>
+      <enumerator name='ETH_8_TCS' value='8'/>
+    </enum-decl>
+    <class-decl name='rte_eth_vmdq_rx_conf' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='776' column='1' id='type-id-122'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='777' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='enable_default_pool' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='778' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='default_pool' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='enable_loop_back' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='nb_pool_maps' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='781' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rx_mode' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='782' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pool_map' type-id='type-id-125' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='786' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <union-decl name='__anonymous_union__' size-in-bits='96' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1069' column='1' id='type-id-113'>
+      <data-member access='private'>
+        <var-decl name='vmdq_dcb_tx_conf' type-id='type-id-130' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1070' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dcb_tx_conf' type-id='type-id-131' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1072' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='vmdq_tx_conf' type-id='type-id-132' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1074' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_eth_vmdq_dcb_tx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='718' column='1' id='type-id-130'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-126' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='721' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dcb_tx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='724' column='1' id='type-id-131'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-129' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-126' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='727' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vmdq_tx_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='730' column='1' id='type-id-132'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='731' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_fdir_conf' size-in-bits='6464' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1005' column='1' id='type-id-114'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mode' type-id='type-id-133' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1006' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='pballoc' type-id='type-id-134' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1007' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='status' type-id='type-id-135' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1008' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='drop_queue' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1010' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mask' type-id='type-id-136' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1011' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='flex_conf' type-id='type-id-137' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1012' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_fdir_mode' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='603' column='1' id='type-id-133'>
+      <underlying-type type-id='type-id-12'/>
+      <enumerator name='RTE_FDIR_MODE_NONE' value='0'/>
+      <enumerator name='RTE_FDIR_MODE_SIGNATURE' value='1'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT' value='2'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT_MAC_VLAN' value='3'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT_TUNNEL' value='4'/>
+    </enum-decl>
+    <enum-decl name='rte_fdir_pballoc_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='984' column='1' id='type-id-134'>
+      <underlying-type type-id='type-id-12'/>
+      <enumerator name='RTE_FDIR_PBALLOC_64K' value='0'/>
+      <enumerator name='RTE_FDIR_PBALLOC_128K' value='1'/>
+      <enumerator name='RTE_FDIR_PBALLOC_256K' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_fdir_status_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='993' column='1' id='type-id-135'>
+      <underlying-type type-id='type-id-12'/>
+      <enumerator name='RTE_FDIR_NO_REPORT_STATUS' value='0'/>
+      <enumerator name='RTE_FDIR_REPORT_STATUS' value='1'/>
+      <enumerator name='RTE_FDIR_REPORT_STATUS_ALWAYS' value='2'/>
+    </enum-decl>
+    <class-decl name='rte_eth_fdir_masks' size-in-bits='544' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='533' column='1' id='type-id-136'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_tci_mask' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='534' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ipv4_mask' type-id='type-id-138' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='536' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ipv6_mask' type-id='type-id-139' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='538' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='src_port_mask' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='540' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='dst_port_mask' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='542' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='mac_addr_byte_mask' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='545' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='tunnel_id_mask' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='547' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='tunnel_type_mask' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='548' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_ipv4_flow' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='342' column='1' id='type-id-138'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='343' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dst_ip' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='344' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tos' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='345' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='ttl' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='346' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='proto' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='347' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_ipv6_flow' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='381' column='1' id='type-id-139'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-140' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='382' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dst_ip' type-id='type-id-140' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='383' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='tc' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='384' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='264'>
+        <var-decl name='proto' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='385' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='272'>
+        <var-decl name='hop_limits' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='386' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-35' size-in-bits='128' id='type-id-140'>
+      <subrange length='4' type-id='type-id-40' id='type-id-141'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_fdir_flex_conf' size-in-bits='5792' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='591' column='1' id='type-id-137'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_payloads' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='592' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='nb_flexmasks' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='593' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flex_set' type-id='type-id-142' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='594' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2336'>
+        <var-decl name='flex_mask' type-id='type-id-143' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='596' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_flex_payload_cfg' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='568' column='1' id='type-id-144'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-145' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='569' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='src_offset' type-id='type-id-146' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='570' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_payload_type' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='555' column='1' id='type-id-145'>
+      <underlying-type type-id='type-id-12'/>
+      <enumerator name='RTE_ETH_PAYLOAD_UNKNOWN' value='0'/>
+      <enumerator name='RTE_ETH_RAW_PAYLOAD' value='1'/>
+      <enumerator name='RTE_ETH_L2_PAYLOAD' value='2'/>
+      <enumerator name='RTE_ETH_L3_PAYLOAD' value='3'/>
+      <enumerator name='RTE_ETH_L4_PAYLOAD' value='4'/>
+      <enumerator name='RTE_ETH_PAYLOAD_MAX' value='8'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-29' size-in-bits='256' id='type-id-146'>
+      <subrange length='16' type-id='type-id-40' id='type-id-147'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-144' size-in-bits='2304' id='type-id-142'>
+      <subrange length='8' type-id='type-id-40' id='type-id-128'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_fdir_flex_mask' size-in-bits='144' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='581' column='1' id='type-id-148'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flow_type' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='582' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='mask' type-id='type-id-149' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='583' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-102' size-in-bits='128' id='type-id-149'>
+      <subrange length='16' type-id='type-id-40' id='type-id-147'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-148' size-in-bits='3456' id='type-id-143'>
+      <subrange length='24' type-id='type-id-40' id='type-id-150'/>
+
+    </array-type-def>
+    <class-decl name='rte_intr_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1031' column='1' id='type-id-115'>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='lsc' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1033' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='rxq' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1035' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='rmv' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1037' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_ether_addr' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='60' column='1' id='type-id-151'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr_bytes' type-id='type-id-152' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='61' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-102' size-in-bits='48' id='type-id-152'>
+      <subrange length='6' type-id='type-id-40' id='type-id-153'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-151' size-in-bits='64' id='type-id-100'/>
+
+    <array-type-def dimensions='1' type-id='type-id-34' size-in-bits='8192' id='type-id-101'>
+      <subrange length='128' type-id='type-id-40' id='type-id-154'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-102' size-in-bits='8192' id='type-id-103'>
+      <subrange length='1024' type-id='type-id-40' id='type-id-155'/>
+
+    </array-type-def>
+    <enum-decl name='rte_kernel_driver' filepath='../lib/librte_eal/common/include/rte_dev.h' line='60' column='1' id='type-id-104'>
+      <underlying-type type-id='type-id-12'/>
+      <enumerator name='RTE_KDRV_UNKNOWN' value='0'/>
+      <enumerator name='RTE_KDRV_IGB_UIO' value='1'/>
+      <enumerator name='RTE_KDRV_VFIO' value='2'/>
+      <enumerator name='RTE_KDRV_UIO_GENERIC' value='3'/>
+      <enumerator name='RTE_KDRV_NIC_UIO' value='4'/>
+      <enumerator name='RTE_KDRV_NONE' value='5'/>
+    </enum-decl>
+    <class-decl name='rte_vlan_filter_conf' size-in-bits='4096' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='427' column='1' id='type-id-105'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ids' type-id='type-id-156' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='428' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-34' size-in-bits='4096' id='type-id-156'>
+      <subrange length='64' type-id='type-id-40' id='type-id-107'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_dev_owner' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1490' column='1' id='type-id-106'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-34' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1491' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='name' type-id='type-id-95' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1492' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-34' size-in-bits='256' id='type-id-25'>
+      <subrange length='4' type-id='type-id-40' id='type-id-141'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='256' id='type-id-26'>
+      <subrange length='4' type-id='type-id-40' id='type-id-141'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-18'/>
+    <class-decl name='eth_dev_ops' size-in-bits='6016' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='609' column='1' id='type-id-157'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_configure' type-id='type-id-158' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_start' type-id='type-id-159' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='611' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dev_stop' type-id='type-id-160' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='612' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_set_link_up' type-id='type-id-161' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dev_set_link_down' type-id='type-id-162' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='614' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_close' type-id='type-id-163' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='615' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='dev_reset' type-id='type-id-164' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='616' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='link_update' type-id='type-id-165' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='617' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='is_removed' type-id='type-id-166' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='618' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='promiscuous_enable' type-id='type-id-167' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='promiscuous_disable' type-id='type-id-168' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='allmulticast_enable' type-id='type-id-169' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='623' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='allmulticast_disable' type-id='type-id-170' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='624' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='mac_addr_remove' type-id='type-id-171' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='625' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='mac_addr_add' type-id='type-id-172' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='626' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='mac_addr_set' type-id='type-id-173' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='627' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='set_mc_addr_list' type-id='type-id-174' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='628' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mtu_set' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='629' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='stats_get' type-id='type-id-176' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='631' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='stats_reset' type-id='type-id-177' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='632' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='xstats_get' type-id='type-id-178' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='633' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='xstats_reset' type-id='type-id-179' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='634' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='xstats_get_names' type-id='type-id-180' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='635' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='queue_stats_mapping_set' type-id='type-id-181' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='637' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='dev_infos_get' type-id='type-id-182' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='640' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='rxq_info_get' type-id='type-id-183' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='641' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='txq_info_get' type-id='type-id-184' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='642' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='rx_burst_mode_get' type-id='type-id-185' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='643' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='tx_burst_mode_get' type-id='type-id-185' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='644' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='fw_version_get' type-id='type-id-186' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='645' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='dev_supported_ptypes_get' type-id='type-id-187' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='646' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='dev_ptypes_set' type-id='type-id-188' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='648' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='vlan_filter_set' type-id='type-id-189' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='651' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='vlan_tpid_set' type-id='type-id-190' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='652' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='vlan_strip_queue_set' type-id='type-id-191' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='653' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='vlan_offload_set' type-id='type-id-192' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='654' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='vlan_pvid_set' type-id='type-id-193' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='655' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='rx_queue_start' type-id='type-id-194' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='657' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='rx_queue_stop' type-id='type-id-195' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='658' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2496'>
+        <var-decl name='tx_queue_start' type-id='type-id-194' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='659' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='tx_queue_stop' type-id='type-id-195' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='660' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='rx_queue_setup' type-id='type-id-196' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='661' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2688'>
+        <var-decl name='rx_queue_release' type-id='type-id-197' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2752'>
+        <var-decl name='rx_queue_count' type-id='type-id-198' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='663' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2816'>
+        <var-decl name='rx_descriptor_done' type-id='type-id-199' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2880'>
+        <var-decl name='rx_descriptor_status' type-id='type-id-200' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='666' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2944'>
+        <var-decl name='tx_descriptor_status' type-id='type-id-201' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3008'>
+        <var-decl name='rx_queue_intr_enable' type-id='type-id-202' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='670' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3072'>
+        <var-decl name='rx_queue_intr_disable' type-id='type-id-203' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3136'>
+        <var-decl name='tx_queue_setup' type-id='type-id-204' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='672' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3200'>
+        <var-decl name='tx_queue_release' type-id='type-id-197' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3264'>
+        <var-decl name='tx_done_cleanup' type-id='type-id-205' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='674' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3328'>
+        <var-decl name='dev_led_on' type-id='type-id-206' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3392'>
+        <var-decl name='dev_led_off' type-id='type-id-207' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='677' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3456'>
+        <var-decl name='flow_ctrl_get' type-id='type-id-208' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='679' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3520'>
+        <var-decl name='flow_ctrl_set' type-id='type-id-209' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='680' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='priority_flow_ctrl_set' type-id='type-id-210' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='681' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3648'>
+        <var-decl name='uc_hash_table_set' type-id='type-id-211' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='683' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3712'>
+        <var-decl name='uc_all_hash_table_set' type-id='type-id-212' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='684' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3776'>
+        <var-decl name='mirror_rule_set' type-id='type-id-213' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='686' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3840'>
+        <var-decl name='mirror_rule_reset' type-id='type-id-214' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='687' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3904'>
+        <var-decl name='udp_tunnel_port_add' type-id='type-id-215' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='689' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3968'>
+        <var-decl name='udp_tunnel_port_del' type-id='type-id-216' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4032'>
+        <var-decl name='l2_tunnel_eth_type_conf' type-id='type-id-217' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4096'>
+        <var-decl name='l2_tunnel_offload_set' type-id='type-id-218' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='693' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4160'>
+        <var-decl name='set_queue_rate_limit' type-id='type-id-219' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='696' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4224'>
+        <var-decl name='rss_hash_update' type-id='type-id-220' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='698' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4288'>
+        <var-decl name='rss_hash_conf_get' type-id='type-id-221' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='699' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4352'>
+        <var-decl name='reta_update' type-id='type-id-222' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='700' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4416'>
+        <var-decl name='reta_query' type-id='type-id-223' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='701' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4480'>
+        <var-decl name='get_reg' type-id='type-id-224' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='703' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4544'>
+        <var-decl name='get_eeprom_length' type-id='type-id-225' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='704' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4608'>
+        <var-decl name='get_eeprom' type-id='type-id-226' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='705' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4672'>
+        <var-decl name='set_eeprom' type-id='type-id-227' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='706' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4736'>
+        <var-decl name='get_module_info' type-id='type-id-228' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='708' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4800'>
+        <var-decl name='get_module_eeprom' type-id='type-id-229' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='710' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4864'>
+        <var-decl name='filter_ctrl' type-id='type-id-230' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4928'>
+        <var-decl name='get_dcb_info' type-id='type-id-231' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='715' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4992'>
+        <var-decl name='timesync_enable' type-id='type-id-232' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='717' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5056'>
+        <var-decl name='timesync_disable' type-id='type-id-233' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5120'>
+        <var-decl name='timesync_read_rx_timestamp' type-id='type-id-234' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='721' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5184'>
+        <var-decl name='timesync_read_tx_timestamp' type-id='type-id-235' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='723' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5248'>
+        <var-decl name='timesync_adjust_time' type-id='type-id-236' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5312'>
+        <var-decl name='timesync_read_time' type-id='type-id-237' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='726' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5376'>
+        <var-decl name='timesync_write_time' type-id='type-id-238' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='727' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5440'>
+        <var-decl name='read_clock' type-id='type-id-239' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='729' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5504'>
+        <var-decl name='xstats_get_by_id' type-id='type-id-240' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='731' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5568'>
+        <var-decl name='xstats_get_names_by_id' type-id='type-id-241' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='733' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5632'>
+        <var-decl name='tm_ops_get' type-id='type-id-242' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='736' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5696'>
+        <var-decl name='mtr_ops_get' type-id='type-id-243' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='739' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5760'>
+        <var-decl name='pool_ops_supported' type-id='type-id-244' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='742' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5824'>
+        <var-decl name='hairpin_cap_get' type-id='type-id-245' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='745' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5888'>
+        <var-decl name='rx_hairpin_queue_setup' type-id='type-id-246' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5952'>
+        <var-decl name='tx_hairpin_queue_setup' type-id='type-id-247' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='749' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-8'/>
+    <pointer-type-def type-id='type-id-248' size-in-bits='64' id='type-id-249'/>
+    <typedef-decl name='eth_dev_configure_t' type-id='type-id-249' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='31' column='1' id='type-id-158'/>
+    <typedef-decl name='eth_dev_start_t' type-id='type-id-249' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='34' column='1' id='type-id-159'/>
+    <pointer-type-def type-id='type-id-250' size-in-bits='64' id='type-id-251'/>
+    <typedef-decl name='eth_dev_stop_t' type-id='type-id-251' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='37' column='1' id='type-id-160'/>
+    <typedef-decl name='eth_dev_set_link_up_t' type-id='type-id-249' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='40' column='1' id='type-id-161'/>
+    <typedef-decl name='eth_dev_set_link_down_t' type-id='type-id-249' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='43' column='1' id='type-id-162'/>
+    <typedef-decl name='eth_dev_close_t' type-id='type-id-251' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='46' column='1' id='type-id-163'/>
+    <typedef-decl name='eth_dev_reset_t' type-id='type-id-249' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='49' column='1' id='type-id-164'/>
+    <pointer-type-def type-id='type-id-252' size-in-bits='64' id='type-id-253'/>
+    <typedef-decl name='eth_link_update_t' type-id='type-id-253' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='155' column='1' id='type-id-165'/>
+    <typedef-decl name='eth_is_removed_t' type-id='type-id-249' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='52' column='1' id='type-id-166'/>
+    <typedef-decl name='eth_promiscuous_enable_t' type-id='type-id-249' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='78' column='1' id='type-id-167'/>
+    <typedef-decl name='eth_promiscuous_disable_t' type-id='type-id-249' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='103' column='1' id='type-id-168'/>
+    <typedef-decl name='eth_allmulticast_enable_t' type-id='type-id-249' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='128' column='1' id='type-id-169'/>
+    <typedef-decl name='eth_allmulticast_disable_t' type-id='type-id-249' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='153' column='1' id='type-id-170'/>
+    <pointer-type-def type-id='type-id-254' size-in-bits='64' id='type-id-255'/>
+    <typedef-decl name='eth_mac_addr_remove_t' type-id='type-id-255' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='391' column='1' id='type-id-171'/>
+    <pointer-type-def type-id='type-id-256' size-in-bits='64' id='type-id-257'/>
+    <typedef-decl name='eth_mac_addr_add_t' type-id='type-id-257' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='394' column='1' id='type-id-172'/>
+    <pointer-type-def type-id='type-id-258' size-in-bits='64' id='type-id-259'/>
+    <typedef-decl name='eth_mac_addr_set_t' type-id='type-id-259' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='400' column='1' id='type-id-173'/>
+    <pointer-type-def type-id='type-id-260' size-in-bits='64' id='type-id-261'/>
+    <typedef-decl name='eth_set_mc_addr_list_t' type-id='type-id-261' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='436' column='1' id='type-id-174'/>
+    <pointer-type-def type-id='type-id-262' size-in-bits='64' id='type-id-263'/>
+    <typedef-decl name='mtu_set_t' type-id='type-id-263' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='315' column='1' id='type-id-175'/>
+    <class-decl name='rte_eth_stats' size-in-bits='5632' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='243' column='1' id='type-id-264'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ipackets' type-id='type-id-34' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='opackets' type-id='type-id-34' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ibytes' type-id='type-id-34' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='246' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='obytes' type-id='type-id-34' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='imissed' type-id='type-id-34' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='ierrors' type-id='type-id-34' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='oerrors' type-id='type-id-34' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='rx_nombuf' type-id='type-id-34' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='q_ipackets' type-id='type-id-265' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='q_opackets' type-id='type-id-265' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='q_ibytes' type-id='type-id-265' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='q_obytes' type-id='type-id-265' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4608'>
+        <var-decl name='q_errors' type-id='type-id-265' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='263' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-34' size-in-bits='1024' id='type-id-265'>
+      <subrange length='16' type-id='type-id-40' id='type-id-147'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-264' size-in-bits='64' id='type-id-266'/>
+    <pointer-type-def type-id='type-id-267' size-in-bits='64' id='type-id-268'/>
+    <typedef-decl name='eth_stats_get_t' type-id='type-id-268' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='159' column='1' id='type-id-176'/>
+    <typedef-decl name='eth_stats_reset_t' type-id='type-id-249' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='182' column='1' id='type-id-177'/>
+    <class-decl name='rte_eth_xstat' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1337' column='1' id='type-id-269'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-34' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1338' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='value' type-id='type-id-34' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1339' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-269' size-in-bits='64' id='type-id-270'/>
+    <pointer-type-def type-id='type-id-271' size-in-bits='64' id='type-id-272'/>
+    <typedef-decl name='eth_xstats_get_t' type-id='type-id-272' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='184' column='1' id='type-id-178'/>
+    <typedef-decl name='eth_xstats_reset_t' type-id='type-id-249' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='213' column='1' id='type-id-179'/>
+    <class-decl name='rte_eth_xstat_name' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1349' column='1' id='type-id-273'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-95' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1350' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-273' size-in-bits='64' id='type-id-274'/>
+    <pointer-type-def type-id='type-id-275' size-in-bits='64' id='type-id-276'/>
+    <typedef-decl name='eth_xstats_get_names_t' type-id='type-id-276' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='215' column='1' id='type-id-180'/>
+    <pointer-type-def type-id='type-id-277' size-in-bits='64' id='type-id-278'/>
+    <typedef-decl name='eth_queue_stats_mapping_set_t' type-id='type-id-278' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='224' column='1' id='type-id-181'/>
+    <class-decl name='rte_eth_dev_info' size-in-bits='2560' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1226' column='1' id='type-id-279'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='device' type-id='type-id-20' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1227' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='driver_name' type-id='type-id-280' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='if_index' type-id='type-id-46' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='min_mtu' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='max_mtu' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_flags' type-id='type-id-281' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='min_rx_bufsize' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1234' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='max_rx_pktlen' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1235' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='max_lro_pkt_size' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='max_rx_queues' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='max_tx_queues' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1239' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='max_mac_addrs' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='max_hash_mac_addrs' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1241' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='max_vfs' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1243' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='max_vmdq_pools' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_offload_capa' type-id='type-id-34' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_offload_capa' type-id='type-id-34' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='rx_queue_offload_capa' type-id='type-id-34' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='tx_queue_offload_capa' type-id='type-id-34' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='reta_size' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='hash_key_size' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='flow_type_rss_offloads' type-id='type-id-34' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='default_rxconf' type-id='type-id-282' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='default_txconf' type-id='type-id-283' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='vmdq_queue_base' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1744'>
+        <var-decl name='vmdq_queue_num' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1760'>
+        <var-decl name='vmdq_pool_base' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1262' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1776'>
+        <var-decl name='rx_desc_lim' type-id='type-id-284' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1263' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='tx_desc_lim' type-id='type-id-284' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1264' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1952'>
+        <var-decl name='speed_capa' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1265' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='nb_rx_queues' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1267' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2000'>
+        <var-decl name='nb_tx_queues' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1268' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2016'>
+        <var-decl name='default_rxportconf' type-id='type-id-285' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1270' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2064'>
+        <var-decl name='default_txportconf' type-id='type-id-285' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1272' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='dev_capa' type-id='type-id-34' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1274' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='switch_info' type-id='type-id-286' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='reserved_64s' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1281' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='reserved_ptrs' type-id='type-id-117' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1282' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-287'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-288' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-280' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-289' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-290' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-291' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-288'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-20' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-292' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-287' size-in-bits='64' id='type-id-20'/>
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-292'/>
+    <qualified-type-def type-id='type-id-56' const='yes' id='type-id-293'/>
+    <pointer-type-def type-id='type-id-293' size-in-bits='64' id='type-id-280'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-294'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-295' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-280' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-280' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-295'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-296' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-297' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-294' size-in-bits='64' id='type-id-296'/>
+    <pointer-type-def type-id='type-id-296' size-in-bits='64' id='type-id-297'/>
+    <qualified-type-def type-id='type-id-294' const='yes' id='type-id-298'/>
+    <pointer-type-def type-id='type-id-298' size-in-bits='64' id='type-id-289'/>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-299'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-300' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-280' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-301' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-302' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-303' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-304' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-305' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-306' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-307' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-308' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-309' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-310' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-311' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-312' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-313' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-300'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-314' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-315' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-299' size-in-bits='64' id='type-id-314'/>
+    <pointer-type-def type-id='type-id-314' size-in-bits='64' id='type-id-315'/>
+    <pointer-type-def type-id='type-id-316' size-in-bits='64' id='type-id-317'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-317' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-301'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-317' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-302'/>
+    <qualified-type-def type-id='type-id-287' const='yes' id='type-id-318'/>
+    <pointer-type-def type-id='type-id-318' size-in-bits='64' id='type-id-319'/>
+    <pointer-type-def type-id='type-id-320' size-in-bits='64' id='type-id-321'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-321' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-322'/>
+    <pointer-type-def type-id='type-id-323' size-in-bits='64' id='type-id-324'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-324' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-303'/>
+    <pointer-type-def type-id='type-id-325' size-in-bits='64' id='type-id-326'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-326' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-304'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-326' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-305'/>
+    <pointer-type-def type-id='type-id-327' size-in-bits='64' id='type-id-328'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-328' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-306'/>
+    <pointer-type-def type-id='type-id-329' size-in-bits='64' id='type-id-330'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-330' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-307'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-330' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-308'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-309'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-331' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-331'>
+      <underlying-type type-id='type-id-12'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-332'>
+      <underlying-type type-id='type-id-12'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-333' size-in-bits='64' id='type-id-334'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-334' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-310'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-335'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-280' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-280' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-280' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-314' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-336' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-20' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-11' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-337'/>
+    <pointer-type-def type-id='type-id-337' size-in-bits='64' id='type-id-336'/>
+    <qualified-type-def type-id='type-id-335' const='yes' id='type-id-338'/>
+    <pointer-type-def type-id='type-id-338' size-in-bits='64' id='type-id-339'/>
+    <pointer-type-def type-id='type-id-340' size-in-bits='64' id='type-id-341'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-341' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-311'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-326' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-312'/>
+    <pointer-type-def type-id='type-id-342' size-in-bits='64' id='type-id-343'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-343' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-313'/>
+    <qualified-type-def type-id='type-id-299' const='yes' id='type-id-344'/>
+    <pointer-type-def type-id='type-id-344' size-in-bits='64' id='type-id-290'/>
+    <class-decl name='rte_devargs' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='47' column='1' id='type-id-345'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-346' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='type' type-id='type-id-347' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='policy' type-id='type-id-348' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='name' type-id='type-id-95' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='' type-id='type-id-349' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='bus' type-id='type-id-314' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='cls' type-id='type-id-336' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='bus_str' type-id='type-id-280' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='cls_str' type-id='type-id-280' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='data' type-id='type-id-280' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='66' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1' id='type-id-346'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-291' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-350' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-345' size-in-bits='64' id='type-id-291'/>
+    <pointer-type-def type-id='type-id-291' size-in-bits='64' id='type-id-350'/>
+    <enum-decl name='rte_devtype' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='31' column='1' id='type-id-347'>
+      <underlying-type type-id='type-id-12'/>
+      <enumerator name='RTE_DEVTYPE_WHITELISTED_PCI' value='0'/>
+      <enumerator name='RTE_DEVTYPE_BLACKLISTED_PCI' value='1'/>
+      <enumerator name='RTE_DEVTYPE_VIRTUAL' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_dev_policy' filepath='../lib/librte_eal/common/include/rte_dev.h' line='72' column='1' id='type-id-348'>
+      <underlying-type type-id='type-id-12'/>
+      <enumerator name='RTE_DEV_WHITELISTED' value='0'/>
+      <enumerator name='RTE_DEV_BLACKLISTED' value='1'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='57' column='1' id='type-id-349'>
+      <data-member access='private'>
+        <var-decl name='args' type-id='type-id-351' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='drv_str' type-id='type-id-280' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='60' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-56' size-in-bits='64' id='type-id-351'/>
+    <qualified-type-def type-id='type-id-35' const='yes' id='type-id-352'/>
+    <pointer-type-def type-id='type-id-352' size-in-bits='64' id='type-id-281'/>
+    <class-decl name='rte_eth_rxconf' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='818' column='1' id='type-id-282'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_thresh' type-id='type-id-353' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='819' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='rx_free_thresh' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='820' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='rx_drop_en' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='821' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='rx_deferred_start' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='822' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offloads' type-id='type-id-34' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='reserved_64s' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='830' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='reserved_ptrs' type-id='type-id-117' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='831' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_thresh' size-in-bits='24' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='327' column='1' id='type-id-353'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pthresh' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='328' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='hthresh' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='329' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='wthresh' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='330' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_txconf' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='837' column='1' id='type-id-283'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tx_thresh' type-id='type-id-353' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tx_rs_thresh' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='839' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='tx_free_thresh' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='840' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tx_deferred_start' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='843' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='offloads' type-id='type-id-34' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='849' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='851' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-117' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='852' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_desc_lim' size-in-bits='80' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='898' column='1' id='type-id-284'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_max' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='899' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='nb_min' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='900' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_align' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='901' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='nb_seg_max' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='911' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='nb_mtu_seg_max' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='924' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_portconf' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1189' column='1' id='type-id-285'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='burst_size' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1190' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='ring_size' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_queues' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1192' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_switch_info' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1204' column='1' id='type-id-286'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-280' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='domain_id' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1206' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='port_id' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1207' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-279' size-in-bits='64' id='type-id-354'/>
+    <pointer-type-def type-id='type-id-355' size-in-bits='64' id='type-id-356'/>
+    <typedef-decl name='eth_dev_infos_get_t' type-id='type-id-356' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='230' column='1' id='type-id-182'/>
+    <class-decl name='rte_eth_rxq_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1289' column='1' id='type-id-357'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mp' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1290' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='conf' type-id='type-id-282' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1291' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='scattered_rx' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1292' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='nb_desc' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1293' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-357' size-in-bits='64' id='type-id-358'/>
+    <pointer-type-def type-id='type-id-359' size-in-bits='64' id='type-id-360'/>
+    <typedef-decl name='eth_rxq_info_get_t' type-id='type-id-360' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='306' column='1' id='type-id-183'/>
+    <class-decl name='rte_eth_txq_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1300' column='1' id='type-id-361'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='conf' type-id='type-id-283' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1301' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='nb_desc' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1302' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-361' size-in-bits='64' id='type-id-362'/>
+    <pointer-type-def type-id='type-id-363' size-in-bits='64' id='type-id-364'/>
+    <typedef-decl name='eth_txq_info_get_t' type-id='type-id-364' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='309' column='1' id='type-id-184'/>
+    <class-decl name='rte_eth_burst_mode' size-in-bits='8256' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1318' column='1' id='type-id-365'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-34' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1319' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='info' type-id='type-id-366' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1322' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-56' size-in-bits='8192' id='type-id-366'>
+      <subrange length='1024' type-id='type-id-40' id='type-id-155'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-365' size-in-bits='64' id='type-id-367'/>
+    <pointer-type-def type-id='type-id-368' size-in-bits='64' id='type-id-369'/>
+    <typedef-decl name='eth_burst_mode_get_t' type-id='type-id-369' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='312' column='1' id='type-id-185'/>
+    <pointer-type-def type-id='type-id-370' size-in-bits='64' id='type-id-371'/>
+    <typedef-decl name='eth_fw_version_get_t' type-id='type-id-371' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='299' column='1' id='type-id-186'/>
+    <pointer-type-def type-id='type-id-372' size-in-bits='64' id='type-id-373'/>
+    <typedef-decl name='eth_dev_supported_ptypes_get_t' type-id='type-id-373' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='234' column='1' id='type-id-187'/>
+    <pointer-type-def type-id='type-id-374' size-in-bits='64' id='type-id-375'/>
+    <typedef-decl name='eth_dev_ptypes_set_t' type-id='type-id-375' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='249' column='1' id='type-id-188'/>
+    <pointer-type-def type-id='type-id-376' size-in-bits='64' id='type-id-377'/>
+    <typedef-decl name='vlan_filter_set_t' type-id='type-id-377' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='318' column='1' id='type-id-189'/>
+    <enum-decl name='rte_vlan_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='416' column='1' id='type-id-378'>
+      <underlying-type type-id='type-id-12'/>
+      <enumerator name='ETH_VLAN_TYPE_UNKNOWN' value='0'/>
+      <enumerator name='ETH_VLAN_TYPE_INNER' value='1'/>
+      <enumerator name='ETH_VLAN_TYPE_OUTER' value='2'/>
+      <enumerator name='ETH_VLAN_TYPE_MAX' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-379' size-in-bits='64' id='type-id-380'/>
+    <typedef-decl name='vlan_tpid_set_t' type-id='type-id-380' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='323' column='1' id='type-id-190'/>
+    <pointer-type-def type-id='type-id-381' size-in-bits='64' id='type-id-382'/>
+    <typedef-decl name='vlan_strip_queue_set_t' type-id='type-id-382' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='335' column='1' id='type-id-191'/>
+    <typedef-decl name='vlan_offload_set_t' type-id='type-id-253' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='327' column='1' id='type-id-192'/>
+    <typedef-decl name='vlan_pvid_set_t' type-id='type-id-377' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='330' column='1' id='type-id-193'/>
+    <typedef-decl name='eth_queue_start_t' type-id='type-id-263' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='252' column='1' id='type-id-194'/>
+    <typedef-decl name='eth_queue_stop_t' type-id='type-id-263' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='256' column='1' id='type-id-195'/>
+    <qualified-type-def type-id='type-id-282' const='yes' id='type-id-383'/>
+    <pointer-type-def type-id='type-id-383' size-in-bits='64' id='type-id-384'/>
+    <pointer-type-def type-id='type-id-385' size-in-bits='64' id='type-id-386'/>
+    <typedef-decl name='eth_rx_queue_setup_t' type-id='type-id-386' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='260' column='1' id='type-id-196'/>
+    <pointer-type-def type-id='type-id-387' size-in-bits='64' id='type-id-388'/>
+    <typedef-decl name='eth_queue_release_t' type-id='type-id-388' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='283' column='1' id='type-id-197'/>
+    <pointer-type-def type-id='type-id-389' size-in-bits='64' id='type-id-390'/>
+    <typedef-decl name='eth_rx_queue_count_t' type-id='type-id-390' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='286' column='1' id='type-id-198'/>
+    <pointer-type-def type-id='type-id-391' size-in-bits='64' id='type-id-392'/>
+    <typedef-decl name='eth_rx_descriptor_done_t' type-id='type-id-392' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='290' column='1' id='type-id-199'/>
+    <typedef-decl name='eth_rx_descriptor_status_t' type-id='type-id-392' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='293' column='1' id='type-id-200'/>
+    <typedef-decl name='eth_tx_descriptor_status_t' type-id='type-id-392' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='296' column='1' id='type-id-201'/>
+    <typedef-decl name='eth_rx_enable_intr_t' type-id='type-id-263' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='275' column='1' id='type-id-202'/>
+    <typedef-decl name='eth_rx_disable_intr_t' type-id='type-id-263' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='279' column='1' id='type-id-203'/>
+    <qualified-type-def type-id='type-id-283' const='yes' id='type-id-393'/>
+    <pointer-type-def type-id='type-id-393' size-in-bits='64' id='type-id-394'/>
+    <pointer-type-def type-id='type-id-395' size-in-bits='64' id='type-id-396'/>
+    <typedef-decl name='eth_tx_queue_setup_t' type-id='type-id-396' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='268' column='1' id='type-id-204'/>
+    <pointer-type-def type-id='type-id-397' size-in-bits='64' id='type-id-398'/>
+    <typedef-decl name='eth_tx_done_cleanup_t' type-id='type-id-398' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='303' column='1' id='type-id-205'/>
+    <typedef-decl name='eth_dev_led_on_t' type-id='type-id-249' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='385' column='1' id='type-id-206'/>
+    <typedef-decl name='eth_dev_led_off_t' type-id='type-id-249' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='388' column='1' id='type-id-207'/>
+    <class-decl name='rte_eth_fc_conf' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='942' column='1' id='type-id-399'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='high_water' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='943' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='low_water' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='944' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pause_time' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='945' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='send_xon' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='946' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='mode' type-id='type-id-400' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='947' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mac_ctrl_frame_fwd' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='948' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='autoneg' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='949' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_fc_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='930' column='1' id='type-id-400'>
+      <underlying-type type-id='type-id-12'/>
+      <enumerator name='RTE_FC_NONE' value='0'/>
+      <enumerator name='RTE_FC_RX_PAUSE' value='1'/>
+      <enumerator name='RTE_FC_TX_PAUSE' value='2'/>
+      <enumerator name='RTE_FC_FULL' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-399' size-in-bits='64' id='type-id-401'/>
+    <pointer-type-def type-id='type-id-402' size-in-bits='64' id='type-id-403'/>
+    <typedef-decl name='flow_ctrl_get_t' type-id='type-id-403' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='355' column='1' id='type-id-208'/>
+    <typedef-decl name='flow_ctrl_set_t' type-id='type-id-403' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='359' column='1' id='type-id-209'/>
+    <class-decl name='rte_eth_pfc_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='957' column='1' id='type-id-404'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fc' type-id='type-id-399' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='958' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='priority' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='959' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-404' size-in-bits='64' id='type-id-405'/>
+    <pointer-type-def type-id='type-id-406' size-in-bits='64' id='type-id-407'/>
+    <typedef-decl name='priority_flow_ctrl_set_t' type-id='type-id-407' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='363' column='1' id='type-id-210'/>
+    <pointer-type-def type-id='type-id-408' size-in-bits='64' id='type-id-409'/>
+    <typedef-decl name='eth_uc_hash_table_set_t' type-id='type-id-409' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='404' column='1' id='type-id-211'/>
+    <pointer-type-def type-id='type-id-410' size-in-bits='64' id='type-id-411'/>
+    <typedef-decl name='eth_uc_all_hash_table_set_t' type-id='type-id-411' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='409' column='1' id='type-id-212'/>
+    <class-decl name='rte_eth_mirror_conf' size-in-bits='1216' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='670' column='1' id='type-id-412'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rule_type' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='dst_pool' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='672' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pool_mask' type-id='type-id-34' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vlan' type-id='type-id-413' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='675' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vlan_mirror' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='661' column='1' id='type-id-413'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_mask' type-id='type-id-34' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='vlan_id' type-id='type-id-414' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='664' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-29' size-in-bits='1024' id='type-id-414'>
+      <subrange length='64' type-id='type-id-40' id='type-id-107'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-412' size-in-bits='64' id='type-id-415'/>
+    <pointer-type-def type-id='type-id-416' size-in-bits='64' id='type-id-417'/>
+    <typedef-decl name='eth_mirror_rule_set_t' type-id='type-id-417' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='418' column='1' id='type-id-213'/>
+    <typedef-decl name='eth_mirror_rule_reset_t' type-id='type-id-411' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='424' column='1' id='type-id-214'/>
+    <class-decl name='rte_eth_udp_tunnel' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1023' column='1' id='type-id-418'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='udp_port' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1024' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='prot_type' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1025' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-418' size-in-bits='64' id='type-id-419'/>
+    <pointer-type-def type-id='type-id-420' size-in-bits='64' id='type-id-421'/>
+    <typedef-decl name='eth_udp_tunnel_port_add_t' type-id='type-id-421' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='428' column='1' id='type-id-215'/>
+    <typedef-decl name='eth_udp_tunnel_port_del_t' type-id='type-id-421' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='432' column='1' id='type-id-216'/>
+    <class-decl name='rte_eth_l2_tunnel_conf' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='751' column='1' id='type-id-422'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='l2_tunnel_type' type-id='type-id-423' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='752' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ether_type' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tunnel_id' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='754' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='vf_id' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='755' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pool' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='756' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_tunnel_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='965' column='1' id='type-id-423'>
+      <underlying-type type-id='type-id-12'/>
+      <enumerator name='RTE_TUNNEL_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_TUNNEL_TYPE_VXLAN' value='1'/>
+      <enumerator name='RTE_TUNNEL_TYPE_GENEVE' value='2'/>
+      <enumerator name='RTE_TUNNEL_TYPE_TEREDO' value='3'/>
+      <enumerator name='RTE_TUNNEL_TYPE_NVGRE' value='4'/>
+      <enumerator name='RTE_TUNNEL_TYPE_IP_IN_GRE' value='5'/>
+      <enumerator name='RTE_L2_TUNNEL_TYPE_E_TAG' value='6'/>
+      <enumerator name='RTE_TUNNEL_TYPE_VXLAN_GPE' value='7'/>
+      <enumerator name='RTE_TUNNEL_TYPE_MAX' value='8'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-422' size-in-bits='64' id='type-id-424'/>
+    <pointer-type-def type-id='type-id-425' size-in-bits='64' id='type-id-426'/>
+    <typedef-decl name='eth_l2_tunnel_eth_type_conf_t' type-id='type-id-426' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='494' column='1' id='type-id-217'/>
+    <pointer-type-def type-id='type-id-427' size-in-bits='64' id='type-id-428'/>
+    <typedef-decl name='eth_l2_tunnel_offload_set_t' type-id='type-id-428' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='498' column='1' id='type-id-218'/>
+    <pointer-type-def type-id='type-id-429' size-in-bits='64' id='type-id-430'/>
+    <typedef-decl name='eth_set_queue_rate_limit_t' type-id='type-id-430' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='413' column='1' id='type-id-219'/>
+    <pointer-type-def type-id='type-id-119' size-in-bits='64' id='type-id-431'/>
+    <pointer-type-def type-id='type-id-432' size-in-bits='64' id='type-id-433'/>
+    <typedef-decl name='rss_hash_update_t' type-id='type-id-433' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='377' column='1' id='type-id-220'/>
+    <typedef-decl name='rss_hash_conf_get_t' type-id='type-id-433' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='381' column='1' id='type-id-221'/>
+    <class-decl name='rte_eth_rss_reta_entry64' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='684' column='1' id='type-id-434'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mask' type-id='type-id-34' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='685' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='reta' type-id='type-id-414' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='687' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-434' size-in-bits='64' id='type-id-435'/>
+    <pointer-type-def type-id='type-id-436' size-in-bits='64' id='type-id-437'/>
+    <typedef-decl name='reta_update_t' type-id='type-id-437' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='367' column='1' id='type-id-222'/>
+    <typedef-decl name='reta_query_t' type-id='type-id-437' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='372' column='1' id='type-id-223'/>
+    <class-decl name='rte_dev_reg_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='13' column='1' id='type-id-438'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='14' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offset' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='15' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='length' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='16' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='width' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='17' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='version' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='18' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-438' size-in-bits='64' id='type-id-439'/>
+    <pointer-type-def type-id='type-id-440' size-in-bits='64' id='type-id-441'/>
+    <typedef-decl name='eth_get_reg_t' type-id='type-id-441' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='471' column='1' id='type-id-224'/>
+    <typedef-decl name='eth_get_eeprom_length_t' type-id='type-id-249' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='475' column='1' id='type-id-225'/>
+    <class-decl name='rte_dev_eeprom_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='24' column='1' id='type-id-442'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='25' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offset' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='26' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='length' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='27' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='magic' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='28' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-442' size-in-bits='64' id='type-id-443'/>
+    <pointer-type-def type-id='type-id-444' size-in-bits='64' id='type-id-445'/>
+    <typedef-decl name='eth_get_eeprom_t' type-id='type-id-445' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='478' column='1' id='type-id-226'/>
+    <typedef-decl name='eth_set_eeprom_t' type-id='type-id-445' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='482' column='1' id='type-id-227'/>
+    <class-decl name='rte_eth_dev_module_info' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='34' column='1' id='type-id-446'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='eeprom_len' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-446' size-in-bits='64' id='type-id-447'/>
+    <pointer-type-def type-id='type-id-448' size-in-bits='64' id='type-id-449'/>
+    <typedef-decl name='eth_get_module_info_t' type-id='type-id-449' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='486' column='1' id='type-id-228'/>
+    <typedef-decl name='eth_get_module_eeprom_t' type-id='type-id-445' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='490' column='1' id='type-id-229'/>
+    <enum-decl name='rte_filter_op' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='46' column='1' id='type-id-450'>
+      <underlying-type type-id='type-id-12'/>
+      <enumerator name='RTE_ETH_FILTER_NOP' value='0'/>
+      <enumerator name='RTE_ETH_FILTER_ADD' value='1'/>
+      <enumerator name='RTE_ETH_FILTER_UPDATE' value='2'/>
+      <enumerator name='RTE_ETH_FILTER_DELETE' value='3'/>
+      <enumerator name='RTE_ETH_FILTER_FLUSH' value='4'/>
+      <enumerator name='RTE_ETH_FILTER_GET' value='5'/>
+      <enumerator name='RTE_ETH_FILTER_SET' value='6'/>
+      <enumerator name='RTE_ETH_FILTER_INFO' value='7'/>
+      <enumerator name='RTE_ETH_FILTER_STATS' value='8'/>
+      <enumerator name='RTE_ETH_FILTER_OP_MAX' value='9'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-451' size-in-bits='64' id='type-id-452'/>
+    <typedef-decl name='eth_filter_ctrl_t' type-id='type-id-452' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='506' column='1' id='type-id-230'/>
+    <class-decl name='rte_eth_dcb_info' size-in-bits='16520' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1377' column='1' id='type-id-453'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1378' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='prio_tc' type-id='type-id-126' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1379' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='tc_bws' type-id='type-id-126' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1380' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='tc_queue' type-id='type-id-454' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1382' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dcb_tc_queue_mapping' size-in-bits='16384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1360' column='1' id='type-id-454'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tc_rxq' type-id='type-id-455' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1365' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8192'>
+        <var-decl name='tc_txq' type-id='type-id-455' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1370' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1362' column='1' id='type-id-456'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='base' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1363' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='nb_queue' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1364' column='1'/>
+      </data-member>
+    </class-decl>
+
+
+    <array-type-def dimensions='2' type-id='type-id-456' size-in-bits='1152' id='type-id-455'>
+      <subrange length='64' type-id='type-id-40' id='type-id-107'/>
+
+      <subrange length='8' type-id='type-id-40' id='type-id-128'/>
+
+    </array-type-def>
+
+
+    <pointer-type-def type-id='type-id-453' size-in-bits='64' id='type-id-457'/>
+    <pointer-type-def type-id='type-id-458' size-in-bits='64' id='type-id-459'/>
+    <typedef-decl name='eth_get_dcb_info' type-id='type-id-459' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='518' column='1' id='type-id-231'/>
+    <typedef-decl name='eth_timesync_enable_t' type-id='type-id-249' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='441' column='1' id='type-id-232'/>
+    <typedef-decl name='eth_timesync_disable_t' type-id='type-id-249' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='444' column='1' id='type-id-233'/>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='9' column='1' id='type-id-460'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tv_sec' type-id='type-id-461' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='11' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tv_nsec' type-id='type-id-462' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='long int' size-in-bits='64' id='type-id-463'/>
+    <typedef-decl name='__time_t' type-id='type-id-463' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-461'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-463' filepath='/usr/include/bits/types.h' line='196' column='1' id='type-id-462'/>
+    <pointer-type-def type-id='type-id-460' size-in-bits='64' id='type-id-464'/>
+    <pointer-type-def type-id='type-id-465' size-in-bits='64' id='type-id-466'/>
+    <typedef-decl name='eth_timesync_read_rx_timestamp_t' type-id='type-id-466' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='447' column='1' id='type-id-234'/>
+    <pointer-type-def type-id='type-id-467' size-in-bits='64' id='type-id-468'/>
+    <typedef-decl name='eth_timesync_read_tx_timestamp_t' type-id='type-id-468' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='452' column='1' id='type-id-235'/>
+    <typedef-decl name='__int64_t' type-id='type-id-463' filepath='/usr/include/bits/types.h' line='44' column='1' id='type-id-469'/>
+    <typedef-decl name='int64_t' type-id='type-id-469' filepath='/usr/include/bits/stdint-intn.h' line='27' column='1' id='type-id-470'/>
+    <pointer-type-def type-id='type-id-471' size-in-bits='64' id='type-id-472'/>
+    <typedef-decl name='eth_timesync_adjust_time' type-id='type-id-472' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='456' column='1' id='type-id-236'/>
+    <typedef-decl name='eth_timesync_read_time' type-id='type-id-468' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='459' column='1' id='type-id-237'/>
+    <qualified-type-def type-id='type-id-460' const='yes' id='type-id-473'/>
+    <pointer-type-def type-id='type-id-473' size-in-bits='64' id='type-id-474'/>
+    <pointer-type-def type-id='type-id-475' size-in-bits='64' id='type-id-476'/>
+    <typedef-decl name='eth_timesync_write_time' type-id='type-id-476' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='463' column='1' id='type-id-238'/>
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-477'/>
+    <pointer-type-def type-id='type-id-478' size-in-bits='64' id='type-id-479'/>
+    <typedef-decl name='eth_read_clock' type-id='type-id-479' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='467' column='1' id='type-id-239'/>
+    <qualified-type-def type-id='type-id-34' const='yes' id='type-id-480'/>
+    <pointer-type-def type-id='type-id-480' size-in-bits='64' id='type-id-481'/>
+    <pointer-type-def type-id='type-id-482' size-in-bits='64' id='type-id-483'/>
+    <typedef-decl name='eth_xstats_get_by_id_t' type-id='type-id-483' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='188' column='1' id='type-id-240'/>
+    <pointer-type-def type-id='type-id-484' size-in-bits='64' id='type-id-485'/>
+    <typedef-decl name='eth_xstats_get_names_by_id_t' type-id='type-id-485' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='219' column='1' id='type-id-241'/>
+    <pointer-type-def type-id='type-id-486' size-in-bits='64' id='type-id-487'/>
+    <typedef-decl name='eth_tm_ops_get_t' type-id='type-id-487' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='512' column='1' id='type-id-242'/>
+    <typedef-decl name='eth_mtr_ops_get_t' type-id='type-id-487' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='515' column='1' id='type-id-243'/>
+    <pointer-type-def type-id='type-id-488' size-in-bits='64' id='type-id-489'/>
+    <typedef-decl name='eth_pool_ops_supported_t' type-id='type-id-489' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='522' column='1' id='type-id-244'/>
+    <class-decl name='rte_eth_hairpin_cap' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='861' column='1' id='type-id-490'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max_nb_queues' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='863' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='max_rx_2_tx' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_tx_2_rx' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='867' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='max_nb_desc' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='868' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-490' size-in-bits='64' id='type-id-491'/>
+    <pointer-type-def type-id='type-id-492' size-in-bits='64' id='type-id-493'/>
+    <typedef-decl name='eth_hairpin_cap_get_t' type-id='type-id-493' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='543' column='1' id='type-id-245'/>
+    <class-decl name='rte_eth_hairpin_conf' size-in-bits='1040' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='890' column='1' id='type-id-494'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='peer_count' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='891' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='peers' type-id='type-id-495' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='892' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_hairpin_peer' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='879' column='1' id='type-id-496'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='port' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='880' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='queue' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='881' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-496' size-in-bits='1024' id='type-id-495'>
+      <subrange length='32' type-id='type-id-40' id='type-id-57'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-494' const='yes' id='type-id-497'/>
+    <pointer-type-def type-id='type-id-497' size-in-bits='64' id='type-id-498'/>
+    <pointer-type-def type-id='type-id-499' size-in-bits='64' id='type-id-500'/>
+    <typedef-decl name='eth_rx_hairpin_queue_setup_t' type-id='type-id-500' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='571' column='1' id='type-id-246'/>
+    <typedef-decl name='eth_tx_hairpin_queue_setup_t' type-id='type-id-500' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='601' column='1' id='type-id-247'/>
+    <qualified-type-def type-id='type-id-157' const='yes' id='type-id-501'/>
+    <pointer-type-def type-id='type-id-501' size-in-bits='64' id='type-id-19'/>
+    <class-decl name='rte_intr_handle' size-in-bits='213248' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='69' column='1' id='type-id-502'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-503' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-504' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='max_intr' type-id='type-id-35' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='nb_efd' type-id='type-id-35' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='efd_counter_size' type-id='type-id-102' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='efds' type-id='type-id-505' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16576'>
+        <var-decl name='elist' type-id='type-id-506' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='213184'>
+        <var-decl name='intr_vec' type-id='type-id-507' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='71' column='1' id='type-id-503'>
+      <data-member access='private'>
+        <var-decl name='vfio_dev_fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='uio_cfg_fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='73' column='1'/>
+      </data-member>
+    </union-decl>
+    <enum-decl name='rte_intr_handle_type' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='27' column='1' id='type-id-504'>
+      <underlying-type type-id='type-id-12'/>
+      <enumerator name='RTE_INTR_HANDLE_UNKNOWN' value='0'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO' value='1'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO_INTX' value='2'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_LEGACY' value='3'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSI' value='4'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSIX' value='5'/>
+      <enumerator name='RTE_INTR_HANDLE_ALARM' value='6'/>
+      <enumerator name='RTE_INTR_HANDLE_EXT' value='7'/>
+      <enumerator name='RTE_INTR_HANDLE_VDEV' value='8'/>
+      <enumerator name='RTE_INTR_HANDLE_DEV_EVENT' value='9'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_REQ' value='10'/>
+      <enumerator name='RTE_INTR_HANDLE_MAX' value='11'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='16384' id='type-id-505'>
+      <subrange length='512' type-id='type-id-40' id='type-id-508'/>
+
+    </array-type-def>
+    <class-decl name='rte_epoll_event' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='61' column='1' id='type-id-509'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='status' type-id='type-id-510' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='epfd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='epdata' type-id='type-id-511' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-35' volatile='yes' id='type-id-510'/>
+    <class-decl name='rte_epoll_data' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='47' column='1' id='type-id-511'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event' type-id='type-id-35' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='data' type-id='type-id-11' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cb_fun' type-id='type-id-512' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='cb_arg' type-id='type-id-11' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='51' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-513' size-in-bits='64' id='type-id-514'/>
+    <typedef-decl name='rte_intr_event_cb_t' type-id='type-id-514' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='45' column='1' id='type-id-512'/>
+
+    <array-type-def dimensions='1' type-id='type-id-509' size-in-bits='196608' id='type-id-506'>
+      <subrange length='512' type-id='type-id-40' id='type-id-508'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-507'/>
+    <pointer-type-def type-id='type-id-502' size-in-bits='64' id='type-id-21'/>
+    <class-decl name='rte_eth_dev_cb_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1' id='type-id-22'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-515' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-516' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_callback' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-517'/>
+    <pointer-type-def type-id='type-id-517' size-in-bits='64' id='type-id-515'/>
+    <pointer-type-def type-id='type-id-515' size-in-bits='64' id='type-id-516'/>
+    <class-decl name='rte_eth_rxtx_callback' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='758' column='1' id='type-id-518'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-519' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='759' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fn' type-id='type-id-520' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='763' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='param' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='764' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-518' size-in-bits='64' id='type-id-519'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='760' column='1' id='type-id-520'>
+      <data-member access='private'>
+        <var-decl name='rx' type-id='type-id-521' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='761' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='tx' type-id='type-id-522' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='762' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-523' size-in-bits='64' id='type-id-524'/>
+    <typedef-decl name='rte_rx_callback_fn' type-id='type-id-524' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1437' column='1' id='type-id-521'/>
+    <pointer-type-def type-id='type-id-525' size-in-bits='64' id='type-id-526'/>
+    <typedef-decl name='rte_tx_callback_fn' type-id='type-id-526' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1461' column='1' id='type-id-522'/>
+
+    <array-type-def dimensions='1' type-id='type-id-519' size-in-bits='65536' id='type-id-23'>
+      <subrange length='1024' type-id='type-id-40' id='type-id-155'/>
+
+    </array-type-def>
+    <enum-decl name='rte_eth_dev_state' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1467' column='1' id='type-id-24'>
+      <underlying-type type-id='type-id-12'/>
+      <enumerator name='RTE_ETH_DEV_UNUSED' value='0'/>
+      <enumerator name='RTE_ETH_DEV_ATTACHED' value='1'/>
+      <enumerator name='RTE_ETH_DEV_REMOVED' value='2'/>
+    </enum-decl>
+    <var-decl name='igb_flow_list' type-id='type-id-2' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='364' column='1'/>
+    <class-decl name='igb_ntuple_filter_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='353' column='1' id='type-id-527'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-528' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='353' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-529' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='353' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='igb_ntuple_filter_ele' size-in-bits='448' is-struct='yes' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='317' column='1' id='type-id-530'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='entries' type-id='type-id-531' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='318' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='filter_info' type-id='type-id-532' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='319' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='318' column='1' id='type-id-531'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-528' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='318' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-529' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='318' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-530' size-in-bits='64' id='type-id-528'/>
+    <pointer-type-def type-id='type-id-528' size-in-bits='64' id='type-id-529'/>
+    <class-decl name='rte_eth_ntuple_filter' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='159' column='1' id='type-id-532'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='160' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dst_ip' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='161' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dst_ip_mask' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='162' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='src_ip' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='163' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='src_ip_mask' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='164' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='dst_port' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='165' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='dst_port_mask' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='166' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='src_port' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='167' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='208'>
+        <var-decl name='src_port_mask' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='168' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='proto' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='169' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='232'>
+        <var-decl name='proto_mask' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='170' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='240'>
+        <var-decl name='tcp_flags' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='174' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='priority' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='175' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='272'>
+        <var-decl name='queue' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='177' column='1'/>
+      </data-member>
+    </class-decl>
+    <var-decl name='igb_filter_ntuple_list' type-id='type-id-527' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='354' column='1'/>
+    <class-decl name='igb_ethertype_filter_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='355' column='1' id='type-id-533'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-534' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='355' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-535' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='355' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='igb_ethertype_filter_ele' size-in-bits='256' is-struct='yes' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='323' column='1' id='type-id-536'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='entries' type-id='type-id-537' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='324' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='filter_info' type-id='type-id-538' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='325' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='324' column='1' id='type-id-537'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-534' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='324' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-535' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='324' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-536' size-in-bits='64' id='type-id-534'/>
+    <pointer-type-def type-id='type-id-534' size-in-bits='64' id='type-id-535'/>
+    <class-decl name='rte_eth_ethertype_filter' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='93' column='1' id='type-id-538'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mac_addr' type-id='type-id-151' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='ether_type' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='95' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='flags' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='queue' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='97' column='1'/>
+      </data-member>
+    </class-decl>
+    <var-decl name='igb_filter_ethertype_list' type-id='type-id-533' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='356' column='1'/>
+    <class-decl name='igb_syn_filter_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='357' column='1' id='type-id-539'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-540' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='357' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-541' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='357' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='igb_eth_syn_filter_ele' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='329' column='1' id='type-id-542'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='entries' type-id='type-id-543' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='330' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='filter_info' type-id='type-id-544' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='331' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='330' column='1' id='type-id-543'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-540' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='330' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-541' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='330' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-542' size-in-bits='64' id='type-id-540'/>
+    <pointer-type-def type-id='type-id-540' size-in-bits='64' id='type-id-541'/>
+    <class-decl name='rte_eth_syn_filter' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='124' column='1' id='type-id-544'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='hig_pri' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='125' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='queue' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='127' column='1'/>
+      </data-member>
+    </class-decl>
+    <var-decl name='igb_filter_syn_list' type-id='type-id-539' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='358' column='1'/>
+    <class-decl name='igb_flex_filter_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='359' column='1' id='type-id-545'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-546' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='359' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-547' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='359' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='igb_flex_filter_ele' size-in-bits='1344' is-struct='yes' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='335' column='1' id='type-id-548'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='entries' type-id='type-id-549' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='336' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='filter_info' type-id='type-id-550' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='337' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='336' column='1' id='type-id-549'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-546' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='336' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-547' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='336' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-548' size-in-bits='64' id='type-id-546'/>
+    <pointer-type-def type-id='type-id-546' size-in-bits='64' id='type-id-547'/>
+    <class-decl name='rte_eth_flex_filter' size-in-bits='1200' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='110' column='1' id='type-id-550'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='len' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='111' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='bytes' type-id='type-id-551' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='112' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1040'>
+        <var-decl name='mask' type-id='type-id-149' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='113' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1168'>
+        <var-decl name='priority' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='115' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1184'>
+        <var-decl name='queue' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='116' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-102' size-in-bits='1024' id='type-id-551'>
+      <subrange length='128' type-id='type-id-40' id='type-id-154'/>
+
+    </array-type-def>
+    <var-decl name='igb_filter_flex_list' type-id='type-id-545' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='360' column='1'/>
+    <class-decl name='igb_rss_filter_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='361' column='1' id='type-id-552'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-553' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='361' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-554' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='361' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='igb_rss_conf_ele' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='341' column='1' id='type-id-555'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='entries' type-id='type-id-556' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='342' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='filter_info' type-id='type-id-557' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='343' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='342' column='1' id='type-id-556'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-553' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='342' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-554' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='342' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-555' size-in-bits='64' id='type-id-553'/>
+    <pointer-type-def type-id='type-id-553' size-in-bits='64' id='type-id-554'/>
+    <class-decl name='igb_rte_flow_rss_conf' size-in-bits='896' is-struct='yes' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='246' column='1' id='type-id-557'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='conf' type-id='type-id-558' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='key' type-id='type-id-559' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='queue' type-id='type-id-146' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='250' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_flow_action_rss' size-in-bits='320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2126' column='1' id='type-id-558'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='func' type-id='type-id-560' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2127' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='level' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2153' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='types' type-id='type-id-34' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='key_len' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2155' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='queue_num' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2156' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='key' type-id='type-id-561' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2157' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='queue' type-id='type-id-562' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2158' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_hash_function' filepath='../lib/librte_ethdev/rte_flow.h' line='2097' column='1' id='type-id-560'>
+      <underlying-type type-id='type-id-12'/>
+      <enumerator name='RTE_ETH_HASH_FUNCTION_DEFAULT' value='0'/>
+      <enumerator name='RTE_ETH_HASH_FUNCTION_TOEPLITZ' value='1'/>
+      <enumerator name='RTE_ETH_HASH_FUNCTION_SIMPLE_XOR' value='2'/>
+      <enumerator name='RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ' value='3'/>
+      <enumerator name='RTE_ETH_HASH_FUNCTION_MAX' value='4'/>
+    </enum-decl>
+    <qualified-type-def type-id='type-id-102' const='yes' id='type-id-563'/>
+    <pointer-type-def type-id='type-id-563' size-in-bits='64' id='type-id-561'/>
+    <qualified-type-def type-id='type-id-29' const='yes' id='type-id-564'/>
+    <pointer-type-def type-id='type-id-564' size-in-bits='64' id='type-id-562'/>
+
+    <array-type-def dimensions='1' type-id='type-id-102' size-in-bits='320' id='type-id-559'>
+      <subrange length='40' type-id='type-id-40' id='type-id-565'/>
+
+    </array-type-def>
+    <var-decl name='igb_filter_rss_list' type-id='type-id-552' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='362' column='1'/>
+    <class-decl name='rte_flow_ops' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='63' column='1' id='type-id-566'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='validate' type-id='type-id-567' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='create' type-id='type-id-568' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='destroy' type-id='type-id-569' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='flush' type-id='type-id-570' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='query' type-id='type-id-571' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='isolate' type-id='type-id-572' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='95' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_flow_attr' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='75' column='1' id='type-id-573'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='group' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='priority' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='ingress' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='egress' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='transfer' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='98' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='reserved' type-id='type-id-35' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='99' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-573' const='yes' id='type-id-574'/>
+    <pointer-type-def type-id='type-id-574' size-in-bits='64' id='type-id-575'/>
+    <class-decl name='rte_flow_item' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1517' column='1' id='type-id-576'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-577' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1518' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='spec' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1519' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='last' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='mask' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1521' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_item_type' filepath='../lib/librte_ethdev/rte_flow.h' line='118' column='1' id='type-id-577'>
+      <underlying-type type-id='type-id-12'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_END' value='0'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VOID' value='1'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_INVERT' value='2'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ANY' value='3'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PF' value='4'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VF' value='5'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PHY_PORT' value='6'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PORT_ID' value='7'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_RAW' value='8'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ETH' value='9'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VLAN' value='10'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV4' value='11'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV6' value='12'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP' value='13'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_UDP' value='14'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_TCP' value='15'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_SCTP' value='16'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VXLAN' value='17'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_E_TAG' value='18'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_NVGRE' value='19'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_MPLS' value='20'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GRE' value='21'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_FUZZY' value='22'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTP' value='23'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTPC' value='24'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTPU' value='25'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ESP' value='26'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GENEVE' value='27'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VXLAN_GPE' value='28'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ARP_ETH_IPV4' value='29'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV6_EXT' value='30'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6' value='31'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_NS' value='32'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_NA' value='33'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT' value='34'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT_SLA_ETH' value='35'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT_TLA_ETH' value='36'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_MARK' value='37'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_META' value='38'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GRE_KEY' value='39'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTP_PSC' value='40'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOES' value='41'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOED' value='42'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOE_PROTO_ID' value='43'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_NSH' value='44'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IGMP' value='45'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_AH' value='46'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_HIGIG2' value='47'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_TAG' value='48'/>
+    </enum-decl>
+    <qualified-type-def type-id='type-id-576' const='yes' id='type-id-578'/>
+    <pointer-type-def type-id='type-id-578' size-in-bits='64' id='type-id-579'/>
+    <class-decl name='rte_flow_action' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2568' column='1' id='type-id-580'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-581' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2569' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='conf' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2570' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_action_type' filepath='../lib/librte_ethdev/rte_flow.h' line='1550' column='1' id='type-id-581'>
+      <underlying-type type-id='type-id-12'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_END' value='0'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VOID' value='1'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PASSTHRU' value='2'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_JUMP' value='3'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_MARK' value='4'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_FLAG' value='5'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_QUEUE' value='6'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DROP' value='7'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_COUNT' value='8'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RSS' value='9'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PF' value='10'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VF' value='11'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PHY_PORT' value='12'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PORT_ID' value='13'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_METER' value='14'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SECURITY' value='15'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_MPLS_TTL' value='16'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_DEC_MPLS_TTL' value='17'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_NW_TTL' value='18'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_DEC_NW_TTL' value='19'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_OUT' value='20'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_IN' value='21'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_POP_VLAN' value='22'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_PUSH_VLAN' value='23'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_VID' value='24'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_PCP' value='25'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_POP_MPLS' value='26'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_PUSH_MPLS' value='27'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VXLAN_ENCAP' value='28'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VXLAN_DECAP' value='29'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_NVGRE_ENCAP' value='30'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_NVGRE_DECAP' value='31'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RAW_ENCAP' value='32'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RAW_DECAP' value='33'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV4_SRC' value='34'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV4_DST' value='35'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV6_SRC' value='36'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV6_DST' value='37'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TP_SRC' value='38'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TP_DST' value='39'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_MAC_SWAP' value='40'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TTL' value='41'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TTL' value='42'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_MAC_SRC' value='43'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_MAC_DST' value='44'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_INC_TCP_SEQ' value='45'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TCP_SEQ' value='46'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_INC_TCP_ACK' value='47'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TCP_ACK' value='48'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TAG' value='49'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_META' value='50'/>
+    </enum-decl>
+    <qualified-type-def type-id='type-id-580' const='yes' id='type-id-582'/>
+    <pointer-type-def type-id='type-id-582' size-in-bits='64' id='type-id-583'/>
+    <class-decl name='rte_flow_error' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2618' column='1' id='type-id-584'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-585' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2619' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='cause' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2620' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='message' type-id='type-id-280' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2621' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_error_type' filepath='../lib/librte_ethdev/rte_flow.h' line='2587' column='1' id='type-id-585'>
+      <underlying-type type-id='type-id-12'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_UNSPECIFIED' value='1'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_HANDLE' value='2'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_GROUP' value='3'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_PRIORITY' value='4'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_INGRESS' value='5'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_EGRESS' value='6'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_TRANSFER' value='7'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR' value='8'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_NUM' value='9'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_SPEC' value='10'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_LAST' value='11'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_MASK' value='12'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM' value='13'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION_NUM' value='14'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION_CONF' value='15'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION' value='16'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-584' size-in-bits='64' id='type-id-586'/>
+    <pointer-type-def type-id='type-id-587' size-in-bits='64' id='type-id-567'/>
+    <pointer-type-def type-id='type-id-588' size-in-bits='64' id='type-id-568'/>
+    <pointer-type-def type-id='type-id-589' size-in-bits='64' id='type-id-569'/>
+    <pointer-type-def type-id='type-id-590' size-in-bits='64' id='type-id-570'/>
+    <pointer-type-def type-id='type-id-591' size-in-bits='64' id='type-id-571'/>
+    <pointer-type-def type-id='type-id-592' size-in-bits='64' id='type-id-572'/>
+    <qualified-type-def type-id='type-id-566' const='yes' id='type-id-593'/>
+    <var-decl name='igb_flow_ops' type-id='type-id-593' visibility='default' filepath='../drivers/net/e1000/e1000_ethdev.h' line='366' column='1'/>
+    <function-type size-in-bits='64' id='type-id-372'>
+      <parameter type-id='type-id-8'/>
+      <return type-id='type-id-281'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-333'>
+      <return type-id='type-id-332'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-316'>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-327'>
+      <parameter type-id='type-id-280'/>
+      <parameter type-id='type-id-11'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-320'>
+      <parameter type-id='type-id-319'/>
+      <parameter type-id='type-id-11'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-325'>
+      <parameter type-id='type-id-20'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-329'>
+      <parameter type-id='type-id-20'/>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-34'/>
+      <parameter type-id='type-id-60'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-248'>
+      <parameter type-id='type-id-8'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-370'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-351'/>
+      <parameter type-id='type-id-60'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-488'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-280'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-587'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-575'/>
+      <parameter type-id='type-id-579'/>
+      <parameter type-id='type-id-583'/>
+      <parameter type-id='type-id-586'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-475'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-474'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-482'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-481'/>
+      <parameter type-id='type-id-477'/>
+      <parameter type-id='type-id-46'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-451'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-10'/>
+      <parameter type-id='type-id-450'/>
+      <parameter type-id='type-id-11'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-379'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-378'/>
+      <parameter type-id='type-id-29'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-252'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-592'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-586'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-444'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-443'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-440'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-439'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-458'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-457'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-355'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-354'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-448'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-447'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-402'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-401'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-492'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-491'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-425'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-424'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-427'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-424'/>
+      <parameter type-id='type-id-35'/>
+      <parameter type-id='type-id-102'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-416'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-102'/>
+      <parameter type-id='type-id-102'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-406'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-405'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-432'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-431'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-436'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-435'/>
+      <parameter type-id='type-id-29'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-267'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-266'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-420'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-419'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-271'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-270'/>
+      <parameter type-id='type-id-46'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-484'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-274'/>
+      <parameter type-id='type-id-481'/>
+      <parameter type-id='type-id-46'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-275'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-274'/>
+      <parameter type-id='type-id-46'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-258'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-100'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-260'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-100'/>
+      <parameter type-id='type-id-35'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-256'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-100'/>
+      <parameter type-id='type-id-35'/>
+      <parameter type-id='type-id-35'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-408'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-100'/>
+      <parameter type-id='type-id-102'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-591'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-7'/>
+      <parameter type-id='type-id-583'/>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-586'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-589'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-7'/>
+      <parameter type-id='type-id-586'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-590'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-586'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-467'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-464'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-465'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-464'/>
+      <parameter type-id='type-id-35'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-471'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-470'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-262'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-29'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-376'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-368'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-367'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-429'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-29'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-499'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-498'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-385'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-46'/>
+      <parameter type-id='type-id-384'/>
+      <parameter type-id='type-id-36'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-395'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-46'/>
+      <parameter type-id='type-id-394'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-277'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-102'/>
+      <parameter type-id='type-id-102'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-374'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-35'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-410'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-102'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-478'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-477'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-486'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-11'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-342'>
+      <parameter type-id='type-id-11'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-391'>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-29'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-397'>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-35'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-323'>
+      <parameter type-id='type-id-319'/>
+      <parameter type-id='type-id-322'/>
+      <parameter type-id='type-id-11'/>
+      <return type-id='type-id-20'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-588'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-575'/>
+      <parameter type-id='type-id-579'/>
+      <parameter type-id='type-id-583'/>
+      <parameter type-id='type-id-586'/>
+      <return type-id='type-id-7'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-523'>
+      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-91'/>
+      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-11'/>
+      <return type-id='type-id-29'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-525'>
+      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-91'/>
+      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-11'/>
+      <return type-id='type-id-29'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-92'>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-91'/>
+      <parameter type-id='type-id-29'/>
+      <return type-id='type-id-29'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-389'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-29'/>
+      <return type-id='type-id-35'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-513'>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-11'/>
+      <return type-id='type-id-13'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-250'>
+      <parameter type-id='type-id-8'/>
+      <return type-id='type-id-13'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-381'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-13'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-359'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-358'/>
+      <return type-id='type-id-13'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-363'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-29'/>
+      <parameter type-id='type-id-362'/>
+      <return type-id='type-id-13'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-254'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-35'/>
+      <return type-id='type-id-13'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-78'>
+      <parameter type-id='type-id-72'/>
+      <parameter type-id='type-id-11'/>
+      <return type-id='type-id-13'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-387'>
+      <parameter type-id='type-id-11'/>
+      <return type-id='type-id-13'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-83'>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-11'/>
+      <return type-id='type-id-13'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-340'>
+      <parameter type-id='type-id-11'/>
+      <parameter type-id='type-id-280'/>
+      <parameter type-id='type-id-339'/>
+      <return type-id='type-id-11'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_fm10k.dump b/drivers/.abi/librte_pmd_fm10k.dump
new file mode 100644
index 000000000..94e471be0
--- /dev/null
+++ b/drivers/.abi/librte_pmd_fm10k.dump
@@ -0,0 +1,894 @@
+<abi-corpus path='gcc//drivers/librte_pmd_fm10k.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_fm10k.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/fm10k/base/fm10k_pf.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='fm10k_msg_data' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_tlv.h' line='83' column='1' id='type-id-1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-2' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_tlv.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='attr' type-id='type-id-3' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_tlv.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='func' type-id='type-id-4' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_tlv.h' line='86' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-2'/>
+    <class-decl name='fm10k_tlv_attr' size-in-bits='96' is-struct='yes' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_tlv.h' line='62' column='1' id='type-id-5'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-2' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_tlv.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='type' type-id='type-id-6' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_tlv.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-7' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_tlv.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-8'/>
+    <enum-decl name='fm10k_tlv_type' filepath='../drivers/net/fm10k/base/fm10k_tlv.h' line='49' column='1' id='type-id-6'>
+      <underlying-type type-id='type-id-8'/>
+      <enumerator name='FM10K_TLV_NULL_STRING' value='0'/>
+      <enumerator name='FM10K_TLV_MAC_ADDR' value='1'/>
+      <enumerator name='FM10K_TLV_BOOL' value='2'/>
+      <enumerator name='FM10K_TLV_UNSIGNED' value='3'/>
+      <enumerator name='FM10K_TLV_SIGNED' value='4'/>
+      <enumerator name='FM10K_TLV_LE_STRUCT' value='5'/>
+      <enumerator name='FM10K_TLV_NESTED' value='6'/>
+      <enumerator name='FM10K_TLV_MAX_TYPE' value='7'/>
+    </enum-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-9'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-9' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-10'/>
+    <typedef-decl name='uint16_t' type-id='type-id-10' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-11'/>
+    <typedef-decl name='u16' type-id='type-id-11' filepath='../drivers/net/fm10k/base/fm10k_osdep.h' line='44' column='1' id='type-id-7'/>
+    <qualified-type-def type-id='type-id-5' const='yes' id='type-id-12'/>
+    <pointer-type-def type-id='type-id-12' size-in-bits='64' id='type-id-3'/>
+    <type-decl name='int' size-in-bits='32' id='type-id-13'/>
+    <typedef-decl name='__int32_t' type-id='type-id-13' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-14'/>
+    <typedef-decl name='int32_t' type-id='type-id-14' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-15'/>
+    <typedef-decl name='s32' type-id='type-id-15' filepath='../drivers/net/fm10k/base/fm10k_osdep.h' line='47' column='1' id='type-id-16'/>
+    <class-decl name='fm10k_hw' size-in-bits='25664' is-struct='yes' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='704' column='1' id='type-id-17'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='hw_addr' type-id='type-id-18' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='705' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='sw_addr' type-id='type-id-18' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='706' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='back' type-id='type-id-19' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='707' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='mac' type-id='type-id-20' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='708' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='bus' type-id='type-id-21' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='709' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2208'>
+        <var-decl name='bus_caps' type-id='type-id-21' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='710' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='iov' type-id='type-id-22' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='711' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2944'>
+        <var-decl name='mbx' type-id='type-id-23' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='712' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25280'>
+        <var-decl name='swapi' type-id='type-id-24' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25504'>
+        <var-decl name='device_id' type-id='type-id-7' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='714' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25520'>
+        <var-decl name='vendor_id' type-id='type-id-7' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='715' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25536'>
+        <var-decl name='subsystem_device_id' type-id='type-id-7' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='716' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25552'>
+        <var-decl name='subsystem_vendor_id' type-id='type-id-7' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='717' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25568'>
+        <var-decl name='revision_id' type-id='type-id-25' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='718' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25600'>
+        <var-decl name='flags' type-id='type-id-26' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='719' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='__uint32_t' type-id='type-id-2' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-27'/>
+    <typedef-decl name='uint32_t' type-id='type-id-27' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-28'/>
+    <typedef-decl name='u32' type-id='type-id-28' filepath='../drivers/net/fm10k/base/fm10k_osdep.h' line='46' column='1' id='type-id-26'/>
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-18'/>
+    <type-decl name='void' id='type-id-29'/>
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-19'/>
+    <class-decl name='fm10k_mac_info' size-in-bits='1920' is-struct='yes' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='602' column='1' id='type-id-20'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ops' type-id='type-id-30' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='type' type-id='type-id-31' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='604' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1504'>
+        <var-decl name='addr' type-id='type-id-32' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='605' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1552'>
+        <var-decl name='perm_addr' type-id='type-id-32' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='606' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='default_vid' type-id='type-id-7' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='607' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1616'>
+        <var-decl name='max_msix_vectors' type-id='type-id-7' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='608' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1632'>
+        <var-decl name='max_queues' type-id='type-id-7' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='609' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='vlan_override' type-id='type-id-33' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1696'>
+        <var-decl name='get_host_state' type-id='type-id-33' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='611' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='tx_ready' type-id='type-id-33' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='612' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1760'>
+        <var-decl name='dglort_map' type-id='type-id-26' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='itr_scale' type-id='type-id-25' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='614' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='reset_while_pending' type-id='type-id-34' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='615' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='fm10k_mac_ops' size-in-bits='1472' is-struct='yes' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='564' column='1' id='type-id-30'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='reset_hw' type-id='type-id-35' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='566' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='init_hw' type-id='type-id-35' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='567' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='start_hw' type-id='type-id-35' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='568' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='stop_hw' type-id='type-id-35' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='569' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='get_bus_info' type-id='type-id-35' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='570' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='get_host_state' type-id='type-id-36' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='571' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='request_lport_map' type-id='type-id-35' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='572' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='is_slot_appropriate' type-id='type-id-37' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='574' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='update_vlan' type-id='type-id-38' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='576' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='read_mac_addr' type-id='type-id-35' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='577' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='update_uc_addr' type-id='type-id-39' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='578' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='update_mc_addr' type-id='type-id-40' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='580' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='update_xcast_mode' type-id='type-id-41' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='581' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='update_int_moderator' type-id='type-id-42' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='582' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='update_lport_state' type-id='type-id-43' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='583' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='update_hw_stats' type-id='type-id-44' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='584' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='rebind_hw_stats' type-id='type-id-44' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='585' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='configure_dglort_map' type-id='type-id-45' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='586' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='set_dma_mask' type-id='type-id-46' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='588' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='get_fault' type-id='type-id-47' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='589' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='adjust_systime' type-id='type-id-48' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='590' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='notify_offset' type-id='type-id-49' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='591' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='read_systime' type-id='type-id-50' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='592' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-51'/>
+    <pointer-type-def type-id='type-id-52' size-in-bits='64' id='type-id-35'/>
+    <typedef-decl name='bool' type-id='type-id-13' filepath='../drivers/net/fm10k/base/fm10k_osdep.h' line='50' column='1' id='type-id-33'/>
+    <pointer-type-def type-id='type-id-33' size-in-bits='64' id='type-id-53'/>
+    <pointer-type-def type-id='type-id-54' size-in-bits='64' id='type-id-36'/>
+    <pointer-type-def type-id='type-id-55' size-in-bits='64' id='type-id-37'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-56'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-56' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-57'/>
+    <typedef-decl name='uint8_t' type-id='type-id-57' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-58'/>
+    <typedef-decl name='u8' type-id='type-id-58' filepath='../drivers/net/fm10k/base/fm10k_osdep.h' line='42' column='1' id='type-id-25'/>
+    <pointer-type-def type-id='type-id-59' size-in-bits='64' id='type-id-38'/>
+    <qualified-type-def type-id='type-id-25' const='yes' id='type-id-60'/>
+    <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-61'/>
+    <pointer-type-def type-id='type-id-62' size-in-bits='64' id='type-id-39'/>
+    <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-40'/>
+    <pointer-type-def type-id='type-id-64' size-in-bits='64' id='type-id-41'/>
+    <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-42'/>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-43'/>
+    <class-decl name='fm10k_hw_stats' size-in-bits='82944' is-struct='yes' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='486' column='1' id='type-id-67'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='timeout' type-id='type-id-68' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='487' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ur' type-id='type-id-68' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='489' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='ca' type-id='type-id-68' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='490' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='um' type-id='type-id-68' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='491' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='xec' type-id='type-id-68' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='vlan_drop' type-id='type-id-68' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='493' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='loopback_drop' type-id='type-id-68' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='494' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='nodesc_drop' type-id='type-id-68' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='495' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='q' type-id='type-id-69' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='496' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='fm10k_hw_stat' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='470' column='1' id='type-id-68'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='count' type-id='type-id-34' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='471' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='base_l' type-id='type-id-26' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='472' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='base_h' type-id='type-id-26' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='473' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-70'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-70' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-71'/>
+    <typedef-decl name='uint64_t' type-id='type-id-71' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-72'/>
+    <typedef-decl name='u64' type-id='type-id-72' filepath='../drivers/net/fm10k/base/fm10k_osdep.h' line='49' column='1' id='type-id-34'/>
+    <class-decl name='fm10k_hw_stats_q' size-in-bits='640' is-struct='yes' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='476' column='1' id='type-id-73'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tx_bytes' type-id='type-id-68' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='477' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tx_packets' type-id='type-id-68' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='478' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_bytes' type-id='type-id-68' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='480' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='rx_packets' type-id='type-id-68' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_drops' type-id='type-id-68' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='483' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-73' size-in-bits='81920' id='type-id-69'>
+      <subrange length='128' type-id='type-id-70' id='type-id-74'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-67' size-in-bits='64' id='type-id-75'/>
+    <pointer-type-def type-id='type-id-76' size-in-bits='64' id='type-id-44'/>
+    <class-decl name='fm10k_dglort_cfg' size-in-bits='96' is-struct='yes' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='511' column='1' id='type-id-77'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='glort' type-id='type-id-7' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='512' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='queue_b' type-id='type-id-7' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='513' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='vsi_b' type-id='type-id-25' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='514' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='idx' type-id='type-id-25' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='rss_l' type-id='type-id-25' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='516' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='pc_l' type-id='type-id-25' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='517' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='vsi_l' type-id='type-id-25' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='518' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='queue_l' type-id='type-id-25' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='519' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='shared_l' type-id='type-id-25' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='88'>
+        <var-decl name='inner_rss' type-id='type-id-25' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='521' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-77' size-in-bits='64' id='type-id-78'/>
+    <pointer-type-def type-id='type-id-79' size-in-bits='64' id='type-id-45'/>
+    <pointer-type-def type-id='type-id-80' size-in-bits='64' id='type-id-46'/>
+    <class-decl name='fm10k_fault' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='557' column='1' id='type-id-81'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='address' type-id='type-id-34' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='558' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='specinfo' type-id='type-id-26' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='559' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='type' type-id='type-id-25' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='560' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='104'>
+        <var-decl name='func' type-id='type-id-25' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='561' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-81' size-in-bits='64' id='type-id-82'/>
+    <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-47'/>
+    <pointer-type-def type-id='type-id-84' size-in-bits='64' id='type-id-48'/>
+    <pointer-type-def type-id='type-id-85' size-in-bits='64' id='type-id-49'/>
+    <pointer-type-def type-id='type-id-86' size-in-bits='64' id='type-id-50'/>
+    <enum-decl name='fm10k_mac_type' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='595' column='1' id='type-id-31'>
+      <underlying-type type-id='type-id-8'/>
+      <enumerator name='fm10k_mac_unknown' value='0'/>
+      <enumerator name='fm10k_mac_pf' value='1'/>
+      <enumerator name='fm10k_mac_vf' value='2'/>
+      <enumerator name='fm10k_num_macs' value='3'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-25' size-in-bits='48' id='type-id-32'>
+      <subrange length='6' type-id='type-id-70' id='type-id-87'/>
+
+    </array-type-def>
+    <class-decl name='fm10k_bus_info' size-in-bits='96' is-struct='yes' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='463' column='1' id='type-id-21'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='speed' type-id='type-id-88' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='464' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='width' type-id='type-id-89' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='465' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='payload' type-id='type-id-90' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='466' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='fm10k_bus_speed' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='435' column='1' id='type-id-88'>
+      <underlying-type type-id='type-id-8'/>
+      <enumerator name='fm10k_bus_speed_unknown' value='0'/>
+      <enumerator name='fm10k_bus_speed_2500' value='2500'/>
+      <enumerator name='fm10k_bus_speed_5000' value='5000'/>
+      <enumerator name='fm10k_bus_speed_8000' value='8000'/>
+      <enumerator name='fm10k_bus_speed_reserved' value='8001'/>
+    </enum-decl>
+    <enum-decl name='fm10k_bus_width' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='444' column='1' id='type-id-89'>
+      <underlying-type type-id='type-id-8'/>
+      <enumerator name='fm10k_bus_width_unknown' value='0'/>
+      <enumerator name='fm10k_bus_width_pcie_x1' value='1'/>
+      <enumerator name='fm10k_bus_width_pcie_x2' value='2'/>
+      <enumerator name='fm10k_bus_width_pcie_x4' value='4'/>
+      <enumerator name='fm10k_bus_width_pcie_x8' value='8'/>
+      <enumerator name='fm10k_bus_width_reserved' value='9'/>
+    </enum-decl>
+    <enum-decl name='fm10k_bus_payload' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='454' column='1' id='type-id-90'>
+      <underlying-type type-id='type-id-8'/>
+      <enumerator name='fm10k_bus_payload_unknown' value='0'/>
+      <enumerator name='fm10k_bus_payload_128' value='1'/>
+      <enumerator name='fm10k_bus_payload_256' value='2'/>
+      <enumerator name='fm10k_bus_payload_512' value='3'/>
+      <enumerator name='fm10k_bus_payload_reserved' value='4'/>
+    </enum-decl>
+    <class-decl name='fm10k_iov_info' size-in-bits='640' is-struct='yes' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='697' column='1' id='type-id-22'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ops' type-id='type-id-91' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='698' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='total_vfs' type-id='type-id-7' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='699' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='592'>
+        <var-decl name='num_vfs' type-id='type-id-7' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='700' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='num_pools' type-id='type-id-7' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='701' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='fm10k_iov_ops' size-in-bits='576' is-struct='yes' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='682' column='1' id='type-id-91'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='assign_resources' type-id='type-id-92' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='684' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='configure_tc' type-id='type-id-93' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='685' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='assign_int_moderator' type-id='type-id-94' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='686' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='assign_default_mac_vlan' type-id='type-id-95' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='687' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='reset_resources' type-id='type-id-95' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='689' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='set_lport' type-id='type-id-96' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='reset_lport' type-id='type-id-97' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='692' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='update_stats' type-id='type-id-98' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='693' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='notify_offset' type-id='type-id-99' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='694' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-100' size-in-bits='64' id='type-id-92'/>
+    <pointer-type-def type-id='type-id-101' size-in-bits='64' id='type-id-93'/>
+    <pointer-type-def type-id='type-id-102' size-in-bits='64' id='type-id-94'/>
+    <class-decl name='fm10k_vf_info' size-in-bits='22528' is-struct='yes' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='647' column='1' id='type-id-103'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mbx' type-id='type-id-23' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='652' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='22336'>
+        <var-decl name='rate' type-id='type-id-13' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='653' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='22368'>
+        <var-decl name='glort' type-id='type-id-7' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='654' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='22384'>
+        <var-decl name='sw_vid' type-id='type-id-7' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='655' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='22400'>
+        <var-decl name='pf_vid' type-id='type-id-7' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='656' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='22416'>
+        <var-decl name='mac' type-id='type-id-32' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='657' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='22464'>
+        <var-decl name='vsi' type-id='type-id-25' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='658' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='22472'>
+        <var-decl name='vf_idx' type-id='type-id-25' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='659' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='22480'>
+        <var-decl name='vf_flags' type-id='type-id-25' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='660' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='22496'>
+        <var-decl name='trusted' type-id='type-id-33' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='664' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='fm10k_mbx_info' size-in-bits='22336' is-struct='yes' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='253' column='1' id='type-id-23'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ops' type-id='type-id-104' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='msg_data' type-id='type-id-105' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='rx' type-id='type-id-106' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='tx' type-id='type-id-106' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='timeout' type-id='type-id-26' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='263' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='864'>
+        <var-decl name='rte_delay_us' type-id='type-id-26' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='264' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='mbx_reg' type-id='type-id-26' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='267' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='928'>
+        <var-decl name='mbmem_reg' type-id='type-id-26' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='267' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='mbx_lock' type-id='type-id-26' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='267' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='992'>
+        <var-decl name='mbx_hdr' type-id='type-id-26' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='267' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='max_size' type-id='type-id-7' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='268' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1040'>
+        <var-decl name='mbmem_len' type-id='type-id-7' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='268' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1056'>
+        <var-decl name='tail' type-id='type-id-7' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='269' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1072'>
+        <var-decl name='tail_len' type-id='type-id-7' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='269' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='pulled' type-id='type-id-7' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='269' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1104'>
+        <var-decl name='head' type-id='type-id-7' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='270' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1120'>
+        <var-decl name='head_len' type-id='type-id-7' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='270' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1136'>
+        <var-decl name='pushed' type-id='type-id-7' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='270' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='local' type-id='type-id-7' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='271' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1168'>
+        <var-decl name='remote' type-id='type-id-7' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='271' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1184'>
+        <var-decl name='state' type-id='type-id-107' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='272' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='test_result' type-id='type-id-16' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='275' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='tx_busy' type-id='type-id-34' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='278' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='tx_dropped' type-id='type-id-34' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='tx_messages' type-id='type-id-34' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='280' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='tx_dwords' type-id='type-id-34' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='281' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='tx_mbmem_pulled' type-id='type-id-34' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='282' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='rx_messages' type-id='type-id-34' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='283' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='rx_dwords' type-id='type-id-34' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='284' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='rx_mbmem_pushed' type-id='type-id-34' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='285' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='rx_parse_err' type-id='type-id-34' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='286' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='buffer' type-id='type-id-108' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='289' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='fm10k_mbx_ops' size-in-bits='512' is-struct='yes' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='219' column='1' id='type-id-104'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='connect' type-id='type-id-109' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='220' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='disconnect' type-id='type-id-110' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='221' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rx_ready' type-id='type-id-111' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='tx_ready' type-id='type-id-112' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='223' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='tx_complete' type-id='type-id-111' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='224' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='enqueue_tx' type-id='type-id-113' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='process' type-id='type-id-109' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='227' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='register_handlers' type-id='type-id-114' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='228' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-115'/>
+    <pointer-type-def type-id='type-id-116' size-in-bits='64' id='type-id-109'/>
+    <pointer-type-def type-id='type-id-117' size-in-bits='64' id='type-id-110'/>
+    <pointer-type-def type-id='type-id-118' size-in-bits='64' id='type-id-111'/>
+    <pointer-type-def type-id='type-id-119' size-in-bits='64' id='type-id-112'/>
+    <qualified-type-def type-id='type-id-26' const='yes' id='type-id-120'/>
+    <pointer-type-def type-id='type-id-120' size-in-bits='64' id='type-id-121'/>
+    <pointer-type-def type-id='type-id-122' size-in-bits='64' id='type-id-113'/>
+    <qualified-type-def type-id='type-id-1' const='yes' id='type-id-123'/>
+    <pointer-type-def type-id='type-id-123' size-in-bits='64' id='type-id-105'/>
+    <pointer-type-def type-id='type-id-124' size-in-bits='64' id='type-id-114'/>
+    <class-decl name='fm10k_mbx_fifo' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='232' column='1' id='type-id-106'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buffer' type-id='type-id-18' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='head' type-id='type-id-7' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='234' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='tail' type-id='type-id-7' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='235' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='size' type-id='type-id-7' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='236' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='fm10k_mbx_state' filepath='../drivers/net/fm10k/base/fm10k_mbx.h' line='83' column='1' id='type-id-107'>
+      <underlying-type type-id='type-id-8'/>
+      <enumerator name='FM10K_STATE_CLOSED' value='0'/>
+      <enumerator name='FM10K_STATE_CONNECT' value='1'/>
+      <enumerator name='FM10K_STATE_OPEN' value='2'/>
+      <enumerator name='FM10K_STATE_DISCONNECT' value='3'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-26' size-in-bits='20480' id='type-id-108'>
+      <subrange length='640' type-id='type-id-70' id='type-id-125'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-103' size-in-bits='64' id='type-id-126'/>
+    <pointer-type-def type-id='type-id-127' size-in-bits='64' id='type-id-95'/>
+    <pointer-type-def type-id='type-id-128' size-in-bits='64' id='type-id-96'/>
+    <pointer-type-def type-id='type-id-129' size-in-bits='64' id='type-id-97'/>
+    <pointer-type-def type-id='type-id-73' size-in-bits='64' id='type-id-130'/>
+    <pointer-type-def type-id='type-id-131' size-in-bits='64' id='type-id-98'/>
+    <pointer-type-def type-id='type-id-132' size-in-bits='64' id='type-id-99'/>
+    <class-decl name='fm10k_swapi_info' size-in-bits='224' is-struct='yes' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='623' column='1' id='type-id-24'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='status' type-id='type-id-26' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='624' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='mac' type-id='type-id-133' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='625' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='nexthop' type-id='type-id-133' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='626' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='ffu' type-id='type-id-133' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='627' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='fm10k_swapi_table_info' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='618' column='1' id='type-id-133'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='used' type-id='type-id-26' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='619' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='avail' type-id='type-id-26' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_type.h' line='620' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-134'/>
+    <pointer-type-def type-id='type-id-135' size-in-bits='64' id='type-id-4'/>
+
+    <array-type-def dimensions='1' type-id='type-id-123' size-in-bits='infinite' id='type-id-136'>
+      <subrange length='infinite' id='type-id-137'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-136' const='yes' id='type-id-138'/>
+    <var-decl name='fm10k_iov_msg_data_pf' type-id='type-id-138' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_pf.h' line='154' column='1'/>
+
+    <array-type-def dimensions='1' type-id='type-id-12' size-in-bits='infinite' id='type-id-139'>
+      <subrange length='infinite' id='type-id-137'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-139' const='yes' id='type-id-140'/>
+    <var-decl name='fm10k_lport_map_msg_attr' type-id='type-id-140' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_pf.h' line='117' column='1'/>
+    <var-decl name='fm10k_update_pvid_msg_attr' type-id='type-id-140' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_pf.h' line='121' column='1'/>
+    <var-decl name='fm10k_err_msg_attr' type-id='type-id-140' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_pf.h' line='127' column='1'/>
+    <var-decl name='fm10k_1588_timestamp_msg_attr' type-id='type-id-140' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_pf.h' line='131' column='1'/>
+    <var-decl name='fm10k_1588_clock_owner_attr' type-id='type-id-140' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_pf.h' line='138' column='1'/>
+    <var-decl name='fm10k_master_clk_offset_attr' type-id='type-id-140' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_pf.h' line='143' column='1'/>
+    <function-type size-in-bits='64' id='type-id-55'>
+      <parameter type-id='type-id-51'/>
+      <return type-id='type-id-33'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-118'>
+      <parameter type-id='type-id-115'/>
+      <return type-id='type-id-33'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-119'>
+      <parameter type-id='type-id-115'/>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-33'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-52'>
+      <parameter type-id='type-id-51'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-54'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-53'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-79'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-78'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-116'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-115'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-122'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-115'/>
+      <parameter type-id='type-id-121'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-127'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-126'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-128'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-126'/>
+      <parameter type-id='type-id-7'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-83'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-13'/>
+      <parameter type-id='type-id-82'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-84'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-102'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-63'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-7'/>
+      <parameter type-id='type-id-61'/>
+      <parameter type-id='type-id-7'/>
+      <parameter type-id='type-id-33'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-62'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-7'/>
+      <parameter type-id='type-id-61'/>
+      <parameter type-id='type-id-7'/>
+      <parameter type-id='type-id-33'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-101'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-7'/>
+      <parameter type-id='type-id-13'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-100'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-7'/>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-66'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-7'/>
+      <parameter type-id='type-id-7'/>
+      <parameter type-id='type-id-33'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-64'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-7'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-59'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-26'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-33'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-85'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-34'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-135'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-134'/>
+      <parameter type-id='type-id-115'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-124'>
+      <parameter type-id='type-id-115'/>
+      <parameter type-id='type-id-105'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-86'>
+      <parameter type-id='type-id-51'/>
+      <return type-id='type-id-34'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-65'>
+      <parameter type-id='type-id-51'/>
+      <return type-id='type-id-29'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-76'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-75'/>
+      <return type-id='type-id-29'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-131'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-130'/>
+      <parameter type-id='type-id-7'/>
+      <return type-id='type-id-29'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-117'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-115'/>
+      <return type-id='type-id-29'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-129'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-126'/>
+      <return type-id='type-id-29'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-132'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-126'/>
+      <parameter type-id='type-id-34'/>
+      <return type-id='type-id-29'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-80'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-34'/>
+      <return type-id='type-id-29'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/fm10k/base/fm10k_tlv.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='fm10k_tlv_msg_test_attr' type-id='type-id-140' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_tlv.h' line='157' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/fm10k/base/fm10k_vf.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='fm10k_mac_vlan_msg_attr' type-id='type-id-140' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_vf.h' line='46' column='1'/>
+    <var-decl name='fm10k_lport_state_msg_attr' type-id='type-id-140' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_vf.h' line='53' column='1'/>
+    <var-decl name='fm10k_1588_msg_attr' type-id='type-id-140' visibility='default' filepath='../drivers/net/fm10k/base/fm10k_vf.h' line='58' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/fm10k/fm10k_ethdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='fm10k_logtype_init' type-id='type-id-13' visibility='default' filepath='../drivers/net/fm10k/fm10k_logs.h' line='10' column='1'/>
+    <var-decl name='fm10k_logtype_driver' type-id='type-id-13' visibility='default' filepath='../drivers/net/fm10k/fm10k_logs.h' line='44' column='1'/>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_i40e.dump b/drivers/.abi/librte_pmd_i40e.dump
new file mode 100644
index 000000000..7b1c7a76c
--- /dev/null
+++ b/drivers/.abi/librte_pmd_i40e.dump
@@ -0,0 +1,3553 @@
+<abi-corpus path='gcc//drivers/librte_pmd_i40e.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_i40e.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_pmd_i40e_add_vf_mac_addr' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_i40e_flow_add_del_packet_template' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_i40e_flow_type_mapping_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_i40e_flow_type_mapping_reset' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_i40e_flow_type_mapping_update' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_i40e_get_ddp_info' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_i40e_get_ddp_list' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_i40e_get_vf_stats' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_i40e_inset_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_i40e_inset_set' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_i40e_ping_vfs' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_i40e_process_ddp_package' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_i40e_ptype_mapping_get' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_i40e_ptype_mapping_replace' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_i40e_ptype_mapping_reset' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_i40e_ptype_mapping_update' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_i40e_query_vfid_by_mac' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_i40e_reset_vf_stats' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_i40e_rss_queue_region_conf' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_i40e_set_switch_dev' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_i40e_set_tc_strict_prio' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_i40e_set_tx_loopback' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_i40e_set_vf_broadcast' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_i40e_set_vf_mac_addr' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_i40e_set_vf_mac_anti_spoof' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_i40e_set_vf_max_bw' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_i40e_set_vf_multicast_promisc' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_i40e_set_vf_tc_bw_alloc' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_i40e_set_vf_tc_max_bw' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_i40e_set_vf_unicast_promisc' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_i40e_set_vf_vlan_anti_spoof' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_i40e_set_vf_vlan_filter' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_i40e_set_vf_vlan_insert' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_i40e_set_vf_vlan_stripq' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_i40e_set_vf_vlan_tag' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/i40e/base/i40e_common.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='i40e_rx_ptype_decoded' size-in-bits='32' is-struct='yes' visibility='default' filepath='../drivers/net/i40e/base/i40e_type.h' line='941' column='1' id='type-id-1'>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='ptype' type-id='type-id-2' visibility='default' filepath='../drivers/net/i40e/base/i40e_type.h' line='942' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='23'>
+        <var-decl name='known' type-id='type-id-2' visibility='default' filepath='../drivers/net/i40e/base/i40e_type.h' line='943' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='22'>
+        <var-decl name='outer_ip' type-id='type-id-2' visibility='default' filepath='../drivers/net/i40e/base/i40e_type.h' line='944' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='21'>
+        <var-decl name='outer_ip_ver' type-id='type-id-2' visibility='default' filepath='../drivers/net/i40e/base/i40e_type.h' line='945' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='20'>
+        <var-decl name='outer_frag' type-id='type-id-2' visibility='default' filepath='../drivers/net/i40e/base/i40e_type.h' line='946' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='17'>
+        <var-decl name='tunnel_type' type-id='type-id-2' visibility='default' filepath='../drivers/net/i40e/base/i40e_type.h' line='947' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='15'>
+        <var-decl name='tunnel_end_prot' type-id='type-id-2' visibility='default' filepath='../drivers/net/i40e/base/i40e_type.h' line='948' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='14'>
+        <var-decl name='tunnel_end_frag' type-id='type-id-2' visibility='default' filepath='../drivers/net/i40e/base/i40e_type.h' line='949' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='10'>
+        <var-decl name='inner_prot' type-id='type-id-2' visibility='default' filepath='../drivers/net/i40e/base/i40e_type.h' line='950' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='payload_layer' type-id='type-id-2' visibility='default' filepath='../drivers/net/i40e/base/i40e_type.h' line='951' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-3'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-3' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-4'/>
+    <typedef-decl name='uint32_t' type-id='type-id-4' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-5'/>
+    <typedef-decl name='u32' type-id='type-id-5' filepath='../drivers/net/i40e/base/i40e_osdep.h' line='30' column='1' id='type-id-2'/>
+
+    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='infinite' id='type-id-6'>
+      <subrange length='infinite' id='type-id-7'/>
+
+    </array-type-def>
+    <var-decl name='i40e_ptype_lookup' type-id='type-id-6' visibility='default' filepath='../drivers/net/i40e/base/i40e_prototype.h' line='474' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/i40e/i40e_ethdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-8'/>
+    <var-decl name='i40e_logtype_init' type-id='type-id-8' visibility='default' filepath='../drivers/net/i40e/i40e_logs.h' line='8' column='1'/>
+    <var-decl name='i40e_logtype_driver' type-id='type-id-8' visibility='default' filepath='../drivers/net/i40e/i40e_logs.h' line='41' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/i40e/i40e_flow.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_flow_ops' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='63' column='1' id='type-id-9'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='validate' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='create' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='destroy' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='flush' type-id='type-id-13' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='query' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='isolate' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='95' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev' size-in-bits='132608' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='777' column='1' id='type-id-16'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_pkt_burst' type-id='type-id-17' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='778' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tx_pkt_burst' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tx_pkt_prepare' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='data' type-id='type-id-20' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='786' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='process_private' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='787' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_ops' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='788' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='device' type-id='type-id-23' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='789' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='intr_handle' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='790' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='link_intr_cbs' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='792' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='post_rx_burst_cbs' type-id='type-id-26' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='797' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='66176'>
+        <var-decl name='pre_tx_burst_cbs' type-id='type-id-26' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131712'>
+        <var-decl name='state' type-id='type-id-27' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='803' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131776'>
+        <var-decl name='security_ctx' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131840'>
+        <var-decl name='reserved_64s' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='806' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='132096'>
+        <var-decl name='reserved_ptrs' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='807' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-30'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-30' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-31'/>
+    <typedef-decl name='uint16_t' type-id='type-id-31' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-32'/>
+    <type-decl name='void' id='type-id-33'/>
+    <pointer-type-def type-id='type-id-33' size-in-bits='64' id='type-id-21'/>
+    <class-decl name='rte_mbuf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='480' column='1' id='type-id-34'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheline0' type-id='type-id-35' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-21' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-36' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rearm_data' type-id='type-id-37' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='497' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_off' type-id='type-id-32' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_segs' type-id='type-id-32' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='port' type-id='type-id-32' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ol_flags' type-id='type-id-38' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_descriptor_fields1' type-id='type-id-35' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='pkt_len' type-id='type-id-5' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data_len' type-id='type-id-32' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='vlan_tci' type-id='type-id-32' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vlan_tci_outer' type-id='type-id-32' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='buf_len' type-id='type-id-32' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='timestamp' type-id='type-id-38' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cacheline1' type-id='type-id-35' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='pool' type-id='type-id-39' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='next' type-id='type-id-40' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='timesync' type-id='type-id-32' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='seqn' type-id='type-id-5' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='shinfo' type-id='type-id-41' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dynfield1' type-id='type-id-42' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-43'/>
+
+    <array-type-def dimensions='1' type-id='type-id-21' size-in-bits='infinite' id='type-id-44'>
+      <subrange length='infinite' type-id='type-id-43' id='type-id-7'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER' type-id='type-id-44' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='414' column='1' id='type-id-35'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='491' column='1' id='type-id-36'>
+      <data-member access='private'>
+        <var-decl name='buf_iova' type-id='type-id-45' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='buf_physaddr' type-id='type-id-45' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='__uint64_t' type-id='type-id-43' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-46'/>
+    <typedef-decl name='uint64_t' type-id='type-id-46' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-38'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-38' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-45'/>
+
+    <array-type-def dimensions='1' type-id='type-id-38' size-in-bits='infinite' id='type-id-47'>
+      <subrange length='infinite' type-id='type-id-43' id='type-id-7'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER64' type-id='type-id-47' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='420' column='1' id='type-id-37'/>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-48'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-50' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-21' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-51' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-3' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-8' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-5' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-5' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-5' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-5' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-5' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-3' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-52' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-53' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-5' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-54' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-5' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-55' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-56'/>
+
+    <array-type-def dimensions='1' type-id='type-id-56' size-in-bits='256' id='type-id-49'>
+      <subrange length='32' type-id='type-id-43' id='type-id-57'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-50'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-21' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-38' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-58'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-49' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-59' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-60' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-38' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-52' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-59'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-61' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-45' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-38' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-61'/>
+    <typedef-decl name='size_t' type-id='type-id-43' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-60'/>
+    <typedef-decl name='__int32_t' type-id='type-id-8' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-62'/>
+    <typedef-decl name='int32_t' type-id='type-id-62' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-52'/>
+    <qualified-type-def type-id='type-id-58' const='yes' id='type-id-63'/>
+    <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-51'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-64'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-5' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-5' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-5' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-65' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-21' size-in-bits='98304' id='type-id-65'>
+      <subrange length='1536' type-id='type-id-43' id='type-id-66'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-64' size-in-bits='64' id='type-id-53'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-54'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-67' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-68' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-69'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-70' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-71' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-70'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-67' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-69' size-in-bits='64' id='type-id-67'/>
+    <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-39'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-71'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-45' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-61' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-67' size-in-bits='64' id='type-id-68'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-55'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-72' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-73' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-74'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-75' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-39' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-21' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-76' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-60' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-77' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-21' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-75'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-72' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-74' size-in-bits='64' id='type-id-72'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-76'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-45' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-61' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-78' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-79'/>
+    <pointer-type-def type-id='type-id-79' size-in-bits='64' id='type-id-77'/>
+    <pointer-type-def type-id='type-id-72' size-in-bits='64' id='type-id-73'/>
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-40'/>
+    <class-decl name='rte_mbuf_ext_shared_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='689' column='1' id='type-id-80'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_cb' type-id='type-id-81' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcb_opaque' type-id='type-id-21' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt_atomic' type-id='type-id-82' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-84'/>
+    <typedef-decl name='rte_mbuf_extbuf_free_callback_t' type-id='type-id-84' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='684' column='1' id='type-id-81'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-82' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-85'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-86' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-87'/>
+    <typedef-decl name='__int16_t' type-id='type-id-87' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-88'/>
+    <typedef-decl name='int16_t' type-id='type-id-88' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-89'/>
+    <qualified-type-def type-id='type-id-89' volatile='yes' id='type-id-86'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-85' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-82'/>
+    <pointer-type-def type-id='type-id-80' size-in-bits='64' id='type-id-41'/>
+
+    <array-type-def dimensions='1' type-id='type-id-38' size-in-bits='128' id='type-id-42'>
+      <subrange length='2' type-id='type-id-43' id='type-id-90'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-40' size-in-bits='64' id='type-id-91'/>
+    <pointer-type-def type-id='type-id-92' size-in-bits='64' id='type-id-93'/>
+    <typedef-decl name='eth_rx_burst_t' type-id='type-id-93' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='340' column='1' id='type-id-17'/>
+    <typedef-decl name='eth_tx_burst_t' type-id='type-id-93' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='345' column='1' id='type-id-18'/>
+    <typedef-decl name='eth_tx_prep_t' type-id='type-id-93' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='350' column='1' id='type-id-19'/>
+    <class-decl name='rte_eth_dev_data' size-in-bits='55808' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='820' column='1' id='type-id-94'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-95' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='821' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_queues' type-id='type-id-96' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='823' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_queues' type-id='type-id-96' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='824' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='nb_rx_queues' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='825' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='656'>
+        <var-decl name='nb_tx_queues' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='826' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='sriov' type-id='type-id-97' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='dev_private' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='830' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_link' type-id='type-id-98' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='835' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dev_conf' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='836' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25536'>
+        <var-decl name='mtu' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='837' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25568'>
+        <var-decl name='min_rx_buf_size' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25600'>
+        <var-decl name='rx_mbuf_alloc_failed' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='841' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25664'>
+        <var-decl name='mac_addrs' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='842' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25728'>
+        <var-decl name='mac_pool_sel' type-id='type-id-101' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='846' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='33920'>
+        <var-decl name='hash_mac_addrs' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='848' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='33984'>
+        <var-decl name='port_id' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='852' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='promiscuous' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='855' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='scattered_rx' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='856' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='all_multicast' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='857' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4'>
+        <var-decl name='dev_started' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='858' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3'>
+        <var-decl name='lro' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='859' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='34008'>
+        <var-decl name='rx_queue_state' type-id='type-id-103' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='860' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='42200'>
+        <var-decl name='tx_queue_state' type-id='type-id-103' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='862' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50400'>
+        <var-decl name='dev_flags' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='864' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50432'>
+        <var-decl name='kdrv' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50464'>
+        <var-decl name='numa_node' type-id='type-id-8' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='866' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50496'>
+        <var-decl name='vlan_filter_conf' type-id='type-id-105' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='867' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='54592'>
+        <var-decl name='owner' type-id='type-id-106' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='869' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55168'>
+        <var-decl name='representor_id' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='870' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55232'>
+        <var-decl name='reserved_64s' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='875' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55488'>
+        <var-decl name='reserved_ptrs' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='876' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-56' size-in-bits='512' id='type-id-95'>
+      <subrange length='64' type-id='type-id-43' id='type-id-107'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-96'/>
+    <class-decl name='rte_eth_dev_sriov' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1476' column='1' id='type-id-97'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='active' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1477' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='nb_q_per_pool' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1478' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='def_vmdq_idx' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1479' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='def_pool_q_idx' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1480' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-108'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-108' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-109'/>
+    <typedef-decl name='uint8_t' type-id='type-id-109' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-102'/>
+    <class-decl name='rte_eth_link' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='308' column='1' id='type-id-98'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_speed' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='309' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='15'>
+        <var-decl name='link_duplex' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='310' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='14'>
+        <var-decl name='link_autoneg' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='311' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='13'>
+        <var-decl name='link_status' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='312' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_conf' size-in-bits='24640' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1045' column='1' id='type-id-99'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_speeds' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1046' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rxmode' type-id='type-id-110' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1053' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='txmode' type-id='type-id-111' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1054' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='lpbk_mode' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1055' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='rx_adv_conf' type-id='type-id-112' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1068' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='17984'>
+        <var-decl name='tx_adv_conf' type-id='type-id-113' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1076' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18080'>
+        <var-decl name='dcb_capability_en' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1079' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18112'>
+        <var-decl name='fdir_conf' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1080' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24576'>
+        <var-decl name='intr_conf' type-id='type-id-115' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1081' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rxmode' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='394' column='1' id='type-id-110'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mq_mode' type-id='type-id-116' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='396' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_rx_pkt_len' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='397' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='max_lro_pkt_size' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='399' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='split_hdr_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='400' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='offloads' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='406' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-42' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='408' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-117' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='409' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-118'/>
+    <enum-decl name='rte_eth_rx_mq_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='344' column='1' id='type-id-116'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='ETH_MQ_RX_NONE' value='0'/>
+      <enumerator name='ETH_MQ_RX_RSS' value='1'/>
+      <enumerator name='ETH_MQ_RX_DCB' value='2'/>
+      <enumerator name='ETH_MQ_RX_DCB_RSS' value='3'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_ONLY' value='4'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_RSS' value='5'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_DCB' value='6'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_DCB_RSS' value='7'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-21' size-in-bits='128' id='type-id-117'>
+      <subrange length='2' type-id='type-id-43' id='type-id-90'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_txmode' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='792' column='1' id='type-id-111'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mq_mode' type-id='type-id-119' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='793' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offloads' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='799' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pvid' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='hw_vlan_reject_tagged' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='hw_vlan_reject_untagged' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='806' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='hw_vlan_insert_pvid' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='808' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-42' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='811' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-117' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='812' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_tx_mq_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='377' column='1' id='type-id-119'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='ETH_MQ_TX_NONE' value='0'/>
+      <enumerator name='ETH_MQ_TX_DCB' value='1'/>
+      <enumerator name='ETH_MQ_TX_VMDQ_DCB' value='2'/>
+      <enumerator name='ETH_MQ_TX_VMDQ_ONLY' value='3'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16960' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1060' column='1' id='type-id-112'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rss_conf' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1061' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='vmdq_dcb_conf' type-id='type-id-121' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1062' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8512'>
+        <var-decl name='dcb_rx_conf' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1064' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8640'>
+        <var-decl name='vmdq_rx_conf' type-id='type-id-123' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1066' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rss_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='448' column='1' id='type-id-120'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rss_key' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rss_key_len' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rss_hf' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='451' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-102' size-in-bits='64' id='type-id-124'/>
+    <class-decl name='rte_eth_vmdq_dcb_conf' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='745' column='1' id='type-id-121'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-125' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='746' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='enable_default_pool' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='default_pool' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='748' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='nb_pool_maps' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='749' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pool_map' type-id='type-id-126' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8256'>
+        <var-decl name='dcb_tc' type-id='type-id-127' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='754' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_nb_pools' filepath='../lib/librte_ethdev/rte_ethdev.h' line='704' column='1' id='type-id-125'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='ETH_8_POOLS' value='8'/>
+      <enumerator name='ETH_16_POOLS' value='16'/>
+      <enumerator name='ETH_32_POOLS' value='32'/>
+      <enumerator name='ETH_64_POOLS' value='64'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='750' column='1' id='type-id-128'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_id' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='751' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pools' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='752' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-128' size-in-bits='8192' id='type-id-126'>
+      <subrange length='64' type-id='type-id-43' id='type-id-107'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-102' size-in-bits='64' id='type-id-127'>
+      <subrange length='8' type-id='type-id-43' id='type-id-129'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_dcb_rx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='712' column='1' id='type-id-122'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-130' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-127' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='715' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_nb_tcs' filepath='../lib/librte_ethdev/rte_ethdev.h' line='695' column='1' id='type-id-130'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='ETH_4_TCS' value='4'/>
+      <enumerator name='ETH_8_TCS' value='8'/>
+    </enum-decl>
+    <class-decl name='rte_eth_vmdq_rx_conf' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='776' column='1' id='type-id-123'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-125' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='777' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='enable_default_pool' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='778' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='default_pool' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='enable_loop_back' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='nb_pool_maps' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='781' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rx_mode' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='782' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pool_map' type-id='type-id-126' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='786' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <union-decl name='__anonymous_union__' size-in-bits='96' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1069' column='1' id='type-id-113'>
+      <data-member access='private'>
+        <var-decl name='vmdq_dcb_tx_conf' type-id='type-id-131' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1070' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dcb_tx_conf' type-id='type-id-132' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1072' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='vmdq_tx_conf' type-id='type-id-133' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1074' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_eth_vmdq_dcb_tx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='718' column='1' id='type-id-131'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-125' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-127' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='721' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dcb_tx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='724' column='1' id='type-id-132'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-130' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-127' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='727' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vmdq_tx_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='730' column='1' id='type-id-133'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-125' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='731' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_fdir_conf' size-in-bits='6464' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1005' column='1' id='type-id-114'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mode' type-id='type-id-134' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1006' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='pballoc' type-id='type-id-135' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1007' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='status' type-id='type-id-136' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1008' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='drop_queue' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1010' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mask' type-id='type-id-137' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1011' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='flex_conf' type-id='type-id-138' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1012' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_fdir_mode' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='603' column='1' id='type-id-134'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='RTE_FDIR_MODE_NONE' value='0'/>
+      <enumerator name='RTE_FDIR_MODE_SIGNATURE' value='1'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT' value='2'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT_MAC_VLAN' value='3'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT_TUNNEL' value='4'/>
+    </enum-decl>
+    <enum-decl name='rte_fdir_pballoc_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='984' column='1' id='type-id-135'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='RTE_FDIR_PBALLOC_64K' value='0'/>
+      <enumerator name='RTE_FDIR_PBALLOC_128K' value='1'/>
+      <enumerator name='RTE_FDIR_PBALLOC_256K' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_fdir_status_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='993' column='1' id='type-id-136'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='RTE_FDIR_NO_REPORT_STATUS' value='0'/>
+      <enumerator name='RTE_FDIR_REPORT_STATUS' value='1'/>
+      <enumerator name='RTE_FDIR_REPORT_STATUS_ALWAYS' value='2'/>
+    </enum-decl>
+    <class-decl name='rte_eth_fdir_masks' size-in-bits='544' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='533' column='1' id='type-id-137'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_tci_mask' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='534' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ipv4_mask' type-id='type-id-139' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='536' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ipv6_mask' type-id='type-id-140' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='538' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='src_port_mask' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='540' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='dst_port_mask' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='542' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='mac_addr_byte_mask' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='545' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='tunnel_id_mask' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='547' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='tunnel_type_mask' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='548' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_ipv4_flow' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='342' column='1' id='type-id-139'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='343' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dst_ip' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='344' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tos' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='345' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='ttl' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='346' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='proto' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='347' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_ipv6_flow' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='381' column='1' id='type-id-140'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-141' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='382' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dst_ip' type-id='type-id-141' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='383' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='tc' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='384' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='264'>
+        <var-decl name='proto' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='385' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='272'>
+        <var-decl name='hop_limits' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='386' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-5' size-in-bits='128' id='type-id-141'>
+      <subrange length='4' type-id='type-id-43' id='type-id-142'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_fdir_flex_conf' size-in-bits='5792' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='591' column='1' id='type-id-138'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_payloads' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='592' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='nb_flexmasks' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='593' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flex_set' type-id='type-id-143' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='594' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2336'>
+        <var-decl name='flex_mask' type-id='type-id-144' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='596' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_flex_payload_cfg' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='568' column='1' id='type-id-145'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-146' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='569' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='src_offset' type-id='type-id-147' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='570' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_payload_type' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='555' column='1' id='type-id-146'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='RTE_ETH_PAYLOAD_UNKNOWN' value='0'/>
+      <enumerator name='RTE_ETH_RAW_PAYLOAD' value='1'/>
+      <enumerator name='RTE_ETH_L2_PAYLOAD' value='2'/>
+      <enumerator name='RTE_ETH_L3_PAYLOAD' value='3'/>
+      <enumerator name='RTE_ETH_L4_PAYLOAD' value='4'/>
+      <enumerator name='RTE_ETH_PAYLOAD_MAX' value='8'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-32' size-in-bits='256' id='type-id-147'>
+      <subrange length='16' type-id='type-id-43' id='type-id-148'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-145' size-in-bits='2304' id='type-id-143'>
+      <subrange length='8' type-id='type-id-43' id='type-id-129'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_fdir_flex_mask' size-in-bits='144' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='581' column='1' id='type-id-149'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flow_type' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='582' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='mask' type-id='type-id-150' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='583' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-102' size-in-bits='128' id='type-id-150'>
+      <subrange length='16' type-id='type-id-43' id='type-id-148'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-149' size-in-bits='3456' id='type-id-144'>
+      <subrange length='24' type-id='type-id-43' id='type-id-151'/>
+
+    </array-type-def>
+    <class-decl name='rte_intr_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1031' column='1' id='type-id-115'>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='lsc' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1033' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='rxq' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1035' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='rmv' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1037' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_ether_addr' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='60' column='1' id='type-id-152'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr_bytes' type-id='type-id-153' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='61' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-102' size-in-bits='48' id='type-id-153'>
+      <subrange length='6' type-id='type-id-43' id='type-id-154'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-152' size-in-bits='64' id='type-id-100'/>
+
+    <array-type-def dimensions='1' type-id='type-id-38' size-in-bits='8192' id='type-id-101'>
+      <subrange length='128' type-id='type-id-43' id='type-id-155'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-102' size-in-bits='8192' id='type-id-103'>
+      <subrange length='1024' type-id='type-id-43' id='type-id-156'/>
+
+    </array-type-def>
+    <enum-decl name='rte_kernel_driver' filepath='../lib/librte_eal/common/include/rte_dev.h' line='60' column='1' id='type-id-104'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='RTE_KDRV_UNKNOWN' value='0'/>
+      <enumerator name='RTE_KDRV_IGB_UIO' value='1'/>
+      <enumerator name='RTE_KDRV_VFIO' value='2'/>
+      <enumerator name='RTE_KDRV_UIO_GENERIC' value='3'/>
+      <enumerator name='RTE_KDRV_NIC_UIO' value='4'/>
+      <enumerator name='RTE_KDRV_NONE' value='5'/>
+    </enum-decl>
+    <class-decl name='rte_vlan_filter_conf' size-in-bits='4096' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='427' column='1' id='type-id-105'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ids' type-id='type-id-157' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='428' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-38' size-in-bits='4096' id='type-id-157'>
+      <subrange length='64' type-id='type-id-43' id='type-id-107'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_dev_owner' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1490' column='1' id='type-id-106'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1491' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='name' type-id='type-id-95' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1492' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-38' size-in-bits='256' id='type-id-28'>
+      <subrange length='4' type-id='type-id-43' id='type-id-142'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-21' size-in-bits='256' id='type-id-29'>
+      <subrange length='4' type-id='type-id-43' id='type-id-142'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-20'/>
+    <class-decl name='eth_dev_ops' size-in-bits='6016' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='609' column='1' id='type-id-158'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_configure' type-id='type-id-159' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_start' type-id='type-id-160' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='611' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dev_stop' type-id='type-id-161' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='612' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_set_link_up' type-id='type-id-162' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dev_set_link_down' type-id='type-id-163' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='614' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_close' type-id='type-id-164' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='615' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='dev_reset' type-id='type-id-165' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='616' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='link_update' type-id='type-id-166' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='617' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='is_removed' type-id='type-id-167' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='618' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='promiscuous_enable' type-id='type-id-168' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='promiscuous_disable' type-id='type-id-169' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='allmulticast_enable' type-id='type-id-170' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='623' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='allmulticast_disable' type-id='type-id-171' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='624' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='mac_addr_remove' type-id='type-id-172' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='625' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='mac_addr_add' type-id='type-id-173' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='626' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='mac_addr_set' type-id='type-id-174' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='627' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='set_mc_addr_list' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='628' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mtu_set' type-id='type-id-176' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='629' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='stats_get' type-id='type-id-177' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='631' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='stats_reset' type-id='type-id-178' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='632' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='xstats_get' type-id='type-id-179' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='633' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='xstats_reset' type-id='type-id-180' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='634' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='xstats_get_names' type-id='type-id-181' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='635' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='queue_stats_mapping_set' type-id='type-id-182' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='637' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='dev_infos_get' type-id='type-id-183' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='640' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='rxq_info_get' type-id='type-id-184' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='641' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='txq_info_get' type-id='type-id-185' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='642' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='rx_burst_mode_get' type-id='type-id-186' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='643' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='tx_burst_mode_get' type-id='type-id-186' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='644' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='fw_version_get' type-id='type-id-187' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='645' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='dev_supported_ptypes_get' type-id='type-id-188' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='646' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='dev_ptypes_set' type-id='type-id-189' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='648' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='vlan_filter_set' type-id='type-id-190' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='651' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='vlan_tpid_set' type-id='type-id-191' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='652' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='vlan_strip_queue_set' type-id='type-id-192' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='653' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='vlan_offload_set' type-id='type-id-193' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='654' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='vlan_pvid_set' type-id='type-id-194' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='655' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='rx_queue_start' type-id='type-id-195' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='657' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='rx_queue_stop' type-id='type-id-196' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='658' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2496'>
+        <var-decl name='tx_queue_start' type-id='type-id-195' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='659' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='tx_queue_stop' type-id='type-id-196' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='660' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='rx_queue_setup' type-id='type-id-197' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='661' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2688'>
+        <var-decl name='rx_queue_release' type-id='type-id-198' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2752'>
+        <var-decl name='rx_queue_count' type-id='type-id-199' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='663' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2816'>
+        <var-decl name='rx_descriptor_done' type-id='type-id-200' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2880'>
+        <var-decl name='rx_descriptor_status' type-id='type-id-201' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='666' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2944'>
+        <var-decl name='tx_descriptor_status' type-id='type-id-202' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3008'>
+        <var-decl name='rx_queue_intr_enable' type-id='type-id-203' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='670' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3072'>
+        <var-decl name='rx_queue_intr_disable' type-id='type-id-204' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3136'>
+        <var-decl name='tx_queue_setup' type-id='type-id-205' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='672' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3200'>
+        <var-decl name='tx_queue_release' type-id='type-id-198' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3264'>
+        <var-decl name='tx_done_cleanup' type-id='type-id-206' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='674' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3328'>
+        <var-decl name='dev_led_on' type-id='type-id-207' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3392'>
+        <var-decl name='dev_led_off' type-id='type-id-208' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='677' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3456'>
+        <var-decl name='flow_ctrl_get' type-id='type-id-209' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='679' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3520'>
+        <var-decl name='flow_ctrl_set' type-id='type-id-210' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='680' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='priority_flow_ctrl_set' type-id='type-id-211' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='681' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3648'>
+        <var-decl name='uc_hash_table_set' type-id='type-id-212' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='683' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3712'>
+        <var-decl name='uc_all_hash_table_set' type-id='type-id-213' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='684' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3776'>
+        <var-decl name='mirror_rule_set' type-id='type-id-214' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='686' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3840'>
+        <var-decl name='mirror_rule_reset' type-id='type-id-215' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='687' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3904'>
+        <var-decl name='udp_tunnel_port_add' type-id='type-id-216' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='689' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3968'>
+        <var-decl name='udp_tunnel_port_del' type-id='type-id-217' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4032'>
+        <var-decl name='l2_tunnel_eth_type_conf' type-id='type-id-218' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4096'>
+        <var-decl name='l2_tunnel_offload_set' type-id='type-id-219' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='693' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4160'>
+        <var-decl name='set_queue_rate_limit' type-id='type-id-220' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='696' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4224'>
+        <var-decl name='rss_hash_update' type-id='type-id-221' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='698' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4288'>
+        <var-decl name='rss_hash_conf_get' type-id='type-id-222' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='699' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4352'>
+        <var-decl name='reta_update' type-id='type-id-223' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='700' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4416'>
+        <var-decl name='reta_query' type-id='type-id-224' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='701' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4480'>
+        <var-decl name='get_reg' type-id='type-id-225' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='703' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4544'>
+        <var-decl name='get_eeprom_length' type-id='type-id-226' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='704' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4608'>
+        <var-decl name='get_eeprom' type-id='type-id-227' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='705' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4672'>
+        <var-decl name='set_eeprom' type-id='type-id-228' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='706' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4736'>
+        <var-decl name='get_module_info' type-id='type-id-229' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='708' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4800'>
+        <var-decl name='get_module_eeprom' type-id='type-id-230' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='710' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4864'>
+        <var-decl name='filter_ctrl' type-id='type-id-231' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4928'>
+        <var-decl name='get_dcb_info' type-id='type-id-232' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='715' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4992'>
+        <var-decl name='timesync_enable' type-id='type-id-233' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='717' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5056'>
+        <var-decl name='timesync_disable' type-id='type-id-234' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5120'>
+        <var-decl name='timesync_read_rx_timestamp' type-id='type-id-235' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='721' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5184'>
+        <var-decl name='timesync_read_tx_timestamp' type-id='type-id-236' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='723' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5248'>
+        <var-decl name='timesync_adjust_time' type-id='type-id-237' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5312'>
+        <var-decl name='timesync_read_time' type-id='type-id-238' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='726' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5376'>
+        <var-decl name='timesync_write_time' type-id='type-id-239' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='727' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5440'>
+        <var-decl name='read_clock' type-id='type-id-240' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='729' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5504'>
+        <var-decl name='xstats_get_by_id' type-id='type-id-241' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='731' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5568'>
+        <var-decl name='xstats_get_names_by_id' type-id='type-id-242' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='733' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5632'>
+        <var-decl name='tm_ops_get' type-id='type-id-243' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='736' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5696'>
+        <var-decl name='mtr_ops_get' type-id='type-id-244' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='739' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5760'>
+        <var-decl name='pool_ops_supported' type-id='type-id-245' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='742' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5824'>
+        <var-decl name='hairpin_cap_get' type-id='type-id-246' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='745' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5888'>
+        <var-decl name='rx_hairpin_queue_setup' type-id='type-id-247' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5952'>
+        <var-decl name='tx_hairpin_queue_setup' type-id='type-id-248' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='749' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-16' size-in-bits='64' id='type-id-249'/>
+    <pointer-type-def type-id='type-id-250' size-in-bits='64' id='type-id-251'/>
+    <typedef-decl name='eth_dev_configure_t' type-id='type-id-251' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='31' column='1' id='type-id-159'/>
+    <typedef-decl name='eth_dev_start_t' type-id='type-id-251' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='34' column='1' id='type-id-160'/>
+    <pointer-type-def type-id='type-id-252' size-in-bits='64' id='type-id-253'/>
+    <typedef-decl name='eth_dev_stop_t' type-id='type-id-253' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='37' column='1' id='type-id-161'/>
+    <typedef-decl name='eth_dev_set_link_up_t' type-id='type-id-251' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='40' column='1' id='type-id-162'/>
+    <typedef-decl name='eth_dev_set_link_down_t' type-id='type-id-251' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='43' column='1' id='type-id-163'/>
+    <typedef-decl name='eth_dev_close_t' type-id='type-id-253' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='46' column='1' id='type-id-164'/>
+    <typedef-decl name='eth_dev_reset_t' type-id='type-id-251' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='49' column='1' id='type-id-165'/>
+    <pointer-type-def type-id='type-id-254' size-in-bits='64' id='type-id-255'/>
+    <typedef-decl name='eth_link_update_t' type-id='type-id-255' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='155' column='1' id='type-id-166'/>
+    <typedef-decl name='eth_is_removed_t' type-id='type-id-251' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='52' column='1' id='type-id-167'/>
+    <typedef-decl name='eth_promiscuous_enable_t' type-id='type-id-251' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='78' column='1' id='type-id-168'/>
+    <typedef-decl name='eth_promiscuous_disable_t' type-id='type-id-251' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='103' column='1' id='type-id-169'/>
+    <typedef-decl name='eth_allmulticast_enable_t' type-id='type-id-251' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='128' column='1' id='type-id-170'/>
+    <typedef-decl name='eth_allmulticast_disable_t' type-id='type-id-251' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='153' column='1' id='type-id-171'/>
+    <pointer-type-def type-id='type-id-256' size-in-bits='64' id='type-id-257'/>
+    <typedef-decl name='eth_mac_addr_remove_t' type-id='type-id-257' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='391' column='1' id='type-id-172'/>
+    <pointer-type-def type-id='type-id-258' size-in-bits='64' id='type-id-259'/>
+    <typedef-decl name='eth_mac_addr_add_t' type-id='type-id-259' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='394' column='1' id='type-id-173'/>
+    <pointer-type-def type-id='type-id-260' size-in-bits='64' id='type-id-261'/>
+    <typedef-decl name='eth_mac_addr_set_t' type-id='type-id-261' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='400' column='1' id='type-id-174'/>
+    <pointer-type-def type-id='type-id-262' size-in-bits='64' id='type-id-263'/>
+    <typedef-decl name='eth_set_mc_addr_list_t' type-id='type-id-263' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='436' column='1' id='type-id-175'/>
+    <pointer-type-def type-id='type-id-264' size-in-bits='64' id='type-id-265'/>
+    <typedef-decl name='mtu_set_t' type-id='type-id-265' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='315' column='1' id='type-id-176'/>
+    <class-decl name='rte_eth_stats' size-in-bits='5632' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='243' column='1' id='type-id-266'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ipackets' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='opackets' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ibytes' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='246' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='obytes' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='imissed' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='ierrors' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='oerrors' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='rx_nombuf' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='q_ipackets' type-id='type-id-267' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='q_opackets' type-id='type-id-267' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='q_ibytes' type-id='type-id-267' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='q_obytes' type-id='type-id-267' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4608'>
+        <var-decl name='q_errors' type-id='type-id-267' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='263' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-38' size-in-bits='1024' id='type-id-267'>
+      <subrange length='16' type-id='type-id-43' id='type-id-148'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-266' size-in-bits='64' id='type-id-268'/>
+    <pointer-type-def type-id='type-id-269' size-in-bits='64' id='type-id-270'/>
+    <typedef-decl name='eth_stats_get_t' type-id='type-id-270' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='159' column='1' id='type-id-177'/>
+    <typedef-decl name='eth_stats_reset_t' type-id='type-id-251' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='182' column='1' id='type-id-178'/>
+    <class-decl name='rte_eth_xstat' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1337' column='1' id='type-id-271'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1338' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='value' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1339' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-271' size-in-bits='64' id='type-id-272'/>
+    <pointer-type-def type-id='type-id-273' size-in-bits='64' id='type-id-274'/>
+    <typedef-decl name='eth_xstats_get_t' type-id='type-id-274' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='184' column='1' id='type-id-179'/>
+    <typedef-decl name='eth_xstats_reset_t' type-id='type-id-251' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='213' column='1' id='type-id-180'/>
+    <class-decl name='rte_eth_xstat_name' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1349' column='1' id='type-id-275'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-95' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1350' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-275' size-in-bits='64' id='type-id-276'/>
+    <pointer-type-def type-id='type-id-277' size-in-bits='64' id='type-id-278'/>
+    <typedef-decl name='eth_xstats_get_names_t' type-id='type-id-278' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='215' column='1' id='type-id-181'/>
+    <pointer-type-def type-id='type-id-279' size-in-bits='64' id='type-id-280'/>
+    <typedef-decl name='eth_queue_stats_mapping_set_t' type-id='type-id-280' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='224' column='1' id='type-id-182'/>
+    <class-decl name='rte_eth_dev_info' size-in-bits='2560' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1226' column='1' id='type-id-281'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='device' type-id='type-id-23' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1227' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='driver_name' type-id='type-id-282' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='if_index' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='min_mtu' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='max_mtu' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_flags' type-id='type-id-283' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='min_rx_bufsize' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1234' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='max_rx_pktlen' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1235' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='max_lro_pkt_size' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='max_rx_queues' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='max_tx_queues' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1239' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='max_mac_addrs' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='max_hash_mac_addrs' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1241' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='max_vfs' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1243' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='max_vmdq_pools' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_offload_capa' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_offload_capa' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='rx_queue_offload_capa' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='tx_queue_offload_capa' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='reta_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='hash_key_size' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='flow_type_rss_offloads' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='default_rxconf' type-id='type-id-284' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='default_txconf' type-id='type-id-285' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='vmdq_queue_base' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1744'>
+        <var-decl name='vmdq_queue_num' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1760'>
+        <var-decl name='vmdq_pool_base' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1262' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1776'>
+        <var-decl name='rx_desc_lim' type-id='type-id-286' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1263' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='tx_desc_lim' type-id='type-id-286' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1264' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1952'>
+        <var-decl name='speed_capa' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1265' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='nb_rx_queues' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1267' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2000'>
+        <var-decl name='nb_tx_queues' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1268' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2016'>
+        <var-decl name='default_rxportconf' type-id='type-id-287' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1270' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2064'>
+        <var-decl name='default_txportconf' type-id='type-id-287' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1272' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='dev_capa' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1274' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='switch_info' type-id='type-id-288' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='reserved_64s' type-id='type-id-42' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1281' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='reserved_ptrs' type-id='type-id-117' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1282' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-289'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-290' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-282' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-291' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-292' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-8' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-293' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-290'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-23' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-294' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-289' size-in-bits='64' id='type-id-23'/>
+    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-294'/>
+    <qualified-type-def type-id='type-id-56' const='yes' id='type-id-295'/>
+    <pointer-type-def type-id='type-id-295' size-in-bits='64' id='type-id-282'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-296'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-297' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-282' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-282' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-297'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-298' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-299' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-296' size-in-bits='64' id='type-id-298'/>
+    <pointer-type-def type-id='type-id-298' size-in-bits='64' id='type-id-299'/>
+    <qualified-type-def type-id='type-id-296' const='yes' id='type-id-300'/>
+    <pointer-type-def type-id='type-id-300' size-in-bits='64' id='type-id-291'/>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-301'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-302' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-282' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-303' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-304' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-305' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-306' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-307' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-308' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-309' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-310' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-311' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-312' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-313' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-314' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-315' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-302'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-316' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-317' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-301' size-in-bits='64' id='type-id-316'/>
+    <pointer-type-def type-id='type-id-316' size-in-bits='64' id='type-id-317'/>
+    <pointer-type-def type-id='type-id-318' size-in-bits='64' id='type-id-319'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-319' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-303'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-319' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-304'/>
+    <qualified-type-def type-id='type-id-289' const='yes' id='type-id-320'/>
+    <pointer-type-def type-id='type-id-320' size-in-bits='64' id='type-id-321'/>
+    <pointer-type-def type-id='type-id-322' size-in-bits='64' id='type-id-323'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-323' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-324'/>
+    <pointer-type-def type-id='type-id-325' size-in-bits='64' id='type-id-326'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-326' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-305'/>
+    <pointer-type-def type-id='type-id-327' size-in-bits='64' id='type-id-328'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-328' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-306'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-328' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-307'/>
+    <pointer-type-def type-id='type-id-329' size-in-bits='64' id='type-id-330'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-330' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-308'/>
+    <pointer-type-def type-id='type-id-331' size-in-bits='64' id='type-id-332'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-332' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-309'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-332' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-310'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-311'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-333' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-333'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-334'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-335' size-in-bits='64' id='type-id-336'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-336' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-312'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-337'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-282' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-282' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-282' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-316' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-338' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-23' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-21' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-339'/>
+    <pointer-type-def type-id='type-id-339' size-in-bits='64' id='type-id-338'/>
+    <qualified-type-def type-id='type-id-337' const='yes' id='type-id-340'/>
+    <pointer-type-def type-id='type-id-340' size-in-bits='64' id='type-id-341'/>
+    <pointer-type-def type-id='type-id-342' size-in-bits='64' id='type-id-343'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-343' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-313'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-328' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-314'/>
+    <pointer-type-def type-id='type-id-344' size-in-bits='64' id='type-id-345'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-345' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-315'/>
+    <qualified-type-def type-id='type-id-301' const='yes' id='type-id-346'/>
+    <pointer-type-def type-id='type-id-346' size-in-bits='64' id='type-id-292'/>
+    <class-decl name='rte_devargs' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='47' column='1' id='type-id-347'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-348' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='type' type-id='type-id-349' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='policy' type-id='type-id-350' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='name' type-id='type-id-95' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='' type-id='type-id-351' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='bus' type-id='type-id-316' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='cls' type-id='type-id-338' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='bus_str' type-id='type-id-282' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='cls_str' type-id='type-id-282' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='data' type-id='type-id-282' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='66' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1' id='type-id-348'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-293' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-352' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-347' size-in-bits='64' id='type-id-293'/>
+    <pointer-type-def type-id='type-id-293' size-in-bits='64' id='type-id-352'/>
+    <enum-decl name='rte_devtype' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='31' column='1' id='type-id-349'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='RTE_DEVTYPE_WHITELISTED_PCI' value='0'/>
+      <enumerator name='RTE_DEVTYPE_BLACKLISTED_PCI' value='1'/>
+      <enumerator name='RTE_DEVTYPE_VIRTUAL' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_dev_policy' filepath='../lib/librte_eal/common/include/rte_dev.h' line='72' column='1' id='type-id-350'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='RTE_DEV_WHITELISTED' value='0'/>
+      <enumerator name='RTE_DEV_BLACKLISTED' value='1'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='57' column='1' id='type-id-351'>
+      <data-member access='private'>
+        <var-decl name='args' type-id='type-id-353' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='drv_str' type-id='type-id-282' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='60' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-56' size-in-bits='64' id='type-id-353'/>
+    <qualified-type-def type-id='type-id-5' const='yes' id='type-id-354'/>
+    <pointer-type-def type-id='type-id-354' size-in-bits='64' id='type-id-283'/>
+    <class-decl name='rte_eth_rxconf' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='818' column='1' id='type-id-284'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_thresh' type-id='type-id-355' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='819' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='rx_free_thresh' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='820' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='rx_drop_en' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='821' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='rx_deferred_start' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='822' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offloads' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='reserved_64s' type-id='type-id-42' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='830' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='reserved_ptrs' type-id='type-id-117' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='831' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_thresh' size-in-bits='24' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='327' column='1' id='type-id-355'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pthresh' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='328' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='hthresh' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='329' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='wthresh' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='330' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_txconf' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='837' column='1' id='type-id-285'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tx_thresh' type-id='type-id-355' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tx_rs_thresh' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='839' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='tx_free_thresh' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='840' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tx_deferred_start' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='843' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='offloads' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='849' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-42' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='851' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-117' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='852' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_desc_lim' size-in-bits='80' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='898' column='1' id='type-id-286'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_max' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='899' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='nb_min' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='900' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_align' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='901' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='nb_seg_max' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='911' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='nb_mtu_seg_max' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='924' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_portconf' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1189' column='1' id='type-id-287'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='burst_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1190' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='ring_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_queues' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1192' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_switch_info' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1204' column='1' id='type-id-288'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-282' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='domain_id' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1206' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='port_id' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1207' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-281' size-in-bits='64' id='type-id-356'/>
+    <pointer-type-def type-id='type-id-357' size-in-bits='64' id='type-id-358'/>
+    <typedef-decl name='eth_dev_infos_get_t' type-id='type-id-358' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='230' column='1' id='type-id-183'/>
+    <class-decl name='rte_eth_rxq_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1289' column='1' id='type-id-359'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mp' type-id='type-id-39' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1290' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='conf' type-id='type-id-284' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1291' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='scattered_rx' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1292' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='nb_desc' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1293' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-359' size-in-bits='64' id='type-id-360'/>
+    <pointer-type-def type-id='type-id-361' size-in-bits='64' id='type-id-362'/>
+    <typedef-decl name='eth_rxq_info_get_t' type-id='type-id-362' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='306' column='1' id='type-id-184'/>
+    <class-decl name='rte_eth_txq_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1300' column='1' id='type-id-363'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='conf' type-id='type-id-285' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1301' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='nb_desc' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1302' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-363' size-in-bits='64' id='type-id-364'/>
+    <pointer-type-def type-id='type-id-365' size-in-bits='64' id='type-id-366'/>
+    <typedef-decl name='eth_txq_info_get_t' type-id='type-id-366' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='309' column='1' id='type-id-185'/>
+    <class-decl name='rte_eth_burst_mode' size-in-bits='8256' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1318' column='1' id='type-id-367'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1319' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='info' type-id='type-id-368' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1322' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-56' size-in-bits='8192' id='type-id-368'>
+      <subrange length='1024' type-id='type-id-43' id='type-id-156'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-367' size-in-bits='64' id='type-id-369'/>
+    <pointer-type-def type-id='type-id-370' size-in-bits='64' id='type-id-371'/>
+    <typedef-decl name='eth_burst_mode_get_t' type-id='type-id-371' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='312' column='1' id='type-id-186'/>
+    <pointer-type-def type-id='type-id-372' size-in-bits='64' id='type-id-373'/>
+    <typedef-decl name='eth_fw_version_get_t' type-id='type-id-373' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='299' column='1' id='type-id-187'/>
+    <pointer-type-def type-id='type-id-374' size-in-bits='64' id='type-id-375'/>
+    <typedef-decl name='eth_dev_supported_ptypes_get_t' type-id='type-id-375' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='234' column='1' id='type-id-188'/>
+    <pointer-type-def type-id='type-id-376' size-in-bits='64' id='type-id-377'/>
+    <typedef-decl name='eth_dev_ptypes_set_t' type-id='type-id-377' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='249' column='1' id='type-id-189'/>
+    <pointer-type-def type-id='type-id-378' size-in-bits='64' id='type-id-379'/>
+    <typedef-decl name='vlan_filter_set_t' type-id='type-id-379' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='318' column='1' id='type-id-190'/>
+    <enum-decl name='rte_vlan_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='416' column='1' id='type-id-380'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='ETH_VLAN_TYPE_UNKNOWN' value='0'/>
+      <enumerator name='ETH_VLAN_TYPE_INNER' value='1'/>
+      <enumerator name='ETH_VLAN_TYPE_OUTER' value='2'/>
+      <enumerator name='ETH_VLAN_TYPE_MAX' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-381' size-in-bits='64' id='type-id-382'/>
+    <typedef-decl name='vlan_tpid_set_t' type-id='type-id-382' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='323' column='1' id='type-id-191'/>
+    <pointer-type-def type-id='type-id-383' size-in-bits='64' id='type-id-384'/>
+    <typedef-decl name='vlan_strip_queue_set_t' type-id='type-id-384' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='335' column='1' id='type-id-192'/>
+    <typedef-decl name='vlan_offload_set_t' type-id='type-id-255' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='327' column='1' id='type-id-193'/>
+    <typedef-decl name='vlan_pvid_set_t' type-id='type-id-379' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='330' column='1' id='type-id-194'/>
+    <typedef-decl name='eth_queue_start_t' type-id='type-id-265' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='252' column='1' id='type-id-195'/>
+    <typedef-decl name='eth_queue_stop_t' type-id='type-id-265' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='256' column='1' id='type-id-196'/>
+    <qualified-type-def type-id='type-id-284' const='yes' id='type-id-385'/>
+    <pointer-type-def type-id='type-id-385' size-in-bits='64' id='type-id-386'/>
+    <pointer-type-def type-id='type-id-387' size-in-bits='64' id='type-id-388'/>
+    <typedef-decl name='eth_rx_queue_setup_t' type-id='type-id-388' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='260' column='1' id='type-id-197'/>
+    <pointer-type-def type-id='type-id-389' size-in-bits='64' id='type-id-390'/>
+    <typedef-decl name='eth_queue_release_t' type-id='type-id-390' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='283' column='1' id='type-id-198'/>
+    <pointer-type-def type-id='type-id-391' size-in-bits='64' id='type-id-392'/>
+    <typedef-decl name='eth_rx_queue_count_t' type-id='type-id-392' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='286' column='1' id='type-id-199'/>
+    <pointer-type-def type-id='type-id-393' size-in-bits='64' id='type-id-394'/>
+    <typedef-decl name='eth_rx_descriptor_done_t' type-id='type-id-394' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='290' column='1' id='type-id-200'/>
+    <typedef-decl name='eth_rx_descriptor_status_t' type-id='type-id-394' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='293' column='1' id='type-id-201'/>
+    <typedef-decl name='eth_tx_descriptor_status_t' type-id='type-id-394' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='296' column='1' id='type-id-202'/>
+    <typedef-decl name='eth_rx_enable_intr_t' type-id='type-id-265' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='275' column='1' id='type-id-203'/>
+    <typedef-decl name='eth_rx_disable_intr_t' type-id='type-id-265' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='279' column='1' id='type-id-204'/>
+    <qualified-type-def type-id='type-id-285' const='yes' id='type-id-395'/>
+    <pointer-type-def type-id='type-id-395' size-in-bits='64' id='type-id-396'/>
+    <pointer-type-def type-id='type-id-397' size-in-bits='64' id='type-id-398'/>
+    <typedef-decl name='eth_tx_queue_setup_t' type-id='type-id-398' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='268' column='1' id='type-id-205'/>
+    <pointer-type-def type-id='type-id-399' size-in-bits='64' id='type-id-400'/>
+    <typedef-decl name='eth_tx_done_cleanup_t' type-id='type-id-400' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='303' column='1' id='type-id-206'/>
+    <typedef-decl name='eth_dev_led_on_t' type-id='type-id-251' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='385' column='1' id='type-id-207'/>
+    <typedef-decl name='eth_dev_led_off_t' type-id='type-id-251' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='388' column='1' id='type-id-208'/>
+    <class-decl name='rte_eth_fc_conf' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='942' column='1' id='type-id-401'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='high_water' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='943' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='low_water' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='944' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pause_time' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='945' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='send_xon' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='946' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='mode' type-id='type-id-402' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='947' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mac_ctrl_frame_fwd' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='948' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='autoneg' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='949' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_fc_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='930' column='1' id='type-id-402'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='RTE_FC_NONE' value='0'/>
+      <enumerator name='RTE_FC_RX_PAUSE' value='1'/>
+      <enumerator name='RTE_FC_TX_PAUSE' value='2'/>
+      <enumerator name='RTE_FC_FULL' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-401' size-in-bits='64' id='type-id-403'/>
+    <pointer-type-def type-id='type-id-404' size-in-bits='64' id='type-id-405'/>
+    <typedef-decl name='flow_ctrl_get_t' type-id='type-id-405' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='355' column='1' id='type-id-209'/>
+    <typedef-decl name='flow_ctrl_set_t' type-id='type-id-405' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='359' column='1' id='type-id-210'/>
+    <class-decl name='rte_eth_pfc_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='957' column='1' id='type-id-406'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fc' type-id='type-id-401' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='958' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='priority' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='959' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-406' size-in-bits='64' id='type-id-407'/>
+    <pointer-type-def type-id='type-id-408' size-in-bits='64' id='type-id-409'/>
+    <typedef-decl name='priority_flow_ctrl_set_t' type-id='type-id-409' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='363' column='1' id='type-id-211'/>
+    <pointer-type-def type-id='type-id-410' size-in-bits='64' id='type-id-411'/>
+    <typedef-decl name='eth_uc_hash_table_set_t' type-id='type-id-411' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='404' column='1' id='type-id-212'/>
+    <pointer-type-def type-id='type-id-412' size-in-bits='64' id='type-id-413'/>
+    <typedef-decl name='eth_uc_all_hash_table_set_t' type-id='type-id-413' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='409' column='1' id='type-id-213'/>
+    <class-decl name='rte_eth_mirror_conf' size-in-bits='1216' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='670' column='1' id='type-id-414'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rule_type' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='dst_pool' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='672' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pool_mask' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vlan' type-id='type-id-415' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='675' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vlan_mirror' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='661' column='1' id='type-id-415'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_mask' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='vlan_id' type-id='type-id-416' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='664' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-32' size-in-bits='1024' id='type-id-416'>
+      <subrange length='64' type-id='type-id-43' id='type-id-107'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-414' size-in-bits='64' id='type-id-417'/>
+    <pointer-type-def type-id='type-id-418' size-in-bits='64' id='type-id-419'/>
+    <typedef-decl name='eth_mirror_rule_set_t' type-id='type-id-419' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='418' column='1' id='type-id-214'/>
+    <typedef-decl name='eth_mirror_rule_reset_t' type-id='type-id-413' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='424' column='1' id='type-id-215'/>
+    <class-decl name='rte_eth_udp_tunnel' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1023' column='1' id='type-id-420'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='udp_port' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1024' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='prot_type' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1025' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-420' size-in-bits='64' id='type-id-421'/>
+    <pointer-type-def type-id='type-id-422' size-in-bits='64' id='type-id-423'/>
+    <typedef-decl name='eth_udp_tunnel_port_add_t' type-id='type-id-423' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='428' column='1' id='type-id-216'/>
+    <typedef-decl name='eth_udp_tunnel_port_del_t' type-id='type-id-423' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='432' column='1' id='type-id-217'/>
+    <class-decl name='rte_eth_l2_tunnel_conf' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='751' column='1' id='type-id-424'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='l2_tunnel_type' type-id='type-id-425' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='752' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ether_type' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tunnel_id' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='754' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='vf_id' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='755' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pool' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='756' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_tunnel_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='965' column='1' id='type-id-425'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='RTE_TUNNEL_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_TUNNEL_TYPE_VXLAN' value='1'/>
+      <enumerator name='RTE_TUNNEL_TYPE_GENEVE' value='2'/>
+      <enumerator name='RTE_TUNNEL_TYPE_TEREDO' value='3'/>
+      <enumerator name='RTE_TUNNEL_TYPE_NVGRE' value='4'/>
+      <enumerator name='RTE_TUNNEL_TYPE_IP_IN_GRE' value='5'/>
+      <enumerator name='RTE_L2_TUNNEL_TYPE_E_TAG' value='6'/>
+      <enumerator name='RTE_TUNNEL_TYPE_VXLAN_GPE' value='7'/>
+      <enumerator name='RTE_TUNNEL_TYPE_MAX' value='8'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-424' size-in-bits='64' id='type-id-426'/>
+    <pointer-type-def type-id='type-id-427' size-in-bits='64' id='type-id-428'/>
+    <typedef-decl name='eth_l2_tunnel_eth_type_conf_t' type-id='type-id-428' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='494' column='1' id='type-id-218'/>
+    <pointer-type-def type-id='type-id-429' size-in-bits='64' id='type-id-430'/>
+    <typedef-decl name='eth_l2_tunnel_offload_set_t' type-id='type-id-430' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='498' column='1' id='type-id-219'/>
+    <pointer-type-def type-id='type-id-431' size-in-bits='64' id='type-id-432'/>
+    <typedef-decl name='eth_set_queue_rate_limit_t' type-id='type-id-432' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='413' column='1' id='type-id-220'/>
+    <pointer-type-def type-id='type-id-120' size-in-bits='64' id='type-id-433'/>
+    <pointer-type-def type-id='type-id-434' size-in-bits='64' id='type-id-435'/>
+    <typedef-decl name='rss_hash_update_t' type-id='type-id-435' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='377' column='1' id='type-id-221'/>
+    <typedef-decl name='rss_hash_conf_get_t' type-id='type-id-435' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='381' column='1' id='type-id-222'/>
+    <class-decl name='rte_eth_rss_reta_entry64' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='684' column='1' id='type-id-436'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mask' type-id='type-id-38' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='685' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='reta' type-id='type-id-416' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='687' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-436' size-in-bits='64' id='type-id-437'/>
+    <pointer-type-def type-id='type-id-438' size-in-bits='64' id='type-id-439'/>
+    <typedef-decl name='reta_update_t' type-id='type-id-439' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='367' column='1' id='type-id-223'/>
+    <typedef-decl name='reta_query_t' type-id='type-id-439' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='372' column='1' id='type-id-224'/>
+    <class-decl name='rte_dev_reg_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='13' column='1' id='type-id-440'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='14' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offset' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='15' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='length' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='16' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='width' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='17' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='version' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='18' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-440' size-in-bits='64' id='type-id-441'/>
+    <pointer-type-def type-id='type-id-442' size-in-bits='64' id='type-id-443'/>
+    <typedef-decl name='eth_get_reg_t' type-id='type-id-443' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='471' column='1' id='type-id-225'/>
+    <typedef-decl name='eth_get_eeprom_length_t' type-id='type-id-251' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='475' column='1' id='type-id-226'/>
+    <class-decl name='rte_dev_eeprom_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='24' column='1' id='type-id-444'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='25' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offset' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='26' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='length' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='27' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='magic' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='28' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-444' size-in-bits='64' id='type-id-445'/>
+    <pointer-type-def type-id='type-id-446' size-in-bits='64' id='type-id-447'/>
+    <typedef-decl name='eth_get_eeprom_t' type-id='type-id-447' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='478' column='1' id='type-id-227'/>
+    <typedef-decl name='eth_set_eeprom_t' type-id='type-id-447' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='482' column='1' id='type-id-228'/>
+    <class-decl name='rte_eth_dev_module_info' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='34' column='1' id='type-id-448'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='eeprom_len' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-448' size-in-bits='64' id='type-id-449'/>
+    <pointer-type-def type-id='type-id-450' size-in-bits='64' id='type-id-451'/>
+    <typedef-decl name='eth_get_module_info_t' type-id='type-id-451' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='486' column='1' id='type-id-229'/>
+    <typedef-decl name='eth_get_module_eeprom_t' type-id='type-id-447' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='490' column='1' id='type-id-230'/>
+    <enum-decl name='rte_filter_type' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='28' column='1' id='type-id-452'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='RTE_ETH_FILTER_NONE' value='0'/>
+      <enumerator name='RTE_ETH_FILTER_MACVLAN' value='1'/>
+      <enumerator name='RTE_ETH_FILTER_ETHERTYPE' value='2'/>
+      <enumerator name='RTE_ETH_FILTER_FLEXIBLE' value='3'/>
+      <enumerator name='RTE_ETH_FILTER_SYN' value='4'/>
+      <enumerator name='RTE_ETH_FILTER_NTUPLE' value='5'/>
+      <enumerator name='RTE_ETH_FILTER_TUNNEL' value='6'/>
+      <enumerator name='RTE_ETH_FILTER_FDIR' value='7'/>
+      <enumerator name='RTE_ETH_FILTER_HASH' value='8'/>
+      <enumerator name='RTE_ETH_FILTER_L2_TUNNEL' value='9'/>
+      <enumerator name='RTE_ETH_FILTER_GENERIC' value='10'/>
+      <enumerator name='RTE_ETH_FILTER_MAX' value='11'/>
+    </enum-decl>
+    <enum-decl name='rte_filter_op' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='46' column='1' id='type-id-453'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='RTE_ETH_FILTER_NOP' value='0'/>
+      <enumerator name='RTE_ETH_FILTER_ADD' value='1'/>
+      <enumerator name='RTE_ETH_FILTER_UPDATE' value='2'/>
+      <enumerator name='RTE_ETH_FILTER_DELETE' value='3'/>
+      <enumerator name='RTE_ETH_FILTER_FLUSH' value='4'/>
+      <enumerator name='RTE_ETH_FILTER_GET' value='5'/>
+      <enumerator name='RTE_ETH_FILTER_SET' value='6'/>
+      <enumerator name='RTE_ETH_FILTER_INFO' value='7'/>
+      <enumerator name='RTE_ETH_FILTER_STATS' value='8'/>
+      <enumerator name='RTE_ETH_FILTER_OP_MAX' value='9'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-454' size-in-bits='64' id='type-id-455'/>
+    <typedef-decl name='eth_filter_ctrl_t' type-id='type-id-455' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='506' column='1' id='type-id-231'/>
+    <class-decl name='rte_eth_dcb_info' size-in-bits='16520' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1377' column='1' id='type-id-456'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1378' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='prio_tc' type-id='type-id-127' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1379' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='tc_bws' type-id='type-id-127' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1380' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='tc_queue' type-id='type-id-457' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1382' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dcb_tc_queue_mapping' size-in-bits='16384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1360' column='1' id='type-id-457'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tc_rxq' type-id='type-id-458' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1365' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8192'>
+        <var-decl name='tc_txq' type-id='type-id-458' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1370' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1362' column='1' id='type-id-459'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='base' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1363' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='nb_queue' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1364' column='1'/>
+      </data-member>
+    </class-decl>
+
+
+    <array-type-def dimensions='2' type-id='type-id-459' size-in-bits='1152' id='type-id-458'>
+      <subrange length='64' type-id='type-id-43' id='type-id-107'/>
+
+      <subrange length='8' type-id='type-id-43' id='type-id-129'/>
+
+    </array-type-def>
+
+
+    <pointer-type-def type-id='type-id-456' size-in-bits='64' id='type-id-460'/>
+    <pointer-type-def type-id='type-id-461' size-in-bits='64' id='type-id-462'/>
+    <typedef-decl name='eth_get_dcb_info' type-id='type-id-462' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='518' column='1' id='type-id-232'/>
+    <typedef-decl name='eth_timesync_enable_t' type-id='type-id-251' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='441' column='1' id='type-id-233'/>
+    <typedef-decl name='eth_timesync_disable_t' type-id='type-id-251' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='444' column='1' id='type-id-234'/>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='9' column='1' id='type-id-463'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tv_sec' type-id='type-id-464' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='11' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tv_nsec' type-id='type-id-465' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='long int' size-in-bits='64' id='type-id-466'/>
+    <typedef-decl name='__time_t' type-id='type-id-466' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-464'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-466' filepath='/usr/include/bits/types.h' line='196' column='1' id='type-id-465'/>
+    <pointer-type-def type-id='type-id-463' size-in-bits='64' id='type-id-467'/>
+    <pointer-type-def type-id='type-id-468' size-in-bits='64' id='type-id-469'/>
+    <typedef-decl name='eth_timesync_read_rx_timestamp_t' type-id='type-id-469' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='447' column='1' id='type-id-235'/>
+    <pointer-type-def type-id='type-id-470' size-in-bits='64' id='type-id-471'/>
+    <typedef-decl name='eth_timesync_read_tx_timestamp_t' type-id='type-id-471' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='452' column='1' id='type-id-236'/>
+    <typedef-decl name='__int64_t' type-id='type-id-466' filepath='/usr/include/bits/types.h' line='44' column='1' id='type-id-472'/>
+    <typedef-decl name='int64_t' type-id='type-id-472' filepath='/usr/include/bits/stdint-intn.h' line='27' column='1' id='type-id-473'/>
+    <pointer-type-def type-id='type-id-474' size-in-bits='64' id='type-id-475'/>
+    <typedef-decl name='eth_timesync_adjust_time' type-id='type-id-475' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='456' column='1' id='type-id-237'/>
+    <typedef-decl name='eth_timesync_read_time' type-id='type-id-471' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='459' column='1' id='type-id-238'/>
+    <qualified-type-def type-id='type-id-463' const='yes' id='type-id-476'/>
+    <pointer-type-def type-id='type-id-476' size-in-bits='64' id='type-id-477'/>
+    <pointer-type-def type-id='type-id-478' size-in-bits='64' id='type-id-479'/>
+    <typedef-decl name='eth_timesync_write_time' type-id='type-id-479' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='463' column='1' id='type-id-239'/>
+    <pointer-type-def type-id='type-id-38' size-in-bits='64' id='type-id-480'/>
+    <pointer-type-def type-id='type-id-481' size-in-bits='64' id='type-id-482'/>
+    <typedef-decl name='eth_read_clock' type-id='type-id-482' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='467' column='1' id='type-id-240'/>
+    <qualified-type-def type-id='type-id-38' const='yes' id='type-id-483'/>
+    <pointer-type-def type-id='type-id-483' size-in-bits='64' id='type-id-484'/>
+    <pointer-type-def type-id='type-id-485' size-in-bits='64' id='type-id-486'/>
+    <typedef-decl name='eth_xstats_get_by_id_t' type-id='type-id-486' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='188' column='1' id='type-id-241'/>
+    <pointer-type-def type-id='type-id-487' size-in-bits='64' id='type-id-488'/>
+    <typedef-decl name='eth_xstats_get_names_by_id_t' type-id='type-id-488' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='219' column='1' id='type-id-242'/>
+    <pointer-type-def type-id='type-id-489' size-in-bits='64' id='type-id-490'/>
+    <typedef-decl name='eth_tm_ops_get_t' type-id='type-id-490' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='512' column='1' id='type-id-243'/>
+    <typedef-decl name='eth_mtr_ops_get_t' type-id='type-id-490' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='515' column='1' id='type-id-244'/>
+    <pointer-type-def type-id='type-id-491' size-in-bits='64' id='type-id-492'/>
+    <typedef-decl name='eth_pool_ops_supported_t' type-id='type-id-492' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='522' column='1' id='type-id-245'/>
+    <class-decl name='rte_eth_hairpin_cap' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='861' column='1' id='type-id-493'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max_nb_queues' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='863' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='max_rx_2_tx' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_tx_2_rx' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='867' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='max_nb_desc' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='868' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-493' size-in-bits='64' id='type-id-494'/>
+    <pointer-type-def type-id='type-id-495' size-in-bits='64' id='type-id-496'/>
+    <typedef-decl name='eth_hairpin_cap_get_t' type-id='type-id-496' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='543' column='1' id='type-id-246'/>
+    <class-decl name='rte_eth_hairpin_conf' size-in-bits='1040' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='890' column='1' id='type-id-497'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='peer_count' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='891' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='peers' type-id='type-id-498' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='892' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_hairpin_peer' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='879' column='1' id='type-id-499'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='port' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='880' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='queue' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='881' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-499' size-in-bits='1024' id='type-id-498'>
+      <subrange length='32' type-id='type-id-43' id='type-id-57'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-497' const='yes' id='type-id-500'/>
+    <pointer-type-def type-id='type-id-500' size-in-bits='64' id='type-id-501'/>
+    <pointer-type-def type-id='type-id-502' size-in-bits='64' id='type-id-503'/>
+    <typedef-decl name='eth_rx_hairpin_queue_setup_t' type-id='type-id-503' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='571' column='1' id='type-id-247'/>
+    <typedef-decl name='eth_tx_hairpin_queue_setup_t' type-id='type-id-503' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='601' column='1' id='type-id-248'/>
+    <qualified-type-def type-id='type-id-158' const='yes' id='type-id-504'/>
+    <pointer-type-def type-id='type-id-504' size-in-bits='64' id='type-id-22'/>
+    <class-decl name='rte_intr_handle' size-in-bits='213248' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='69' column='1' id='type-id-505'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-506' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-8' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-507' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='max_intr' type-id='type-id-5' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='nb_efd' type-id='type-id-5' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='efd_counter_size' type-id='type-id-102' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='efds' type-id='type-id-508' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16576'>
+        <var-decl name='elist' type-id='type-id-509' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='213184'>
+        <var-decl name='intr_vec' type-id='type-id-510' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='71' column='1' id='type-id-506'>
+      <data-member access='private'>
+        <var-decl name='vfio_dev_fd' type-id='type-id-8' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='uio_cfg_fd' type-id='type-id-8' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='73' column='1'/>
+      </data-member>
+    </union-decl>
+    <enum-decl name='rte_intr_handle_type' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='27' column='1' id='type-id-507'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='RTE_INTR_HANDLE_UNKNOWN' value='0'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO' value='1'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO_INTX' value='2'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_LEGACY' value='3'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSI' value='4'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSIX' value='5'/>
+      <enumerator name='RTE_INTR_HANDLE_ALARM' value='6'/>
+      <enumerator name='RTE_INTR_HANDLE_EXT' value='7'/>
+      <enumerator name='RTE_INTR_HANDLE_VDEV' value='8'/>
+      <enumerator name='RTE_INTR_HANDLE_DEV_EVENT' value='9'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_REQ' value='10'/>
+      <enumerator name='RTE_INTR_HANDLE_MAX' value='11'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='16384' id='type-id-508'>
+      <subrange length='512' type-id='type-id-43' id='type-id-511'/>
+
+    </array-type-def>
+    <class-decl name='rte_epoll_event' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='61' column='1' id='type-id-512'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='status' type-id='type-id-513' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-8' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='epfd' type-id='type-id-8' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='epdata' type-id='type-id-514' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-5' volatile='yes' id='type-id-513'/>
+    <class-decl name='rte_epoll_data' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='47' column='1' id='type-id-514'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event' type-id='type-id-5' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='data' type-id='type-id-21' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cb_fun' type-id='type-id-515' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='cb_arg' type-id='type-id-21' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='51' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-516' size-in-bits='64' id='type-id-517'/>
+    <typedef-decl name='rte_intr_event_cb_t' type-id='type-id-517' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='45' column='1' id='type-id-515'/>
+
+    <array-type-def dimensions='1' type-id='type-id-512' size-in-bits='196608' id='type-id-509'>
+      <subrange length='512' type-id='type-id-43' id='type-id-511'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-510'/>
+    <pointer-type-def type-id='type-id-505' size-in-bits='64' id='type-id-24'/>
+    <class-decl name='rte_eth_dev_cb_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1' id='type-id-25'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-518' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-519' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_callback' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-520'/>
+    <pointer-type-def type-id='type-id-520' size-in-bits='64' id='type-id-518'/>
+    <pointer-type-def type-id='type-id-518' size-in-bits='64' id='type-id-519'/>
+    <class-decl name='rte_eth_rxtx_callback' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='758' column='1' id='type-id-521'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-522' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='759' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fn' type-id='type-id-523' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='763' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='param' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='764' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-521' size-in-bits='64' id='type-id-522'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='760' column='1' id='type-id-523'>
+      <data-member access='private'>
+        <var-decl name='rx' type-id='type-id-524' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='761' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='tx' type-id='type-id-525' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='762' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-526' size-in-bits='64' id='type-id-527'/>
+    <typedef-decl name='rte_rx_callback_fn' type-id='type-id-527' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1437' column='1' id='type-id-524'/>
+    <pointer-type-def type-id='type-id-528' size-in-bits='64' id='type-id-529'/>
+    <typedef-decl name='rte_tx_callback_fn' type-id='type-id-529' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1461' column='1' id='type-id-525'/>
+
+    <array-type-def dimensions='1' type-id='type-id-522' size-in-bits='65536' id='type-id-26'>
+      <subrange length='1024' type-id='type-id-43' id='type-id-156'/>
+
+    </array-type-def>
+    <enum-decl name='rte_eth_dev_state' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1467' column='1' id='type-id-27'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='RTE_ETH_DEV_UNUSED' value='0'/>
+      <enumerator name='RTE_ETH_DEV_ATTACHED' value='1'/>
+      <enumerator name='RTE_ETH_DEV_REMOVED' value='2'/>
+    </enum-decl>
+    <class-decl name='rte_flow_attr' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='75' column='1' id='type-id-530'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='group' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='priority' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='ingress' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='egress' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='transfer' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='98' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='reserved' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='99' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-530' const='yes' id='type-id-531'/>
+    <pointer-type-def type-id='type-id-531' size-in-bits='64' id='type-id-532'/>
+    <class-decl name='rte_flow_item' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1517' column='1' id='type-id-533'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-534' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1518' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='spec' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1519' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='last' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='mask' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1521' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_item_type' filepath='../lib/librte_ethdev/rte_flow.h' line='118' column='1' id='type-id-534'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_END' value='0'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VOID' value='1'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_INVERT' value='2'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ANY' value='3'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PF' value='4'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VF' value='5'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PHY_PORT' value='6'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PORT_ID' value='7'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_RAW' value='8'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ETH' value='9'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VLAN' value='10'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV4' value='11'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV6' value='12'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP' value='13'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_UDP' value='14'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_TCP' value='15'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_SCTP' value='16'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VXLAN' value='17'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_E_TAG' value='18'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_NVGRE' value='19'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_MPLS' value='20'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GRE' value='21'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_FUZZY' value='22'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTP' value='23'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTPC' value='24'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTPU' value='25'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ESP' value='26'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GENEVE' value='27'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VXLAN_GPE' value='28'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ARP_ETH_IPV4' value='29'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV6_EXT' value='30'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6' value='31'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_NS' value='32'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_NA' value='33'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT' value='34'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT_SLA_ETH' value='35'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT_TLA_ETH' value='36'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_MARK' value='37'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_META' value='38'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GRE_KEY' value='39'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTP_PSC' value='40'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOES' value='41'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOED' value='42'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOE_PROTO_ID' value='43'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_NSH' value='44'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IGMP' value='45'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_AH' value='46'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_HIGIG2' value='47'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_TAG' value='48'/>
+    </enum-decl>
+    <qualified-type-def type-id='type-id-533' const='yes' id='type-id-535'/>
+    <pointer-type-def type-id='type-id-535' size-in-bits='64' id='type-id-536'/>
+    <class-decl name='rte_flow_action' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2568' column='1' id='type-id-537'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-538' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2569' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='conf' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2570' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_action_type' filepath='../lib/librte_ethdev/rte_flow.h' line='1550' column='1' id='type-id-538'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_END' value='0'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VOID' value='1'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PASSTHRU' value='2'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_JUMP' value='3'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_MARK' value='4'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_FLAG' value='5'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_QUEUE' value='6'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DROP' value='7'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_COUNT' value='8'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RSS' value='9'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PF' value='10'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VF' value='11'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PHY_PORT' value='12'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PORT_ID' value='13'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_METER' value='14'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SECURITY' value='15'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_MPLS_TTL' value='16'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_DEC_MPLS_TTL' value='17'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_NW_TTL' value='18'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_DEC_NW_TTL' value='19'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_OUT' value='20'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_IN' value='21'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_POP_VLAN' value='22'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_PUSH_VLAN' value='23'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_VID' value='24'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_PCP' value='25'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_POP_MPLS' value='26'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_PUSH_MPLS' value='27'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VXLAN_ENCAP' value='28'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VXLAN_DECAP' value='29'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_NVGRE_ENCAP' value='30'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_NVGRE_DECAP' value='31'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RAW_ENCAP' value='32'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RAW_DECAP' value='33'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV4_SRC' value='34'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV4_DST' value='35'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV6_SRC' value='36'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV6_DST' value='37'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TP_SRC' value='38'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TP_DST' value='39'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_MAC_SWAP' value='40'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TTL' value='41'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TTL' value='42'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_MAC_SRC' value='43'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_MAC_DST' value='44'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_INC_TCP_SEQ' value='45'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TCP_SEQ' value='46'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_INC_TCP_ACK' value='47'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TCP_ACK' value='48'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TAG' value='49'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_META' value='50'/>
+    </enum-decl>
+    <qualified-type-def type-id='type-id-537' const='yes' id='type-id-539'/>
+    <pointer-type-def type-id='type-id-539' size-in-bits='64' id='type-id-540'/>
+    <class-decl name='rte_flow_error' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2618' column='1' id='type-id-541'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-542' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2619' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='cause' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2620' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='message' type-id='type-id-282' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2621' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_error_type' filepath='../lib/librte_ethdev/rte_flow.h' line='2587' column='1' id='type-id-542'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_UNSPECIFIED' value='1'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_HANDLE' value='2'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_GROUP' value='3'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_PRIORITY' value='4'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_INGRESS' value='5'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_EGRESS' value='6'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_TRANSFER' value='7'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR' value='8'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_NUM' value='9'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_SPEC' value='10'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_LAST' value='11'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_MASK' value='12'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM' value='13'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION_NUM' value='14'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION_CONF' value='15'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION' value='16'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-541' size-in-bits='64' id='type-id-543'/>
+    <pointer-type-def type-id='type-id-544' size-in-bits='64' id='type-id-10'/>
+    <class-decl name='rte_flow' size-in-bits='256' is-struct='yes' visibility='default' filepath='../drivers/net/i40e/i40e_ethdev.h' line='826' column='1' id='type-id-545'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='node' type-id='type-id-546' visibility='default' filepath='../drivers/net/i40e/i40e_ethdev.h' line='827' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='filter_type' type-id='type-id-452' visibility='default' filepath='../drivers/net/i40e/i40e_ethdev.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='rule' type-id='type-id-21' visibility='default' filepath='../drivers/net/i40e/i40e_ethdev.h' line='829' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/i40e/i40e_ethdev.h' line='827' column='1' id='type-id-546'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-547' visibility='default' filepath='../drivers/net/i40e/i40e_ethdev.h' line='827' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-548' visibility='default' filepath='../drivers/net/i40e/i40e_ethdev.h' line='827' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-545' size-in-bits='64' id='type-id-547'/>
+    <pointer-type-def type-id='type-id-547' size-in-bits='64' id='type-id-548'/>
+    <pointer-type-def type-id='type-id-549' size-in-bits='64' id='type-id-11'/>
+    <pointer-type-def type-id='type-id-550' size-in-bits='64' id='type-id-12'/>
+    <pointer-type-def type-id='type-id-551' size-in-bits='64' id='type-id-13'/>
+    <pointer-type-def type-id='type-id-552' size-in-bits='64' id='type-id-14'/>
+    <pointer-type-def type-id='type-id-553' size-in-bits='64' id='type-id-15'/>
+    <qualified-type-def type-id='type-id-9' const='yes' id='type-id-554'/>
+    <var-decl name='i40e_flow_ops' type-id='type-id-554' visibility='default' filepath='../drivers/net/i40e/i40e_ethdev.h' line='1136' column='1'/>
+    <function-type size-in-bits='64' id='type-id-374'>
+      <parameter type-id='type-id-249'/>
+      <return type-id='type-id-283'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-335'>
+      <return type-id='type-id-334'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-318'>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-329'>
+      <parameter type-id='type-id-282'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-322'>
+      <parameter type-id='type-id-321'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-327'>
+      <parameter type-id='type-id-23'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-331'>
+      <parameter type-id='type-id-23'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-38'/>
+      <parameter type-id='type-id-60'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-250'>
+      <parameter type-id='type-id-249'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-372'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-353'/>
+      <parameter type-id='type-id-60'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-491'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-282'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-544'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-532'/>
+      <parameter type-id='type-id-536'/>
+      <parameter type-id='type-id-540'/>
+      <parameter type-id='type-id-543'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-478'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-477'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-485'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-484'/>
+      <parameter type-id='type-id-480'/>
+      <parameter type-id='type-id-3'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-454'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-452'/>
+      <parameter type-id='type-id-453'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-381'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-380'/>
+      <parameter type-id='type-id-32'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-254'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-8'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-553'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-543'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-446'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-445'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-442'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-441'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-461'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-460'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-357'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-356'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-450'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-449'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-404'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-403'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-495'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-494'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-427'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-426'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-429'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-426'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-102'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-418'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-417'/>
+      <parameter type-id='type-id-102'/>
+      <parameter type-id='type-id-102'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-408'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-407'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-434'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-433'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-438'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-437'/>
+      <parameter type-id='type-id-32'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-269'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-268'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-422'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-421'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-273'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-272'/>
+      <parameter type-id='type-id-3'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-487'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-276'/>
+      <parameter type-id='type-id-484'/>
+      <parameter type-id='type-id-3'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-277'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-276'/>
+      <parameter type-id='type-id-3'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-260'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-100'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-262'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-100'/>
+      <parameter type-id='type-id-5'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-258'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-100'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-5'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-410'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-100'/>
+      <parameter type-id='type-id-102'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-552'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-547'/>
+      <parameter type-id='type-id-540'/>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-543'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-550'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-547'/>
+      <parameter type-id='type-id-543'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-551'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-543'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-470'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-467'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-468'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-467'/>
+      <parameter type-id='type-id-5'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-474'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-473'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-264'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-32'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-378'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-32'/>
+      <parameter type-id='type-id-8'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-370'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-32'/>
+      <parameter type-id='type-id-369'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-431'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-32'/>
+      <parameter type-id='type-id-32'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-502'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-32'/>
+      <parameter type-id='type-id-32'/>
+      <parameter type-id='type-id-501'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-387'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-32'/>
+      <parameter type-id='type-id-32'/>
+      <parameter type-id='type-id-3'/>
+      <parameter type-id='type-id-386'/>
+      <parameter type-id='type-id-39'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-397'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-32'/>
+      <parameter type-id='type-id-32'/>
+      <parameter type-id='type-id-3'/>
+      <parameter type-id='type-id-396'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-279'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-32'/>
+      <parameter type-id='type-id-102'/>
+      <parameter type-id='type-id-102'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-376'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-5'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-412'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-102'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-481'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-480'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-489'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-344'>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-393'>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-32'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-399'>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-5'/>
+      <return type-id='type-id-8'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-325'>
+      <parameter type-id='type-id-321'/>
+      <parameter type-id='type-id-324'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-23'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-549'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-532'/>
+      <parameter type-id='type-id-536'/>
+      <parameter type-id='type-id-540'/>
+      <parameter type-id='type-id-543'/>
+      <return type-id='type-id-547'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-526'>
+      <parameter type-id='type-id-32'/>
+      <parameter type-id='type-id-32'/>
+      <parameter type-id='type-id-91'/>
+      <parameter type-id='type-id-32'/>
+      <parameter type-id='type-id-32'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-528'>
+      <parameter type-id='type-id-32'/>
+      <parameter type-id='type-id-32'/>
+      <parameter type-id='type-id-91'/>
+      <parameter type-id='type-id-32'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-92'>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-91'/>
+      <parameter type-id='type-id-32'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-391'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-32'/>
+      <return type-id='type-id-5'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-516'>
+      <parameter type-id='type-id-8'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-33'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-252'>
+      <parameter type-id='type-id-249'/>
+      <return type-id='type-id-33'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-383'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-32'/>
+      <parameter type-id='type-id-8'/>
+      <return type-id='type-id-33'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-361'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-32'/>
+      <parameter type-id='type-id-360'/>
+      <return type-id='type-id-33'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-365'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-32'/>
+      <parameter type-id='type-id-364'/>
+      <return type-id='type-id-33'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-256'>
+      <parameter type-id='type-id-249'/>
+      <parameter type-id='type-id-5'/>
+      <return type-id='type-id-33'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-78'>
+      <parameter type-id='type-id-72'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-33'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-389'>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-33'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-83'>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-21'/>
+      <return type-id='type-id-33'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-342'>
+      <parameter type-id='type-id-21'/>
+      <parameter type-id='type-id-282'/>
+      <parameter type-id='type-id-341'/>
+      <return type-id='type-id-21'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/i40e/rte_pmd_i40e.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_pmd_i40e_inset' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/i40e/rte_pmd_i40e.h' line='304' column='1' id='type-id-555'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='inset' type-id='type-id-38' visibility='default' filepath='../drivers/net/i40e/rte_pmd_i40e.h' line='305' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mask' type-id='type-id-556' visibility='default' filepath='../drivers/net/i40e/rte_pmd_i40e.h' line='306' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_pmd_i40e_inset_mask' size-in-bits='32' is-struct='yes' visibility='default' filepath='../drivers/net/i40e/rte_pmd_i40e.h' line='299' column='1' id='type-id-557'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='field_idx' type-id='type-id-102' visibility='default' filepath='../drivers/net/i40e/rte_pmd_i40e.h' line='300' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='mask' type-id='type-id-32' visibility='default' filepath='../drivers/net/i40e/rte_pmd_i40e.h' line='301' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-557' size-in-bits='64' id='type-id-556'>
+      <subrange length='2' type-id='type-id-43' id='type-id-90'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-555' size-in-bits='64' id='type-id-558'/>
+    <enum-decl name='rte_pmd_i40e_inset_type' filepath='../drivers/net/i40e/rte_pmd_i40e.h' line='292' column='1' id='type-id-559'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='INSET_NONE' value='0'/>
+      <enumerator name='INSET_HASH' value='1'/>
+      <enumerator name='INSET_FDIR' value='2'/>
+      <enumerator name='INSET_FDIR_FLX' value='3'/>
+    </enum-decl>
+    <function-decl name='rte_pmd_i40e_inset_set' mangled-name='rte_pmd_i40e_inset_set' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='3138' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_i40e_inset_set@@DPDK_20.0'>
+      <parameter type-id='type-id-32' name='port' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='3138' column='1'/>
+      <parameter type-id='type-id-102' name='pctype' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='3138' column='1'/>
+      <parameter type-id='type-id-558' name='inset' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='3139' column='1'/>
+      <parameter type-id='type-id-559' name='inset_type' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='3140' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='rte_pmd_i40e_inset_get' mangled-name='rte_pmd_i40e_inset_get' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='3066' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_i40e_inset_get@@DPDK_20.0'>
+      <parameter type-id='type-id-32' name='port' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='3066' column='1'/>
+      <parameter type-id='type-id-102' name='pctype' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='3066' column='1'/>
+      <parameter type-id='type-id-558' name='inset' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='3067' column='1'/>
+      <parameter type-id='type-id-559' name='inset_type' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='3068' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <class-decl name='rte_pmd_i40e_pkt_template_conf' size-in-bits='384' is-struct='yes' visibility='default' filepath='../drivers/net/i40e/rte_pmd_i40e.h' line='283' column='1' id='type-id-560'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='input' type-id='type-id-561' visibility='default' filepath='../drivers/net/i40e/rte_pmd_i40e.h' line='285' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='action' type-id='type-id-562' visibility='default' filepath='../drivers/net/i40e/rte_pmd_i40e.h' line='287' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='soft_id' type-id='type-id-5' visibility='default' filepath='../drivers/net/i40e/rte_pmd_i40e.h' line='289' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_pmd_i40e_pkt_template_input' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/net/i40e/rte_pmd_i40e.h' line='270' column='1' id='type-id-561'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pctype' type-id='type-id-32' visibility='default' filepath='../drivers/net/i40e/rte_pmd_i40e.h' line='272' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='packet' type-id='type-id-21' visibility='default' filepath='../drivers/net/i40e/rte_pmd_i40e.h' line='274' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='length' type-id='type-id-5' visibility='default' filepath='../drivers/net/i40e/rte_pmd_i40e.h' line='276' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_pmd_i40e_pkt_template_action' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/i40e/rte_pmd_i40e.h' line='252' column='1' id='type-id-562'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_queue' type-id='type-id-32' visibility='default' filepath='../drivers/net/i40e/rte_pmd_i40e.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='behavior' type-id='type-id-563' visibility='default' filepath='../drivers/net/i40e/rte_pmd_i40e.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='report_status' type-id='type-id-564' visibility='default' filepath='../drivers/net/i40e/rte_pmd_i40e.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='flex_off' type-id='type-id-102' visibility='default' filepath='../drivers/net/i40e/rte_pmd_i40e.h' line='264' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_pmd_i40e_pkt_template_behavior' filepath='../drivers/net/i40e/rte_pmd_i40e.h' line='228' column='1' id='type-id-563'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='RTE_PMD_I40E_PKT_TEMPLATE_ACCEPT' value='0'/>
+      <enumerator name='RTE_PMD_I40E_PKT_TEMPLATE_REJECT' value='1'/>
+      <enumerator name='RTE_PMD_I40E_PKT_TEMPLATE_PASSTHRU' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_pmd_i40e_pkt_template_status' filepath='../drivers/net/i40e/rte_pmd_i40e.h' line='238' column='1' id='type-id-564'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='RTE_PMD_I40E_PKT_TEMPLATE_NO_REPORT_STATUS' value='0'/>
+      <enumerator name='RTE_PMD_I40E_PKT_TEMPLATE_REPORT_ID' value='1'/>
+      <enumerator name='RTE_PMD_I40E_PKT_TEMPLATE_REPORT_ID_FLEX_4' value='2'/>
+      <enumerator name='RTE_PMD_I40E_PKT_TEMPLATE_REPORT_FLEX_8' value='3'/>
+    </enum-decl>
+    <qualified-type-def type-id='type-id-560' const='yes' id='type-id-565'/>
+    <pointer-type-def type-id='type-id-565' size-in-bits='64' id='type-id-566'/>
+    <function-decl name='rte_pmd_i40e_flow_add_del_packet_template' mangled-name='rte_pmd_i40e_flow_add_del_packet_template' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='3035' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_i40e_flow_add_del_packet_template@@DPDK_20.0'>
+      <parameter type-id='type-id-32' name='port' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='3036' column='1'/>
+      <parameter type-id='type-id-566' name='conf' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='3037' column='1'/>
+      <parameter type-id='type-id-102' name='add' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='3038' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <enum-decl name='rte_pmd_i40e_queue_region_op' filepath='../drivers/net/i40e/rte_pmd_i40e.h' line='75' column='1' id='type-id-567'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='RTE_PMD_I40E_RSS_QUEUE_REGION_UNDEFINED' value='0'/>
+      <enumerator name='RTE_PMD_I40E_RSS_QUEUE_REGION_SET' value='1'/>
+      <enumerator name='RTE_PMD_I40E_RSS_QUEUE_REGION_FLOWTYPE_SET' value='2'/>
+      <enumerator name='RTE_PMD_I40E_RSS_QUEUE_REGION_USER_PRIORITY_SET' value='3'/>
+      <enumerator name='RTE_PMD_I40E_RSS_QUEUE_REGION_ALL_FLUSH_ON' value='4'/>
+      <enumerator name='RTE_PMD_I40E_RSS_QUEUE_REGION_ALL_FLUSH_OFF' value='5'/>
+      <enumerator name='RTE_PMD_I40E_RSS_QUEUE_REGION_INFO_GET' value='6'/>
+      <enumerator name='RTE_PMD_I40E_RSS_QUEUE_REGION_OP_MAX' value='7'/>
+    </enum-decl>
+    <function-decl name='rte_pmd_i40e_rss_queue_region_conf' mangled-name='rte_pmd_i40e_rss_queue_region_conf' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2970' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_i40e_rss_queue_region_conf@@DPDK_20.0'>
+      <parameter type-id='type-id-32' name='port_id' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2970' column='1'/>
+      <parameter type-id='type-id-567' name='op_type' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2971' column='1'/>
+      <parameter type-id='type-id-21' name='arg' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2971' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <qualified-type-def type-id='type-id-152' const='yes' id='type-id-568'/>
+    <pointer-type-def type-id='type-id-568' size-in-bits='64' id='type-id-569'/>
+    <function-decl name='rte_pmd_i40e_query_vfid_by_mac' mangled-name='rte_pmd_i40e_query_vfid_by_mac' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2500' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_i40e_query_vfid_by_mac@@DPDK_20.0'>
+      <parameter type-id='type-id-32' name='port' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2500' column='1'/>
+      <parameter type-id='type-id-569' name='vf_mac' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2501' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <class-decl name='rte_pmd_i40e_flow_type_mapping' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/i40e/rte_pmd_i40e.h' line='862' column='1' id='type-id-570'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flow_type' type-id='type-id-32' visibility='default' filepath='../drivers/net/i40e/rte_pmd_i40e.h' line='863' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pctype' type-id='type-id-38' visibility='default' filepath='../drivers/net/i40e/rte_pmd_i40e.h' line='864' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-570' size-in-bits='64' id='type-id-571'/>
+    <function-decl name='rte_pmd_i40e_flow_type_mapping_update' mangled-name='rte_pmd_i40e_flow_type_mapping_update' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2446' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_i40e_flow_type_mapping_update@@DPDK_20.0'>
+      <parameter type-id='type-id-32' name='port' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2447' column='1'/>
+      <parameter type-id='type-id-571' name='mapping_items' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2448' column='1'/>
+      <parameter type-id='type-id-32' name='count' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2449' column='1'/>
+      <parameter type-id='type-id-102' name='exclusive' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2450' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='rte_pmd_i40e_flow_type_mapping_get' mangled-name='rte_pmd_i40e_flow_type_mapping_get' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2419' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_i40e_flow_type_mapping_get@@DPDK_20.0'>
+      <parameter type-id='type-id-32' name='port' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2420' column='1'/>
+      <parameter type-id='type-id-571' name='mapping_items' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2421' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='rte_pmd_i40e_flow_type_mapping_reset' mangled-name='rte_pmd_i40e_flow_type_mapping_reset' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2402' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_i40e_flow_type_mapping_reset@@DPDK_20.0'>
+      <parameter type-id='type-id-32' name='port' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2402' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='rte_pmd_i40e_add_vf_mac_addr' mangled-name='rte_pmd_i40e_add_vf_mac_addr' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2359' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_i40e_add_vf_mac_addr@@DPDK_20.0'>
+      <parameter type-id='type-id-32' name='port' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2359' column='1'/>
+      <parameter type-id='type-id-32' name='vf_id' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2359' column='1'/>
+      <parameter type-id='type-id-100' name='mac_addr' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2360' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='rte_pmd_i40e_ptype_mapping_replace' mangled-name='rte_pmd_i40e_ptype_mapping_replace' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_i40e_ptype_mapping_replace@@DPDK_20.0'>
+      <parameter type-id='type-id-32' name='port' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2320' column='1'/>
+      <parameter type-id='type-id-5' name='target' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2321' column='1'/>
+      <parameter type-id='type-id-102' name='mask' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2322' column='1'/>
+      <parameter type-id='type-id-5' name='pkt_type' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2323' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <class-decl name='rte_pmd_i40e_ptype_mapping' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/net/i40e/rte_pmd_i40e.h' line='172' column='1' id='type-id-572'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='hw_ptype' type-id='type-id-32' visibility='default' filepath='../drivers/net/i40e/rte_pmd_i40e.h' line='173' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='sw_ptype' type-id='type-id-5' visibility='default' filepath='../drivers/net/i40e/rte_pmd_i40e.h' line='174' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-572' size-in-bits='64' id='type-id-573'/>
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-574'/>
+    <function-decl name='rte_pmd_i40e_ptype_mapping_get' mangled-name='rte_pmd_i40e_ptype_mapping_get' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2285' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_i40e_ptype_mapping_get@@DPDK_20.0'>
+      <parameter type-id='type-id-32' name='port' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2286' column='1'/>
+      <parameter type-id='type-id-573' name='mapping_items' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2287' column='1'/>
+      <parameter type-id='type-id-32' name='size' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2288' column='1'/>
+      <parameter type-id='type-id-574' name='count' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2289' column='1'/>
+      <parameter type-id='type-id-102' name='valid_only' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2290' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='rte_pmd_i40e_ptype_mapping_reset' mangled-name='rte_pmd_i40e_ptype_mapping_reset' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2269' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_i40e_ptype_mapping_reset@@DPDK_20.0'>
+      <parameter type-id='type-id-32' name='port' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2402' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='rte_pmd_i40e_ptype_mapping_update' mangled-name='rte_pmd_i40e_ptype_mapping_update' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2232' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_i40e_ptype_mapping_update@@DPDK_20.0'>
+      <parameter type-id='type-id-32' name='port' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2233' column='1'/>
+      <parameter type-id='type-id-573' name='mapping_items' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2234' column='1'/>
+      <parameter type-id='type-id-32' name='count' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2235' column='1'/>
+      <parameter type-id='type-id-102' name='exclusive' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2236' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='rte_pmd_i40e_get_ddp_list' mangled-name='rte_pmd_i40e_get_ddp_list' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2101' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_i40e_get_ddp_list@@DPDK_20.0'>
+      <parameter type-id='type-id-32' name='port' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2101' column='1'/>
+      <parameter type-id='type-id-124' name='buff' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2101' column='1'/>
+      <parameter type-id='type-id-5' name='size' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2101' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <enum-decl name='rte_pmd_i40e_package_info' filepath='../drivers/net/i40e/rte_pmd_i40e.h' line='54' column='1' id='type-id-575'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='RTE_PMD_I40E_PKG_INFO_UNDEFINED' value='0'/>
+      <enumerator name='RTE_PMD_I40E_PKG_INFO_GLOBAL_HEADER' value='1'/>
+      <enumerator name='RTE_PMD_I40E_PKG_INFO_GLOBAL_NOTES_SIZE' value='2'/>
+      <enumerator name='RTE_PMD_I40E_PKG_INFO_GLOBAL_NOTES' value='3'/>
+      <enumerator name='RTE_PMD_I40E_PKG_INFO_GLOBAL_MAX' value='1024'/>
+      <enumerator name='RTE_PMD_I40E_PKG_INFO_HEADER' value='1025'/>
+      <enumerator name='RTE_PMD_I40E_PKG_INFO_DEVID_NUM' value='1026'/>
+      <enumerator name='RTE_PMD_I40E_PKG_INFO_DEVID_LIST' value='1027'/>
+      <enumerator name='RTE_PMD_I40E_PKG_INFO_PROTOCOL_NUM' value='1028'/>
+      <enumerator name='RTE_PMD_I40E_PKG_INFO_PROTOCOL_LIST' value='1029'/>
+      <enumerator name='RTE_PMD_I40E_PKG_INFO_PCTYPE_NUM' value='1030'/>
+      <enumerator name='RTE_PMD_I40E_PKG_INFO_PCTYPE_LIST' value='1031'/>
+      <enumerator name='RTE_PMD_I40E_PKG_INFO_PTYPE_NUM' value='1032'/>
+      <enumerator name='RTE_PMD_I40E_PKG_INFO_PTYPE_LIST' value='1033'/>
+      <enumerator name='RTE_PMD_I40E_PKG_INFO_MAX' value='-1'/>
+    </enum-decl>
+    <function-decl name='rte_pmd_i40e_get_ddp_info' mangled-name='rte_pmd_i40e_get_ddp_info' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='1792' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_i40e_get_ddp_info@@DPDK_20.0'>
+      <parameter type-id='type-id-124' name='pkg_buff' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='1792' column='1'/>
+      <parameter type-id='type-id-5' name='pkg_size' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='1792' column='1'/>
+      <parameter type-id='type-id-124' name='info_buff' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='1793' column='1'/>
+      <parameter type-id='type-id-5' name='info_size' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='1793' column='1'/>
+      <parameter type-id='type-id-575' name='type' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='1794' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <enum-decl name='rte_pmd_i40e_package_op' filepath='../drivers/net/i40e/rte_pmd_i40e.h' line='43' column='1' id='type-id-576'>
+      <underlying-type type-id='type-id-118'/>
+      <enumerator name='RTE_PMD_I40E_PKG_OP_UNDEFINED' value='0'/>
+      <enumerator name='RTE_PMD_I40E_PKG_OP_WR_ADD' value='1'/>
+      <enumerator name='RTE_PMD_I40E_PKG_OP_WR_DEL' value='2'/>
+      <enumerator name='RTE_PMD_I40E_PKG_OP_WR_ONLY' value='3'/>
+      <enumerator name='RTE_PMD_I40E_PKG_OP_MAX' value='32'/>
+    </enum-decl>
+    <function-decl name='rte_pmd_i40e_process_ddp_package' mangled-name='rte_pmd_i40e_process_ddp_package' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='1609' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_i40e_process_ddp_package@@DPDK_20.0'>
+      <parameter type-id='type-id-32' name='port' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='1609' column='1'/>
+      <parameter type-id='type-id-124' name='buff' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='1609' column='1'/>
+      <parameter type-id='type-id-5' name='size' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='1610' column='1'/>
+      <parameter type-id='type-id-576' name='op' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='1611' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='rte_pmd_i40e_set_tc_strict_prio' mangled-name='rte_pmd_i40e_set_tc_strict_prio' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='1364' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_i40e_set_tc_strict_prio@@DPDK_20.0'>
+      <parameter type-id='type-id-32' name='port' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='1364' column='1'/>
+      <parameter type-id='type-id-102' name='tc_map' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='1364' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='rte_pmd_i40e_set_vf_tc_max_bw' mangled-name='rte_pmd_i40e_set_vf_tc_max_bw' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='1246' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_i40e_set_vf_tc_max_bw@@DPDK_20.0'>
+      <parameter type-id='type-id-32' name='port' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='1246' column='1'/>
+      <parameter type-id='type-id-32' name='vf_id' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='1246' column='1'/>
+      <parameter type-id='type-id-102' name='tc_no' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='1247' column='1'/>
+      <parameter type-id='type-id-5' name='bw' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='1247' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='rte_pmd_i40e_set_vf_tc_bw_alloc' mangled-name='rte_pmd_i40e_set_vf_tc_bw_alloc' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='1132' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_i40e_set_vf_tc_bw_alloc@@DPDK_20.0'>
+      <parameter type-id='type-id-32' name='port' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='1132' column='1'/>
+      <parameter type-id='type-id-32' name='vf_id' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='1132' column='1'/>
+      <parameter type-id='type-id-102' name='tc_num' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='1133' column='1'/>
+      <parameter type-id='type-id-124' name='bw_weight' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='1133' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='rte_pmd_i40e_set_vf_max_bw' mangled-name='rte_pmd_i40e_set_vf_max_bw' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='1043' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_i40e_set_vf_max_bw@@DPDK_20.0'>
+      <parameter type-id='type-id-32' name='port' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='1043' column='1'/>
+      <parameter type-id='type-id-32' name='vf_id' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='1043' column='1'/>
+      <parameter type-id='type-id-5' name='bw' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='1043' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='rte_pmd_i40e_reset_vf_stats' mangled-name='rte_pmd_i40e_reset_vf_stats' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='1009' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_i40e_reset_vf_stats@@DPDK_20.0'>
+      <parameter type-id='type-id-32' name='port' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='1009' column='1'/>
+      <parameter type-id='type-id-32' name='vf_id' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='1010' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='rte_pmd_i40e_get_vf_stats' mangled-name='rte_pmd_i40e_get_vf_stats' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='964' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_i40e_get_vf_stats@@DPDK_20.0'>
+      <parameter type-id='type-id-32' name='port' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='964' column='1'/>
+      <parameter type-id='type-id-32' name='vf_id' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='965' column='1'/>
+      <parameter type-id='type-id-268' name='stats' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='966' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='rte_pmd_i40e_set_vf_vlan_filter' mangled-name='rte_pmd_i40e_set_vf_vlan_filter' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='881' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_i40e_set_vf_vlan_filter@@DPDK_20.0'>
+      <parameter type-id='type-id-32' name='port' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='881' column='1'/>
+      <parameter type-id='type-id-32' name='vlan_id' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='881' column='1'/>
+      <parameter type-id='type-id-38' name='vf_mask' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='882' column='1'/>
+      <parameter type-id='type-id-102' name='on' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='882' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='rte_pmd_i40e_set_vf_vlan_tag' mangled-name='rte_pmd_i40e_set_vf_vlan_tag' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='787' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_i40e_set_vf_vlan_tag@@DPDK_20.0'>
+      <parameter type-id='type-id-32' name='port' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='787' column='1'/>
+      <parameter type-id='type-id-32' name='vf_id' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='787' column='1'/>
+      <parameter type-id='type-id-102' name='on' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='787' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='rte_pmd_i40e_set_vf_broadcast' mangled-name='rte_pmd_i40e_set_vf_broadcast' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='721' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_i40e_set_vf_broadcast@@DPDK_20.0'>
+      <parameter type-id='type-id-32' name='port' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='721' column='1'/>
+      <parameter type-id='type-id-32' name='vf_id' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='721' column='1'/>
+      <parameter type-id='type-id-102' name='on' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='722' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='rte_pmd_i40e_set_vf_vlan_insert' mangled-name='rte_pmd_i40e_set_vf_vlan_insert' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='656' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_i40e_set_vf_vlan_insert@@DPDK_20.0'>
+      <parameter type-id='type-id-32' name='port' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='656' column='1'/>
+      <parameter type-id='type-id-32' name='vf_id' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='656' column='1'/>
+      <parameter type-id='type-id-32' name='vlan_id' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='657' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='rte_pmd_i40e_set_vf_vlan_stripq' mangled-name='rte_pmd_i40e_set_vf_vlan_stripq' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='621' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_i40e_set_vf_vlan_stripq@@DPDK_20.0'>
+      <parameter type-id='type-id-32' name='port' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='621' column='1'/>
+      <parameter type-id='type-id-32' name='vf_id' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='621' column='1'/>
+      <parameter type-id='type-id-102' name='on' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='621' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='rte_pmd_i40e_set_vf_mac_addr' mangled-name='rte_pmd_i40e_set_vf_mac_addr' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='531' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_i40e_set_vf_mac_addr@@DPDK_20.0'>
+      <parameter type-id='type-id-32' name='port' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2359' column='1'/>
+      <parameter type-id='type-id-32' name='vf_id' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2359' column='1'/>
+      <parameter type-id='type-id-100' name='mac_addr' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='2360' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='rte_pmd_i40e_set_vf_multicast_promisc' mangled-name='rte_pmd_i40e_set_vf_multicast_promisc' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='490' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_i40e_set_vf_multicast_promisc@@DPDK_20.0'>
+      <parameter type-id='type-id-32' name='port' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='490' column='1'/>
+      <parameter type-id='type-id-32' name='vf_id' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='490' column='1'/>
+      <parameter type-id='type-id-102' name='on' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='490' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='rte_pmd_i40e_set_vf_unicast_promisc' mangled-name='rte_pmd_i40e_set_vf_unicast_promisc' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='449' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_i40e_set_vf_unicast_promisc@@DPDK_20.0'>
+      <parameter type-id='type-id-32' name='port' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='490' column='1'/>
+      <parameter type-id='type-id-32' name='vf_id' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='490' column='1'/>
+      <parameter type-id='type-id-102' name='on' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='490' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='rte_pmd_i40e_set_tx_loopback' mangled-name='rte_pmd_i40e_set_tx_loopback' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='406' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_i40e_set_tx_loopback@@DPDK_20.0'>
+      <parameter type-id='type-id-32' name='port' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='406' column='1'/>
+      <parameter type-id='type-id-102' name='on' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='406' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='rte_pmd_i40e_set_vf_vlan_anti_spoof' mangled-name='rte_pmd_i40e_set_vf_vlan_anti_spoof' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='146' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_i40e_set_vf_vlan_anti_spoof@@DPDK_20.0'>
+      <parameter type-id='type-id-32' name='port' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='787' column='1'/>
+      <parameter type-id='type-id-32' name='vf_id' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='787' column='1'/>
+      <parameter type-id='type-id-102' name='on' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='787' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='rte_pmd_i40e_set_vf_mac_anti_spoof' mangled-name='rte_pmd_i40e_set_vf_mac_anti_spoof' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='42' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_i40e_set_vf_mac_anti_spoof@@DPDK_20.0'>
+      <parameter type-id='type-id-32' name='port' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='787' column='1'/>
+      <parameter type-id='type-id-32' name='vf_id' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='787' column='1'/>
+      <parameter type-id='type-id-102' name='on' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='787' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='rte_pmd_i40e_ping_vfs' mangled-name='rte_pmd_i40e_ping_vfs' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='17' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_i40e_ping_vfs@@DPDK_20.0'>
+      <parameter type-id='type-id-32' name='port' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='17' column='1'/>
+      <parameter type-id='type-id-32' name='vf' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='17' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+    <function-decl name='rte_pmd_i40e_set_switch_dev' mangled-name='rte_pmd_i40e_set_switch_dev' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='3212' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_i40e_set_switch_dev@@EXPERIMENTAL'>
+      <parameter type-id='type-id-32' name='port_id' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='3212' column='1'/>
+      <parameter type-id='type-id-249' name='switch_dev' filepath='../drivers/net/i40e/rte_pmd_i40e.c' line='3212' column='1'/>
+      <return type-id='type-id-8'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_ice.dump b/drivers/.abi/librte_pmd_ice.dump
new file mode 100644
index 000000000..c054b316c
--- /dev/null
+++ b/drivers/.abi/librte_pmd_ice.dump
@@ -0,0 +1,6395 @@
+<abi-corpus path='gcc//drivers/librte_pmd_ice.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_ice.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-variable-symbols>
+    <elf-symbol name='rte_net_ice_dynfield_proto_xtr_metadata_offs' size='4' version='EXPERIMENTAL' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_net_ice_dynflag_proto_xtr_ipv4_mask' size='8' version='EXPERIMENTAL' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_net_ice_dynflag_proto_xtr_ipv6_flow_mask' size='8' version='EXPERIMENTAL' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_net_ice_dynflag_proto_xtr_ipv6_mask' size='8' version='EXPERIMENTAL' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_net_ice_dynflag_proto_xtr_tcp_mask' size='8' version='EXPERIMENTAL' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_net_ice_dynflag_proto_xtr_vlan_mask' size='8' version='EXPERIMENTAL' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/ice/base/ice_common.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='ice_ctx_ele' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_lan_tx_rx.h' line='875' column='1' id='type-id-1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='offset' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_lan_tx_rx.h' line='876' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='size_of' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_lan_tx_rx.h' line='877' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='width' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_lan_tx_rx.h' line='878' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='lsb' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_lan_tx_rx.h' line='879' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-3'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-3' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-4'/>
+    <typedef-decl name='uint16_t' type-id='type-id-4' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-5'/>
+    <typedef-decl name='u16' type-id='type-id-5' filepath='../drivers/net/ice/base/ice_osdep.h' line='34' column='1' id='type-id-2'/>
+    <qualified-type-def type-id='type-id-1' const='yes' id='type-id-6'/>
+
+    <array-type-def dimensions='1' type-id='type-id-6' size-in-bits='infinite' id='type-id-7'>
+      <subrange length='infinite' id='type-id-8'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-7' const='yes' id='type-id-9'/>
+    <var-decl name='ice_tlan_ctx_info' type-id='type-id-9' visibility='default' filepath='../drivers/net/ice/base/ice_common.h' line='117' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/ice/ice_ethdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-10'/>
+    <var-decl name='ice_logtype_init' type-id='type-id-10' visibility='default' filepath='../drivers/net/ice/base/../ice_logs.h' line='8' column='1'/>
+    <var-decl name='ice_logtype_driver' type-id='type-id-10' visibility='default' filepath='../drivers/net/ice/base/../ice_logs.h' line='9' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/ice/ice_rxtx.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <var-decl name='rte_net_ice_dynfield_proto_xtr_metadata_offs' type-id='type-id-10' mangled-name='rte_net_ice_dynfield_proto_xtr_metadata_offs' visibility='default' filepath='../drivers/net/ice/rte_pmd_ice.h' line='84' column='1' elf-symbol-id='rte_net_ice_dynfield_proto_xtr_metadata_offs@@EXPERIMENTAL'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-11'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-11' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-12'/>
+    <typedef-decl name='uint64_t' type-id='type-id-12' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-13'/>
+    <var-decl name='rte_net_ice_dynflag_proto_xtr_vlan_mask' type-id='type-id-13' mangled-name='rte_net_ice_dynflag_proto_xtr_vlan_mask' visibility='default' filepath='../drivers/net/ice/rte_pmd_ice.h' line='87' column='1' elf-symbol-id='rte_net_ice_dynflag_proto_xtr_vlan_mask@@EXPERIMENTAL'/>
+    <var-decl name='rte_net_ice_dynflag_proto_xtr_ipv4_mask' type-id='type-id-13' mangled-name='rte_net_ice_dynflag_proto_xtr_ipv4_mask' visibility='default' filepath='../drivers/net/ice/rte_pmd_ice.h' line='88' column='1' elf-symbol-id='rte_net_ice_dynflag_proto_xtr_ipv4_mask@@EXPERIMENTAL'/>
+    <var-decl name='rte_net_ice_dynflag_proto_xtr_ipv6_mask' type-id='type-id-13' mangled-name='rte_net_ice_dynflag_proto_xtr_ipv6_mask' visibility='default' filepath='../drivers/net/ice/rte_pmd_ice.h' line='89' column='1' elf-symbol-id='rte_net_ice_dynflag_proto_xtr_ipv6_mask@@EXPERIMENTAL'/>
+    <var-decl name='rte_net_ice_dynflag_proto_xtr_ipv6_flow_mask' type-id='type-id-13' mangled-name='rte_net_ice_dynflag_proto_xtr_ipv6_flow_mask' visibility='default' filepath='../drivers/net/ice/rte_pmd_ice.h' line='90' column='1' elf-symbol-id='rte_net_ice_dynflag_proto_xtr_ipv6_flow_mask@@EXPERIMENTAL'/>
+    <var-decl name='rte_net_ice_dynflag_proto_xtr_tcp_mask' type-id='type-id-13' mangled-name='rte_net_ice_dynflag_proto_xtr_tcp_mask' visibility='default' filepath='../drivers/net/ice/rte_pmd_ice.h' line='91' column='1' elf-symbol-id='rte_net_ice_dynflag_proto_xtr_tcp_mask@@EXPERIMENTAL'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/ice/ice_generic_flow.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_flow_ops' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='63' column='1' id='type-id-14'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='validate' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='create' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='destroy' type-id='type-id-17' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='flush' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='query' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='isolate' type-id='type-id-20' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='95' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev' size-in-bits='132608' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='777' column='1' id='type-id-21'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_pkt_burst' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='778' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tx_pkt_burst' type-id='type-id-23' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tx_pkt_prepare' type-id='type-id-24' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='data' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='786' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='process_private' type-id='type-id-26' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='787' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_ops' type-id='type-id-27' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='788' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='device' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='789' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='intr_handle' type-id='type-id-29' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='790' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='link_intr_cbs' type-id='type-id-30' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='792' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='post_rx_burst_cbs' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='797' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='66176'>
+        <var-decl name='pre_tx_burst_cbs' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131712'>
+        <var-decl name='state' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='803' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131776'>
+        <var-decl name='security_ctx' type-id='type-id-26' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131840'>
+        <var-decl name='reserved_64s' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='806' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='132096'>
+        <var-decl name='reserved_ptrs' type-id='type-id-34' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='807' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='void' id='type-id-35'/>
+    <pointer-type-def type-id='type-id-35' size-in-bits='64' id='type-id-26'/>
+    <class-decl name='rte_mbuf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='480' column='1' id='type-id-36'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheline0' type-id='type-id-37' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-26' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-38' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rearm_data' type-id='type-id-39' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='497' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_off' type-id='type-id-5' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_segs' type-id='type-id-5' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='port' type-id='type-id-5' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ol_flags' type-id='type-id-13' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_descriptor_fields1' type-id='type-id-37' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='pkt_len' type-id='type-id-40' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data_len' type-id='type-id-5' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='vlan_tci' type-id='type-id-5' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vlan_tci_outer' type-id='type-id-5' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='buf_len' type-id='type-id-5' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='timestamp' type-id='type-id-13' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cacheline1' type-id='type-id-37' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='pool' type-id='type-id-41' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='next' type-id='type-id-42' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv_size' type-id='type-id-5' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='timesync' type-id='type-id-5' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='seqn' type-id='type-id-40' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='shinfo' type-id='type-id-43' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dynfield1' type-id='type-id-44' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-26' size-in-bits='infinite' id='type-id-45'>
+      <subrange length='infinite' type-id='type-id-11' id='type-id-8'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER' type-id='type-id-45' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='414' column='1' id='type-id-37'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='491' column='1' id='type-id-38'>
+      <data-member access='private'>
+        <var-decl name='buf_iova' type-id='type-id-46' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='buf_physaddr' type-id='type-id-46' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_iova_t' type-id='type-id-13' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-46'/>
+
+    <array-type-def dimensions='1' type-id='type-id-13' size-in-bits='infinite' id='type-id-47'>
+      <subrange length='infinite' type-id='type-id-11' id='type-id-8'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER64' type-id='type-id-47' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='420' column='1' id='type-id-39'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-48'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-48' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-49'/>
+    <typedef-decl name='uint32_t' type-id='type-id-49' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-40'/>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-50'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-51' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-52' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-26' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-53' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-48' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-10' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-40' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-40' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-40' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-40' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-40' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-48' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-54' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-55' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-40' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-56' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-40' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-57' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-58'/>
+
+    <array-type-def dimensions='1' type-id='type-id-58' size-in-bits='256' id='type-id-51'>
+      <subrange length='32' type-id='type-id-11' id='type-id-59'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-52'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-26' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-13' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-60'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-51' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-61' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-62' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-13' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-54' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-40' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-61'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-63' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-46' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-13' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-63'/>
+    <typedef-decl name='size_t' type-id='type-id-11' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-62'/>
+    <typedef-decl name='__int32_t' type-id='type-id-10' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-64'/>
+    <typedef-decl name='int32_t' type-id='type-id-64' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-54'/>
+    <qualified-type-def type-id='type-id-60' const='yes' id='type-id-65'/>
+    <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-53'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-66'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-40' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-40' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-40' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-67' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-26' size-in-bits='98304' id='type-id-67'>
+      <subrange length='1536' type-id='type-id-11' id='type-id-68'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-55'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-56'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-69' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-70' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-71'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-72' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-41' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-73' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-72'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-69' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-69'/>
+    <pointer-type-def type-id='type-id-50' size-in-bits='64' id='type-id-41'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-73'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-46' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-63' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-69' size-in-bits='64' id='type-id-70'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-57'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-74' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-75' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-76'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-77' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-41' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-26' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-78' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-62' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-79' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-26' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-77'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-74' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-76' size-in-bits='64' id='type-id-74'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-78'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-46' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-63' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-80' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-81'/>
+    <pointer-type-def type-id='type-id-81' size-in-bits='64' id='type-id-79'/>
+    <pointer-type-def type-id='type-id-74' size-in-bits='64' id='type-id-75'/>
+    <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-42'/>
+    <class-decl name='rte_mbuf_ext_shared_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='689' column='1' id='type-id-82'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_cb' type-id='type-id-83' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcb_opaque' type-id='type-id-26' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt_atomic' type-id='type-id-84' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-85' size-in-bits='64' id='type-id-86'/>
+    <typedef-decl name='rte_mbuf_extbuf_free_callback_t' type-id='type-id-86' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='684' column='1' id='type-id-83'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-84' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-87'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-88' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-89'/>
+    <typedef-decl name='__int16_t' type-id='type-id-89' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-90'/>
+    <typedef-decl name='int16_t' type-id='type-id-90' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-91'/>
+    <qualified-type-def type-id='type-id-91' volatile='yes' id='type-id-88'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-87' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-84'/>
+    <pointer-type-def type-id='type-id-82' size-in-bits='64' id='type-id-43'/>
+
+    <array-type-def dimensions='1' type-id='type-id-13' size-in-bits='128' id='type-id-44'>
+      <subrange length='2' type-id='type-id-11' id='type-id-92'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-42' size-in-bits='64' id='type-id-93'/>
+    <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-95'/>
+    <typedef-decl name='eth_rx_burst_t' type-id='type-id-95' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='340' column='1' id='type-id-22'/>
+    <typedef-decl name='eth_tx_burst_t' type-id='type-id-95' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='345' column='1' id='type-id-23'/>
+    <typedef-decl name='eth_tx_prep_t' type-id='type-id-95' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='350' column='1' id='type-id-24'/>
+    <class-decl name='rte_eth_dev_data' size-in-bits='55808' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='820' column='1' id='type-id-96'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-97' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='821' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_queues' type-id='type-id-98' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='823' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_queues' type-id='type-id-98' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='824' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='nb_rx_queues' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='825' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='656'>
+        <var-decl name='nb_tx_queues' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='826' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='sriov' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='dev_private' type-id='type-id-26' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='830' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_link' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='835' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dev_conf' type-id='type-id-101' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='836' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25536'>
+        <var-decl name='mtu' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='837' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25568'>
+        <var-decl name='min_rx_buf_size' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25600'>
+        <var-decl name='rx_mbuf_alloc_failed' type-id='type-id-13' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='841' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25664'>
+        <var-decl name='mac_addrs' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='842' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25728'>
+        <var-decl name='mac_pool_sel' type-id='type-id-103' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='846' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='33920'>
+        <var-decl name='hash_mac_addrs' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='848' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='33984'>
+        <var-decl name='port_id' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='852' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='promiscuous' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='855' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='scattered_rx' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='856' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='all_multicast' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='857' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4'>
+        <var-decl name='dev_started' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='858' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3'>
+        <var-decl name='lro' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='859' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='34008'>
+        <var-decl name='rx_queue_state' type-id='type-id-105' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='860' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='42200'>
+        <var-decl name='tx_queue_state' type-id='type-id-105' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='862' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50400'>
+        <var-decl name='dev_flags' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='864' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50432'>
+        <var-decl name='kdrv' type-id='type-id-106' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50464'>
+        <var-decl name='numa_node' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='866' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50496'>
+        <var-decl name='vlan_filter_conf' type-id='type-id-107' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='867' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='54592'>
+        <var-decl name='owner' type-id='type-id-108' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='869' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55168'>
+        <var-decl name='representor_id' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='870' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55232'>
+        <var-decl name='reserved_64s' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='875' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55488'>
+        <var-decl name='reserved_ptrs' type-id='type-id-34' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='876' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-58' size-in-bits='512' id='type-id-97'>
+      <subrange length='64' type-id='type-id-11' id='type-id-109'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-98'/>
+    <class-decl name='rte_eth_dev_sriov' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1476' column='1' id='type-id-99'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='active' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1477' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='nb_q_per_pool' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1478' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='def_vmdq_idx' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1479' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='def_pool_q_idx' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1480' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-110'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-110' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-111'/>
+    <typedef-decl name='uint8_t' type-id='type-id-111' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-104'/>
+    <class-decl name='rte_eth_link' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='308' column='1' id='type-id-100'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_speed' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='309' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='15'>
+        <var-decl name='link_duplex' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='310' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='14'>
+        <var-decl name='link_autoneg' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='311' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='13'>
+        <var-decl name='link_status' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='312' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_conf' size-in-bits='24640' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1045' column='1' id='type-id-101'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_speeds' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1046' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rxmode' type-id='type-id-112' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1053' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='txmode' type-id='type-id-113' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1054' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='lpbk_mode' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1055' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='rx_adv_conf' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1068' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='17984'>
+        <var-decl name='tx_adv_conf' type-id='type-id-115' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1076' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18080'>
+        <var-decl name='dcb_capability_en' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1079' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18112'>
+        <var-decl name='fdir_conf' type-id='type-id-116' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1080' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24576'>
+        <var-decl name='intr_conf' type-id='type-id-117' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1081' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rxmode' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='394' column='1' id='type-id-112'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mq_mode' type-id='type-id-118' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='396' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_rx_pkt_len' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='397' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='max_lro_pkt_size' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='399' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='split_hdr_size' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='400' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='offloads' type-id='type-id-13' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='406' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-44' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='408' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-119' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='409' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-120'/>
+    <enum-decl name='rte_eth_rx_mq_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='344' column='1' id='type-id-118'>
+      <underlying-type type-id='type-id-120'/>
+      <enumerator name='ETH_MQ_RX_NONE' value='0'/>
+      <enumerator name='ETH_MQ_RX_RSS' value='1'/>
+      <enumerator name='ETH_MQ_RX_DCB' value='2'/>
+      <enumerator name='ETH_MQ_RX_DCB_RSS' value='3'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_ONLY' value='4'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_RSS' value='5'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_DCB' value='6'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_DCB_RSS' value='7'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-26' size-in-bits='128' id='type-id-119'>
+      <subrange length='2' type-id='type-id-11' id='type-id-92'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_txmode' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='792' column='1' id='type-id-113'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mq_mode' type-id='type-id-121' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='793' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offloads' type-id='type-id-13' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='799' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pvid' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='hw_vlan_reject_tagged' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='hw_vlan_reject_untagged' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='806' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='hw_vlan_insert_pvid' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='808' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-44' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='811' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-119' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='812' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_tx_mq_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='377' column='1' id='type-id-121'>
+      <underlying-type type-id='type-id-120'/>
+      <enumerator name='ETH_MQ_TX_NONE' value='0'/>
+      <enumerator name='ETH_MQ_TX_DCB' value='1'/>
+      <enumerator name='ETH_MQ_TX_VMDQ_DCB' value='2'/>
+      <enumerator name='ETH_MQ_TX_VMDQ_ONLY' value='3'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16960' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1060' column='1' id='type-id-114'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rss_conf' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1061' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='vmdq_dcb_conf' type-id='type-id-123' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1062' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8512'>
+        <var-decl name='dcb_rx_conf' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1064' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8640'>
+        <var-decl name='vmdq_rx_conf' type-id='type-id-125' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1066' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rss_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='448' column='1' id='type-id-122'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rss_key' type-id='type-id-126' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rss_key_len' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rss_hf' type-id='type-id-13' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='451' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-104' size-in-bits='64' id='type-id-126'/>
+    <class-decl name='rte_eth_vmdq_dcb_conf' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='745' column='1' id='type-id-123'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-127' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='746' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='enable_default_pool' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='default_pool' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='748' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='nb_pool_maps' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='749' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pool_map' type-id='type-id-128' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8256'>
+        <var-decl name='dcb_tc' type-id='type-id-129' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='754' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_nb_pools' filepath='../lib/librte_ethdev/rte_ethdev.h' line='704' column='1' id='type-id-127'>
+      <underlying-type type-id='type-id-120'/>
+      <enumerator name='ETH_8_POOLS' value='8'/>
+      <enumerator name='ETH_16_POOLS' value='16'/>
+      <enumerator name='ETH_32_POOLS' value='32'/>
+      <enumerator name='ETH_64_POOLS' value='64'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='750' column='1' id='type-id-130'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_id' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='751' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pools' type-id='type-id-13' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='752' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-130' size-in-bits='8192' id='type-id-128'>
+      <subrange length='64' type-id='type-id-11' id='type-id-109'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-104' size-in-bits='64' id='type-id-129'>
+      <subrange length='8' type-id='type-id-11' id='type-id-131'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_dcb_rx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='712' column='1' id='type-id-124'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-132' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-129' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='715' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_nb_tcs' filepath='../lib/librte_ethdev/rte_ethdev.h' line='695' column='1' id='type-id-132'>
+      <underlying-type type-id='type-id-120'/>
+      <enumerator name='ETH_4_TCS' value='4'/>
+      <enumerator name='ETH_8_TCS' value='8'/>
+    </enum-decl>
+    <class-decl name='rte_eth_vmdq_rx_conf' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='776' column='1' id='type-id-125'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-127' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='777' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='enable_default_pool' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='778' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='default_pool' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='enable_loop_back' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='nb_pool_maps' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='781' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rx_mode' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='782' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pool_map' type-id='type-id-128' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='786' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <union-decl name='__anonymous_union__' size-in-bits='96' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1069' column='1' id='type-id-115'>
+      <data-member access='private'>
+        <var-decl name='vmdq_dcb_tx_conf' type-id='type-id-133' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1070' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dcb_tx_conf' type-id='type-id-134' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1072' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='vmdq_tx_conf' type-id='type-id-135' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1074' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_eth_vmdq_dcb_tx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='718' column='1' id='type-id-133'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-127' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-129' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='721' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dcb_tx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='724' column='1' id='type-id-134'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-132' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-129' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='727' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vmdq_tx_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='730' column='1' id='type-id-135'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-127' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='731' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_fdir_conf' size-in-bits='6464' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1005' column='1' id='type-id-116'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mode' type-id='type-id-136' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1006' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='pballoc' type-id='type-id-137' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1007' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='status' type-id='type-id-138' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1008' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='drop_queue' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1010' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mask' type-id='type-id-139' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1011' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='flex_conf' type-id='type-id-140' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1012' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_fdir_mode' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='603' column='1' id='type-id-136'>
+      <underlying-type type-id='type-id-120'/>
+      <enumerator name='RTE_FDIR_MODE_NONE' value='0'/>
+      <enumerator name='RTE_FDIR_MODE_SIGNATURE' value='1'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT' value='2'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT_MAC_VLAN' value='3'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT_TUNNEL' value='4'/>
+    </enum-decl>
+    <enum-decl name='rte_fdir_pballoc_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='984' column='1' id='type-id-137'>
+      <underlying-type type-id='type-id-120'/>
+      <enumerator name='RTE_FDIR_PBALLOC_64K' value='0'/>
+      <enumerator name='RTE_FDIR_PBALLOC_128K' value='1'/>
+      <enumerator name='RTE_FDIR_PBALLOC_256K' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_fdir_status_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='993' column='1' id='type-id-138'>
+      <underlying-type type-id='type-id-120'/>
+      <enumerator name='RTE_FDIR_NO_REPORT_STATUS' value='0'/>
+      <enumerator name='RTE_FDIR_REPORT_STATUS' value='1'/>
+      <enumerator name='RTE_FDIR_REPORT_STATUS_ALWAYS' value='2'/>
+    </enum-decl>
+    <class-decl name='rte_eth_fdir_masks' size-in-bits='544' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='533' column='1' id='type-id-139'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_tci_mask' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='534' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ipv4_mask' type-id='type-id-141' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='536' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ipv6_mask' type-id='type-id-142' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='538' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='src_port_mask' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='540' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='dst_port_mask' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='542' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='mac_addr_byte_mask' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='545' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='tunnel_id_mask' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='547' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='tunnel_type_mask' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='548' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_ipv4_flow' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='342' column='1' id='type-id-141'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='343' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dst_ip' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='344' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tos' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='345' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='ttl' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='346' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='proto' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='347' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_ipv6_flow' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='381' column='1' id='type-id-142'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-143' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='382' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dst_ip' type-id='type-id-143' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='383' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='tc' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='384' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='264'>
+        <var-decl name='proto' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='385' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='272'>
+        <var-decl name='hop_limits' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='386' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-40' size-in-bits='128' id='type-id-143'>
+      <subrange length='4' type-id='type-id-11' id='type-id-144'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_fdir_flex_conf' size-in-bits='5792' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='591' column='1' id='type-id-140'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_payloads' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='592' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='nb_flexmasks' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='593' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flex_set' type-id='type-id-145' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='594' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2336'>
+        <var-decl name='flex_mask' type-id='type-id-146' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='596' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_flex_payload_cfg' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='568' column='1' id='type-id-147'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-148' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='569' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='src_offset' type-id='type-id-149' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='570' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_payload_type' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='555' column='1' id='type-id-148'>
+      <underlying-type type-id='type-id-120'/>
+      <enumerator name='RTE_ETH_PAYLOAD_UNKNOWN' value='0'/>
+      <enumerator name='RTE_ETH_RAW_PAYLOAD' value='1'/>
+      <enumerator name='RTE_ETH_L2_PAYLOAD' value='2'/>
+      <enumerator name='RTE_ETH_L3_PAYLOAD' value='3'/>
+      <enumerator name='RTE_ETH_L4_PAYLOAD' value='4'/>
+      <enumerator name='RTE_ETH_PAYLOAD_MAX' value='8'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-5' size-in-bits='256' id='type-id-149'>
+      <subrange length='16' type-id='type-id-11' id='type-id-150'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-147' size-in-bits='2304' id='type-id-145'>
+      <subrange length='8' type-id='type-id-11' id='type-id-131'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_fdir_flex_mask' size-in-bits='144' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='581' column='1' id='type-id-151'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flow_type' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='582' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='mask' type-id='type-id-152' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='583' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-104' size-in-bits='128' id='type-id-152'>
+      <subrange length='16' type-id='type-id-11' id='type-id-150'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-151' size-in-bits='3456' id='type-id-146'>
+      <subrange length='24' type-id='type-id-11' id='type-id-153'/>
+
+    </array-type-def>
+    <class-decl name='rte_intr_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1031' column='1' id='type-id-117'>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='lsc' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1033' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='rxq' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1035' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='rmv' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1037' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_ether_addr' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='60' column='1' id='type-id-154'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr_bytes' type-id='type-id-155' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='61' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-104' size-in-bits='48' id='type-id-155'>
+      <subrange length='6' type-id='type-id-11' id='type-id-156'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-154' size-in-bits='64' id='type-id-102'/>
+
+    <array-type-def dimensions='1' type-id='type-id-13' size-in-bits='8192' id='type-id-103'>
+      <subrange length='128' type-id='type-id-11' id='type-id-157'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-104' size-in-bits='8192' id='type-id-105'>
+      <subrange length='1024' type-id='type-id-11' id='type-id-158'/>
+
+    </array-type-def>
+    <enum-decl name='rte_kernel_driver' filepath='../lib/librte_eal/common/include/rte_dev.h' line='60' column='1' id='type-id-106'>
+      <underlying-type type-id='type-id-120'/>
+      <enumerator name='RTE_KDRV_UNKNOWN' value='0'/>
+      <enumerator name='RTE_KDRV_IGB_UIO' value='1'/>
+      <enumerator name='RTE_KDRV_VFIO' value='2'/>
+      <enumerator name='RTE_KDRV_UIO_GENERIC' value='3'/>
+      <enumerator name='RTE_KDRV_NIC_UIO' value='4'/>
+      <enumerator name='RTE_KDRV_NONE' value='5'/>
+    </enum-decl>
+    <class-decl name='rte_vlan_filter_conf' size-in-bits='4096' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='427' column='1' id='type-id-107'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ids' type-id='type-id-159' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='428' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-13' size-in-bits='4096' id='type-id-159'>
+      <subrange length='64' type-id='type-id-11' id='type-id-109'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_dev_owner' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1490' column='1' id='type-id-108'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-13' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1491' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='name' type-id='type-id-97' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1492' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-13' size-in-bits='256' id='type-id-33'>
+      <subrange length='4' type-id='type-id-11' id='type-id-144'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-26' size-in-bits='256' id='type-id-34'>
+      <subrange length='4' type-id='type-id-11' id='type-id-144'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-96' size-in-bits='64' id='type-id-25'/>
+    <class-decl name='eth_dev_ops' size-in-bits='6016' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='609' column='1' id='type-id-160'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_configure' type-id='type-id-161' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_start' type-id='type-id-162' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='611' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dev_stop' type-id='type-id-163' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='612' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_set_link_up' type-id='type-id-164' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dev_set_link_down' type-id='type-id-165' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='614' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_close' type-id='type-id-166' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='615' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='dev_reset' type-id='type-id-167' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='616' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='link_update' type-id='type-id-168' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='617' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='is_removed' type-id='type-id-169' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='618' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='promiscuous_enable' type-id='type-id-170' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='promiscuous_disable' type-id='type-id-171' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='allmulticast_enable' type-id='type-id-172' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='623' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='allmulticast_disable' type-id='type-id-173' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='624' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='mac_addr_remove' type-id='type-id-174' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='625' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='mac_addr_add' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='626' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='mac_addr_set' type-id='type-id-176' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='627' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='set_mc_addr_list' type-id='type-id-177' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='628' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mtu_set' type-id='type-id-178' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='629' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='stats_get' type-id='type-id-179' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='631' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='stats_reset' type-id='type-id-180' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='632' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='xstats_get' type-id='type-id-181' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='633' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='xstats_reset' type-id='type-id-182' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='634' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='xstats_get_names' type-id='type-id-183' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='635' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='queue_stats_mapping_set' type-id='type-id-184' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='637' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='dev_infos_get' type-id='type-id-185' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='640' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='rxq_info_get' type-id='type-id-186' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='641' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='txq_info_get' type-id='type-id-187' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='642' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='rx_burst_mode_get' type-id='type-id-188' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='643' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='tx_burst_mode_get' type-id='type-id-188' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='644' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='fw_version_get' type-id='type-id-189' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='645' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='dev_supported_ptypes_get' type-id='type-id-190' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='646' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='dev_ptypes_set' type-id='type-id-191' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='648' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='vlan_filter_set' type-id='type-id-192' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='651' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='vlan_tpid_set' type-id='type-id-193' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='652' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='vlan_strip_queue_set' type-id='type-id-194' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='653' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='vlan_offload_set' type-id='type-id-195' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='654' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='vlan_pvid_set' type-id='type-id-196' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='655' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='rx_queue_start' type-id='type-id-197' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='657' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='rx_queue_stop' type-id='type-id-198' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='658' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2496'>
+        <var-decl name='tx_queue_start' type-id='type-id-197' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='659' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='tx_queue_stop' type-id='type-id-198' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='660' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='rx_queue_setup' type-id='type-id-199' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='661' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2688'>
+        <var-decl name='rx_queue_release' type-id='type-id-200' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2752'>
+        <var-decl name='rx_queue_count' type-id='type-id-201' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='663' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2816'>
+        <var-decl name='rx_descriptor_done' type-id='type-id-202' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2880'>
+        <var-decl name='rx_descriptor_status' type-id='type-id-203' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='666' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2944'>
+        <var-decl name='tx_descriptor_status' type-id='type-id-204' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3008'>
+        <var-decl name='rx_queue_intr_enable' type-id='type-id-205' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='670' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3072'>
+        <var-decl name='rx_queue_intr_disable' type-id='type-id-206' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3136'>
+        <var-decl name='tx_queue_setup' type-id='type-id-207' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='672' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3200'>
+        <var-decl name='tx_queue_release' type-id='type-id-200' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3264'>
+        <var-decl name='tx_done_cleanup' type-id='type-id-208' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='674' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3328'>
+        <var-decl name='dev_led_on' type-id='type-id-209' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3392'>
+        <var-decl name='dev_led_off' type-id='type-id-210' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='677' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3456'>
+        <var-decl name='flow_ctrl_get' type-id='type-id-211' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='679' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3520'>
+        <var-decl name='flow_ctrl_set' type-id='type-id-212' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='680' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='priority_flow_ctrl_set' type-id='type-id-213' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='681' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3648'>
+        <var-decl name='uc_hash_table_set' type-id='type-id-214' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='683' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3712'>
+        <var-decl name='uc_all_hash_table_set' type-id='type-id-215' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='684' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3776'>
+        <var-decl name='mirror_rule_set' type-id='type-id-216' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='686' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3840'>
+        <var-decl name='mirror_rule_reset' type-id='type-id-217' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='687' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3904'>
+        <var-decl name='udp_tunnel_port_add' type-id='type-id-218' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='689' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3968'>
+        <var-decl name='udp_tunnel_port_del' type-id='type-id-219' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4032'>
+        <var-decl name='l2_tunnel_eth_type_conf' type-id='type-id-220' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4096'>
+        <var-decl name='l2_tunnel_offload_set' type-id='type-id-221' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='693' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4160'>
+        <var-decl name='set_queue_rate_limit' type-id='type-id-222' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='696' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4224'>
+        <var-decl name='rss_hash_update' type-id='type-id-223' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='698' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4288'>
+        <var-decl name='rss_hash_conf_get' type-id='type-id-224' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='699' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4352'>
+        <var-decl name='reta_update' type-id='type-id-225' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='700' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4416'>
+        <var-decl name='reta_query' type-id='type-id-226' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='701' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4480'>
+        <var-decl name='get_reg' type-id='type-id-227' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='703' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4544'>
+        <var-decl name='get_eeprom_length' type-id='type-id-228' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='704' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4608'>
+        <var-decl name='get_eeprom' type-id='type-id-229' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='705' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4672'>
+        <var-decl name='set_eeprom' type-id='type-id-230' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='706' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4736'>
+        <var-decl name='get_module_info' type-id='type-id-231' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='708' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4800'>
+        <var-decl name='get_module_eeprom' type-id='type-id-232' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='710' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4864'>
+        <var-decl name='filter_ctrl' type-id='type-id-233' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4928'>
+        <var-decl name='get_dcb_info' type-id='type-id-234' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='715' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4992'>
+        <var-decl name='timesync_enable' type-id='type-id-235' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='717' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5056'>
+        <var-decl name='timesync_disable' type-id='type-id-236' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5120'>
+        <var-decl name='timesync_read_rx_timestamp' type-id='type-id-237' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='721' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5184'>
+        <var-decl name='timesync_read_tx_timestamp' type-id='type-id-238' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='723' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5248'>
+        <var-decl name='timesync_adjust_time' type-id='type-id-239' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5312'>
+        <var-decl name='timesync_read_time' type-id='type-id-240' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='726' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5376'>
+        <var-decl name='timesync_write_time' type-id='type-id-241' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='727' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5440'>
+        <var-decl name='read_clock' type-id='type-id-242' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='729' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5504'>
+        <var-decl name='xstats_get_by_id' type-id='type-id-243' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='731' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5568'>
+        <var-decl name='xstats_get_names_by_id' type-id='type-id-244' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='733' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5632'>
+        <var-decl name='tm_ops_get' type-id='type-id-245' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='736' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5696'>
+        <var-decl name='mtr_ops_get' type-id='type-id-246' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='739' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5760'>
+        <var-decl name='pool_ops_supported' type-id='type-id-247' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='742' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5824'>
+        <var-decl name='hairpin_cap_get' type-id='type-id-248' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='745' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5888'>
+        <var-decl name='rx_hairpin_queue_setup' type-id='type-id-249' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5952'>
+        <var-decl name='tx_hairpin_queue_setup' type-id='type-id-250' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='749' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-251'/>
+    <pointer-type-def type-id='type-id-252' size-in-bits='64' id='type-id-253'/>
+    <typedef-decl name='eth_dev_configure_t' type-id='type-id-253' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='31' column='1' id='type-id-161'/>
+    <typedef-decl name='eth_dev_start_t' type-id='type-id-253' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='34' column='1' id='type-id-162'/>
+    <pointer-type-def type-id='type-id-254' size-in-bits='64' id='type-id-255'/>
+    <typedef-decl name='eth_dev_stop_t' type-id='type-id-255' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='37' column='1' id='type-id-163'/>
+    <typedef-decl name='eth_dev_set_link_up_t' type-id='type-id-253' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='40' column='1' id='type-id-164'/>
+    <typedef-decl name='eth_dev_set_link_down_t' type-id='type-id-253' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='43' column='1' id='type-id-165'/>
+    <typedef-decl name='eth_dev_close_t' type-id='type-id-255' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='46' column='1' id='type-id-166'/>
+    <typedef-decl name='eth_dev_reset_t' type-id='type-id-253' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='49' column='1' id='type-id-167'/>
+    <pointer-type-def type-id='type-id-256' size-in-bits='64' id='type-id-257'/>
+    <typedef-decl name='eth_link_update_t' type-id='type-id-257' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='155' column='1' id='type-id-168'/>
+    <typedef-decl name='eth_is_removed_t' type-id='type-id-253' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='52' column='1' id='type-id-169'/>
+    <typedef-decl name='eth_promiscuous_enable_t' type-id='type-id-253' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='78' column='1' id='type-id-170'/>
+    <typedef-decl name='eth_promiscuous_disable_t' type-id='type-id-253' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='103' column='1' id='type-id-171'/>
+    <typedef-decl name='eth_allmulticast_enable_t' type-id='type-id-253' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='128' column='1' id='type-id-172'/>
+    <typedef-decl name='eth_allmulticast_disable_t' type-id='type-id-253' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='153' column='1' id='type-id-173'/>
+    <pointer-type-def type-id='type-id-258' size-in-bits='64' id='type-id-259'/>
+    <typedef-decl name='eth_mac_addr_remove_t' type-id='type-id-259' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='391' column='1' id='type-id-174'/>
+    <pointer-type-def type-id='type-id-260' size-in-bits='64' id='type-id-261'/>
+    <typedef-decl name='eth_mac_addr_add_t' type-id='type-id-261' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='394' column='1' id='type-id-175'/>
+    <pointer-type-def type-id='type-id-262' size-in-bits='64' id='type-id-263'/>
+    <typedef-decl name='eth_mac_addr_set_t' type-id='type-id-263' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='400' column='1' id='type-id-176'/>
+    <pointer-type-def type-id='type-id-264' size-in-bits='64' id='type-id-265'/>
+    <typedef-decl name='eth_set_mc_addr_list_t' type-id='type-id-265' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='436' column='1' id='type-id-177'/>
+    <pointer-type-def type-id='type-id-266' size-in-bits='64' id='type-id-267'/>
+    <typedef-decl name='mtu_set_t' type-id='type-id-267' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='315' column='1' id='type-id-178'/>
+    <class-decl name='rte_eth_stats' size-in-bits='5632' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='243' column='1' id='type-id-268'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ipackets' type-id='type-id-13' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='opackets' type-id='type-id-13' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ibytes' type-id='type-id-13' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='246' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='obytes' type-id='type-id-13' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='imissed' type-id='type-id-13' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='ierrors' type-id='type-id-13' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='oerrors' type-id='type-id-13' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='rx_nombuf' type-id='type-id-13' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='q_ipackets' type-id='type-id-269' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='q_opackets' type-id='type-id-269' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='q_ibytes' type-id='type-id-269' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='q_obytes' type-id='type-id-269' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4608'>
+        <var-decl name='q_errors' type-id='type-id-269' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='263' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-13' size-in-bits='1024' id='type-id-269'>
+      <subrange length='16' type-id='type-id-11' id='type-id-150'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-268' size-in-bits='64' id='type-id-270'/>
+    <pointer-type-def type-id='type-id-271' size-in-bits='64' id='type-id-272'/>
+    <typedef-decl name='eth_stats_get_t' type-id='type-id-272' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='159' column='1' id='type-id-179'/>
+    <typedef-decl name='eth_stats_reset_t' type-id='type-id-253' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='182' column='1' id='type-id-180'/>
+    <class-decl name='rte_eth_xstat' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1337' column='1' id='type-id-273'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-13' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1338' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='value' type-id='type-id-13' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1339' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-273' size-in-bits='64' id='type-id-274'/>
+    <pointer-type-def type-id='type-id-275' size-in-bits='64' id='type-id-276'/>
+    <typedef-decl name='eth_xstats_get_t' type-id='type-id-276' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='184' column='1' id='type-id-181'/>
+    <typedef-decl name='eth_xstats_reset_t' type-id='type-id-253' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='213' column='1' id='type-id-182'/>
+    <class-decl name='rte_eth_xstat_name' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1349' column='1' id='type-id-277'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-97' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1350' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-277' size-in-bits='64' id='type-id-278'/>
+    <pointer-type-def type-id='type-id-279' size-in-bits='64' id='type-id-280'/>
+    <typedef-decl name='eth_xstats_get_names_t' type-id='type-id-280' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='215' column='1' id='type-id-183'/>
+    <pointer-type-def type-id='type-id-281' size-in-bits='64' id='type-id-282'/>
+    <typedef-decl name='eth_queue_stats_mapping_set_t' type-id='type-id-282' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='224' column='1' id='type-id-184'/>
+    <class-decl name='rte_eth_dev_info' size-in-bits='2560' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1226' column='1' id='type-id-283'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='device' type-id='type-id-28' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1227' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='driver_name' type-id='type-id-284' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='if_index' type-id='type-id-48' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='min_mtu' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='max_mtu' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_flags' type-id='type-id-285' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='min_rx_bufsize' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1234' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='max_rx_pktlen' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1235' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='max_lro_pkt_size' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='max_rx_queues' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='max_tx_queues' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1239' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='max_mac_addrs' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='max_hash_mac_addrs' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1241' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='max_vfs' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1243' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='max_vmdq_pools' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_offload_capa' type-id='type-id-13' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_offload_capa' type-id='type-id-13' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='rx_queue_offload_capa' type-id='type-id-13' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='tx_queue_offload_capa' type-id='type-id-13' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='reta_size' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='hash_key_size' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='flow_type_rss_offloads' type-id='type-id-13' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='default_rxconf' type-id='type-id-286' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='default_txconf' type-id='type-id-287' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='vmdq_queue_base' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1744'>
+        <var-decl name='vmdq_queue_num' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1760'>
+        <var-decl name='vmdq_pool_base' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1262' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1776'>
+        <var-decl name='rx_desc_lim' type-id='type-id-288' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1263' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='tx_desc_lim' type-id='type-id-288' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1264' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1952'>
+        <var-decl name='speed_capa' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1265' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='nb_rx_queues' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1267' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2000'>
+        <var-decl name='nb_tx_queues' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1268' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2016'>
+        <var-decl name='default_rxportconf' type-id='type-id-289' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1270' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2064'>
+        <var-decl name='default_txportconf' type-id='type-id-289' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1272' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='dev_capa' type-id='type-id-13' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1274' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='switch_info' type-id='type-id-290' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='reserved_64s' type-id='type-id-44' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1281' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='reserved_ptrs' type-id='type-id-119' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1282' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-291'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-292' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-284' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-293' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-294' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-10' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-295' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-292'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-28' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-296' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-291' size-in-bits='64' id='type-id-28'/>
+    <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-296'/>
+    <qualified-type-def type-id='type-id-58' const='yes' id='type-id-297'/>
+    <pointer-type-def type-id='type-id-297' size-in-bits='64' id='type-id-284'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-298'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-299' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-284' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-284' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-299'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-300' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-301' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-298' size-in-bits='64' id='type-id-300'/>
+    <pointer-type-def type-id='type-id-300' size-in-bits='64' id='type-id-301'/>
+    <qualified-type-def type-id='type-id-298' const='yes' id='type-id-302'/>
+    <pointer-type-def type-id='type-id-302' size-in-bits='64' id='type-id-293'/>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-303'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-304' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-284' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-305' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-306' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-307' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-308' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-309' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-310' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-311' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-312' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-313' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-314' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-315' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-316' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-317' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-304'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-318' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-319' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-303' size-in-bits='64' id='type-id-318'/>
+    <pointer-type-def type-id='type-id-318' size-in-bits='64' id='type-id-319'/>
+    <pointer-type-def type-id='type-id-320' size-in-bits='64' id='type-id-321'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-321' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-305'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-321' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-306'/>
+    <qualified-type-def type-id='type-id-291' const='yes' id='type-id-322'/>
+    <pointer-type-def type-id='type-id-322' size-in-bits='64' id='type-id-323'/>
+    <pointer-type-def type-id='type-id-324' size-in-bits='64' id='type-id-325'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-325' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-326'/>
+    <pointer-type-def type-id='type-id-327' size-in-bits='64' id='type-id-328'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-328' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-307'/>
+    <pointer-type-def type-id='type-id-329' size-in-bits='64' id='type-id-330'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-330' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-308'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-330' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-309'/>
+    <pointer-type-def type-id='type-id-331' size-in-bits='64' id='type-id-332'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-332' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-310'/>
+    <pointer-type-def type-id='type-id-333' size-in-bits='64' id='type-id-334'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-334' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-311'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-334' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-312'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-313'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-335' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-335'>
+      <underlying-type type-id='type-id-120'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-336'>
+      <underlying-type type-id='type-id-120'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-337' size-in-bits='64' id='type-id-338'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-338' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-314'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-339'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-284' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-284' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-284' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-318' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-340' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-28' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-26' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-341'/>
+    <pointer-type-def type-id='type-id-341' size-in-bits='64' id='type-id-340'/>
+    <qualified-type-def type-id='type-id-339' const='yes' id='type-id-342'/>
+    <pointer-type-def type-id='type-id-342' size-in-bits='64' id='type-id-343'/>
+    <pointer-type-def type-id='type-id-344' size-in-bits='64' id='type-id-345'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-345' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-315'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-330' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-316'/>
+    <pointer-type-def type-id='type-id-346' size-in-bits='64' id='type-id-347'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-347' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-317'/>
+    <qualified-type-def type-id='type-id-303' const='yes' id='type-id-348'/>
+    <pointer-type-def type-id='type-id-348' size-in-bits='64' id='type-id-294'/>
+    <class-decl name='rte_devargs' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='47' column='1' id='type-id-349'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-350' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='type' type-id='type-id-351' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='policy' type-id='type-id-352' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='name' type-id='type-id-97' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='' type-id='type-id-353' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='bus' type-id='type-id-318' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='cls' type-id='type-id-340' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='bus_str' type-id='type-id-284' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='cls_str' type-id='type-id-284' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='data' type-id='type-id-284' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='66' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1' id='type-id-350'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-295' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-354' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-349' size-in-bits='64' id='type-id-295'/>
+    <pointer-type-def type-id='type-id-295' size-in-bits='64' id='type-id-354'/>
+    <enum-decl name='rte_devtype' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='31' column='1' id='type-id-351'>
+      <underlying-type type-id='type-id-120'/>
+      <enumerator name='RTE_DEVTYPE_WHITELISTED_PCI' value='0'/>
+      <enumerator name='RTE_DEVTYPE_BLACKLISTED_PCI' value='1'/>
+      <enumerator name='RTE_DEVTYPE_VIRTUAL' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_dev_policy' filepath='../lib/librte_eal/common/include/rte_dev.h' line='72' column='1' id='type-id-352'>
+      <underlying-type type-id='type-id-120'/>
+      <enumerator name='RTE_DEV_WHITELISTED' value='0'/>
+      <enumerator name='RTE_DEV_BLACKLISTED' value='1'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='57' column='1' id='type-id-353'>
+      <data-member access='private'>
+        <var-decl name='args' type-id='type-id-355' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='drv_str' type-id='type-id-284' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='60' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-58' size-in-bits='64' id='type-id-355'/>
+    <qualified-type-def type-id='type-id-40' const='yes' id='type-id-356'/>
+    <pointer-type-def type-id='type-id-356' size-in-bits='64' id='type-id-285'/>
+    <class-decl name='rte_eth_rxconf' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='818' column='1' id='type-id-286'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_thresh' type-id='type-id-357' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='819' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='rx_free_thresh' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='820' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='rx_drop_en' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='821' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='rx_deferred_start' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='822' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offloads' type-id='type-id-13' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='reserved_64s' type-id='type-id-44' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='830' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='reserved_ptrs' type-id='type-id-119' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='831' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_thresh' size-in-bits='24' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='327' column='1' id='type-id-357'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pthresh' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='328' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='hthresh' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='329' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='wthresh' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='330' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_txconf' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='837' column='1' id='type-id-287'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tx_thresh' type-id='type-id-357' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tx_rs_thresh' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='839' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='tx_free_thresh' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='840' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tx_deferred_start' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='843' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='offloads' type-id='type-id-13' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='849' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-44' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='851' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-119' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='852' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_desc_lim' size-in-bits='80' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='898' column='1' id='type-id-288'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_max' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='899' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='nb_min' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='900' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_align' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='901' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='nb_seg_max' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='911' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='nb_mtu_seg_max' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='924' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_portconf' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1189' column='1' id='type-id-289'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='burst_size' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1190' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='ring_size' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_queues' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1192' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_switch_info' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1204' column='1' id='type-id-290'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-284' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='domain_id' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1206' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='port_id' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1207' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-283' size-in-bits='64' id='type-id-358'/>
+    <pointer-type-def type-id='type-id-359' size-in-bits='64' id='type-id-360'/>
+    <typedef-decl name='eth_dev_infos_get_t' type-id='type-id-360' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='230' column='1' id='type-id-185'/>
+    <class-decl name='rte_eth_rxq_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1289' column='1' id='type-id-361'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mp' type-id='type-id-41' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1290' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='conf' type-id='type-id-286' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1291' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='scattered_rx' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1292' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='nb_desc' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1293' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-361' size-in-bits='64' id='type-id-362'/>
+    <pointer-type-def type-id='type-id-363' size-in-bits='64' id='type-id-364'/>
+    <typedef-decl name='eth_rxq_info_get_t' type-id='type-id-364' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='306' column='1' id='type-id-186'/>
+    <class-decl name='rte_eth_txq_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1300' column='1' id='type-id-365'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='conf' type-id='type-id-287' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1301' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='nb_desc' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1302' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-365' size-in-bits='64' id='type-id-366'/>
+    <pointer-type-def type-id='type-id-367' size-in-bits='64' id='type-id-368'/>
+    <typedef-decl name='eth_txq_info_get_t' type-id='type-id-368' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='309' column='1' id='type-id-187'/>
+    <class-decl name='rte_eth_burst_mode' size-in-bits='8256' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1318' column='1' id='type-id-369'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-13' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1319' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='info' type-id='type-id-370' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1322' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-58' size-in-bits='8192' id='type-id-370'>
+      <subrange length='1024' type-id='type-id-11' id='type-id-158'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-369' size-in-bits='64' id='type-id-371'/>
+    <pointer-type-def type-id='type-id-372' size-in-bits='64' id='type-id-373'/>
+    <typedef-decl name='eth_burst_mode_get_t' type-id='type-id-373' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='312' column='1' id='type-id-188'/>
+    <pointer-type-def type-id='type-id-374' size-in-bits='64' id='type-id-375'/>
+    <typedef-decl name='eth_fw_version_get_t' type-id='type-id-375' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='299' column='1' id='type-id-189'/>
+    <pointer-type-def type-id='type-id-376' size-in-bits='64' id='type-id-377'/>
+    <typedef-decl name='eth_dev_supported_ptypes_get_t' type-id='type-id-377' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='234' column='1' id='type-id-190'/>
+    <pointer-type-def type-id='type-id-378' size-in-bits='64' id='type-id-379'/>
+    <typedef-decl name='eth_dev_ptypes_set_t' type-id='type-id-379' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='249' column='1' id='type-id-191'/>
+    <pointer-type-def type-id='type-id-380' size-in-bits='64' id='type-id-381'/>
+    <typedef-decl name='vlan_filter_set_t' type-id='type-id-381' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='318' column='1' id='type-id-192'/>
+    <enum-decl name='rte_vlan_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='416' column='1' id='type-id-382'>
+      <underlying-type type-id='type-id-120'/>
+      <enumerator name='ETH_VLAN_TYPE_UNKNOWN' value='0'/>
+      <enumerator name='ETH_VLAN_TYPE_INNER' value='1'/>
+      <enumerator name='ETH_VLAN_TYPE_OUTER' value='2'/>
+      <enumerator name='ETH_VLAN_TYPE_MAX' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-383' size-in-bits='64' id='type-id-384'/>
+    <typedef-decl name='vlan_tpid_set_t' type-id='type-id-384' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='323' column='1' id='type-id-193'/>
+    <pointer-type-def type-id='type-id-385' size-in-bits='64' id='type-id-386'/>
+    <typedef-decl name='vlan_strip_queue_set_t' type-id='type-id-386' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='335' column='1' id='type-id-194'/>
+    <typedef-decl name='vlan_offload_set_t' type-id='type-id-257' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='327' column='1' id='type-id-195'/>
+    <typedef-decl name='vlan_pvid_set_t' type-id='type-id-381' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='330' column='1' id='type-id-196'/>
+    <typedef-decl name='eth_queue_start_t' type-id='type-id-267' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='252' column='1' id='type-id-197'/>
+    <typedef-decl name='eth_queue_stop_t' type-id='type-id-267' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='256' column='1' id='type-id-198'/>
+    <qualified-type-def type-id='type-id-286' const='yes' id='type-id-387'/>
+    <pointer-type-def type-id='type-id-387' size-in-bits='64' id='type-id-388'/>
+    <pointer-type-def type-id='type-id-389' size-in-bits='64' id='type-id-390'/>
+    <typedef-decl name='eth_rx_queue_setup_t' type-id='type-id-390' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='260' column='1' id='type-id-199'/>
+    <pointer-type-def type-id='type-id-391' size-in-bits='64' id='type-id-392'/>
+    <typedef-decl name='eth_queue_release_t' type-id='type-id-392' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='283' column='1' id='type-id-200'/>
+    <pointer-type-def type-id='type-id-393' size-in-bits='64' id='type-id-394'/>
+    <typedef-decl name='eth_rx_queue_count_t' type-id='type-id-394' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='286' column='1' id='type-id-201'/>
+    <pointer-type-def type-id='type-id-395' size-in-bits='64' id='type-id-396'/>
+    <typedef-decl name='eth_rx_descriptor_done_t' type-id='type-id-396' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='290' column='1' id='type-id-202'/>
+    <typedef-decl name='eth_rx_descriptor_status_t' type-id='type-id-396' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='293' column='1' id='type-id-203'/>
+    <typedef-decl name='eth_tx_descriptor_status_t' type-id='type-id-396' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='296' column='1' id='type-id-204'/>
+    <typedef-decl name='eth_rx_enable_intr_t' type-id='type-id-267' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='275' column='1' id='type-id-205'/>
+    <typedef-decl name='eth_rx_disable_intr_t' type-id='type-id-267' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='279' column='1' id='type-id-206'/>
+    <qualified-type-def type-id='type-id-287' const='yes' id='type-id-397'/>
+    <pointer-type-def type-id='type-id-397' size-in-bits='64' id='type-id-398'/>
+    <pointer-type-def type-id='type-id-399' size-in-bits='64' id='type-id-400'/>
+    <typedef-decl name='eth_tx_queue_setup_t' type-id='type-id-400' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='268' column='1' id='type-id-207'/>
+    <pointer-type-def type-id='type-id-401' size-in-bits='64' id='type-id-402'/>
+    <typedef-decl name='eth_tx_done_cleanup_t' type-id='type-id-402' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='303' column='1' id='type-id-208'/>
+    <typedef-decl name='eth_dev_led_on_t' type-id='type-id-253' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='385' column='1' id='type-id-209'/>
+    <typedef-decl name='eth_dev_led_off_t' type-id='type-id-253' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='388' column='1' id='type-id-210'/>
+    <class-decl name='rte_eth_fc_conf' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='942' column='1' id='type-id-403'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='high_water' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='943' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='low_water' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='944' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pause_time' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='945' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='send_xon' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='946' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='mode' type-id='type-id-404' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='947' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mac_ctrl_frame_fwd' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='948' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='autoneg' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='949' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_fc_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='930' column='1' id='type-id-404'>
+      <underlying-type type-id='type-id-120'/>
+      <enumerator name='RTE_FC_NONE' value='0'/>
+      <enumerator name='RTE_FC_RX_PAUSE' value='1'/>
+      <enumerator name='RTE_FC_TX_PAUSE' value='2'/>
+      <enumerator name='RTE_FC_FULL' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-403' size-in-bits='64' id='type-id-405'/>
+    <pointer-type-def type-id='type-id-406' size-in-bits='64' id='type-id-407'/>
+    <typedef-decl name='flow_ctrl_get_t' type-id='type-id-407' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='355' column='1' id='type-id-211'/>
+    <typedef-decl name='flow_ctrl_set_t' type-id='type-id-407' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='359' column='1' id='type-id-212'/>
+    <class-decl name='rte_eth_pfc_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='957' column='1' id='type-id-408'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fc' type-id='type-id-403' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='958' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='priority' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='959' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-408' size-in-bits='64' id='type-id-409'/>
+    <pointer-type-def type-id='type-id-410' size-in-bits='64' id='type-id-411'/>
+    <typedef-decl name='priority_flow_ctrl_set_t' type-id='type-id-411' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='363' column='1' id='type-id-213'/>
+    <pointer-type-def type-id='type-id-412' size-in-bits='64' id='type-id-413'/>
+    <typedef-decl name='eth_uc_hash_table_set_t' type-id='type-id-413' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='404' column='1' id='type-id-214'/>
+    <pointer-type-def type-id='type-id-414' size-in-bits='64' id='type-id-415'/>
+    <typedef-decl name='eth_uc_all_hash_table_set_t' type-id='type-id-415' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='409' column='1' id='type-id-215'/>
+    <class-decl name='rte_eth_mirror_conf' size-in-bits='1216' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='670' column='1' id='type-id-416'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rule_type' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='dst_pool' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='672' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pool_mask' type-id='type-id-13' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vlan' type-id='type-id-417' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='675' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vlan_mirror' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='661' column='1' id='type-id-417'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_mask' type-id='type-id-13' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='vlan_id' type-id='type-id-418' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='664' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-5' size-in-bits='1024' id='type-id-418'>
+      <subrange length='64' type-id='type-id-11' id='type-id-109'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-416' size-in-bits='64' id='type-id-419'/>
+    <pointer-type-def type-id='type-id-420' size-in-bits='64' id='type-id-421'/>
+    <typedef-decl name='eth_mirror_rule_set_t' type-id='type-id-421' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='418' column='1' id='type-id-216'/>
+    <typedef-decl name='eth_mirror_rule_reset_t' type-id='type-id-415' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='424' column='1' id='type-id-217'/>
+    <class-decl name='rte_eth_udp_tunnel' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1023' column='1' id='type-id-422'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='udp_port' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1024' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='prot_type' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1025' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-422' size-in-bits='64' id='type-id-423'/>
+    <pointer-type-def type-id='type-id-424' size-in-bits='64' id='type-id-425'/>
+    <typedef-decl name='eth_udp_tunnel_port_add_t' type-id='type-id-425' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='428' column='1' id='type-id-218'/>
+    <typedef-decl name='eth_udp_tunnel_port_del_t' type-id='type-id-425' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='432' column='1' id='type-id-219'/>
+    <class-decl name='rte_eth_l2_tunnel_conf' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='751' column='1' id='type-id-426'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='l2_tunnel_type' type-id='type-id-427' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='752' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ether_type' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tunnel_id' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='754' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='vf_id' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='755' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pool' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='756' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_tunnel_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='965' column='1' id='type-id-427'>
+      <underlying-type type-id='type-id-120'/>
+      <enumerator name='RTE_TUNNEL_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_TUNNEL_TYPE_VXLAN' value='1'/>
+      <enumerator name='RTE_TUNNEL_TYPE_GENEVE' value='2'/>
+      <enumerator name='RTE_TUNNEL_TYPE_TEREDO' value='3'/>
+      <enumerator name='RTE_TUNNEL_TYPE_NVGRE' value='4'/>
+      <enumerator name='RTE_TUNNEL_TYPE_IP_IN_GRE' value='5'/>
+      <enumerator name='RTE_L2_TUNNEL_TYPE_E_TAG' value='6'/>
+      <enumerator name='RTE_TUNNEL_TYPE_VXLAN_GPE' value='7'/>
+      <enumerator name='RTE_TUNNEL_TYPE_MAX' value='8'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-426' size-in-bits='64' id='type-id-428'/>
+    <pointer-type-def type-id='type-id-429' size-in-bits='64' id='type-id-430'/>
+    <typedef-decl name='eth_l2_tunnel_eth_type_conf_t' type-id='type-id-430' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='494' column='1' id='type-id-220'/>
+    <pointer-type-def type-id='type-id-431' size-in-bits='64' id='type-id-432'/>
+    <typedef-decl name='eth_l2_tunnel_offload_set_t' type-id='type-id-432' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='498' column='1' id='type-id-221'/>
+    <pointer-type-def type-id='type-id-433' size-in-bits='64' id='type-id-434'/>
+    <typedef-decl name='eth_set_queue_rate_limit_t' type-id='type-id-434' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='413' column='1' id='type-id-222'/>
+    <pointer-type-def type-id='type-id-122' size-in-bits='64' id='type-id-435'/>
+    <pointer-type-def type-id='type-id-436' size-in-bits='64' id='type-id-437'/>
+    <typedef-decl name='rss_hash_update_t' type-id='type-id-437' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='377' column='1' id='type-id-223'/>
+    <typedef-decl name='rss_hash_conf_get_t' type-id='type-id-437' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='381' column='1' id='type-id-224'/>
+    <class-decl name='rte_eth_rss_reta_entry64' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='684' column='1' id='type-id-438'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mask' type-id='type-id-13' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='685' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='reta' type-id='type-id-418' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='687' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-438' size-in-bits='64' id='type-id-439'/>
+    <pointer-type-def type-id='type-id-440' size-in-bits='64' id='type-id-441'/>
+    <typedef-decl name='reta_update_t' type-id='type-id-441' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='367' column='1' id='type-id-225'/>
+    <typedef-decl name='reta_query_t' type-id='type-id-441' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='372' column='1' id='type-id-226'/>
+    <class-decl name='rte_dev_reg_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='13' column='1' id='type-id-442'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-26' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='14' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offset' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='15' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='length' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='16' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='width' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='17' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='version' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='18' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-442' size-in-bits='64' id='type-id-443'/>
+    <pointer-type-def type-id='type-id-444' size-in-bits='64' id='type-id-445'/>
+    <typedef-decl name='eth_get_reg_t' type-id='type-id-445' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='471' column='1' id='type-id-227'/>
+    <typedef-decl name='eth_get_eeprom_length_t' type-id='type-id-253' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='475' column='1' id='type-id-228'/>
+    <class-decl name='rte_dev_eeprom_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='24' column='1' id='type-id-446'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-26' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='25' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offset' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='26' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='length' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='27' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='magic' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='28' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-446' size-in-bits='64' id='type-id-447'/>
+    <pointer-type-def type-id='type-id-448' size-in-bits='64' id='type-id-449'/>
+    <typedef-decl name='eth_get_eeprom_t' type-id='type-id-449' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='478' column='1' id='type-id-229'/>
+    <typedef-decl name='eth_set_eeprom_t' type-id='type-id-449' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='482' column='1' id='type-id-230'/>
+    <class-decl name='rte_eth_dev_module_info' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='34' column='1' id='type-id-450'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='eeprom_len' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-450' size-in-bits='64' id='type-id-451'/>
+    <pointer-type-def type-id='type-id-452' size-in-bits='64' id='type-id-453'/>
+    <typedef-decl name='eth_get_module_info_t' type-id='type-id-453' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='486' column='1' id='type-id-231'/>
+    <typedef-decl name='eth_get_module_eeprom_t' type-id='type-id-449' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='490' column='1' id='type-id-232'/>
+    <enum-decl name='rte_filter_type' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='28' column='1' id='type-id-454'>
+      <underlying-type type-id='type-id-120'/>
+      <enumerator name='RTE_ETH_FILTER_NONE' value='0'/>
+      <enumerator name='RTE_ETH_FILTER_MACVLAN' value='1'/>
+      <enumerator name='RTE_ETH_FILTER_ETHERTYPE' value='2'/>
+      <enumerator name='RTE_ETH_FILTER_FLEXIBLE' value='3'/>
+      <enumerator name='RTE_ETH_FILTER_SYN' value='4'/>
+      <enumerator name='RTE_ETH_FILTER_NTUPLE' value='5'/>
+      <enumerator name='RTE_ETH_FILTER_TUNNEL' value='6'/>
+      <enumerator name='RTE_ETH_FILTER_FDIR' value='7'/>
+      <enumerator name='RTE_ETH_FILTER_HASH' value='8'/>
+      <enumerator name='RTE_ETH_FILTER_L2_TUNNEL' value='9'/>
+      <enumerator name='RTE_ETH_FILTER_GENERIC' value='10'/>
+      <enumerator name='RTE_ETH_FILTER_MAX' value='11'/>
+    </enum-decl>
+    <enum-decl name='rte_filter_op' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='46' column='1' id='type-id-455'>
+      <underlying-type type-id='type-id-120'/>
+      <enumerator name='RTE_ETH_FILTER_NOP' value='0'/>
+      <enumerator name='RTE_ETH_FILTER_ADD' value='1'/>
+      <enumerator name='RTE_ETH_FILTER_UPDATE' value='2'/>
+      <enumerator name='RTE_ETH_FILTER_DELETE' value='3'/>
+      <enumerator name='RTE_ETH_FILTER_FLUSH' value='4'/>
+      <enumerator name='RTE_ETH_FILTER_GET' value='5'/>
+      <enumerator name='RTE_ETH_FILTER_SET' value='6'/>
+      <enumerator name='RTE_ETH_FILTER_INFO' value='7'/>
+      <enumerator name='RTE_ETH_FILTER_STATS' value='8'/>
+      <enumerator name='RTE_ETH_FILTER_OP_MAX' value='9'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-456' size-in-bits='64' id='type-id-457'/>
+    <typedef-decl name='eth_filter_ctrl_t' type-id='type-id-457' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='506' column='1' id='type-id-233'/>
+    <class-decl name='rte_eth_dcb_info' size-in-bits='16520' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1377' column='1' id='type-id-458'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1378' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='prio_tc' type-id='type-id-129' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1379' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='tc_bws' type-id='type-id-129' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1380' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='tc_queue' type-id='type-id-459' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1382' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dcb_tc_queue_mapping' size-in-bits='16384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1360' column='1' id='type-id-459'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tc_rxq' type-id='type-id-460' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1365' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8192'>
+        <var-decl name='tc_txq' type-id='type-id-460' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1370' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1362' column='1' id='type-id-461'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='base' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1363' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='nb_queue' type-id='type-id-104' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1364' column='1'/>
+      </data-member>
+    </class-decl>
+
+
+    <array-type-def dimensions='2' type-id='type-id-461' size-in-bits='1152' id='type-id-460'>
+      <subrange length='64' type-id='type-id-11' id='type-id-109'/>
+
+      <subrange length='8' type-id='type-id-11' id='type-id-131'/>
+
+    </array-type-def>
+
+
+    <pointer-type-def type-id='type-id-458' size-in-bits='64' id='type-id-462'/>
+    <pointer-type-def type-id='type-id-463' size-in-bits='64' id='type-id-464'/>
+    <typedef-decl name='eth_get_dcb_info' type-id='type-id-464' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='518' column='1' id='type-id-234'/>
+    <typedef-decl name='eth_timesync_enable_t' type-id='type-id-253' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='441' column='1' id='type-id-235'/>
+    <typedef-decl name='eth_timesync_disable_t' type-id='type-id-253' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='444' column='1' id='type-id-236'/>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='9' column='1' id='type-id-465'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tv_sec' type-id='type-id-466' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='11' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tv_nsec' type-id='type-id-467' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='long int' size-in-bits='64' id='type-id-468'/>
+    <typedef-decl name='__time_t' type-id='type-id-468' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-466'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-468' filepath='/usr/include/bits/types.h' line='196' column='1' id='type-id-467'/>
+    <pointer-type-def type-id='type-id-465' size-in-bits='64' id='type-id-469'/>
+    <pointer-type-def type-id='type-id-470' size-in-bits='64' id='type-id-471'/>
+    <typedef-decl name='eth_timesync_read_rx_timestamp_t' type-id='type-id-471' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='447' column='1' id='type-id-237'/>
+    <pointer-type-def type-id='type-id-472' size-in-bits='64' id='type-id-473'/>
+    <typedef-decl name='eth_timesync_read_tx_timestamp_t' type-id='type-id-473' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='452' column='1' id='type-id-238'/>
+    <typedef-decl name='__int64_t' type-id='type-id-468' filepath='/usr/include/bits/types.h' line='44' column='1' id='type-id-474'/>
+    <typedef-decl name='int64_t' type-id='type-id-474' filepath='/usr/include/bits/stdint-intn.h' line='27' column='1' id='type-id-475'/>
+    <pointer-type-def type-id='type-id-476' size-in-bits='64' id='type-id-477'/>
+    <typedef-decl name='eth_timesync_adjust_time' type-id='type-id-477' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='456' column='1' id='type-id-239'/>
+    <typedef-decl name='eth_timesync_read_time' type-id='type-id-473' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='459' column='1' id='type-id-240'/>
+    <qualified-type-def type-id='type-id-465' const='yes' id='type-id-478'/>
+    <pointer-type-def type-id='type-id-478' size-in-bits='64' id='type-id-479'/>
+    <pointer-type-def type-id='type-id-480' size-in-bits='64' id='type-id-481'/>
+    <typedef-decl name='eth_timesync_write_time' type-id='type-id-481' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='463' column='1' id='type-id-241'/>
+    <pointer-type-def type-id='type-id-13' size-in-bits='64' id='type-id-482'/>
+    <pointer-type-def type-id='type-id-483' size-in-bits='64' id='type-id-484'/>
+    <typedef-decl name='eth_read_clock' type-id='type-id-484' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='467' column='1' id='type-id-242'/>
+    <qualified-type-def type-id='type-id-13' const='yes' id='type-id-485'/>
+    <pointer-type-def type-id='type-id-485' size-in-bits='64' id='type-id-486'/>
+    <pointer-type-def type-id='type-id-487' size-in-bits='64' id='type-id-488'/>
+    <typedef-decl name='eth_xstats_get_by_id_t' type-id='type-id-488' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='188' column='1' id='type-id-243'/>
+    <pointer-type-def type-id='type-id-489' size-in-bits='64' id='type-id-490'/>
+    <typedef-decl name='eth_xstats_get_names_by_id_t' type-id='type-id-490' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='219' column='1' id='type-id-244'/>
+    <pointer-type-def type-id='type-id-491' size-in-bits='64' id='type-id-492'/>
+    <typedef-decl name='eth_tm_ops_get_t' type-id='type-id-492' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='512' column='1' id='type-id-245'/>
+    <typedef-decl name='eth_mtr_ops_get_t' type-id='type-id-492' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='515' column='1' id='type-id-246'/>
+    <pointer-type-def type-id='type-id-493' size-in-bits='64' id='type-id-494'/>
+    <typedef-decl name='eth_pool_ops_supported_t' type-id='type-id-494' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='522' column='1' id='type-id-247'/>
+    <class-decl name='rte_eth_hairpin_cap' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='861' column='1' id='type-id-495'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max_nb_queues' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='863' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='max_rx_2_tx' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_tx_2_rx' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='867' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='max_nb_desc' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='868' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-495' size-in-bits='64' id='type-id-496'/>
+    <pointer-type-def type-id='type-id-497' size-in-bits='64' id='type-id-498'/>
+    <typedef-decl name='eth_hairpin_cap_get_t' type-id='type-id-498' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='543' column='1' id='type-id-248'/>
+    <class-decl name='rte_eth_hairpin_conf' size-in-bits='1040' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='890' column='1' id='type-id-499'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='peer_count' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='891' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='peers' type-id='type-id-500' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='892' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_hairpin_peer' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='879' column='1' id='type-id-501'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='port' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='880' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='queue' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='881' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-501' size-in-bits='1024' id='type-id-500'>
+      <subrange length='32' type-id='type-id-11' id='type-id-59'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-499' const='yes' id='type-id-502'/>
+    <pointer-type-def type-id='type-id-502' size-in-bits='64' id='type-id-503'/>
+    <pointer-type-def type-id='type-id-504' size-in-bits='64' id='type-id-505'/>
+    <typedef-decl name='eth_rx_hairpin_queue_setup_t' type-id='type-id-505' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='571' column='1' id='type-id-249'/>
+    <typedef-decl name='eth_tx_hairpin_queue_setup_t' type-id='type-id-505' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='601' column='1' id='type-id-250'/>
+    <qualified-type-def type-id='type-id-160' const='yes' id='type-id-506'/>
+    <pointer-type-def type-id='type-id-506' size-in-bits='64' id='type-id-27'/>
+    <class-decl name='rte_intr_handle' size-in-bits='213248' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='69' column='1' id='type-id-507'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-508' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-10' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-509' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='max_intr' type-id='type-id-40' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='nb_efd' type-id='type-id-40' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='efd_counter_size' type-id='type-id-104' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='efds' type-id='type-id-510' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16576'>
+        <var-decl name='elist' type-id='type-id-511' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='213184'>
+        <var-decl name='intr_vec' type-id='type-id-512' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='71' column='1' id='type-id-508'>
+      <data-member access='private'>
+        <var-decl name='vfio_dev_fd' type-id='type-id-10' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='uio_cfg_fd' type-id='type-id-10' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='73' column='1'/>
+      </data-member>
+    </union-decl>
+    <enum-decl name='rte_intr_handle_type' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='27' column='1' id='type-id-509'>
+      <underlying-type type-id='type-id-120'/>
+      <enumerator name='RTE_INTR_HANDLE_UNKNOWN' value='0'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO' value='1'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO_INTX' value='2'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_LEGACY' value='3'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSI' value='4'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSIX' value='5'/>
+      <enumerator name='RTE_INTR_HANDLE_ALARM' value='6'/>
+      <enumerator name='RTE_INTR_HANDLE_EXT' value='7'/>
+      <enumerator name='RTE_INTR_HANDLE_VDEV' value='8'/>
+      <enumerator name='RTE_INTR_HANDLE_DEV_EVENT' value='9'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_REQ' value='10'/>
+      <enumerator name='RTE_INTR_HANDLE_MAX' value='11'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='16384' id='type-id-510'>
+      <subrange length='512' type-id='type-id-11' id='type-id-513'/>
+
+    </array-type-def>
+    <class-decl name='rte_epoll_event' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='61' column='1' id='type-id-514'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='status' type-id='type-id-515' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-10' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='epfd' type-id='type-id-10' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='epdata' type-id='type-id-516' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-40' volatile='yes' id='type-id-515'/>
+    <class-decl name='rte_epoll_data' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='47' column='1' id='type-id-516'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event' type-id='type-id-40' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='data' type-id='type-id-26' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cb_fun' type-id='type-id-517' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='cb_arg' type-id='type-id-26' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='51' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-518' size-in-bits='64' id='type-id-519'/>
+    <typedef-decl name='rte_intr_event_cb_t' type-id='type-id-519' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='45' column='1' id='type-id-517'/>
+
+    <array-type-def dimensions='1' type-id='type-id-514' size-in-bits='196608' id='type-id-511'>
+      <subrange length='512' type-id='type-id-11' id='type-id-513'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-512'/>
+    <pointer-type-def type-id='type-id-507' size-in-bits='64' id='type-id-29'/>
+    <class-decl name='rte_eth_dev_cb_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1' id='type-id-30'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-520' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-521' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_callback' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-522'/>
+    <pointer-type-def type-id='type-id-522' size-in-bits='64' id='type-id-520'/>
+    <pointer-type-def type-id='type-id-520' size-in-bits='64' id='type-id-521'/>
+    <class-decl name='rte_eth_rxtx_callback' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='758' column='1' id='type-id-523'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-524' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='759' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fn' type-id='type-id-525' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='763' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='param' type-id='type-id-26' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='764' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-523' size-in-bits='64' id='type-id-524'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='760' column='1' id='type-id-525'>
+      <data-member access='private'>
+        <var-decl name='rx' type-id='type-id-526' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='761' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='tx' type-id='type-id-527' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='762' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-528' size-in-bits='64' id='type-id-529'/>
+    <typedef-decl name='rte_rx_callback_fn' type-id='type-id-529' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1437' column='1' id='type-id-526'/>
+    <pointer-type-def type-id='type-id-530' size-in-bits='64' id='type-id-531'/>
+    <typedef-decl name='rte_tx_callback_fn' type-id='type-id-531' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1461' column='1' id='type-id-527'/>
+
+    <array-type-def dimensions='1' type-id='type-id-524' size-in-bits='65536' id='type-id-31'>
+      <subrange length='1024' type-id='type-id-11' id='type-id-158'/>
+
+    </array-type-def>
+    <enum-decl name='rte_eth_dev_state' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1467' column='1' id='type-id-32'>
+      <underlying-type type-id='type-id-120'/>
+      <enumerator name='RTE_ETH_DEV_UNUSED' value='0'/>
+      <enumerator name='RTE_ETH_DEV_ATTACHED' value='1'/>
+      <enumerator name='RTE_ETH_DEV_REMOVED' value='2'/>
+    </enum-decl>
+    <class-decl name='rte_flow_attr' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='75' column='1' id='type-id-532'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='group' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='priority' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='ingress' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='egress' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='transfer' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='98' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='reserved' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='99' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-532' const='yes' id='type-id-533'/>
+    <pointer-type-def type-id='type-id-533' size-in-bits='64' id='type-id-534'/>
+    <class-decl name='rte_flow_item' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1517' column='1' id='type-id-535'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-536' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1518' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='spec' type-id='type-id-26' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1519' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='last' type-id='type-id-26' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='mask' type-id='type-id-26' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1521' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_item_type' filepath='../lib/librte_ethdev/rte_flow.h' line='118' column='1' id='type-id-536'>
+      <underlying-type type-id='type-id-120'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_END' value='0'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VOID' value='1'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_INVERT' value='2'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ANY' value='3'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PF' value='4'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VF' value='5'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PHY_PORT' value='6'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PORT_ID' value='7'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_RAW' value='8'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ETH' value='9'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VLAN' value='10'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV4' value='11'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV6' value='12'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP' value='13'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_UDP' value='14'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_TCP' value='15'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_SCTP' value='16'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VXLAN' value='17'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_E_TAG' value='18'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_NVGRE' value='19'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_MPLS' value='20'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GRE' value='21'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_FUZZY' value='22'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTP' value='23'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTPC' value='24'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTPU' value='25'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ESP' value='26'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GENEVE' value='27'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VXLAN_GPE' value='28'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ARP_ETH_IPV4' value='29'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV6_EXT' value='30'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6' value='31'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_NS' value='32'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_NA' value='33'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT' value='34'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT_SLA_ETH' value='35'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT_TLA_ETH' value='36'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_MARK' value='37'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_META' value='38'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GRE_KEY' value='39'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTP_PSC' value='40'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOES' value='41'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOED' value='42'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOE_PROTO_ID' value='43'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_NSH' value='44'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IGMP' value='45'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_AH' value='46'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_HIGIG2' value='47'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_TAG' value='48'/>
+    </enum-decl>
+    <qualified-type-def type-id='type-id-535' const='yes' id='type-id-537'/>
+    <pointer-type-def type-id='type-id-537' size-in-bits='64' id='type-id-538'/>
+    <class-decl name='rte_flow_action' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2568' column='1' id='type-id-539'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-540' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2569' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='conf' type-id='type-id-26' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2570' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_action_type' filepath='../lib/librte_ethdev/rte_flow.h' line='1550' column='1' id='type-id-540'>
+      <underlying-type type-id='type-id-120'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_END' value='0'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VOID' value='1'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PASSTHRU' value='2'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_JUMP' value='3'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_MARK' value='4'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_FLAG' value='5'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_QUEUE' value='6'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DROP' value='7'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_COUNT' value='8'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RSS' value='9'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PF' value='10'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VF' value='11'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PHY_PORT' value='12'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PORT_ID' value='13'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_METER' value='14'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SECURITY' value='15'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_MPLS_TTL' value='16'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_DEC_MPLS_TTL' value='17'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_NW_TTL' value='18'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_DEC_NW_TTL' value='19'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_OUT' value='20'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_IN' value='21'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_POP_VLAN' value='22'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_PUSH_VLAN' value='23'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_VID' value='24'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_PCP' value='25'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_POP_MPLS' value='26'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_PUSH_MPLS' value='27'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VXLAN_ENCAP' value='28'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VXLAN_DECAP' value='29'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_NVGRE_ENCAP' value='30'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_NVGRE_DECAP' value='31'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RAW_ENCAP' value='32'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RAW_DECAP' value='33'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV4_SRC' value='34'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV4_DST' value='35'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV6_SRC' value='36'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV6_DST' value='37'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TP_SRC' value='38'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TP_DST' value='39'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_MAC_SWAP' value='40'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TTL' value='41'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TTL' value='42'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_MAC_SRC' value='43'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_MAC_DST' value='44'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_INC_TCP_SEQ' value='45'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TCP_SEQ' value='46'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_INC_TCP_ACK' value='47'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TCP_ACK' value='48'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TAG' value='49'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_META' value='50'/>
+    </enum-decl>
+    <qualified-type-def type-id='type-id-539' const='yes' id='type-id-541'/>
+    <pointer-type-def type-id='type-id-541' size-in-bits='64' id='type-id-542'/>
+    <class-decl name='rte_flow_error' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2618' column='1' id='type-id-543'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-544' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2619' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='cause' type-id='type-id-26' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2620' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='message' type-id='type-id-284' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2621' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_error_type' filepath='../lib/librte_ethdev/rte_flow.h' line='2587' column='1' id='type-id-544'>
+      <underlying-type type-id='type-id-120'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_UNSPECIFIED' value='1'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_HANDLE' value='2'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_GROUP' value='3'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_PRIORITY' value='4'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_INGRESS' value='5'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_EGRESS' value='6'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_TRANSFER' value='7'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR' value='8'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_NUM' value='9'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_SPEC' value='10'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_LAST' value='11'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_MASK' value='12'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM' value='13'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION_NUM' value='14'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION_CONF' value='15'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION' value='16'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-543' size-in-bits='64' id='type-id-545'/>
+    <pointer-type-def type-id='type-id-546' size-in-bits='64' id='type-id-15'/>
+    <class-decl name='rte_flow' size-in-bits='256' is-struct='yes' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='454' column='1' id='type-id-547'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='node' type-id='type-id-548' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='455' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='engine' type-id='type-id-549' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='456' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='rule' type-id='type-id-26' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='457' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='455' column='1' id='type-id-548'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-550' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='455' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-551' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='455' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-547' size-in-bits='64' id='type-id-550'/>
+    <pointer-type-def type-id='type-id-550' size-in-bits='64' id='type-id-551'/>
+    <class-decl name='ice_flow_engine' size-in-bits='576' is-struct='yes' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='441' column='1' id='type-id-552'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='node' type-id='type-id-553' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='442' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='init' type-id='type-id-554' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='443' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='uninit' type-id='type-id-555' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='444' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='create' type-id='type-id-556' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='445' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='destroy' type-id='type-id-557' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='446' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='query_count' type-id='type-id-558' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='447' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='free' type-id='type-id-559' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='448' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='type' type-id='type-id-560' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='449' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='442' column='1' id='type-id-553'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-549' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='442' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-561' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='442' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-552' size-in-bits='64' id='type-id-549'/>
+    <pointer-type-def type-id='type-id-549' size-in-bits='64' id='type-id-561'/>
+    <class-decl name='ice_adapter' size-in-bits='149504' is-struct='yes' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='401' column='1' id='type-id-562'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='hw' type-id='type-id-563' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='403' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='79296'>
+        <var-decl name='eth_dev' type-id='type-id-251' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='404' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='79360'>
+        <var-decl name='pf' type-id='type-id-564' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='405' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='99648'>
+        <var-decl name='rx_bulk_alloc_allowed' type-id='type-id-565' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='406' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='99656'>
+        <var-decl name='rx_vec_allowed' type-id='type-id-565' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='407' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='99664'>
+        <var-decl name='tx_vec_allowed' type-id='type-id-565' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='408' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='99672'>
+        <var-decl name='tx_simple_allowed' type-id='type-id-565' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='409' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='99840'>
+        <var-decl name='ptype_tbl' type-id='type-id-566' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='411' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='132608'>
+        <var-decl name='is_safe_mode' type-id='type-id-565' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='412' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='132640'>
+        <var-decl name='devargs' type-id='type-id-567' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='413' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='149152'>
+        <var-decl name='active_pkg_type' type-id='type-id-568' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='414' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_hw' size-in-bits='79296' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='739' column='1' id='type-id-563'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='hw_addr' type-id='type-id-569' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='740' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='back' type-id='type-id-26' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='741' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='layer_info' type-id='type-id-570' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='742' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='port_info' type-id='type-id-571' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='743' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cir_profiles' type-id='type-id-572' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='745' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='eir_profiles' type-id='type-id-572' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='746' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='srl_profiles' type-id='type-id-572' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='debug_mask' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='748' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='mac_type' type-id='type-id-574' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='749' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='fd_ctr_base' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='751' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='560'>
+        <var-decl name='device_id' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='vendor_id' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='754' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='592'>
+        <var-decl name='subsystem_device_id' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='755' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='subsystem_vendor_id' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='756' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='624'>
+        <var-decl name='revision_id' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='757' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='632'>
+        <var-decl name='pf_id' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='759' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='max_burst_size' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='761' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='656'>
+        <var-decl name='num_tx_sched_layers' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='764' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='num_tx_sched_phys_layers' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='765' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='688'>
+        <var-decl name='flattened_layers' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='766' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='696'>
+        <var-decl name='max_cgds' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='767' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='sw_entry_point_layer' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='768' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='720'>
+        <var-decl name='max_children' type-id='type-id-576' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='769' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='agg_list' type-id='type-id-577' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='770' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='vsi_ctx' type-id='type-id-578' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='771' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50112'>
+        <var-decl name='evb_veb' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='772' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50120'>
+        <var-decl name='reset_ongoing' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='773' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50144'>
+        <var-decl name='bus' type-id='type-id-579' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='774' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50304'>
+        <var-decl name='nvm' type-id='type-id-580' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='775' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50432'>
+        <var-decl name='dev_caps' type-id='type-id-581' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='776' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='51520'>
+        <var-decl name='func_caps' type-id='type-id-582' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='777' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='52608'>
+        <var-decl name='switch_info' type-id='type-id-583' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='52672'>
+        <var-decl name='adminq' type-id='type-id-584' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='782' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='54464'>
+        <var-decl name='mailboxq' type-id='type-id-584' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='783' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56256'>
+        <var-decl name='api_branch' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='785' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56264'>
+        <var-decl name='api_maj_ver' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='786' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56272'>
+        <var-decl name='api_min_ver' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='787' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56280'>
+        <var-decl name='api_patch' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='788' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56288'>
+        <var-decl name='fw_branch' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='789' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56296'>
+        <var-decl name='fw_maj_ver' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='790' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56304'>
+        <var-decl name='fw_min_ver' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='791' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56312'>
+        <var-decl name='fw_patch' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='792' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56320'>
+        <var-decl name='fw_build' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='793' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56352'>
+        <var-decl name='itr_gran' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='807' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56360'>
+        <var-decl name='intrl_gran' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='812' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56368'>
+        <var-decl name='ucast_shared' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='814' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56376'>
+        <var-decl name='active_pkg_ver' type-id='type-id-586' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='817' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56408'>
+        <var-decl name='active_pkg_name' type-id='type-id-587' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='818' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56664'>
+        <var-decl name='active_pkg_in_nvm' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='819' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56672'>
+        <var-decl name='pkg_dwnld_status' type-id='type-id-588' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='821' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56704'>
+        <var-decl name='pkg_ver' type-id='type-id-586' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='824' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56736'>
+        <var-decl name='pkg_name' type-id='type-id-587' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='825' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56992'>
+        <var-decl name='ice_pkg_ver' type-id='type-id-586' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='57024'>
+        <var-decl name='ice_pkg_name' type-id='type-id-587' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='829' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='57280'>
+        <var-decl name='seg' type-id='type-id-589' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='832' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='57344'>
+        <var-decl name='pkg_copy' type-id='type-id-569' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='835' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='57408'>
+        <var-decl name='pkg_size' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='836' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='57472'>
+        <var-decl name='tnl' type-id='type-id-590' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='839' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='60608'>
+        <var-decl name='blk' type-id='type-id-591' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='842' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='78208'>
+        <var-decl name='fl_profs_locks' type-id='type-id-592' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='843' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='78400'>
+        <var-decl name='fl_profs' type-id='type-id-593' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='844' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='78720'>
+        <var-decl name='fdir_active_fltr' type-id='type-id-10' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='846' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='78752'>
+        <var-decl name='fdir_fltr_lock' type-id='type-id-594' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='848' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='78784'>
+        <var-decl name='fdir_list_head' type-id='type-id-577' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='849' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='78848'>
+        <var-decl name='fdir_fltr_cnt' type-id='type-id-595' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='855' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='79104'>
+        <var-decl name='fdir_prof' type-id='type-id-596' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='857' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='79168'>
+        <var-decl name='fdir_perfect_fltr' type-id='type-id-597' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='858' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='79200'>
+        <var-decl name='rss_locks' type-id='type-id-594' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='859' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='79232'>
+        <var-decl name='rss_list_head' type-id='type-id-577' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='860' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='u8' type-id='type-id-104' filepath='../drivers/net/ice/base/ice_osdep.h' line='32' column='1' id='type-id-575'/>
+    <pointer-type-def type-id='type-id-575' size-in-bits='64' id='type-id-569'/>
+    <class-decl name='ice_aqc_layer_props' size-in-bits='256' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='1201' column='1' id='type-id-598'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='logical_layer' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='1202' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='chunk_size' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='1203' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='max_device_nodes' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='1204' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_pf_nodes' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='1205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='rsvd0' type-id='type-id-599' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='1206' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='max_sibl_grp_sz' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='1207' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='max_cir_rl_profiles' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='1208' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='112'>
+        <var-decl name='max_eir_rl_profiles' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='1209' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='max_srl_profiles' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='1210' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='rsvd1' type-id='type-id-600' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='1211' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-575' size-in-bits='32' id='type-id-599'>
+      <subrange length='4' type-id='type-id-11' id='type-id-144'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-575' size-in-bits='112' id='type-id-600'>
+      <subrange length='14' type-id='type-id-11' id='type-id-601'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-598' size-in-bits='64' id='type-id-570'/>
+    <class-decl name='ice_port_info' size-in-bits='13440' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='696' column='1' id='type-id-602'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='root' type-id='type-id-603' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='697' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='hw' type-id='type-id-604' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='698' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='last_node_teid' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='699' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='sw_id' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='700' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='pf_vf_num' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='701' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='port_state' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='702' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='200'>
+        <var-decl name='lport' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='705' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='208'>
+        <var-decl name='dflt_tx_vsi_rule_id' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='707' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='dflt_tx_vsi_num' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='708' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='240'>
+        <var-decl name='dflt_rx_vsi_rule_id' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='709' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dflt_rx_vsi_num' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='710' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='fc' type-id='type-id-605' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='711' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='mac' type-id='type-id-606' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='712' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='phy' type-id='type-id-607' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='sched_lock' type-id='type-id-594' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='714' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='sib_head' type-id='type-id-608' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='716' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6336'>
+        <var-decl name='rl_prof_list' type-id='type-id-609' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='718' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6912'>
+        <var-decl name='tc_node_bw_t_info' type-id='type-id-610' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8704'>
+        <var-decl name='local_dcbx_cfg' type-id='type-id-611' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='720' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='10272'>
+        <var-decl name='remote_dcbx_cfg' type-id='type-id-611' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='722' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='11840'>
+        <var-decl name='desired_dcbx_cfg' type-id='type-id-611' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='723' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='dcbx_status' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4'>
+        <var-decl name='is_sw_lldp' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='726' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3'>
+        <var-decl name='is_vf' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='727' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_sched_node' size-in-bits='512' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='501' column='1' id='type-id-612'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='parent' type-id='type-id-603' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='502' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='sibling' type-id='type-id-603' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='503' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='children' type-id='type-id-613' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='504' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='info' type-id='type-id-614' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='505' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='agg_id' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='506' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vsi_handle' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='507' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='in_use' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='508' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='440'>
+        <var-decl name='tx_sched_layer' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='509' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='num_children' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='510' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='456'>
+        <var-decl name='tc_num' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='511' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='owner' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='512' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-612' size-in-bits='64' id='type-id-603'/>
+    <pointer-type-def type-id='type-id-603' size-in-bits='64' id='type-id-613'/>
+    <class-decl name='ice_aqc_txsched_elem_data' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='1059' column='1' id='type-id-614'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='parent_teid' type-id='type-id-40' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='1060' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='node_teid' type-id='type-id-40' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='1061' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='data' type-id='type-id-615' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='1062' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_aqc_txsched_elem' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='1028' column='1' id='type-id-615'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='elem_type' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='1029' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='valid_sections' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='1037' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='generic' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='1042' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='flags' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='1051' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='cir_bw' type-id='type-id-616' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='1053' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='eir_bw' type-id='type-id-616' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='1054' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='srl_id' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='1055' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='112'>
+        <var-decl name='reserved2' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='1056' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_aqc_elem_info_bw' size-in-bits='32' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='1023' column='1' id='type-id-616'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='bw_profile_idx' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='1024' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='bw_alloc' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='1025' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='u32' type-id='type-id-40' filepath='../drivers/net/ice/base/ice_osdep.h' line='36' column='1' id='type-id-585'/>
+    <pointer-type-def type-id='type-id-563' size-in-bits='64' id='type-id-604'/>
+    <class-decl name='ice_fc_info' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='473' column='1' id='type-id-605'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='current_mode' type-id='type-id-617' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='474' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='req_mode' type-id='type-id-617' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='475' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='ice_fc_mode' filepath='../drivers/net/ice/base/ice_type.h' line='167' column='1' id='type-id-617'>
+      <underlying-type type-id='type-id-120'/>
+      <enumerator name='ICE_FC_NONE' value='0'/>
+      <enumerator name='ICE_FC_RX_PAUSE' value='1'/>
+      <enumerator name='ICE_FC_TX_PAUSE' value='2'/>
+      <enumerator name='ICE_FC_FULL' value='3'/>
+      <enumerator name='ICE_FC_PFC' value='4'/>
+      <enumerator name='ICE_FC_DFLT' value='5'/>
+    </enum-decl>
+    <class-decl name='ice_mac_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='410' column='1' id='type-id-606'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='lan_addr' type-id='type-id-618' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='411' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='perm_addr' type-id='type-id-618' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='412' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='port_addr' type-id='type-id-618' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='413' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='wol_addr' type-id='type-id-618' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='414' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-575' size-in-bits='48' id='type-id-618'>
+      <subrange length='6' type-id='type-id-11' id='type-id-156'/>
+
+    </array-type-def>
+    <class-decl name='ice_phy_info' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='265' column='1' id='type-id-607'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_info' type-id='type-id-619' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='266' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='link_info_old' type-id='type-id-619' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='267' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='phy_type_low' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='268' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='phy_type_high' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='269' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='media_type' type-id='type-id-620' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='270' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='get_link_info' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='271' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='816'>
+        <var-decl name='curr_user_speed_req' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='275' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='curr_user_fec_req' type-id='type-id-621' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='276' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='864'>
+        <var-decl name='curr_user_fc_req' type-id='type-id-617' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='277' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='curr_user_phy_cfg' type-id='type-id-622' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='278' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_link_status' size-in-bits='320' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='227' column='1' id='type-id-619'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='phy_type_low' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='phy_type_high' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='topo_media_conflict' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='max_frame_size' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='link_speed' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='req_speeds' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='234' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='lse_ena' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='235' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='200'>
+        <var-decl name='link_info' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='208'>
+        <var-decl name='an_info' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='216'>
+        <var-decl name='ext_info' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='fec_info' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='239' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='232'>
+        <var-decl name='pacing' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='240'>
+        <var-decl name='module_type' type-id='type-id-623' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='244' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='u64' type-id='type-id-13' filepath='../drivers/net/ice/base/ice_osdep.h' line='38' column='1' id='type-id-573'/>
+
+    <array-type-def dimensions='1' type-id='type-id-575' size-in-bits='24' id='type-id-623'>
+      <subrange length='3' type-id='type-id-11' id='type-id-624'/>
+
+    </array-type-def>
+    <enum-decl name='ice_media_type' filepath='../drivers/net/ice/base/ice_type.h' line='212' column='1' id='type-id-620'>
+      <underlying-type type-id='type-id-120'/>
+      <enumerator name='ICE_MEDIA_UNKNOWN' value='0'/>
+      <enumerator name='ICE_MEDIA_FIBER' value='1'/>
+      <enumerator name='ICE_MEDIA_BASET' value='2'/>
+      <enumerator name='ICE_MEDIA_BACKPLANE' value='3'/>
+      <enumerator name='ICE_MEDIA_DA' value='4'/>
+    </enum-decl>
+    <enum-decl name='ice_fec_mode' filepath='../drivers/net/ice/base/ice_type.h' line='182' column='1' id='type-id-621'>
+      <underlying-type type-id='type-id-120'/>
+      <enumerator name='ICE_FEC_NONE' value='0'/>
+      <enumerator name='ICE_FEC_RS' value='1'/>
+      <enumerator name='ICE_FEC_BASER' value='2'/>
+      <enumerator name='ICE_FEC_AUTO' value='3'/>
+    </enum-decl>
+    <class-decl name='ice_aqc_set_phy_cfg_data' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='1403' column='1' id='type-id-622'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='phy_type_low' type-id='type-id-13' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='1404' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='phy_type_high' type-id='type-id-13' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='1405' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='caps' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='1406' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='low_power_ctrl' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='1415' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='eee_cap' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='1416' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='eeer_value' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='1417' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='link_fec_opt' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='1418' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='184'>
+        <var-decl name='rsvd1' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='1419' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_lock' size-in-bits='32' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_osdep.h' line='197' column='1' id='type-id-594'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='spinlock' type-id='type-id-625' visibility='default' filepath='../drivers/net/ice/base/ice_osdep.h' line='198' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-625' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_spinlock.h' line='30' column='1' id='type-id-626'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='locked' type-id='type-id-627' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_spinlock.h' line='31' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-10' volatile='yes' id='type-id-627'/>
+    <typedef-decl name='rte_spinlock_t' type-id='type-id-626' filepath='../lib/librte_eal/common/include/generic/rte_spinlock.h' line='32' column='1' id='type-id-625'/>
+
+
+    <array-type-def dimensions='2' type-id='type-id-603' size-in-bits='1088' id='type-id-608'>
+      <subrange length='8' type-id='type-id-11' id='type-id-131'/>
+
+      <subrange length='9' type-id='type-id-11' id='type-id-628'/>
+
+    </array-type-def>
+    <class-decl name='ice_list_head' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_osdep.h' line='305' column='1' id='type-id-577'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='lh_first' type-id='type-id-629' visibility='default' filepath='../drivers/net/ice/base/ice_osdep.h' line='305' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_list_entry' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_osdep.h' line='301' column='1' id='type-id-630'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-631' visibility='default' filepath='../drivers/net/ice/base/ice_osdep.h' line='302' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/ice/base/ice_osdep.h' line='302' column='1' id='type-id-631'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='le_next' type-id='type-id-629' visibility='default' filepath='../drivers/net/ice/base/ice_osdep.h' line='302' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='le_prev' type-id='type-id-632' visibility='default' filepath='../drivers/net/ice/base/ice_osdep.h' line='302' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-630' size-in-bits='64' id='type-id-629'/>
+    <pointer-type-def type-id='type-id-629' size-in-bits='64' id='type-id-632'/>
+
+    <array-type-def dimensions='1' type-id='type-id-577' size-in-bits='576' id='type-id-609'>
+      <subrange length='9' type-id='type-id-11' id='type-id-628'/>
+
+    </array-type-def>
+    <class-decl name='ice_bw_type_info' size-in-bits='224' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='618' column='1' id='type-id-633'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='bw_t_bitmap' type-id='type-id-597' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='619' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='generic' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='620' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='cir_bw' type-id='type-id-634' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='eir_bw' type-id='type-id-634' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='shared_bw' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='623' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='ice_bitmap_t' type-id='type-id-585' filepath='../drivers/net/ice/base/ice_bitops.h' line='9' column='1' id='type-id-635'/>
+
+    <array-type-def dimensions='1' type-id='type-id-635' size-in-bits='32' id='type-id-597'>
+      <subrange length='1' type-id='type-id-11' id='type-id-636'/>
+
+    </array-type-def>
+    <class-decl name='ice_bw' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='613' column='1' id='type-id-634'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='bw' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='614' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='bw_alloc' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='615' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-633' size-in-bits='1792' id='type-id-610'>
+      <subrange length='8' type-id='type-id-11' id='type-id-131'/>
+
+    </array-type-def>
+    <class-decl name='ice_dcbx_cfg' size-in-bits='1568' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='682' column='1' id='type-id-611'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='numapps' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='683' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tlv_status' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='684' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='etscfg' type-id='type-id-637' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='685' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='280'>
+        <var-decl name='etsrec' type-id='type-id-637' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='686' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='496'>
+        <var-decl name='pfc' type-id='type-id-638' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='687' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='528'>
+        <var-decl name='app' type-id='type-id-639' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='688' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1552'>
+        <var-decl name='dcbx_mode' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='689' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1560'>
+        <var-decl name='app_mode' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_dcb_ets_cfg' size-in-bits='216' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='644' column='1' id='type-id-637'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='willing' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='645' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='cbs' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='646' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='maxtcs' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='647' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='prio_table' type-id='type-id-640' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='648' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='88'>
+        <var-decl name='tcbwtable' type-id='type-id-640' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='649' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='152'>
+        <var-decl name='tsatable' type-id='type-id-640' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='650' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-575' size-in-bits='64' id='type-id-640'>
+      <subrange length='8' type-id='type-id-11' id='type-id-131'/>
+
+    </array-type-def>
+    <class-decl name='ice_dcb_pfc_cfg' size-in-bits='32' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='654' column='1' id='type-id-638'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='willing' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='655' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='mbc' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='656' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='pfccap' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='657' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='pfcena' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='658' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_dcb_app_priority_table' size-in-bits='32' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='662' column='1' id='type-id-641'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='prot_id' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='663' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='priority' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='664' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='selector' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='665' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-641' size-in-bits='1024' id='type-id-639'>
+      <subrange length='32' type-id='type-id-11' id='type-id-59'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-602' size-in-bits='64' id='type-id-571'/>
+    <class-decl name='ice_sched_rl_profile' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-642'/>
+    <pointer-type-def type-id='type-id-642' size-in-bits='64' id='type-id-643'/>
+    <pointer-type-def type-id='type-id-643' size-in-bits='64' id='type-id-572'/>
+    <enum-decl name='ice_mac_type' filepath='../drivers/net/ice/base/ice_type.h' line='206' column='1' id='type-id-574'>
+      <underlying-type type-id='type-id-120'/>
+      <enumerator name='ICE_MAC_UNKNOWN' value='0'/>
+      <enumerator name='ICE_MAC_GENERIC' value='1'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='144' id='type-id-576'>
+      <subrange length='9' type-id='type-id-11' id='type-id-628'/>
+
+    </array-type-def>
+    <class-decl name='ice_vsi_ctx' size-in-bits='4736' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_switch.h' line='27' column='1' id='type-id-644'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vsi_num' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_switch.h' line='28' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='vsis_allocd' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_switch.h' line='29' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='vsis_unallocated' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_switch.h' line='30' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='flags' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_switch.h' line='31' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='info' type-id='type-id-645' visibility='default' filepath='../drivers/net/ice/base/ice_switch.h' line='32' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='sched' type-id='type-id-646' visibility='default' filepath='../drivers/net/ice/base/ice_switch.h' line='33' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4032'>
+        <var-decl name='alloc_from_pool' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_switch.h' line='34' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4048'>
+        <var-decl name='num_lan_q_entries' type-id='type-id-647' visibility='default' filepath='../drivers/net/ice/base/ice_switch.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4224'>
+        <var-decl name='lan_q_ctx' type-id='type-id-648' visibility='default' filepath='../drivers/net/ice/base/ice_switch.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_aqc_vsi_props' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='411' column='1' id='type-id-645'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='valid_sections' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='412' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='sw_id' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='425' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='sw_flags' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='426' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='sw_flags2' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='430' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='veb_stat_id' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='436' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='sec_flags' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='441' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='sec_reserved' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='447' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pvid' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='pvlan_reserved' type-id='type-id-649' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='vlan_flags' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='451' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='104'>
+        <var-decl name='pvlan_reserved2' type-id='type-id-623' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='464' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ingress_table' type-id='type-id-40' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='466' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='egress_table' type-id='type-id-40' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='outer_tag' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='485' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='208'>
+        <var-decl name='outer_tag_flags' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='486' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='216'>
+        <var-decl name='outer_tag_reserved' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='500' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='mapping_flags' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='502' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='240'>
+        <var-decl name='q_mapping' type-id='type-id-149' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='505' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='496'>
+        <var-decl name='tc_mapping' type-id='type-id-650' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='508' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='624'>
+        <var-decl name='q_opt_rss' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='514' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='632'>
+        <var-decl name='q_opt_tc' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='528' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='q_opt_flags' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='532' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='648'>
+        <var-decl name='q_opt_reserved' type-id='type-id-623' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='534' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='outer_up_table' type-id='type-id-40' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='536' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='sect_10_reserved' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='538' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='720'>
+        <var-decl name='fd_options' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='540' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='736'>
+        <var-decl name='max_fd_fltr_dedicated' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='544' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='752'>
+        <var-decl name='max_fd_fltr_shared' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='545' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='fd_def_q' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='546' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='fd_report_opt' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='551' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='pasid_id' type-id='type-id-40' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='558' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='reserved' type-id='type-id-651' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='562' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-575' size-in-bits='16' id='type-id-649'>
+      <subrange length='2' type-id='type-id-11' id='type-id-92'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-5' size-in-bits='128' id='type-id-650'>
+      <subrange length='8' type-id='type-id-11' id='type-id-131'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-575' size-in-bits='192' id='type-id-651'>
+      <subrange length='24' type-id='type-id-11' id='type-id-153'/>
+
+    </array-type-def>
+    <class-decl name='ice_sched_vsi_info' size-in-bits='2944' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='635' column='1' id='type-id-646'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vsi_node' type-id='type-id-652' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='636' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='ag_node' type-id='type-id-652' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='637' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='max_lanq' type-id='type-id-647' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='638' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='bw_t_info' type-id='type-id-610' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='640' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-603' size-in-bits='512' id='type-id-652'>
+      <subrange length='8' type-id='type-id-11' id='type-id-131'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='128' id='type-id-647'>
+      <subrange length='8' type-id='type-id-11' id='type-id-131'/>
+
+    </array-type-def>
+    <class-decl name='ice_q_ctx' size-in-bits='288' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='627' column='1' id='type-id-653'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='q_handle' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='628' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='q_teid' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='629' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bw_t_info' type-id='type-id-633' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='631' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-653' size-in-bits='64' id='type-id-654'/>
+
+    <array-type-def dimensions='1' type-id='type-id-654' size-in-bits='512' id='type-id-648'>
+      <subrange length='8' type-id='type-id-11' id='type-id-131'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-644' size-in-bits='64' id='type-id-655'/>
+
+    <array-type-def dimensions='1' type-id='type-id-655' size-in-bits='49152' id='type-id-578'>
+      <subrange length='768' type-id='type-id-11' id='type-id-656'/>
+
+    </array-type-def>
+    <class-decl name='ice_bus_info' size-in-bits='160' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='462' column='1' id='type-id-579'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='speed' type-id='type-id-657' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='463' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='width' type-id='type-id-658' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='464' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-659' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='465' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='domain_num' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='466' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='112'>
+        <var-decl name='device' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='467' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='func' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='468' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='bus_num' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='469' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='ice_pcie_bus_speed' filepath='../drivers/net/ice/base/ice_type.h' line='426' column='1' id='type-id-657'>
+      <underlying-type type-id='type-id-120'/>
+      <enumerator name='ice_pcie_speed_unknown' value='255'/>
+      <enumerator name='ice_pcie_speed_2_5GT' value='20'/>
+      <enumerator name='ice_pcie_speed_5_0GT' value='21'/>
+      <enumerator name='ice_pcie_speed_8_0GT' value='22'/>
+      <enumerator name='ice_pcie_speed_16_0GT' value='23'/>
+    </enum-decl>
+    <enum-decl name='ice_pcie_link_width' filepath='../drivers/net/ice/base/ice_type.h' line='435' column='1' id='type-id-658'>
+      <underlying-type type-id='type-id-120'/>
+      <enumerator name='ice_pcie_lnk_width_resrv' value='0'/>
+      <enumerator name='ice_pcie_lnk_x1' value='1'/>
+      <enumerator name='ice_pcie_lnk_x2' value='2'/>
+      <enumerator name='ice_pcie_lnk_x4' value='4'/>
+      <enumerator name='ice_pcie_lnk_x8' value='8'/>
+      <enumerator name='ice_pcie_lnk_x12' value='12'/>
+      <enumerator name='ice_pcie_lnk_x16' value='16'/>
+      <enumerator name='ice_pcie_lnk_x32' value='32'/>
+      <enumerator name='ice_pcie_lnk_width_unknown' value='255'/>
+    </enum-decl>
+    <enum-decl name='ice_bus_type' filepath='../drivers/net/ice/base/ice_type.h' line='418' column='1' id='type-id-659'>
+      <underlying-type type-id='type-id-120'/>
+      <enumerator name='ice_bus_unknown' value='0'/>
+      <enumerator name='ice_bus_pci_express' value='1'/>
+      <enumerator name='ice_bus_embedded' value='2'/>
+      <enumerator name='ice_bus_reserved' value='3'/>
+    </enum-decl>
+    <class-decl name='ice_nvm_info' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='479' column='1' id='type-id-580'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='eetrack' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='480' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='oem_ver' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='sr_words' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='482' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='ver' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='blank_nvm_mode' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='484' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_hw_dev_caps' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='402' column='1' id='type-id-581'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='common_cap' type-id='type-id-660' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='403' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='num_vsi_allocd_to_host' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='404' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='992'>
+        <var-decl name='num_flow_director_fltr' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='405' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='num_funcs' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='406' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_hw_common_caps' size-in-bits='960' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='320' column='1' id='type-id-660'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='wr_csr_prot' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='322' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='switching_mode' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='323' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='mgmt_mode' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='328' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mgmt_protocols_mctp' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='333' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='os2bmc' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='339' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='valid_functions' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='340' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='active_tc_bitmap' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='342' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='maxtc' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='343' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='rss_table_size' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='346' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='rss_table_entry_width' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='347' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='num_rxq' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='350' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='rxq_first_id' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='351' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='num_txq' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='352' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='txq_first_id' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='353' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='num_msix_vectors' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='356' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='msix_vector_first_id' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='357' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='max_mtu' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='360' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='num_wol_proxy_fltr' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='363' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='wol_proxy_vsi_seid' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='364' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='led_pin_num' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='367' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='sdp_pin_num' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='368' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='led' type-id='type-id-661' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='373' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='sdp' type-id='type-id-640' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='374' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='864'>
+        <var-decl name='evb_802_1_qbg' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='377' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='872'>
+        <var-decl name='evb_802_1_qbh' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='378' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='880'>
+        <var-decl name='dcb' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='380' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='888'>
+        <var-decl name='iscsi' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='381' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='mgmt_cem' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='382' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='904'>
+        <var-decl name='apm_wol_support' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='388' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='912'>
+        <var-decl name='acpi_prog_mthd' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='389' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='920'>
+        <var-decl name='proxy_support' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='390' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-575' size-in-bits='96' id='type-id-661'>
+      <subrange length='12' type-id='type-id-11' id='type-id-662'/>
+
+    </array-type-def>
+    <class-decl name='ice_hw_func_caps' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='394' column='1' id='type-id-582'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='common_cap' type-id='type-id-660' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='395' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='guar_num_vsi' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='396' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='992'>
+        <var-decl name='fd_fltr_guar' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='397' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='fd_fltr_best_effort' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='398' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_switch_info' size-in-bits='16576' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='730' column='1' id='type-id-663'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vsi_list_map_head' type-id='type-id-577' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='731' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='recp_list' type-id='type-id-664' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='732' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='prof_res_bm_init' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='733' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='prof_res_bm' type-id='type-id-665' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='735' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_sw_recipe' size-in-bits='3136' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_switch.h' line='181' column='1' id='type-id-666'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='is_root' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_switch.h' line='185' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='root_rid' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_switch.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='recp_created' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_switch.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='n_ext_words' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_switch.h' line='190' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ext_words' type-id='type-id-667' visibility='default' filepath='../drivers/net/ice/base/ice_switch.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='word_masks' type-id='type-id-668' visibility='default' filepath='../drivers/net/ice/base/ice_switch.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='992'>
+        <var-decl name='big_recp' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_switch.h' line='198' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1000'>
+        <var-decl name='chain_idx' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_switch.h' line='203' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1008'>
+        <var-decl name='n_grp_count' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_switch.h' line='208' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='r_bitmap' type-id='type-id-669' visibility='default' filepath='../drivers/net/ice/base/ice_switch.h' line='211' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='tun_type' type-id='type-id-670' visibility='default' filepath='../drivers/net/ice/base/ice_switch.h' line='213' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1120'>
+        <var-decl name='adv_rule' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_switch.h' line='216' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='filt_rules' type-id='type-id-577' visibility='default' filepath='../drivers/net/ice/base/ice_switch.h' line='217' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='filt_replay_rules' type-id='type-id-577' visibility='default' filepath='../drivers/net/ice/base/ice_switch.h' line='218' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='filt_rule_lock' type-id='type-id-594' visibility='default' filepath='../drivers/net/ice/base/ice_switch.h' line='220' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='fv_list' type-id='type-id-577' visibility='default' filepath='../drivers/net/ice/base/ice_switch.h' line='223' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='num_profs' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_switch.h' line='226' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='prof_ids' type-id='type-id-569' visibility='default' filepath='../drivers/net/ice/base/ice_switch.h' line='226' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='res_idxs' type-id='type-id-669' visibility='default' filepath='../drivers/net/ice/base/ice_switch.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='priority' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_switch.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='rg_list' type-id='type-id-577' visibility='default' filepath='../drivers/net/ice/base/ice_switch.h' line='239' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='root_buf' type-id='type-id-671' visibility='default' filepath='../drivers/net/ice/base/ice_switch.h' line='242' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='lkup_exts' type-id='type-id-672' visibility='default' filepath='../drivers/net/ice/base/ice_switch.h' line='244' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_fv_word' size-in-bits='32' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='12' column='1' id='type-id-673'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='prot_id' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='13' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='off' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='14' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='resvrd' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='15' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-673' size-in-bits='640' id='type-id-667'>
+      <subrange length='20' type-id='type-id-11' id='type-id-674'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='320' id='type-id-668'>
+      <subrange length='20' type-id='type-id-11' id='type-id-674'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-635' size-in-bits='64' id='type-id-669'>
+      <subrange length='2' type-id='type-id-11' id='type-id-92'/>
+
+    </array-type-def>
+    <enum-decl name='ice_sw_tunnel_type' filepath='../drivers/net/ice/base/ice_protocol_type.h' line='52' column='1' id='type-id-670'>
+      <underlying-type type-id='type-id-120'/>
+      <enumerator name='ICE_NON_TUN' value='0'/>
+      <enumerator name='ICE_SW_TUN_AND_NON_TUN' value='1'/>
+      <enumerator name='ICE_SW_TUN_VXLAN_GPE' value='2'/>
+      <enumerator name='ICE_SW_TUN_GENEVE' value='3'/>
+      <enumerator name='ICE_SW_TUN_VXLAN' value='4'/>
+      <enumerator name='ICE_SW_TUN_NVGRE' value='5'/>
+      <enumerator name='ICE_SW_TUN_UDP' value='6'/>
+      <enumerator name='ICE_SW_TUN_GTP' value='7'/>
+      <enumerator name='ICE_SW_TUN_PPPOE' value='8'/>
+      <enumerator name='ICE_ALL_TUNNELS' value='9'/>
+    </enum-decl>
+    <class-decl name='ice_aqc_recipe_data_elem' size-in-bits='512' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='714' column='1' id='type-id-675'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='recipe_indx' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='715' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='resp_bits' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='716' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='rsvd0' type-id='type-id-649' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='718' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='recipe_bitmap' type-id='type-id-640' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='rsvd1' type-id='type-id-599' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='720' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='content' type-id='type-id-676' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='721' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='rsvd2' type-id='type-id-677' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='722' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_aqc_recipe_content' size-in-bits='224' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='680' column='1' id='type-id-676'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rid' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='681' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='lkup_indx' type-id='type-id-678' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='686' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='mask' type-id='type-id-679' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='result_indx' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='692' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='rsvd0' type-id='type-id-623' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='696' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='act_ctrl_join_priority' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='697' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='168'>
+        <var-decl name='act_ctrl_fwd_priority' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='698' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='act_ctrl' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='701' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='184'>
+        <var-decl name='rsvd1' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='707' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dflt_act' type-id='type-id-40' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='708' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-575' size-in-bits='40' id='type-id-678'>
+      <subrange length='5' type-id='type-id-11' id='type-id-680'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-5' size-in-bits='80' id='type-id-679'>
+      <subrange length='5' type-id='type-id-11' id='type-id-680'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-575' size-in-bits='160' id='type-id-677'>
+      <subrange length='20' type-id='type-id-11' id='type-id-674'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-675' size-in-bits='64' id='type-id-671'/>
+    <class-decl name='ice_prot_lkup_ext' size-in-bits='1344' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_protocol_type.h' line='282' column='1' id='type-id-672'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='prot_type' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_protocol_type.h' line='283' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='n_val_words' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_protocol_type.h' line='284' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='field_off' type-id='type-id-668' visibility='default' filepath='../drivers/net/ice/base/ice_protocol_type.h' line='286' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='field_mask' type-id='type-id-668' visibility='default' filepath='../drivers/net/ice/base/ice_protocol_type.h' line='287' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='fv_words' type-id='type-id-667' visibility='default' filepath='../drivers/net/ice/base/ice_protocol_type.h' line='289' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1312'>
+        <var-decl name='done' type-id='type-id-597' visibility='default' filepath='../drivers/net/ice/base/ice_protocol_type.h' line='292' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-666' size-in-bits='64' id='type-id-664'/>
+
+
+    <array-type-def dimensions='2' type-id='type-id-635' size-in-bits='8256' id='type-id-665'>
+      <subrange length='256' type-id='type-id-11' id='type-id-681'/>
+
+      <subrange length='2' type-id='type-id-11' id='type-id-92'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-663' size-in-bits='64' id='type-id-583'/>
+    <class-decl name='ice_ctl_q_info' size-in-bits='1792' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_controlq.h' line='82' column='1' id='type-id-584'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='qtype' type-id='type-id-682' visibility='default' filepath='../drivers/net/ice/base/ice_controlq.h' line='83' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='rq_last_status' type-id='type-id-588' visibility='default' filepath='../drivers/net/ice/base/ice_controlq.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rq' type-id='type-id-683' visibility='default' filepath='../drivers/net/ice/base/ice_controlq.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='sq' type-id='type-id-683' visibility='default' filepath='../drivers/net/ice/base/ice_controlq.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='sq_cmd_timeout' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_controlq.h' line='87' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1632'>
+        <var-decl name='num_rq_entries' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_controlq.h' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1648'>
+        <var-decl name='num_sq_entries' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_controlq.h' line='89' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='rq_buf_size' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_controlq.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1680'>
+        <var-decl name='sq_buf_size' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_controlq.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1696'>
+        <var-decl name='sq_last_status' type-id='type-id-588' visibility='default' filepath='../drivers/net/ice/base/ice_controlq.h' line='92' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='sq_lock' type-id='type-id-594' visibility='default' filepath='../drivers/net/ice/base/ice_controlq.h' line='93' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1760'>
+        <var-decl name='rq_lock' type-id='type-id-594' visibility='default' filepath='../drivers/net/ice/base/ice_controlq.h' line='94' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='ice_ctl_q' filepath='../drivers/net/ice/base/ice_controlq.h' line='29' column='1' id='type-id-682'>
+      <underlying-type type-id='type-id-120'/>
+      <enumerator name='ICE_CTL_Q_UNKNOWN' value='0'/>
+      <enumerator name='ICE_CTL_Q_ADMIN' value='1'/>
+      <enumerator name='ICE_CTL_Q_MAILBOX' value='2'/>
+    </enum-decl>
+    <enum-decl name='ice_aq_err' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='2290' column='1' id='type-id-588'>
+      <underlying-type type-id='type-id-120'/>
+      <enumerator name='ICE_AQ_RC_OK' value='0'/>
+      <enumerator name='ICE_AQ_RC_EPERM' value='1'/>
+      <enumerator name='ICE_AQ_RC_ENOENT' value='2'/>
+      <enumerator name='ICE_AQ_RC_ESRCH' value='3'/>
+      <enumerator name='ICE_AQ_RC_EINTR' value='4'/>
+      <enumerator name='ICE_AQ_RC_EIO' value='5'/>
+      <enumerator name='ICE_AQ_RC_ENXIO' value='6'/>
+      <enumerator name='ICE_AQ_RC_E2BIG' value='7'/>
+      <enumerator name='ICE_AQ_RC_EAGAIN' value='8'/>
+      <enumerator name='ICE_AQ_RC_ENOMEM' value='9'/>
+      <enumerator name='ICE_AQ_RC_EACCES' value='10'/>
+      <enumerator name='ICE_AQ_RC_EFAULT' value='11'/>
+      <enumerator name='ICE_AQ_RC_EBUSY' value='12'/>
+      <enumerator name='ICE_AQ_RC_EEXIST' value='13'/>
+      <enumerator name='ICE_AQ_RC_EINVAL' value='14'/>
+      <enumerator name='ICE_AQ_RC_ENOTTY' value='15'/>
+      <enumerator name='ICE_AQ_RC_ENOSPC' value='16'/>
+      <enumerator name='ICE_AQ_RC_ENOSYS' value='17'/>
+      <enumerator name='ICE_AQ_RC_ERANGE' value='18'/>
+      <enumerator name='ICE_AQ_RC_EFLUSHED' value='19'/>
+      <enumerator name='ICE_AQ_RC_BAD_ADDR' value='20'/>
+      <enumerator name='ICE_AQ_RC_EMODE' value='21'/>
+      <enumerator name='ICE_AQ_RC_EFBIG' value='22'/>
+      <enumerator name='ICE_AQ_RC_ESBCOMP' value='23'/>
+      <enumerator name='ICE_AQ_RC_ENOSEC' value='24'/>
+      <enumerator name='ICE_AQ_RC_EBADSIG' value='25'/>
+      <enumerator name='ICE_AQ_RC_ESVN' value='26'/>
+      <enumerator name='ICE_AQ_RC_EBADMAN' value='27'/>
+      <enumerator name='ICE_AQ_RC_EBADBUF' value='28'/>
+      <enumerator name='ICE_AQ_RC_EACCES_BMCU' value='29'/>
+    </enum-decl>
+    <class-decl name='ice_ctl_q_ring' size-in-bits='768' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_controlq.h' line='39' column='1' id='type-id-683'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dma_head' type-id='type-id-26' visibility='default' filepath='../drivers/net/ice/base/ice_controlq.h' line='40' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='desc_buf' type-id='type-id-684' visibility='default' filepath='../drivers/net/ice/base/ice_controlq.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='cmd_buf' type-id='type-id-26' visibility='default' filepath='../drivers/net/ice/base/ice_controlq.h' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='r' type-id='type-id-685' visibility='default' filepath='../drivers/net/ice/base/ice_controlq.h' line='47' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='count' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_controlq.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='next_to_use' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_controlq.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='next_to_clean' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_controlq.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='head' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_controlq.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='tail' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_controlq.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='len' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_controlq.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='bah' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_controlq.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='bal' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_controlq.h' line='60' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='len_mask' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_controlq.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='len_ena_mask' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_controlq.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='736'>
+        <var-decl name='head_mask' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_controlq.h' line='63' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_dma_mem' size-in-bits='224' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_osdep.h' line='161' column='1' id='type-id-684'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='va' type-id='type-id-26' visibility='default' filepath='../drivers/net/ice/base/ice_osdep.h' line='162' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pa' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_osdep.h' line='163' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='size' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_osdep.h' line='164' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='zone' type-id='type-id-26' visibility='default' filepath='../drivers/net/ice/base/ice_osdep.h' line='165' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../drivers/net/ice/base/ice_controlq.h' line='44' column='1' id='type-id-685'>
+      <data-member access='private'>
+        <var-decl name='sq_bi' type-id='type-id-686' visibility='default' filepath='../drivers/net/ice/base/ice_controlq.h' line='45' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='rq_bi' type-id='type-id-686' visibility='default' filepath='../drivers/net/ice/base/ice_controlq.h' line='46' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-684' size-in-bits='64' id='type-id-686'/>
+    <class-decl name='ice_pkg_ver' size-in-bits='32' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='2132' column='1' id='type-id-586'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='major' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='2133' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='minor' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='2134' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='update' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='2135' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='draft' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_adminq_cmd.h' line='2136' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-575' size-in-bits='256' id='type-id-587'>
+      <subrange length='32' type-id='type-id-11' id='type-id-59'/>
+
+    </array-type-def>
+    <class-decl name='ice_seg' size-in-bits='448' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='58' column='1' id='type-id-687'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='hdr' type-id='type-id-688' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='device_table_count' type-id='type-id-40' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='60' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='device_table' type-id='type-id-689' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='61' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_generic_seg_hdr' size-in-bits='352' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='34' column='1' id='type-id-688'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='seg_type' type-id='type-id-40' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='37' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='seg_ver' type-id='type-id-586' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='38' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='seg_size' type-id='type-id-40' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='39' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='seg_name' type-id='type-id-51' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='40' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_device_id_entry' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='53' column='1' id='type-id-690'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='device' type-id='type-id-691' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='sub_device' type-id='type-id-691' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='55' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='ice_device_id' size-in-bits='32' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='45' column='1' id='type-id-691'>
+      <data-member access='private'>
+        <var-decl name='dev_vend_id' type-id='type-id-692' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='id' type-id='type-id-40' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='50' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='46' column='1' id='type-id-692'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='device_id' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='47' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='vendor_id' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='48' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-690' size-in-bits='64' id='type-id-689'>
+      <subrange length='1' type-id='type-id-11' id='type-id-636'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-687' size-in-bits='64' id='type-id-589'/>
+    <class-decl name='ice_tunnel_table' size-in-bits='3136' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='542' column='1' id='type-id-590'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tbl' type-id='type-id-693' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='543' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3072'>
+        <var-decl name='count' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='544' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_tunnel_entry' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='530' column='1' id='type-id-694'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-695' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='531' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='boost_addr' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='532' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='port' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='533' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='boost_entry' type-id='type-id-696' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='534' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='valid' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='535' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='in_use' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='536' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='marked' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='537' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='ice_tunnel_type' filepath='../drivers/net/ice/base/ice_flex_type.h' line='518' column='1' id='type-id-695'>
+      <underlying-type type-id='type-id-120'/>
+      <enumerator name='TNL_VXLAN' value='0'/>
+      <enumerator name='TNL_GENEVE' value='1'/>
+      <enumerator name='TNL_LAST' value='255'/>
+      <enumerator name='TNL_ALL' value='255'/>
+    </enum-decl>
+    <class-decl name='ice_boost_tcam_entry' size-in-bits='704' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='442' column='1' id='type-id-697'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='443' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='reserved' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='444' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='key' type-id='type-id-698' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='446' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='boost_hit_index_group' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='447' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='360'>
+        <var-decl name='bit_fields' type-id='type-id-699' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='452' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_boost_key' size-in-bits='320' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='436' column='1' id='type-id-698'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='key' type-id='type-id-700' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='437' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='key2' type-id='type-id-700' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='438' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_boost_key_value' size-in-bits='160' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='427' column='1' id='type-id-700'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='remaining_hv_key' type-id='type-id-701' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='429' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='120'>
+        <var-decl name='hv_dst_port_key' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='430' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='hv_src_port_key' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='431' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='152'>
+        <var-decl name='tcam_search_key' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='432' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-575' size-in-bits='120' id='type-id-701'>
+      <subrange length='15' type-id='type-id-11' id='type-id-702'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-575' size-in-bits='344' id='type-id-699'>
+      <subrange length='43' type-id='type-id-11' id='type-id-703'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-697' size-in-bits='64' id='type-id-696'/>
+
+    <array-type-def dimensions='1' type-id='type-id-694' size-in-bits='3072' id='type-id-693'>
+      <subrange length='16' type-id='type-id-11' id='type-id-150'/>
+
+    </array-type-def>
+    <class-decl name='ice_blk_info' size-in-bits='3520' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='741' column='1' id='type-id-704'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xlt1' type-id='type-id-705' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='742' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='xlt2' type-id='type-id-706' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='743' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='prof' type-id='type-id-707' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='744' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='prof_redir' type-id='type-id-708' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='745' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='es' type-id='type-id-709' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='746' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='masks' type-id='type-id-710' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3456'>
+        <var-decl name='overwrite' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='748' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3464'>
+        <var-decl name='is_list_init' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='749' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_xlt1' size-in-bits='256' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='634' column='1' id='type-id-705'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ptg_tbl' type-id='type-id-711' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='635' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ptypes' type-id='type-id-712' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='636' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='t' type-id='type-id-569' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='637' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='sid' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='638' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='count' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='639' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_ptg_entry' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='576' column='1' id='type-id-713'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='first_ptype' type-id='type-id-712' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='577' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='in_use' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='578' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_ptg_ptype' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='581' column='1' id='type-id-714'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next_ptype' type-id='type-id-712' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='582' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ptg' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='583' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-714' size-in-bits='64' id='type-id-712'/>
+    <pointer-type-def type-id='type-id-713' size-in-bits='64' id='type-id-711'/>
+    <class-decl name='ice_xlt2' size-in-bits='256' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='658' column='1' id='type-id-706'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vsig_tbl' type-id='type-id-715' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='659' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='vsis' type-id='type-id-716' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='660' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='t' type-id='type-id-717' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='661' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='sid' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='count' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='663' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_vsig_entry' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='617' column='1' id='type-id-718'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='prop_lst' type-id='type-id-577' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='618' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='first_vsi' type-id='type-id-716' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='619' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='in_use' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='620' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_vsig_vsi' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='623' column='1' id='type-id-719'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next_vsi' type-id='type-id-716' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='624' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='prop_mask' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='625' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='changed' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='626' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='112'>
+        <var-decl name='vsig' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='627' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-719' size-in-bits='64' id='type-id-716'/>
+    <pointer-type-def type-id='type-id-718' size-in-bits='64' id='type-id-715'/>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-717'/>
+    <class-decl name='ice_prof_tcam' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='711' column='1' id='type-id-707'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='sid' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='712' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='count' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='max_prof_id' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='714' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='t' type-id='type-id-720' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='715' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cdid_bits' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='716' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_prof_tcam_entry' size-in-bits='104' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='699' column='1' id='type-id-721'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='700' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='key' type-id='type-id-722' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='701' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='prof_id' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='702' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-575' size-in-bits='80' id='type-id-722'>
+      <subrange length='10' type-id='type-id-11' id='type-id-723'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-721' size-in-bits='64' id='type-id-720'/>
+    <class-decl name='ice_prof_redir' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='719' column='1' id='type-id-708'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='t' type-id='type-id-569' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='720' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='sid' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='721' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='count' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='722' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_es' size-in-bits='512' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='553' column='1' id='type-id-709'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='sid' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='554' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='count' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='555' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='fvw' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='556' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ref_count' type-id='type-id-717' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='557' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mask_ena' type-id='type-id-724' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='558' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='prof_map' type-id='type-id-577' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='559' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='t' type-id='type-id-725' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='560' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='prof_map_lock' type-id='type-id-594' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='written' type-id='type-id-569' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='reverse' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='563' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-585' size-in-bits='64' id='type-id-724'/>
+    <pointer-type-def type-id='type-id-673' size-in-bits='64' id='type-id-725'/>
+    <class-decl name='ice_masks' size-in-bits='2112' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='732' column='1' id='type-id-710'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='lock' type-id='type-id-594' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='733' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='first' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='734' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='count' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='735' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='masks' type-id='type-id-726' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='737' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_mask' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='725' column='1' id='type-id-727'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mask' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='726' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='idx' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='727' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ref' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='728' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='in_use' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_flex_type.h' line='729' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-727' size-in-bits='2048' id='type-id-726'>
+      <subrange length='32' type-id='type-id-11' id='type-id-59'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-704' size-in-bits='17600' id='type-id-591'>
+      <subrange length='5' type-id='type-id-11' id='type-id-680'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-594' size-in-bits='160' id='type-id-592'>
+      <subrange length='5' type-id='type-id-11' id='type-id-680'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-577' size-in-bits='320' id='type-id-593'>
+      <subrange length='5' type-id='type-id-11' id='type-id-680'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='224' id='type-id-595'>
+      <subrange length='14' type-id='type-id-11' id='type-id-601'/>
+
+    </array-type-def>
+    <class-decl name='ice_fd_hw_prof' size-in-bits='512' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='312' column='1' id='type-id-728'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fdir_seg' type-id='type-id-729' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='313' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cnt' type-id='type-id-10' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='314' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='entry_h' type-id='type-id-730' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='315' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='vsi_h' type-id='type-id-731' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='316' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_flow_seg_info' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-732'/>
+    <pointer-type-def type-id='type-id-732' size-in-bits='64' id='type-id-733'/>
+
+    <array-type-def dimensions='1' type-id='type-id-733' size-in-bits='128' id='type-id-729'>
+      <subrange length='2' type-id='type-id-11' id='type-id-92'/>
+
+    </array-type-def>
+
+
+    <array-type-def dimensions='2' type-id='type-id-573' size-in-bits='256' id='type-id-730'>
+      <subrange length='2' type-id='type-id-11' id='type-id-92'/>
+
+      <subrange length='2' type-id='type-id-11' id='type-id-92'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='32' id='type-id-731'>
+      <subrange length='2' type-id='type-id-11' id='type-id-92'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-728' size-in-bits='64' id='type-id-734'/>
+    <pointer-type-def type-id='type-id-734' size-in-bits='64' id='type-id-596'/>
+    <class-decl name='ice_pf' size-in-bits='20288' is-struct='yes' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='346' column='1' id='type-id-564'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='adapter' type-id='type-id-735' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='347' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='main_vsi' type-id='type-id-736' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='348' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='next_vsi_idx' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='353' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='vsis_allocated' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='354' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='vsis_unallocated' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='355' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='qp_pool' type-id='type-id-737' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='356' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='msix_pool' type-id='type-id-737' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='357' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='dev_data' type-id='type-id-25' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='358' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='dev_addr' type-id='type-id-154' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='359' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='flags' type-id='type-id-13' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='360' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hash_lut_size' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='361' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='912'>
+        <var-decl name='lan_nb_qp_max' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='362' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='928'>
+        <var-decl name='lan_nb_qps' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='363' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='944'>
+        <var-decl name='base_queue' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='364' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='proto_xtr' type-id='type-id-126' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='365' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='fdir_nb_qps' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='366' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1040'>
+        <var-decl name='fdir_qp_offset' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='367' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='fdir' type-id='type-id-738' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='368' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5952'>
+        <var-decl name='hw_prof_cnt' type-id='type-id-739' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='369' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6400'>
+        <var-decl name='fdir_fltr_cnt' type-id='type-id-739' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='370' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6848'>
+        <var-decl name='stats_offset' type-id='type-id-740' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='371' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='12352'>
+        <var-decl name='stats' type-id='type-id-740' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='372' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='17856'>
+        <var-decl name='internal_stats_offset' type-id='type-id-741' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='374' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18752'>
+        <var-decl name='internal_stats' type-id='type-id-741' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='375' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='19648'>
+        <var-decl name='offset_loaded' type-id='type-id-565' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='376' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='19656'>
+        <var-decl name='adapter_stopped' type-id='type-id-565' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='377' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='19712'>
+        <var-decl name='flow_list' type-id='type-id-742' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='378' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='19840'>
+        <var-decl name='rss_parser_list' type-id='type-id-743' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='379' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='19968'>
+        <var-decl name='perm_parser_list' type-id='type-id-743' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='380' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='20096'>
+        <var-decl name='dist_parser_list' type-id='type-id-743' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='381' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='20224'>
+        <var-decl name='init_link_up' type-id='type-id-565' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='382' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-562' size-in-bits='64' id='type-id-735'/>
+    <class-decl name='ice_vsi' size-in-bits='3904' is-struct='yes' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='198' column='1' id='type-id-744'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='adapter' type-id='type-id-735' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='199' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='info' type-id='type-id-645' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='200' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='sib_vsi_list' type-id='type-id-745' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='214' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='parent_vsi' type-id='type-id-736' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='215' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='type' type-id='type-id-746' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='216' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1376'>
+        <var-decl name='vlan_num' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='217' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1392'>
+        <var-decl name='mac_num' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='218' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='mac_list' type-id='type-id-747' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='219' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='vlan_list' type-id='type-id-748' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='220' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='nb_qps' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='221' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1680'>
+        <var-decl name='nb_used_qps' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1696'>
+        <var-decl name='max_macaddrs' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='223' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1712'>
+        <var-decl name='base_queue' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='224' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='vsi_id' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1744'>
+        <var-decl name='idx' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='226' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1760'>
+        <var-decl name='vf_num' type-id='type-id-104' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1776'>
+        <var-decl name='msix_intr' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='nb_msix' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1808'>
+        <var-decl name='enabled_tc' type-id='type-id-104' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1816'>
+        <var-decl name='vlan_anti_spoof_on' type-id='type-id-104' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1824'>
+        <var-decl name='vlan_filter_on' type-id='type-id-104' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='rss_key_size' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='235' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1888'>
+        <var-decl name='rss_lut_size' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='rss_lut' type-id='type-id-126' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='rss_key' type-id='type-id-126' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='eth_stats_offset' type-id='type-id-741' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='239' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2944'>
+        <var-decl name='eth_stats' type-id='type-id-741' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3840'>
+        <var-decl name='offset_loaded' type-id='type-id-565' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='241' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_vsi_list' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='187' column='1' id='type-id-745'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='list' type-id='type-id-749' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vsi' type-id='type-id-736' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='189' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='188' column='1' id='type-id-749'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-750' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-751' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='188' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-745' size-in-bits='64' id='type-id-750'/>
+    <pointer-type-def type-id='type-id-750' size-in-bits='64' id='type-id-751'/>
+    <pointer-type-def type-id='type-id-744' size-in-bits='64' id='type-id-736'/>
+    <enum-decl name='ice_vsi_type' filepath='../drivers/net/ice/base/ice_type.h' line='221' column='1' id='type-id-746'>
+      <underlying-type type-id='type-id-120'/>
+      <enumerator name='ICE_VSI_PF' value='0'/>
+      <enumerator name='ICE_VSI_CTRL' value='3'/>
+      <enumerator name='ICE_VSI_LB' value='6'/>
+    </enum-decl>
+    <class-decl name='ice_mac_filter_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='143' column='1' id='type-id-747'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-752' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='143' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-753' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='143' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_mac_filter' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='146' column='1' id='type-id-754'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-755' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='147' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mac_info' type-id='type-id-756' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='148' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='147' column='1' id='type-id-755'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-752' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='147' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-753' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='147' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-754' size-in-bits='64' id='type-id-752'/>
+    <pointer-type-def type-id='type-id-752' size-in-bits='64' id='type-id-753'/>
+    <class-decl name='ice_mac_filter_info' size-in-bits='48' is-struct='yes' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='139' column='1' id='type-id-756'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mac_addr' type-id='type-id-154' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='140' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_vlan_filter_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='158' column='1' id='type-id-748'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-757' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='158' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-758' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='158' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_vlan_filter' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='161' column='1' id='type-id-759'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-760' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='162' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vlan_info' type-id='type-id-761' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='163' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='162' column='1' id='type-id-760'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-757' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='162' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-758' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='162' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-759' size-in-bits='64' id='type-id-757'/>
+    <pointer-type-def type-id='type-id-757' size-in-bits='64' id='type-id-758'/>
+    <class-decl name='ice_vlan_filter_info' size-in-bits='16' is-struct='yes' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='154' column='1' id='type-id-761'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_id' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='155' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_eth_stats' size-in-bits='896' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='864' column='1' id='type-id-741'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_bytes' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rx_unicast' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='866' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rx_multicast' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='867' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='rx_broadcast' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='868' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_discards' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='869' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='rx_unknown_protocol' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='870' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='tx_bytes' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='871' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='tx_unicast' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='872' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='tx_multicast' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='873' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_broadcast' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='874' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='tx_discards' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='875' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='tx_errors' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='876' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='rx_no_desc' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='877' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='rx_errors' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='878' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='bool' size-in-bits='8' id='type-id-565'/>
+    <class-decl name='ice_res_pool_info' size-in-bits='256' is-struct='yes' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='174' column='1' id='type-id-737'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='base' type-id='type-id-40' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='175' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='num_alloc' type-id='type-id-40' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='176' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='num_free' type-id='type-id-40' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='177' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='alloc_list' type-id='type-id-762' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='178' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='free_list' type-id='type-id-762' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='179' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='res_list' size-in-bits='64' is-struct='yes' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='172' column='1' id='type-id-762'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='lh_first' type-id='type-id-763' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='172' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='pool_entry' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='166' column='1' id='type-id-764'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-765' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='167' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='base' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='168' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='len' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='169' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='167' column='1' id='type-id-765'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='le_next' type-id='type-id-763' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='167' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='le_prev' type-id='type-id-766' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='167' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-764' size-in-bits='64' id='type-id-763'/>
+    <pointer-type-def type-id='type-id-763' size-in-bits='64' id='type-id-766'/>
+    <class-decl name='ice_fdir_info' size-in-bits='4864' is-struct='yes' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='331' column='1' id='type-id-738'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fdir_vsi' type-id='type-id-736' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='332' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='txq' type-id='type-id-767' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='333' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rxq' type-id='type-id-768' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='334' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='prg_pkt' type-id='type-id-26' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='335' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dma_addr' type-id='type-id-13' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='336' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='mz' type-id='type-id-53' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='337' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='conf' type-id='type-id-769' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='338' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2496'>
+        <var-decl name='hash_map' type-id='type-id-770' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='340' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='hash_table' type-id='type-id-771' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='341' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='counter' type-id='type-id-772' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='343' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_tx_queue' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-773'/>
+    <pointer-type-def type-id='type-id-773' size-in-bits='64' id='type-id-767'/>
+    <class-decl name='ice_rx_queue' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-774'/>
+    <pointer-type-def type-id='type-id-774' size-in-bits='64' id='type-id-768'/>
+    <class-decl name='ice_fdir_filter_conf' size-in-bits='2112' is-struct='yes' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='265' column='1' id='type-id-769'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='input' type-id='type-id-775' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='266' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='tunnel_type' type-id='type-id-776' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='267' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='counter' type-id='type-id-777' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='269' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='act_count' type-id='type-id-778' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='270' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='input_set' type-id='type-id-13' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='272' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_fdir_fltr' size-in-bits='1856' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='176' column='1' id='type-id-775'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fltr_node' type-id='type-id-630' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='177' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='flow_type' type-id='type-id-779' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='178' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='ip' type-id='type-id-780' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='183' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='mask' type-id='type-id-780' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='183' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='928'>
+        <var-decl name='gtpu_data' type-id='type-id-781' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='185' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1120'>
+        <var-decl name='gtpu_mask' type-id='type-id-781' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1312'>
+        <var-decl name='ext_data' type-id='type-id-782' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='ext_mask' type-id='type-id-782' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='189' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1632'>
+        <var-decl name='flex_word' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='192' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1648'>
+        <var-decl name='q_region' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='flex_offset' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1680'>
+        <var-decl name='flex_fltr' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='196' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1696'>
+        <var-decl name='q_index' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='199' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1712'>
+        <var-decl name='dest_vsi' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='200' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='dest_ctl' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='201' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1736'>
+        <var-decl name='cnt_ena' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='202' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1744'>
+        <var-decl name='fltr_status' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='203' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1760'>
+        <var-decl name='cnt_index' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='204' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='fltr_id' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='205' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='ice_fltr_ptype' filepath='../drivers/net/ice/base/ice_type.h' line='284' column='1' id='type-id-779'>
+      <underlying-type type-id='type-id-120'/>
+      <enumerator name='ICE_FLTR_PTYPE_NONF_NONE' value='0'/>
+      <enumerator name='ICE_FLTR_PTYPE_NONF_IPV4_UDP' value='1'/>
+      <enumerator name='ICE_FLTR_PTYPE_NONF_IPV4_TCP' value='2'/>
+      <enumerator name='ICE_FLTR_PTYPE_NONF_IPV4_SCTP' value='3'/>
+      <enumerator name='ICE_FLTR_PTYPE_NONF_IPV4_OTHER' value='4'/>
+      <enumerator name='ICE_FLTR_PTYPE_NONF_IPV4_GTPU_IPV4_UDP' value='5'/>
+      <enumerator name='ICE_FLTR_PTYPE_NONF_IPV4_GTPU_IPV4_TCP' value='6'/>
+      <enumerator name='ICE_FLTR_PTYPE_NONF_IPV4_GTPU_IPV4_ICMP' value='7'/>
+      <enumerator name='ICE_FLTR_PTYPE_NONF_IPV4_GTPU_IPV4_OTHER' value='8'/>
+      <enumerator name='ICE_FLTR_PTYPE_FRAG_IPV4' value='9'/>
+      <enumerator name='ICE_FLTR_PTYPE_NONF_IPV6_UDP' value='10'/>
+      <enumerator name='ICE_FLTR_PTYPE_NONF_IPV6_TCP' value='11'/>
+      <enumerator name='ICE_FLTR_PTYPE_NONF_IPV6_SCTP' value='12'/>
+      <enumerator name='ICE_FLTR_PTYPE_NONF_IPV6_OTHER' value='13'/>
+      <enumerator name='ICE_FLTR_PTYPE_MAX' value='14'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='384' is-anonymous='yes' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='180' column='1' id='type-id-780'>
+      <data-member access='private'>
+        <var-decl name='v4' type-id='type-id-783' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='181' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='v6' type-id='type-id-784' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='182' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='ice_fdir_v4' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='124' column='1' id='type-id-783'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dst_ip' type-id='type-id-40' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='125' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='src_ip' type-id='type-id-40' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='126' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dst_port' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='127' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='src_port' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='128' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='l4_header' type-id='type-id-40' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='129' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='sec_parm_idx' type-id='type-id-40' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='130' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='tos' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='131' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='168'>
+        <var-decl name='ip_ver' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='132' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='proto' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='133' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='184'>
+        <var-decl name='ttl' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='134' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_fdir_v6' size-in-bits='384' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='139' column='1' id='type-id-784'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dst_ip' type-id='type-id-143' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='140' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='src_ip' type-id='type-id-143' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dst_port' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='142' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='272'>
+        <var-decl name='src_port' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='143' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='l4_header' type-id='type-id-40' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='144' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='sec_parm_idx' type-id='type-id-40' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='145' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='tc' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='146' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='360'>
+        <var-decl name='proto' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='147' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='hlim' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='148' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_fdir_udp_gtp' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='151' column='1' id='type-id-781'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='msg_type' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='153' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='rsrvd_len' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='teid' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='155' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rsrvd_seq_nbr' type-id='type-id-2' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='156' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='rsrvd_n_pdu_nbr' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='157' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='88'>
+        <var-decl name='rsrvd_next_ext_type' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='158' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='rsvrd_ext_len' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='159' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4'>
+        <var-decl name='pdu_type' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='160' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='104'>
+        <var-decl name='spare' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='161' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='ppp' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='162' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='rqi' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='163' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='112'>
+        <var-decl name='qfi' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='164' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rsvrd' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='165' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='next_ext' type-id='type-id-575' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='166' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_fdir_extra' size-in-bits='160' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='169' column='1' id='type-id-782'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dst_mac' type-id='type-id-618' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='170' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='usr_def' type-id='type-id-785' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vlan_type' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='172' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='vlan_tag' type-id='type-id-5' visibility='default' filepath='../drivers/net/ice/base/ice_fdir.h' line='173' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-585' size-in-bits='64' id='type-id-785'>
+      <subrange length='2' type-id='type-id-11' id='type-id-92'/>
+
+    </array-type-def>
+    <enum-decl name='ice_fdir_tunnel_type' filepath='../drivers/net/ice/ice_ethdev.h' line='253' column='1' id='type-id-776'>
+      <underlying-type type-id='type-id-120'/>
+      <enumerator name='ICE_FDIR_TUNNEL_TYPE_NONE' value='0'/>
+      <enumerator name='ICE_FDIR_TUNNEL_TYPE_VXLAN' value='1'/>
+      <enumerator name='ICE_FDIR_TUNNEL_TYPE_GTPU' value='2'/>
+    </enum-decl>
+    <class-decl name='ice_fdir_counter' size-in-bits='512' is-struct='yes' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='301' column='1' id='type-id-786'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-787' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='302' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pool' type-id='type-id-788' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='303' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='shared' type-id='type-id-104' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='304' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='ref_cnt' type-id='type-id-40' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='305' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='id' type-id='type-id-40' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='306' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='hits' type-id='type-id-13' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='307' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='bytes' type-id='type-id-13' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='308' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hw_index' type-id='type-id-40' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='309' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='302' column='1' id='type-id-787'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-777' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='302' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-789' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='302' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-786' size-in-bits='64' id='type-id-777'/>
+    <pointer-type-def type-id='type-id-777' size-in-bits='64' id='type-id-789'/>
+    <class-decl name='ice_fdir_counter_pool' size-in-bits='256' is-struct='yes' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='314' column='1' id='type-id-790'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-791' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='315' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='counter_list' type-id='type-id-792' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='316' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='counters' type-id='type-id-793' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='317' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='315' column='1' id='type-id-791'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-788' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='315' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-794' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='315' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-790' size-in-bits='64' id='type-id-788'/>
+    <pointer-type-def type-id='type-id-788' size-in-bits='64' id='type-id-794'/>
+    <class-decl name='ice_fdir_counter_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='312' column='1' id='type-id-792'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-777' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='312' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-789' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='312' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-786' size-in-bits='infinite' id='type-id-793'>
+      <subrange length='infinite' type-id='type-id-11' id='type-id-8'/>
+
+    </array-type-def>
+    <class-decl name='rte_flow_action_count' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2074' column='1' id='type-id-778'>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='shared' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2075' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='reserved' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2076' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='id' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2077' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-769' size-in-bits='64' id='type-id-795'/>
+    <pointer-type-def type-id='type-id-795' size-in-bits='64' id='type-id-770'/>
+    <class-decl name='rte_hash' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-796'/>
+    <pointer-type-def type-id='type-id-796' size-in-bits='64' id='type-id-771'/>
+    <class-decl name='ice_fdir_counter_pool_container' size-in-bits='2240' is-struct='yes' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='322' column='1' id='type-id-772'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pool_list' type-id='type-id-797' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='323' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pools' type-id='type-id-798' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='324' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='index_free' type-id='type-id-104' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='325' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_fdir_counter_pool_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='320' column='1' id='type-id-797'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-788' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='320' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-794' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='320' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-788' size-in-bits='2048' id='type-id-798'>
+      <subrange length='32' type-id='type-id-11' id='type-id-59'/>
+
+    </array-type-def>
+
+
+    <array-type-def dimensions='2' type-id='type-id-5' size-in-bits='256' id='type-id-739'>
+      <subrange length='14' type-id='type-id-11' id='type-id-601'/>
+
+      <subrange length='2' type-id='type-id-11' id='type-id-92'/>
+
+    </array-type-def>
+    <class-decl name='ice_hw_port_stats' size-in-bits='5504' is-struct='yes' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='892' column='1' id='type-id-740'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='eth' type-id='type-id-741' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='894' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='tx_dropped_link_down' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='896' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='crc_errors' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='897' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='illegal_bytes' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='898' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='error_bytes' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='899' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='mac_local_faults' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='900' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='mac_remote_faults' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='901' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='rx_len_errors' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='902' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='link_xon_rx' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='903' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='link_xoff_rx' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='904' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='link_xon_tx' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='905' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='link_xoff_tx' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='906' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='priority_xon_rx' type-id='type-id-799' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='907' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='priority_xoff_rx' type-id='type-id-799' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='908' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='priority_xon_tx' type-id='type-id-799' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='909' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3136'>
+        <var-decl name='priority_xoff_tx' type-id='type-id-799' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='910' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3648'>
+        <var-decl name='priority_xon_2_xoff' type-id='type-id-799' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='911' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4160'>
+        <var-decl name='rx_size_64' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='912' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4224'>
+        <var-decl name='rx_size_127' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='913' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4288'>
+        <var-decl name='rx_size_255' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='914' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4352'>
+        <var-decl name='rx_size_511' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='915' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4416'>
+        <var-decl name='rx_size_1023' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='916' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4480'>
+        <var-decl name='rx_size_1522' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='917' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4544'>
+        <var-decl name='rx_size_big' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='918' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4608'>
+        <var-decl name='rx_undersize' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='919' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4672'>
+        <var-decl name='rx_fragments' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='920' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4736'>
+        <var-decl name='rx_oversize' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='921' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4800'>
+        <var-decl name='rx_jabber' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='922' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4864'>
+        <var-decl name='tx_size_64' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='923' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4928'>
+        <var-decl name='tx_size_127' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='924' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4992'>
+        <var-decl name='tx_size_255' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='925' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5056'>
+        <var-decl name='tx_size_511' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='926' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5120'>
+        <var-decl name='tx_size_1023' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='927' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5184'>
+        <var-decl name='tx_size_1522' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='928' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5248'>
+        <var-decl name='tx_size_big' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='929' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5312'>
+        <var-decl name='mac_short_pkt_dropped' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='930' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5376'>
+        <var-decl name='fd_sb_status' type-id='type-id-585' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='932' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5440'>
+        <var-decl name='fd_sb_match' type-id='type-id-573' visibility='default' filepath='../drivers/net/ice/base/ice_type.h' line='933' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-573' size-in-bits='512' id='type-id-799'>
+      <subrange length='8' type-id='type-id-11' id='type-id-131'/>
+
+    </array-type-def>
+    <class-decl name='ice_flow_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='260' column='1' id='type-id-742'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-550' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-551' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='260' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_parser_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='263' column='1' id='type-id-743'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-800' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='263' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-801' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='263' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_flow_parser_node' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='469' column='1' id='type-id-802'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='node' type-id='type-id-803' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='470' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='parser' type-id='type-id-804' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='471' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='470' column='1' id='type-id-803'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-800' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='470' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-801' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='470' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-802' size-in-bits='64' id='type-id-800'/>
+    <pointer-type-def type-id='type-id-800' size-in-bits='64' id='type-id-801'/>
+    <class-decl name='ice_flow_parser' size-in-bits='320' is-struct='yes' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='460' column='1' id='type-id-805'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='engine' type-id='type-id-549' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='461' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='array' type-id='type-id-806' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='462' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='array_len' type-id='type-id-40' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='463' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='parse_pattern_action' type-id='type-id-807' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='464' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='stage' type-id='type-id-808' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='465' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ice_pattern_match_item' size-in-bits='192' is-struct='yes' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='411' column='1' id='type-id-809'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pattern_list' type-id='type-id-810' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='412' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='input_set_mask' type-id='type-id-13' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='414' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='meta' type-id='type-id-26' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='415' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-536' size-in-bits='64' id='type-id-810'/>
+    <pointer-type-def type-id='type-id-809' size-in-bits='64' id='type-id-806'/>
+    <pointer-type-def type-id='type-id-811' size-in-bits='64' id='type-id-812'/>
+    <typedef-decl name='parse_pattern_action_t' type-id='type-id-812' filepath='../drivers/net/ice/ice_generic_flow.h' line='432' column='1' id='type-id-807'/>
+    <enum-decl name='ice_flow_classification_stage' filepath='../drivers/net/ice/ice_generic_flow.h' line='403' column='1' id='type-id-808'>
+      <underlying-type type-id='type-id-120'/>
+      <enumerator name='ICE_FLOW_STAGE_NONE' value='0'/>
+      <enumerator name='ICE_FLOW_STAGE_RSS' value='1'/>
+      <enumerator name='ICE_FLOW_STAGE_PERMISSION' value='2'/>
+      <enumerator name='ICE_FLOW_STAGE_DISTRIBUTOR' value='3'/>
+      <enumerator name='ICE_FLOW_STAGE_MAX' value='4'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-805' size-in-bits='64' id='type-id-804'/>
+
+    <array-type-def dimensions='1' type-id='type-id-40' size-in-bits='32768' id='type-id-566'>
+      <subrange length='1024' type-id='type-id-11' id='type-id-158'/>
+
+    </array-type-def>
+    <class-decl name='ice_devargs' size-in-bits='16512' is-struct='yes' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='390' column='1' id='type-id-567'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='safe_mode_support' type-id='type-id-10' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='391' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='proto_xtr_dflt' type-id='type-id-104' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='392' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pipe_mode_support' type-id='type-id-10' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='393' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='flow_mark_support' type-id='type-id-10' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='394' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='proto_xtr' type-id='type-id-813' visibility='default' filepath='../drivers/net/ice/ice_ethdev.h' line='395' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-104' size-in-bits='16384' id='type-id-813'>
+      <subrange length='2048' type-id='type-id-11' id='type-id-814'/>
+
+    </array-type-def>
+    <enum-decl name='ice_pkg_type' filepath='../drivers/net/ice/ice_ethdev.h' line='128' column='1' id='type-id-568'>
+      <underlying-type type-id='type-id-120'/>
+      <enumerator name='ICE_PKG_TYPE_UNKNOWN' value='0'/>
+      <enumerator name='ICE_PKG_TYPE_OS_DEFAULT' value='1'/>
+      <enumerator name='ICE_PKG_TYPE_COMMS' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-815' size-in-bits='64' id='type-id-816'/>
+    <typedef-decl name='engine_init_t' type-id='type-id-816' filepath='../drivers/net/ice/ice_generic_flow.h' line='418' column='1' id='type-id-554'/>
+    <pointer-type-def type-id='type-id-817' size-in-bits='64' id='type-id-818'/>
+    <typedef-decl name='engine_uninit_t' type-id='type-id-818' filepath='../drivers/net/ice/ice_generic_flow.h' line='419' column='1' id='type-id-555'/>
+    <pointer-type-def type-id='type-id-819' size-in-bits='64' id='type-id-820'/>
+    <typedef-decl name='engine_create_t' type-id='type-id-820' filepath='../drivers/net/ice/ice_generic_flow.h' line='420' column='1' id='type-id-556'/>
+    <pointer-type-def type-id='type-id-821' size-in-bits='64' id='type-id-822'/>
+    <typedef-decl name='engine_destroy_t' type-id='type-id-822' filepath='../drivers/net/ice/ice_generic_flow.h' line='424' column='1' id='type-id-557'/>
+    <class-decl name='rte_flow_query_count' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2085' column='1' id='type-id-823'>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='reset' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2086' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='hits_set' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2087' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='bytes_set' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2088' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='reserved' type-id='type-id-40' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2089' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='hits' type-id='type-id-13' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2090' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='bytes' type-id='type-id-13' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2091' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-823' size-in-bits='64' id='type-id-824'/>
+    <pointer-type-def type-id='type-id-825' size-in-bits='64' id='type-id-826'/>
+    <typedef-decl name='engine_query_t' type-id='type-id-826' filepath='../drivers/net/ice/ice_generic_flow.h' line='427' column='1' id='type-id-558'/>
+    <pointer-type-def type-id='type-id-827' size-in-bits='64' id='type-id-828'/>
+    <typedef-decl name='engine_free_t' type-id='type-id-828' filepath='../drivers/net/ice/ice_generic_flow.h' line='431' column='1' id='type-id-559'/>
+    <enum-decl name='ice_flow_engine_type' filepath='../drivers/net/ice/ice_generic_flow.h' line='388' column='1' id='type-id-560'>
+      <underlying-type type-id='type-id-120'/>
+      <enumerator name='ICE_FLOW_ENGINE_NONE' value='0'/>
+      <enumerator name='ICE_FLOW_ENGINE_FDIR' value='1'/>
+      <enumerator name='ICE_FLOW_ENGINE_SWITCH' value='2'/>
+      <enumerator name='ICE_FLOW_ENGINE_HASH' value='3'/>
+      <enumerator name='ICE_FLOW_ENGINE_ACL' value='4'/>
+      <enumerator name='ICE_FLOW_ENGINE_MAX' value='5'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-829' size-in-bits='64' id='type-id-16'/>
+    <pointer-type-def type-id='type-id-830' size-in-bits='64' id='type-id-17'/>
+    <pointer-type-def type-id='type-id-831' size-in-bits='64' id='type-id-18'/>
+    <pointer-type-def type-id='type-id-832' size-in-bits='64' id='type-id-19'/>
+    <pointer-type-def type-id='type-id-833' size-in-bits='64' id='type-id-20'/>
+    <qualified-type-def type-id='type-id-14' const='yes' id='type-id-834'/>
+    <var-decl name='ice_flow_ops' type-id='type-id-834' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='385' column='1'/>
+
+    <array-type-def dimensions='1' type-id='type-id-536' size-in-bits='infinite' alignment-in-bits='32' id='type-id-835'>
+      <subrange length='infinite' id='type-id-8'/>
+
+    </array-type-def>
+    <var-decl name='pattern_empty' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='182' column='1'/>
+    <var-decl name='pattern_ethertype' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='185' column='1'/>
+    <var-decl name='pattern_ethertype_vlan' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='186' column='1'/>
+    <var-decl name='pattern_ethertype_qinq' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='187' column='1'/>
+    <var-decl name='pattern_eth_arp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='190' column='1'/>
+    <var-decl name='pattern_eth_ipv4' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='193' column='1'/>
+    <var-decl name='pattern_eth_vlan_ipv4' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='194' column='1'/>
+    <var-decl name='pattern_eth_qinq_ipv4' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='195' column='1'/>
+    <var-decl name='pattern_eth_ipv4_udp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='196' column='1'/>
+    <var-decl name='pattern_eth_vlan_ipv4_udp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='197' column='1'/>
+    <var-decl name='pattern_eth_qinq_ipv4_udp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='198' column='1'/>
+    <var-decl name='pattern_eth_ipv4_tcp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='199' column='1'/>
+    <var-decl name='pattern_eth_vlan_ipv4_tcp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='200' column='1'/>
+    <var-decl name='pattern_eth_qinq_ipv4_tcp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='201' column='1'/>
+    <var-decl name='pattern_eth_ipv4_sctp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='202' column='1'/>
+    <var-decl name='pattern_eth_vlan_ipv4_sctp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='203' column='1'/>
+    <var-decl name='pattern_eth_qinq_ipv4_sctp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='204' column='1'/>
+    <var-decl name='pattern_eth_ipv4_icmp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='205' column='1'/>
+    <var-decl name='pattern_eth_vlan_ipv4_icmp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='206' column='1'/>
+    <var-decl name='pattern_eth_qinq_ipv4_icmp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='207' column='1'/>
+    <var-decl name='pattern_eth_ipv6' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='210' column='1'/>
+    <var-decl name='pattern_eth_vlan_ipv6' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='211' column='1'/>
+    <var-decl name='pattern_eth_qinq_ipv6' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='212' column='1'/>
+    <var-decl name='pattern_eth_ipv6_udp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='213' column='1'/>
+    <var-decl name='pattern_eth_vlan_ipv6_udp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='214' column='1'/>
+    <var-decl name='pattern_eth_qinq_ipv6_udp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='215' column='1'/>
+    <var-decl name='pattern_eth_ipv6_tcp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='216' column='1'/>
+    <var-decl name='pattern_eth_vlan_ipv6_tcp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='217' column='1'/>
+    <var-decl name='pattern_eth_qinq_ipv6_tcp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='218' column='1'/>
+    <var-decl name='pattern_eth_ipv6_sctp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='219' column='1'/>
+    <var-decl name='pattern_eth_vlan_ipv6_sctp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='220' column='1'/>
+    <var-decl name='pattern_eth_qinq_ipv6_sctp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='221' column='1'/>
+    <var-decl name='pattern_eth_ipv6_icmp6' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='222' column='1'/>
+    <var-decl name='pattern_eth_vlan_ipv6_icmp6' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='223' column='1'/>
+    <var-decl name='pattern_eth_qinq_ipv6_icmp6' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='224' column='1'/>
+    <var-decl name='pattern_eth_ipv4_udp_vxlan_ipv4' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='227' column='1'/>
+    <var-decl name='pattern_eth_ipv4_udp_vxlan_ipv4_udp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='228' column='1'/>
+    <var-decl name='pattern_eth_ipv4_udp_vxlan_ipv4_tcp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='229' column='1'/>
+    <var-decl name='pattern_eth_ipv4_udp_vxlan_ipv4_sctp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='230' column='1'/>
+    <var-decl name='pattern_eth_ipv4_udp_vxlan_ipv4_icmp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='231' column='1'/>
+    <var-decl name='pattern_eth_ipv4_udp_vxlan_eth_ipv4' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='234' column='1'/>
+    <var-decl name='pattern_eth_ipv4_udp_vxlan_eth_ipv4_udp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='235' column='1'/>
+    <var-decl name='pattern_eth_ipv4_udp_vxlan_eth_ipv4_tcp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='236' column='1'/>
+    <var-decl name='pattern_eth_ipv4_udp_vxlan_eth_ipv4_sctp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='237' column='1'/>
+    <var-decl name='pattern_eth_ipv4_udp_vxlan_eth_ipv4_icmp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='238' column='1'/>
+    <var-decl name='pattern_eth_ipv6_udp_vxlan_ipv4' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='241' column='1'/>
+    <var-decl name='pattern_eth_ipv6_udp_vxlan_ipv4_tcp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='242' column='1'/>
+    <var-decl name='pattern_eth_ipv6_udp_vxlan_ipv4_udp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='243' column='1'/>
+    <var-decl name='pattern_eth_ipv6_udp_vxlan_ipv4_sctp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='244' column='1'/>
+    <var-decl name='pattern_eth_ipv6_udp_vxlan_ipv4_icmp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='245' column='1'/>
+    <var-decl name='pattern_eth_ipv6_udp_vxlan_eth_ipv4' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='248' column='1'/>
+    <var-decl name='pattern_eth_ipv6_udp_vxlan_eth_ipv4_tcp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='249' column='1'/>
+    <var-decl name='pattern_eth_ipv6_udp_vxlan_eth_ipv4_udp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='250' column='1'/>
+    <var-decl name='pattern_eth_ipv6_udp_vxlan_eth_ipv4_sctp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='251' column='1'/>
+    <var-decl name='pattern_eth_ipv6_udp_vxlan_eth_ipv4_icmp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='252' column='1'/>
+    <var-decl name='pattern_eth_ipv4_udp_vxlan_ipv6' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='255' column='1'/>
+    <var-decl name='pattern_eth_ipv4_udp_vxlan_ipv6_udp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='256' column='1'/>
+    <var-decl name='pattern_eth_ipv4_udp_vxlan_ipv6_tcp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='257' column='1'/>
+    <var-decl name='pattern_eth_ipv4_udp_vxlan_ipv6_sctp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='258' column='1'/>
+    <var-decl name='pattern_eth_ipv4_udp_vxlan_ipv6_icmp6' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='259' column='1'/>
+    <var-decl name='pattern_eth_ipv4_udp_vxlan_eth_ipv6' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='262' column='1'/>
+    <var-decl name='pattern_eth_ipv4_udp_vxlan_eth_ipv6_udp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='263' column='1'/>
+    <var-decl name='pattern_eth_ipv4_udp_vxlan_eth_ipv6_tcp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='264' column='1'/>
+    <var-decl name='pattern_eth_ipv4_udp_vxlan_eth_ipv6_sctp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='265' column='1'/>
+    <var-decl name='pattern_eth_ipv4_udp_vxlan_eth_ipv6_icmp6' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='266' column='1'/>
+    <var-decl name='pattern_eth_ipv6_udp_vxlan_ipv6' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='269' column='1'/>
+    <var-decl name='pattern_eth_ipv6_udp_vxlan_ipv6_tcp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='270' column='1'/>
+    <var-decl name='pattern_eth_ipv6_udp_vxlan_ipv6_udp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='271' column='1'/>
+    <var-decl name='pattern_eth_ipv6_udp_vxlan_ipv6_sctp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='272' column='1'/>
+    <var-decl name='pattern_eth_ipv6_udp_vxlan_ipv6_icmp6' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='273' column='1'/>
+    <var-decl name='pattern_eth_ipv6_udp_vxlan_eth_ipv6' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='276' column='1'/>
+    <var-decl name='pattern_eth_ipv6_udp_vxlan_eth_ipv6_tcp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='277' column='1'/>
+    <var-decl name='pattern_eth_ipv6_udp_vxlan_eth_ipv6_udp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='278' column='1'/>
+    <var-decl name='pattern_eth_ipv6_udp_vxlan_eth_ipv6_sctp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='279' column='1'/>
+    <var-decl name='pattern_eth_ipv6_udp_vxlan_eth_ipv6_icmp6' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='280' column='1'/>
+    <var-decl name='pattern_eth_ipv4_nvgre_ipv4' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='283' column='1'/>
+    <var-decl name='pattern_eth_ipv4_nvgre_ipv4_udp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='284' column='1'/>
+    <var-decl name='pattern_eth_ipv4_nvgre_ipv4_tcp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='285' column='1'/>
+    <var-decl name='pattern_eth_ipv4_nvgre_ipv4_sctp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='286' column='1'/>
+    <var-decl name='pattern_eth_ipv4_nvgre_ipv4_icmp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='287' column='1'/>
+    <var-decl name='pattern_eth_ipv4_nvgre_eth_ipv4' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='290' column='1'/>
+    <var-decl name='pattern_eth_ipv4_nvgre_eth_ipv4_udp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='291' column='1'/>
+    <var-decl name='pattern_eth_ipv4_nvgre_eth_ipv4_tcp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='292' column='1'/>
+    <var-decl name='pattern_eth_ipv4_nvgre_eth_ipv4_sctp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='293' column='1'/>
+    <var-decl name='pattern_eth_ipv4_nvgre_eth_ipv4_icmp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='294' column='1'/>
+    <var-decl name='pattern_eth_ipv6_nvgre_ipv4' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='297' column='1'/>
+    <var-decl name='pattern_eth_ipv6_nvgre_ipv4_tcp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='298' column='1'/>
+    <var-decl name='pattern_eth_ipv6_nvgre_ipv4_udp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='299' column='1'/>
+    <var-decl name='pattern_eth_ipv6_nvgre_ipv4_sctp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='300' column='1'/>
+    <var-decl name='pattern_eth_ipv6_nvgre_ipv4_icmp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='301' column='1'/>
+    <var-decl name='pattern_eth_ipv6_nvgre_eth_ipv4' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='304' column='1'/>
+    <var-decl name='pattern_eth_ipv6_nvgre_eth_ipv4_tcp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='305' column='1'/>
+    <var-decl name='pattern_eth_ipv6_nvgre_eth_ipv4_udp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='306' column='1'/>
+    <var-decl name='pattern_eth_ipv6_nvgre_eth_ipv4_sctp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='307' column='1'/>
+    <var-decl name='pattern_eth_ipv6_nvgre_eth_ipv4_icmp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='308' column='1'/>
+    <var-decl name='pattern_eth_ipv4_nvgre_ipv6' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='311' column='1'/>
+    <var-decl name='pattern_eth_ipv4_nvgre_ipv6_udp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='312' column='1'/>
+    <var-decl name='pattern_eth_ipv4_nvgre_ipv6_tcp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='313' column='1'/>
+    <var-decl name='pattern_eth_ipv4_nvgre_ipv6_sctp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='314' column='1'/>
+    <var-decl name='pattern_eth_ipv4_nvgre_ipv6_icmp6' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='315' column='1'/>
+    <var-decl name='pattern_eth_ipv4_nvgre_eth_ipv6' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='318' column='1'/>
+    <var-decl name='pattern_eth_ipv4_nvgre_eth_ipv6_udp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='319' column='1'/>
+    <var-decl name='pattern_eth_ipv4_nvgre_eth_ipv6_tcp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='320' column='1'/>
+    <var-decl name='pattern_eth_ipv4_nvgre_eth_ipv6_sctp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='321' column='1'/>
+    <var-decl name='pattern_eth_ipv4_nvgre_eth_ipv6_icmp6' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='322' column='1'/>
+    <var-decl name='pattern_eth_ipv6_nvgre_ipv6' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='325' column='1'/>
+    <var-decl name='pattern_eth_ipv6_nvgre_ipv6_tcp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='326' column='1'/>
+    <var-decl name='pattern_eth_ipv6_nvgre_ipv6_udp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='327' column='1'/>
+    <var-decl name='pattern_eth_ipv6_nvgre_ipv6_sctp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='328' column='1'/>
+    <var-decl name='pattern_eth_ipv6_nvgre_ipv6_icmp6' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='329' column='1'/>
+    <var-decl name='pattern_eth_ipv6_nvgre_eth_ipv6' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='332' column='1'/>
+    <var-decl name='pattern_eth_ipv6_nvgre_eth_ipv6_tcp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='333' column='1'/>
+    <var-decl name='pattern_eth_ipv6_nvgre_eth_ipv6_udp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='334' column='1'/>
+    <var-decl name='pattern_eth_ipv6_nvgre_eth_ipv6_sctp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='335' column='1'/>
+    <var-decl name='pattern_eth_ipv6_nvgre_eth_ipv6_icmp6' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='336' column='1'/>
+    <var-decl name='pattern_eth_ipv4_gtpu_ipv4' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='339' column='1'/>
+    <var-decl name='pattern_eth_ipv4_gtpu_eh_ipv4' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='340' column='1'/>
+    <var-decl name='pattern_eth_ipv4_gtpu_eh_ipv4_udp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='341' column='1'/>
+    <var-decl name='pattern_eth_ipv4_gtpu_eh_ipv4_tcp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='342' column='1'/>
+    <var-decl name='pattern_eth_ipv4_gtpu_eh_ipv4_icmp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='343' column='1'/>
+    <var-decl name='pattern_eth_pppoed' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='346' column='1'/>
+    <var-decl name='pattern_eth_vlan_pppoed' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='347' column='1'/>
+    <var-decl name='pattern_eth_qinq_pppoed' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='348' column='1'/>
+    <var-decl name='pattern_eth_pppoes' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='349' column='1'/>
+    <var-decl name='pattern_eth_vlan_pppoes' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='350' column='1'/>
+    <var-decl name='pattern_eth_qinq_pppoes' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='351' column='1'/>
+    <var-decl name='pattern_eth_pppoes_ipv4' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='352' column='1'/>
+    <var-decl name='pattern_eth_vlan_pppoes_ipv4' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='353' column='1'/>
+    <var-decl name='pattern_eth_qinq_pppoes_ipv4' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='354' column='1'/>
+    <var-decl name='pattern_eth_pppoes_ipv4_udp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='355' column='1'/>
+    <var-decl name='pattern_eth_vlan_pppoes_ipv4_udp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='356' column='1'/>
+    <var-decl name='pattern_eth_qinq_pppoes_ipv4_udp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='357' column='1'/>
+    <var-decl name='pattern_eth_pppoes_ipv4_tcp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='358' column='1'/>
+    <var-decl name='pattern_eth_vlan_pppoes_ipv4_tcp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='359' column='1'/>
+    <var-decl name='pattern_eth_qinq_pppoes_ipv4_tcp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='360' column='1'/>
+    <var-decl name='pattern_eth_pppoes_ipv4_sctp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='361' column='1'/>
+    <var-decl name='pattern_eth_vlan_pppoes_ipv4_sctp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='362' column='1'/>
+    <var-decl name='pattern_eth_qinq_pppoes_ipv4_sctp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='363' column='1'/>
+    <var-decl name='pattern_eth_pppoes_ipv4_icmp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='364' column='1'/>
+    <var-decl name='pattern_eth_vlan_pppoes_ipv4_icmp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='365' column='1'/>
+    <var-decl name='pattern_eth_qinq_pppoes_ipv4_icmp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='366' column='1'/>
+    <var-decl name='pattern_eth_pppoes_ipv6' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='367' column='1'/>
+    <var-decl name='pattern_eth_vlan_pppoes_ipv6' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='368' column='1'/>
+    <var-decl name='pattern_eth_qinq_pppoes_ipv6' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='369' column='1'/>
+    <var-decl name='pattern_eth_pppoes_ipv6_udp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='370' column='1'/>
+    <var-decl name='pattern_eth_vlan_pppoes_ipv6_udp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='371' column='1'/>
+    <var-decl name='pattern_eth_qinq_pppoes_ipv6_udp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='372' column='1'/>
+    <var-decl name='pattern_eth_pppoes_ipv6_tcp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='373' column='1'/>
+    <var-decl name='pattern_eth_vlan_pppoes_ipv6_tcp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='374' column='1'/>
+    <var-decl name='pattern_eth_qinq_pppoes_ipv6_tcp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='375' column='1'/>
+    <var-decl name='pattern_eth_pppoes_ipv6_sctp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='376' column='1'/>
+    <var-decl name='pattern_eth_vlan_pppoes_ipv6_sctp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='377' column='1'/>
+    <var-decl name='pattern_eth_qinq_pppoes_ipv6_sctp' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='378' column='1'/>
+    <var-decl name='pattern_eth_pppoes_ipv6_icmp6' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='379' column='1'/>
+    <var-decl name='pattern_eth_vlan_pppoes_ipv6_icmp6' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='380' column='1'/>
+    <var-decl name='pattern_eth_qinq_pppoes_ipv6_icmp6' type-id='type-id-835' visibility='default' filepath='../drivers/net/ice/ice_generic_flow.h' line='381' column='1'/>
+    <function-type size-in-bits='64' id='type-id-376'>
+      <parameter type-id='type-id-251'/>
+      <return type-id='type-id-285'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-337'>
+      <return type-id='type-id-336'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-320'>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-331'>
+      <parameter type-id='type-id-284'/>
+      <parameter type-id='type-id-26'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-324'>
+      <parameter type-id='type-id-323'/>
+      <parameter type-id='type-id-26'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-815'>
+      <parameter type-id='type-id-735'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-811'>
+      <parameter type-id='type-id-735'/>
+      <parameter type-id='type-id-806'/>
+      <parameter type-id='type-id-40'/>
+      <parameter type-id='type-id-538'/>
+      <parameter type-id='type-id-542'/>
+      <parameter type-id='type-id-98'/>
+      <parameter type-id='type-id-545'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-821'>
+      <parameter type-id='type-id-735'/>
+      <parameter type-id='type-id-550'/>
+      <parameter type-id='type-id-545'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-825'>
+      <parameter type-id='type-id-735'/>
+      <parameter type-id='type-id-550'/>
+      <parameter type-id='type-id-824'/>
+      <parameter type-id='type-id-545'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-819'>
+      <parameter type-id='type-id-735'/>
+      <parameter type-id='type-id-550'/>
+      <parameter type-id='type-id-26'/>
+      <parameter type-id='type-id-545'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-329'>
+      <parameter type-id='type-id-28'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-333'>
+      <parameter type-id='type-id-28'/>
+      <parameter type-id='type-id-26'/>
+      <parameter type-id='type-id-13'/>
+      <parameter type-id='type-id-62'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-252'>
+      <parameter type-id='type-id-251'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-374'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-355'/>
+      <parameter type-id='type-id-62'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-493'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-284'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-546'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-534'/>
+      <parameter type-id='type-id-538'/>
+      <parameter type-id='type-id-542'/>
+      <parameter type-id='type-id-545'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-480'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-479'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-487'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-486'/>
+      <parameter type-id='type-id-482'/>
+      <parameter type-id='type-id-48'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-456'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-454'/>
+      <parameter type-id='type-id-455'/>
+      <parameter type-id='type-id-26'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-383'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-382'/>
+      <parameter type-id='type-id-5'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-256'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-10'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-833'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-10'/>
+      <parameter type-id='type-id-545'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-448'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-447'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-444'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-443'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-463'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-462'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-359'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-358'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-452'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-451'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-406'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-405'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-497'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-496'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-429'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-428'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-431'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-428'/>
+      <parameter type-id='type-id-40'/>
+      <parameter type-id='type-id-104'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-420'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-419'/>
+      <parameter type-id='type-id-104'/>
+      <parameter type-id='type-id-104'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-410'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-409'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-436'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-435'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-440'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-439'/>
+      <parameter type-id='type-id-5'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-271'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-270'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-424'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-423'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-275'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-274'/>
+      <parameter type-id='type-id-48'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-489'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-278'/>
+      <parameter type-id='type-id-486'/>
+      <parameter type-id='type-id-48'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-279'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-278'/>
+      <parameter type-id='type-id-48'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-262'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-102'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-264'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-102'/>
+      <parameter type-id='type-id-40'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-260'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-102'/>
+      <parameter type-id='type-id-40'/>
+      <parameter type-id='type-id-40'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-412'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-102'/>
+      <parameter type-id='type-id-104'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-832'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-550'/>
+      <parameter type-id='type-id-542'/>
+      <parameter type-id='type-id-26'/>
+      <parameter type-id='type-id-545'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-830'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-550'/>
+      <parameter type-id='type-id-545'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-831'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-545'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-472'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-469'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-470'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-469'/>
+      <parameter type-id='type-id-40'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-476'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-475'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-266'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-5'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-380'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-10'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-372'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-371'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-433'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-5'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-504'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-503'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-389'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-48'/>
+      <parameter type-id='type-id-388'/>
+      <parameter type-id='type-id-41'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-399'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-48'/>
+      <parameter type-id='type-id-398'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-281'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-104'/>
+      <parameter type-id='type-id-104'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-378'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-40'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-414'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-104'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-483'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-482'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-491'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-26'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-346'>
+      <parameter type-id='type-id-26'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-395'>
+      <parameter type-id='type-id-26'/>
+      <parameter type-id='type-id-5'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-401'>
+      <parameter type-id='type-id-26'/>
+      <parameter type-id='type-id-40'/>
+      <return type-id='type-id-10'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-327'>
+      <parameter type-id='type-id-323'/>
+      <parameter type-id='type-id-326'/>
+      <parameter type-id='type-id-26'/>
+      <return type-id='type-id-28'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-829'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-534'/>
+      <parameter type-id='type-id-538'/>
+      <parameter type-id='type-id-542'/>
+      <parameter type-id='type-id-545'/>
+      <return type-id='type-id-550'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-528'>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-26'/>
+      <return type-id='type-id-5'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-530'>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-26'/>
+      <return type-id='type-id-5'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-94'>
+      <parameter type-id='type-id-26'/>
+      <parameter type-id='type-id-93'/>
+      <parameter type-id='type-id-5'/>
+      <return type-id='type-id-5'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-393'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-5'/>
+      <return type-id='type-id-40'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-817'>
+      <parameter type-id='type-id-735'/>
+      <return type-id='type-id-35'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-518'>
+      <parameter type-id='type-id-10'/>
+      <parameter type-id='type-id-26'/>
+      <return type-id='type-id-35'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-254'>
+      <parameter type-id='type-id-251'/>
+      <return type-id='type-id-35'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-385'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-10'/>
+      <return type-id='type-id-35'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-363'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-362'/>
+      <return type-id='type-id-35'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-367'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-5'/>
+      <parameter type-id='type-id-366'/>
+      <return type-id='type-id-35'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-258'>
+      <parameter type-id='type-id-251'/>
+      <parameter type-id='type-id-40'/>
+      <return type-id='type-id-35'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-827'>
+      <parameter type-id='type-id-550'/>
+      <return type-id='type-id-35'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-80'>
+      <parameter type-id='type-id-74'/>
+      <parameter type-id='type-id-26'/>
+      <return type-id='type-id-35'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-391'>
+      <parameter type-id='type-id-26'/>
+      <return type-id='type-id-35'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-85'>
+      <parameter type-id='type-id-26'/>
+      <parameter type-id='type-id-26'/>
+      <return type-id='type-id-35'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-344'>
+      <parameter type-id='type-id-26'/>
+      <parameter type-id='type-id-284'/>
+      <parameter type-id='type-id-343'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_ipn3ke.dump b/drivers/.abi/librte_pmd_ipn3ke.dump
new file mode 100644
index 000000000..eac23cc68
--- /dev/null
+++ b/drivers/.abi/librte_pmd_ipn3ke.dump
@@ -0,0 +1,3581 @@
+<abi-corpus path='gcc//drivers/librte_pmd_ipn3ke.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_ipn3ke.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='librte_bus_ifpga.so.20.0'/>
+    <dependency name='librte_rawdev.so.20.0'/>
+    <dependency name='librte_sched.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-variable-symbols>
+    <elf-symbol name='ipn3ke_bridge_func' size='16' version='EXPERIMENTAL' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/ipn3ke/ipn3ke_ethdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='ipn3ke_afu_logtype' type-id='type-id-1' visibility='default' filepath='../drivers/net/ipn3ke/ipn3ke_logs.h' line='10' column='1'/>
+    <class-decl name='ipn3ke_pub_func' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/ipn3ke/ipn3ke_rawdev_api.h' line='62' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='get_ifpga_rawdev' type-id='type-id-3' visibility='default' filepath='../drivers/net/ipn3ke/ipn3ke_rawdev_api.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='set_i40e_sw_dev' type-id='type-id-4' visibility='default' filepath='../drivers/net/ipn3ke/ipn3ke_rawdev_api.h' line='64' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ifpga_rawdev' size-in-bits='1664' is-struct='yes' visibility='default' filepath='../drivers/net/ipn3ke/../../raw/ifpga/ifpga_rawdev.h' line='52' column='1' id='type-id-5'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_id' type-id='type-id-1' visibility='default' filepath='../drivers/net/ipn3ke/../../raw/ifpga/ifpga_rawdev.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rawdev' type-id='type-id-6' visibility='default' filepath='../drivers/net/ipn3ke/../../raw/ifpga/ifpga_rawdev.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='aer_enable' type-id='type-id-1' visibility='default' filepath='../drivers/net/ipn3ke/../../raw/ifpga/ifpga_rawdev.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='intr_fd' type-id='type-id-7' visibility='default' filepath='../drivers/net/ipn3ke/../../raw/ifpga/ifpga_rawdev.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='aer_old' type-id='type-id-8' visibility='default' filepath='../drivers/net/ipn3ke/../../raw/ifpga/ifpga_rawdev.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='fvl_bdf' type-id='type-id-9' visibility='default' filepath='../drivers/net/ipn3ke/../../raw/ifpga/ifpga_rawdev.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1504'>
+        <var-decl name='parent_bdf' type-id='type-id-10' visibility='default' filepath='../drivers/net/ipn3ke/../../raw/ifpga/ifpga_rawdev.h' line='59' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_rawdev' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='263' column='1' id='type-id-11'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='265' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dev_id' type-id='type-id-12' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='267' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_ops' type-id='type-id-13' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='269' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='device' type-id='type-id-14' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='271' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver_name' type-id='type-id-15' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='273' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='attached' type-id='type-id-16' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='277' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='started' type-id='type-id-16' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_private' type-id='type-id-17' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='282' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='name' type-id='type-id-18' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='284' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-19'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-19' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-20'/>
+    <typedef-decl name='uint16_t' type-id='type-id-20' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-12'/>
+    <class-decl name='rte_rawdev_ops' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='505' column='1' id='type-id-21'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_info_get' type-id='type-id-22' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='507' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_configure' type-id='type-id-23' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='509' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dev_start' type-id='type-id-24' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='511' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_stop' type-id='type-id-25' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='513' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dev_close' type-id='type-id-26' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_reset' type-id='type-id-27' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='517' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='queue_def_conf' type-id='type-id-28' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='queue_setup' type-id='type-id-29' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='queue_release' type-id='type-id-30' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='524' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='queue_count' type-id='type-id-31' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='526' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='enqueue_bufs' type-id='type-id-32' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='529' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='dequeue_bufs' type-id='type-id-33' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='532' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='dump' type-id='type-id-34' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='535' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='attr_get' type-id='type-id-35' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='538' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='attr_set' type-id='type-id-36' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='540' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='xstats_get' type-id='type-id-37' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='543' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='xstats_get_names' type-id='type-id-38' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='545' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='xstats_get_by_name' type-id='type-id-39' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='547' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='xstats_reset' type-id='type-id-40' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='549' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='firmware_status_get' type-id='type-id-41' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='552' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='firmware_version_get' type-id='type-id-42' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='554' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='firmware_load' type-id='type-id-43' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='556' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='firmware_unload' type-id='type-id-44' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='558' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='dev_selftest' type-id='type-id-45' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='561' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='void' id='type-id-46'/>
+    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-6'/>
+    <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-47'/>
+    <typedef-decl name='rte_rawdev_obj_t' type-id='type-id-47' filepath='../lib/librte_rawdev/rte_rawdev.h' line='29' column='1' id='type-id-17'/>
+    <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-49'/>
+    <typedef-decl name='rawdev_info_get_t' type-id='type-id-49' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='148' column='1' id='type-id-22'/>
+    <qualified-type-def type-id='type-id-11' const='yes' id='type-id-50'/>
+    <pointer-type-def type-id='type-id-50' size-in-bits='64' id='type-id-51'/>
+    <pointer-type-def type-id='type-id-52' size-in-bits='64' id='type-id-53'/>
+    <typedef-decl name='rawdev_configure_t' type-id='type-id-53' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='162' column='1' id='type-id-23'/>
+    <pointer-type-def type-id='type-id-54' size-in-bits='64' id='type-id-55'/>
+    <typedef-decl name='rawdev_start_t' type-id='type-id-55' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='174' column='1' id='type-id-24'/>
+    <pointer-type-def type-id='type-id-56' size-in-bits='64' id='type-id-57'/>
+    <typedef-decl name='rawdev_stop_t' type-id='type-id-57' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='182' column='1' id='type-id-25'/>
+    <typedef-decl name='rawdev_close_t' type-id='type-id-55' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='194' column='1' id='type-id-26'/>
+    <typedef-decl name='rawdev_reset_t' type-id='type-id-55' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='205' column='1' id='type-id-27'/>
+    <pointer-type-def type-id='type-id-58' size-in-bits='64' id='type-id-59'/>
+    <typedef-decl name='rawdev_queue_conf_get_t' type-id='type-id-59' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='218' column='1' id='type-id-28'/>
+    <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-61'/>
+    <typedef-decl name='rawdev_queue_setup_t' type-id='type-id-61' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='235' column='1' id='type-id-29'/>
+    <pointer-type-def type-id='type-id-62' size-in-bits='64' id='type-id-63'/>
+    <typedef-decl name='rawdev_queue_release_t' type-id='type-id-63' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='248' column='1' id='type-id-30'/>
+    <pointer-type-def type-id='type-id-64' size-in-bits='64' id='type-id-65'/>
+    <typedef-decl name='rawdev_queue_count_t' type-id='type-id-65' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='267' column='1' id='type-id-31'/>
+    <class-decl name='rte_rawdev_buf' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='302' column='1' id='type-id-66'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-47' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='304' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/>
+    <pointer-type-def type-id='type-id-67' size-in-bits='64' id='type-id-68'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-69'/>
+    <pointer-type-def type-id='type-id-70' size-in-bits='64' id='type-id-71'/>
+    <typedef-decl name='rawdev_enqueue_bufs_t' type-id='type-id-71' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='291' column='1' id='type-id-32'/>
+    <typedef-decl name='rawdev_dequeue_bufs_t' type-id='type-id-71' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='316' column='1' id='type-id-33'/>
+    <class-decl name='_IO_FILE' size-in-bits='1728' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='49' column='1' id='type-id-72'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='_flags' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='_IO_read_ptr' type-id='type-id-73' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='_IO_read_end' type-id='type-id-73' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='_IO_read_base' type-id='type-id-73' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='_IO_write_base' type-id='type-id-73' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='_IO_write_ptr' type-id='type-id-73' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='_IO_write_end' type-id='type-id-73' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='_IO_buf_base' type-id='type-id-73' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='60' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='_IO_buf_end' type-id='type-id-73' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='_IO_save_base' type-id='type-id-73' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='_IO_backup_base' type-id='type-id-73' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='_IO_save_end' type-id='type-id-73' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='_markers' type-id='type-id-74' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='_chain' type-id='type-id-75' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='_fileno' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='928'>
+        <var-decl name='_flags2' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='73' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='_old_offset' type-id='type-id-76' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='_cur_column' type-id='type-id-19' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1040'>
+        <var-decl name='_vtable_offset' type-id='type-id-77' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1048'>
+        <var-decl name='_shortbuf' type-id='type-id-78' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='_lock' type-id='type-id-79' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='_offset' type-id='type-id-80' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='89' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='_codecvt' type-id='type-id-81' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='_wide_data' type-id='type-id-82' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='92' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='_freeres_list' type-id='type-id-75' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='93' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='_freeres_buf' type-id='type-id-47' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='94' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='__pad5' type-id='type-id-83' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='95' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='_mode' type-id='type-id-1' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1568'>
+        <var-decl name='_unused2' type-id='type-id-84' visibility='default' filepath='/usr/include/bits/types/struct_FILE.h' line='98' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-85'/>
+    <pointer-type-def type-id='type-id-85' size-in-bits='64' id='type-id-73'/>
+    <class-decl name='_IO_marker' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-86'/>
+    <pointer-type-def type-id='type-id-86' size-in-bits='64' id='type-id-74'/>
+    <pointer-type-def type-id='type-id-72' size-in-bits='64' id='type-id-75'/>
+    <type-decl name='long int' size-in-bits='64' id='type-id-87'/>
+    <typedef-decl name='__off_t' type-id='type-id-87' filepath='/usr/include/bits/types.h' line='152' column='1' id='type-id-76'/>
+    <type-decl name='signed char' size-in-bits='8' id='type-id-77'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-88'/>
+
+    <array-type-def dimensions='1' type-id='type-id-85' size-in-bits='8' id='type-id-78'>
+      <subrange length='1' type-id='type-id-88' id='type-id-89'/>
+
+    </array-type-def>
+    <typedef-decl name='_IO_lock_t' type-id='type-id-46' filepath='/usr/include/bits/types/struct_FILE.h' line='43' column='1' id='type-id-90'/>
+    <pointer-type-def type-id='type-id-90' size-in-bits='64' id='type-id-79'/>
+    <typedef-decl name='__off64_t' type-id='type-id-87' filepath='/usr/include/bits/types.h' line='153' column='1' id='type-id-80'/>
+    <class-decl name='_IO_codecvt' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-91'/>
+    <pointer-type-def type-id='type-id-91' size-in-bits='64' id='type-id-81'/>
+    <class-decl name='_IO_wide_data' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-92'/>
+    <pointer-type-def type-id='type-id-92' size-in-bits='64' id='type-id-82'/>
+    <typedef-decl name='size_t' type-id='type-id-88' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-83'/>
+
+    <array-type-def dimensions='1' type-id='type-id-85' size-in-bits='160' id='type-id-84'>
+      <subrange length='20' type-id='type-id-88' id='type-id-93'/>
+
+    </array-type-def>
+    <typedef-decl name='FILE' type-id='type-id-72' filepath='/usr/include/bits/types/FILE.h' line='7' column='1' id='type-id-94'/>
+    <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-95'/>
+    <pointer-type-def type-id='type-id-96' size-in-bits='64' id='type-id-97'/>
+    <typedef-decl name='rawdev_dump_t' type-id='type-id-97' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='333' column='1' id='type-id-34'/>
+    <qualified-type-def type-id='type-id-85' const='yes' id='type-id-98'/>
+    <pointer-type-def type-id='type-id-98' size-in-bits='64' id='type-id-15'/>
+    <typedef-decl name='__uint64_t' type-id='type-id-88' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-99'/>
+    <typedef-decl name='uint64_t' type-id='type-id-99' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-100'/>
+    <pointer-type-def type-id='type-id-100' size-in-bits='64' id='type-id-101'/>
+    <pointer-type-def type-id='type-id-102' size-in-bits='64' id='type-id-103'/>
+    <typedef-decl name='rawdev_get_attr_t' type-id='type-id-103' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='350' column='1' id='type-id-35'/>
+    <qualified-type-def type-id='type-id-100' const='yes' id='type-id-104'/>
+    <pointer-type-def type-id='type-id-105' size-in-bits='64' id='type-id-106'/>
+    <typedef-decl name='rawdev_set_attr_t' type-id='type-id-106' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='368' column='1' id='type-id-36'/>
+    <qualified-type-def type-id='type-id-69' const='yes' id='type-id-107'/>
+    <pointer-type-def type-id='type-id-107' size-in-bits='64' id='type-id-108'/>
+    <pointer-type-def type-id='type-id-109' size-in-bits='64' id='type-id-110'/>
+    <typedef-decl name='rawdev_xstats_get_t' type-id='type-id-110' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='388' column='1' id='type-id-37'/>
+    <class-decl name='rte_rawdev_xstats_name' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='433' column='1' id='type-id-111'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-18' visibility='default' filepath='../lib/librte_rawdev/rte_rawdev.h' line='434' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-85' size-in-bits='512' id='type-id-18'>
+      <subrange length='64' type-id='type-id-88' id='type-id-112'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-111' size-in-bits='64' id='type-id-113'/>
+    <pointer-type-def type-id='type-id-114' size-in-bits='64' id='type-id-115'/>
+    <typedef-decl name='rawdev_xstats_get_names_t' type-id='type-id-115' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='413' column='1' id='type-id-38'/>
+    <pointer-type-def type-id='type-id-69' size-in-bits='64' id='type-id-116'/>
+    <pointer-type-def type-id='type-id-117' size-in-bits='64' id='type-id-118'/>
+    <typedef-decl name='rawdev_xstats_get_by_name_t' type-id='type-id-118' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='432' column='1' id='type-id-39'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-69' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-119'/>
+    <typedef-decl name='uint32_t' type-id='type-id-119' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-120'/>
+    <qualified-type-def type-id='type-id-120' const='yes' id='type-id-121'/>
+    <pointer-type-def type-id='type-id-121' size-in-bits='64' id='type-id-122'/>
+    <pointer-type-def type-id='type-id-123' size-in-bits='64' id='type-id-124'/>
+    <typedef-decl name='rawdev_xstats_reset_t' type-id='type-id-124' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='394' column='1' id='type-id-40'/>
+    <pointer-type-def type-id='type-id-125' size-in-bits='64' id='type-id-126'/>
+    <typedef-decl name='rawdev_firmware_status_get_t' type-id='type-id-126' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='448' column='1' id='type-id-41'/>
+    <typedef-decl name='rawdev_firmware_version_get_t' type-id='type-id-126' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='462' column='1' id='type-id-42'/>
+    <typedef-decl name='rawdev_firmware_load_t' type-id='type-id-126' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='479' column='1' id='type-id-43'/>
+    <typedef-decl name='rawdev_firmware_unload_t' type-id='type-id-55' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='494' column='1' id='type-id-44'/>
+    <pointer-type-def type-id='type-id-127' size-in-bits='64' id='type-id-128'/>
+    <typedef-decl name='rawdev_selftest_t' type-id='type-id-128' filepath='../lib/librte_rawdev/rte_rawdev_pmd.h' line='502' column='1' id='type-id-45'/>
+    <qualified-type-def type-id='type-id-21' const='yes' id='type-id-129'/>
+    <pointer-type-def type-id='type-id-129' size-in-bits='64' id='type-id-13'/>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-130'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-131' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-15' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-132' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-133' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-134' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-131'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-14' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-135' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-130' size-in-bits='64' id='type-id-14'/>
+    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-135'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-136'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-137' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-15' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-15' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-137'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-138' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-139' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-136' size-in-bits='64' id='type-id-138'/>
+    <pointer-type-def type-id='type-id-138' size-in-bits='64' id='type-id-139'/>
+    <qualified-type-def type-id='type-id-136' const='yes' id='type-id-140'/>
+    <pointer-type-def type-id='type-id-140' size-in-bits='64' id='type-id-132'/>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-141'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-142' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-15' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-143' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-144' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-145' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-146' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-147' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-148' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-149' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-150' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-151' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-152' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-153' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-154' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-155' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-142'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-156' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-157' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-141' size-in-bits='64' id='type-id-156'/>
+    <pointer-type-def type-id='type-id-156' size-in-bits='64' id='type-id-157'/>
+    <pointer-type-def type-id='type-id-158' size-in-bits='64' id='type-id-159'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-159' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-143'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-159' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-144'/>
+    <qualified-type-def type-id='type-id-130' const='yes' id='type-id-160'/>
+    <pointer-type-def type-id='type-id-160' size-in-bits='64' id='type-id-161'/>
+    <pointer-type-def type-id='type-id-162' size-in-bits='64' id='type-id-163'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-163' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-164'/>
+    <pointer-type-def type-id='type-id-165' size-in-bits='64' id='type-id-166'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-166' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-145'/>
+    <pointer-type-def type-id='type-id-167' size-in-bits='64' id='type-id-168'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-168' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-146'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-168' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-147'/>
+    <pointer-type-def type-id='type-id-169' size-in-bits='64' id='type-id-170'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-170' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-148'/>
+    <pointer-type-def type-id='type-id-171' size-in-bits='64' id='type-id-172'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-172' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-149'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-172' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-150'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-151'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-173' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-174'/>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-173'>
+      <underlying-type type-id='type-id-174'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-175'>
+      <underlying-type type-id='type-id-174'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-176' size-in-bits='64' id='type-id-177'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-177' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-152'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-178'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-15' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-15' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-15' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-156' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-179' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-14' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-47' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-180'/>
+    <pointer-type-def type-id='type-id-180' size-in-bits='64' id='type-id-179'/>
+    <qualified-type-def type-id='type-id-178' const='yes' id='type-id-181'/>
+    <pointer-type-def type-id='type-id-181' size-in-bits='64' id='type-id-182'/>
+    <pointer-type-def type-id='type-id-183' size-in-bits='64' id='type-id-184'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-184' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-153'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-168' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-154'/>
+    <pointer-type-def type-id='type-id-185' size-in-bits='64' id='type-id-186'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-186' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-155'/>
+    <qualified-type-def type-id='type-id-141' const='yes' id='type-id-187'/>
+    <pointer-type-def type-id='type-id-187' size-in-bits='64' id='type-id-133'/>
+    <class-decl name='rte_devargs' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='47' column='1' id='type-id-188'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-189' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='type' type-id='type-id-190' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='policy' type-id='type-id-191' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='name' type-id='type-id-18' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='' type-id='type-id-192' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='bus' type-id='type-id-156' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='cls' type-id='type-id-179' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='bus_str' type-id='type-id-15' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='cls_str' type-id='type-id-15' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='data' type-id='type-id-15' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='66' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1' id='type-id-189'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-134' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-193' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-188' size-in-bits='64' id='type-id-134'/>
+    <pointer-type-def type-id='type-id-134' size-in-bits='64' id='type-id-193'/>
+    <enum-decl name='rte_devtype' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='31' column='1' id='type-id-190'>
+      <underlying-type type-id='type-id-174'/>
+      <enumerator name='RTE_DEVTYPE_WHITELISTED_PCI' value='0'/>
+      <enumerator name='RTE_DEVTYPE_BLACKLISTED_PCI' value='1'/>
+      <enumerator name='RTE_DEVTYPE_VIRTUAL' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_dev_policy' filepath='../lib/librte_eal/common/include/rte_dev.h' line='72' column='1' id='type-id-191'>
+      <underlying-type type-id='type-id-174'/>
+      <enumerator name='RTE_DEV_WHITELISTED' value='0'/>
+      <enumerator name='RTE_DEV_BLACKLISTED' value='1'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='57' column='1' id='type-id-192'>
+      <data-member access='private'>
+        <var-decl name='args' type-id='type-id-73' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='drv_str' type-id='type-id-15' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='60' column='1'/>
+      </data-member>
+    </union-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-194'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-194' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-195'/>
+    <typedef-decl name='uint8_t' type-id='type-id-195' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-16'/>
+
+    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='256' id='type-id-7'>
+      <subrange length='8' type-id='type-id-88' id='type-id-196'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-120' size-in-bits='64' id='type-id-8'>
+      <subrange length='2' type-id='type-id-88' id='type-id-197'/>
+
+    </array-type-def>
+
+
+    <array-type-def dimensions='2' type-id='type-id-85' size-in-bits='192' id='type-id-9'>
+      <subrange length='8' type-id='type-id-88' id='type-id-196'/>
+
+      <subrange length='16' type-id='type-id-88' id='type-id-198'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-85' size-in-bits='128' id='type-id-10'>
+      <subrange length='16' type-id='type-id-88' id='type-id-198'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-5' size-in-bits='64' id='type-id-199'/>
+    <pointer-type-def type-id='type-id-200' size-in-bits='64' id='type-id-3'/>
+    <class-decl name='rte_eth_dev' size-in-bits='132608' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='777' column='1' id='type-id-201'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_pkt_burst' type-id='type-id-202' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='778' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tx_pkt_burst' type-id='type-id-203' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tx_pkt_prepare' type-id='type-id-204' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='data' type-id='type-id-205' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='786' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='process_private' type-id='type-id-47' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='787' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_ops' type-id='type-id-206' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='788' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='device' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='789' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='intr_handle' type-id='type-id-207' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='790' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='link_intr_cbs' type-id='type-id-208' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='792' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='post_rx_burst_cbs' type-id='type-id-209' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='797' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='66176'>
+        <var-decl name='pre_tx_burst_cbs' type-id='type-id-209' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131712'>
+        <var-decl name='state' type-id='type-id-210' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='803' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131776'>
+        <var-decl name='security_ctx' type-id='type-id-47' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131840'>
+        <var-decl name='reserved_64s' type-id='type-id-211' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='806' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='132096'>
+        <var-decl name='reserved_ptrs' type-id='type-id-212' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='807' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mbuf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='480' column='1' id='type-id-213'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheline0' type-id='type-id-214' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-47' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-215' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rearm_data' type-id='type-id-216' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='497' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_off' type-id='type-id-12' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_segs' type-id='type-id-12' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='port' type-id='type-id-12' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ol_flags' type-id='type-id-100' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_descriptor_fields1' type-id='type-id-214' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='pkt_len' type-id='type-id-120' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data_len' type-id='type-id-12' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='vlan_tci' type-id='type-id-12' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vlan_tci_outer' type-id='type-id-12' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='buf_len' type-id='type-id-12' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='timestamp' type-id='type-id-100' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cacheline1' type-id='type-id-214' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='pool' type-id='type-id-217' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='next' type-id='type-id-218' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv_size' type-id='type-id-12' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='timesync' type-id='type-id-12' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='seqn' type-id='type-id-120' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='shinfo' type-id='type-id-219' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dynfield1' type-id='type-id-220' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-47' size-in-bits='infinite' id='type-id-221'>
+      <subrange length='infinite' type-id='type-id-88' id='type-id-222'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER' type-id='type-id-221' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='414' column='1' id='type-id-214'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='491' column='1' id='type-id-215'>
+      <data-member access='private'>
+        <var-decl name='buf_iova' type-id='type-id-223' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='buf_physaddr' type-id='type-id-223' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_iova_t' type-id='type-id-100' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-223'/>
+
+    <array-type-def dimensions='1' type-id='type-id-100' size-in-bits='infinite' id='type-id-224'>
+      <subrange length='infinite' type-id='type-id-88' id='type-id-222'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER64' type-id='type-id-224' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='420' column='1' id='type-id-216'/>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-225'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-226' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-227' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-47' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-228' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-69' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-120' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-120' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-120' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-120' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-120' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-69' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-229' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-230' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-120' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-231' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-120' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-232' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-85' size-in-bits='256' id='type-id-226'>
+      <subrange length='32' type-id='type-id-88' id='type-id-233'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-227'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-47' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-100' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-234'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-226' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-235' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-83' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-100' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-229' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-120' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-235'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-236' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-223' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-100' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-236'/>
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-237'/>
+    <typedef-decl name='int32_t' type-id='type-id-237' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-229'/>
+    <qualified-type-def type-id='type-id-234' const='yes' id='type-id-238'/>
+    <pointer-type-def type-id='type-id-238' size-in-bits='64' id='type-id-228'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-239'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-120' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-120' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-120' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-240' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-47' size-in-bits='98304' id='type-id-240'>
+      <subrange length='1536' type-id='type-id-88' id='type-id-241'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-239' size-in-bits='64' id='type-id-230'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-231'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-242' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-243' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-244'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-245' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-217' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-246' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-245'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-242' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-244' size-in-bits='64' id='type-id-242'/>
+    <pointer-type-def type-id='type-id-225' size-in-bits='64' id='type-id-217'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-246'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-223' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-236' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-242' size-in-bits='64' id='type-id-243'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-232'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-247' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-248' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-249'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-250' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-217' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-47' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-251' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-83' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-252' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-47' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-250'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-247' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-249' size-in-bits='64' id='type-id-247'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-251'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-223' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-236' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-253' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-254'/>
+    <pointer-type-def type-id='type-id-254' size-in-bits='64' id='type-id-252'/>
+    <pointer-type-def type-id='type-id-247' size-in-bits='64' id='type-id-248'/>
+    <pointer-type-def type-id='type-id-213' size-in-bits='64' id='type-id-218'/>
+    <class-decl name='rte_mbuf_ext_shared_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='689' column='1' id='type-id-255'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_cb' type-id='type-id-256' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcb_opaque' type-id='type-id-47' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt_atomic' type-id='type-id-257' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-258' size-in-bits='64' id='type-id-259'/>
+    <typedef-decl name='rte_mbuf_extbuf_free_callback_t' type-id='type-id-259' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='684' column='1' id='type-id-256'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-257' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-260'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-261' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-262'/>
+    <typedef-decl name='__int16_t' type-id='type-id-262' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-263'/>
+    <typedef-decl name='int16_t' type-id='type-id-263' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-264'/>
+    <qualified-type-def type-id='type-id-264' volatile='yes' id='type-id-261'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-260' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-257'/>
+    <pointer-type-def type-id='type-id-255' size-in-bits='64' id='type-id-219'/>
+
+    <array-type-def dimensions='1' type-id='type-id-100' size-in-bits='128' id='type-id-220'>
+      <subrange length='2' type-id='type-id-88' id='type-id-197'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-218' size-in-bits='64' id='type-id-265'/>
+    <pointer-type-def type-id='type-id-266' size-in-bits='64' id='type-id-267'/>
+    <typedef-decl name='eth_rx_burst_t' type-id='type-id-267' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='340' column='1' id='type-id-202'/>
+    <typedef-decl name='eth_tx_burst_t' type-id='type-id-267' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='345' column='1' id='type-id-203'/>
+    <typedef-decl name='eth_tx_prep_t' type-id='type-id-267' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='350' column='1' id='type-id-204'/>
+    <class-decl name='rte_eth_dev_data' size-in-bits='55808' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='820' column='1' id='type-id-268'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='821' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_queues' type-id='type-id-269' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='823' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_queues' type-id='type-id-269' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='824' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='nb_rx_queues' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='825' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='656'>
+        <var-decl name='nb_tx_queues' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='826' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='sriov' type-id='type-id-270' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='dev_private' type-id='type-id-47' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='830' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_link' type-id='type-id-271' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='835' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dev_conf' type-id='type-id-272' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='836' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25536'>
+        <var-decl name='mtu' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='837' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25568'>
+        <var-decl name='min_rx_buf_size' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25600'>
+        <var-decl name='rx_mbuf_alloc_failed' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='841' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25664'>
+        <var-decl name='mac_addrs' type-id='type-id-273' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='842' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25728'>
+        <var-decl name='mac_pool_sel' type-id='type-id-274' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='846' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='33920'>
+        <var-decl name='hash_mac_addrs' type-id='type-id-273' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='848' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='33984'>
+        <var-decl name='port_id' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='852' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='promiscuous' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='855' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='scattered_rx' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='856' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='all_multicast' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='857' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4'>
+        <var-decl name='dev_started' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='858' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3'>
+        <var-decl name='lro' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='859' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='34008'>
+        <var-decl name='rx_queue_state' type-id='type-id-275' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='860' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='42200'>
+        <var-decl name='tx_queue_state' type-id='type-id-275' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='862' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50400'>
+        <var-decl name='dev_flags' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='864' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50432'>
+        <var-decl name='kdrv' type-id='type-id-276' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50464'>
+        <var-decl name='numa_node' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='866' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50496'>
+        <var-decl name='vlan_filter_conf' type-id='type-id-277' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='867' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='54592'>
+        <var-decl name='owner' type-id='type-id-278' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='869' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55168'>
+        <var-decl name='representor_id' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='870' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55232'>
+        <var-decl name='reserved_64s' type-id='type-id-211' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='875' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55488'>
+        <var-decl name='reserved_ptrs' type-id='type-id-212' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='876' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-47' size-in-bits='64' id='type-id-269'/>
+    <class-decl name='rte_eth_dev_sriov' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1476' column='1' id='type-id-270'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='active' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1477' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='nb_q_per_pool' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1478' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='def_vmdq_idx' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1479' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='def_pool_q_idx' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1480' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_link' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='308' column='1' id='type-id-271'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_speed' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='309' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='15'>
+        <var-decl name='link_duplex' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='310' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='14'>
+        <var-decl name='link_autoneg' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='311' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='13'>
+        <var-decl name='link_status' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='312' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_conf' size-in-bits='24640' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1045' column='1' id='type-id-272'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_speeds' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1046' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rxmode' type-id='type-id-279' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1053' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='txmode' type-id='type-id-280' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1054' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='lpbk_mode' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1055' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='rx_adv_conf' type-id='type-id-281' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1068' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='17984'>
+        <var-decl name='tx_adv_conf' type-id='type-id-282' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1076' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18080'>
+        <var-decl name='dcb_capability_en' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1079' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18112'>
+        <var-decl name='fdir_conf' type-id='type-id-283' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1080' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24576'>
+        <var-decl name='intr_conf' type-id='type-id-284' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1081' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rxmode' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='394' column='1' id='type-id-279'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mq_mode' type-id='type-id-285' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='396' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_rx_pkt_len' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='397' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='max_lro_pkt_size' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='399' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='split_hdr_size' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='400' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='offloads' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='406' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-220' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='408' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-286' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='409' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_rx_mq_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='344' column='1' id='type-id-285'>
+      <underlying-type type-id='type-id-174'/>
+      <enumerator name='ETH_MQ_RX_NONE' value='0'/>
+      <enumerator name='ETH_MQ_RX_RSS' value='1'/>
+      <enumerator name='ETH_MQ_RX_DCB' value='2'/>
+      <enumerator name='ETH_MQ_RX_DCB_RSS' value='3'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_ONLY' value='4'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_RSS' value='5'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_DCB' value='6'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_DCB_RSS' value='7'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-47' size-in-bits='128' id='type-id-286'>
+      <subrange length='2' type-id='type-id-88' id='type-id-197'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_txmode' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='792' column='1' id='type-id-280'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mq_mode' type-id='type-id-287' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='793' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offloads' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='799' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pvid' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='hw_vlan_reject_tagged' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='hw_vlan_reject_untagged' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='806' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='hw_vlan_insert_pvid' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='808' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-220' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='811' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-286' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='812' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_tx_mq_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='377' column='1' id='type-id-287'>
+      <underlying-type type-id='type-id-174'/>
+      <enumerator name='ETH_MQ_TX_NONE' value='0'/>
+      <enumerator name='ETH_MQ_TX_DCB' value='1'/>
+      <enumerator name='ETH_MQ_TX_VMDQ_DCB' value='2'/>
+      <enumerator name='ETH_MQ_TX_VMDQ_ONLY' value='3'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16960' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1060' column='1' id='type-id-281'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rss_conf' type-id='type-id-288' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1061' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='vmdq_dcb_conf' type-id='type-id-289' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1062' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8512'>
+        <var-decl name='dcb_rx_conf' type-id='type-id-290' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1064' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8640'>
+        <var-decl name='vmdq_rx_conf' type-id='type-id-291' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1066' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rss_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='448' column='1' id='type-id-288'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rss_key' type-id='type-id-292' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rss_key_len' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rss_hf' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='451' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-16' size-in-bits='64' id='type-id-292'/>
+    <class-decl name='rte_eth_vmdq_dcb_conf' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='745' column='1' id='type-id-289'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-293' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='746' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='enable_default_pool' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='default_pool' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='748' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='nb_pool_maps' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='749' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pool_map' type-id='type-id-294' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8256'>
+        <var-decl name='dcb_tc' type-id='type-id-295' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='754' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_nb_pools' filepath='../lib/librte_ethdev/rte_ethdev.h' line='704' column='1' id='type-id-293'>
+      <underlying-type type-id='type-id-174'/>
+      <enumerator name='ETH_8_POOLS' value='8'/>
+      <enumerator name='ETH_16_POOLS' value='16'/>
+      <enumerator name='ETH_32_POOLS' value='32'/>
+      <enumerator name='ETH_64_POOLS' value='64'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='750' column='1' id='type-id-296'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_id' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='751' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pools' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='752' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-296' size-in-bits='8192' id='type-id-294'>
+      <subrange length='64' type-id='type-id-88' id='type-id-112'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='64' id='type-id-295'>
+      <subrange length='8' type-id='type-id-88' id='type-id-196'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_dcb_rx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='712' column='1' id='type-id-290'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-297' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-295' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='715' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_nb_tcs' filepath='../lib/librte_ethdev/rte_ethdev.h' line='695' column='1' id='type-id-297'>
+      <underlying-type type-id='type-id-174'/>
+      <enumerator name='ETH_4_TCS' value='4'/>
+      <enumerator name='ETH_8_TCS' value='8'/>
+    </enum-decl>
+    <class-decl name='rte_eth_vmdq_rx_conf' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='776' column='1' id='type-id-291'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-293' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='777' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='enable_default_pool' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='778' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='default_pool' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='enable_loop_back' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='nb_pool_maps' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='781' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rx_mode' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='782' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pool_map' type-id='type-id-294' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='786' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <union-decl name='__anonymous_union__' size-in-bits='96' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1069' column='1' id='type-id-282'>
+      <data-member access='private'>
+        <var-decl name='vmdq_dcb_tx_conf' type-id='type-id-298' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1070' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dcb_tx_conf' type-id='type-id-299' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1072' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='vmdq_tx_conf' type-id='type-id-300' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1074' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_eth_vmdq_dcb_tx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='718' column='1' id='type-id-298'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-293' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-295' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='721' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dcb_tx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='724' column='1' id='type-id-299'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-297' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-295' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='727' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vmdq_tx_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='730' column='1' id='type-id-300'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-293' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='731' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_fdir_conf' size-in-bits='6464' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1005' column='1' id='type-id-283'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mode' type-id='type-id-301' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1006' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='pballoc' type-id='type-id-302' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1007' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='status' type-id='type-id-303' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1008' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='drop_queue' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1010' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mask' type-id='type-id-304' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1011' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='flex_conf' type-id='type-id-305' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1012' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_fdir_mode' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='603' column='1' id='type-id-301'>
+      <underlying-type type-id='type-id-174'/>
+      <enumerator name='RTE_FDIR_MODE_NONE' value='0'/>
+      <enumerator name='RTE_FDIR_MODE_SIGNATURE' value='1'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT' value='2'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT_MAC_VLAN' value='3'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT_TUNNEL' value='4'/>
+    </enum-decl>
+    <enum-decl name='rte_fdir_pballoc_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='984' column='1' id='type-id-302'>
+      <underlying-type type-id='type-id-174'/>
+      <enumerator name='RTE_FDIR_PBALLOC_64K' value='0'/>
+      <enumerator name='RTE_FDIR_PBALLOC_128K' value='1'/>
+      <enumerator name='RTE_FDIR_PBALLOC_256K' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_fdir_status_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='993' column='1' id='type-id-303'>
+      <underlying-type type-id='type-id-174'/>
+      <enumerator name='RTE_FDIR_NO_REPORT_STATUS' value='0'/>
+      <enumerator name='RTE_FDIR_REPORT_STATUS' value='1'/>
+      <enumerator name='RTE_FDIR_REPORT_STATUS_ALWAYS' value='2'/>
+    </enum-decl>
+    <class-decl name='rte_eth_fdir_masks' size-in-bits='544' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='533' column='1' id='type-id-304'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_tci_mask' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='534' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ipv4_mask' type-id='type-id-306' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='536' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ipv6_mask' type-id='type-id-307' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='538' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='src_port_mask' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='540' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='dst_port_mask' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='542' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='mac_addr_byte_mask' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='545' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='tunnel_id_mask' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='547' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='tunnel_type_mask' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='548' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_ipv4_flow' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='342' column='1' id='type-id-306'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='343' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dst_ip' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='344' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tos' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='345' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='ttl' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='346' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='proto' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='347' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_ipv6_flow' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='381' column='1' id='type-id-307'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-308' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='382' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dst_ip' type-id='type-id-308' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='383' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='tc' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='384' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='264'>
+        <var-decl name='proto' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='385' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='272'>
+        <var-decl name='hop_limits' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='386' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-120' size-in-bits='128' id='type-id-308'>
+      <subrange length='4' type-id='type-id-88' id='type-id-309'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_fdir_flex_conf' size-in-bits='5792' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='591' column='1' id='type-id-305'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_payloads' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='592' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='nb_flexmasks' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='593' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flex_set' type-id='type-id-310' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='594' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2336'>
+        <var-decl name='flex_mask' type-id='type-id-311' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='596' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_flex_payload_cfg' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='568' column='1' id='type-id-312'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-313' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='569' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='src_offset' type-id='type-id-314' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='570' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_payload_type' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='555' column='1' id='type-id-313'>
+      <underlying-type type-id='type-id-174'/>
+      <enumerator name='RTE_ETH_PAYLOAD_UNKNOWN' value='0'/>
+      <enumerator name='RTE_ETH_RAW_PAYLOAD' value='1'/>
+      <enumerator name='RTE_ETH_L2_PAYLOAD' value='2'/>
+      <enumerator name='RTE_ETH_L3_PAYLOAD' value='3'/>
+      <enumerator name='RTE_ETH_L4_PAYLOAD' value='4'/>
+      <enumerator name='RTE_ETH_PAYLOAD_MAX' value='8'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-12' size-in-bits='256' id='type-id-314'>
+      <subrange length='16' type-id='type-id-88' id='type-id-198'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-312' size-in-bits='2304' id='type-id-310'>
+      <subrange length='8' type-id='type-id-88' id='type-id-196'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_fdir_flex_mask' size-in-bits='144' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='581' column='1' id='type-id-315'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flow_type' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='582' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='mask' type-id='type-id-316' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='583' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='128' id='type-id-316'>
+      <subrange length='16' type-id='type-id-88' id='type-id-198'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-315' size-in-bits='3456' id='type-id-311'>
+      <subrange length='24' type-id='type-id-88' id='type-id-317'/>
+
+    </array-type-def>
+    <class-decl name='rte_intr_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1031' column='1' id='type-id-284'>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='lsc' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1033' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='rxq' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1035' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='rmv' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1037' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_ether_addr' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='60' column='1' id='type-id-318'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr_bytes' type-id='type-id-319' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='61' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='48' id='type-id-319'>
+      <subrange length='6' type-id='type-id-88' id='type-id-320'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-318' size-in-bits='64' id='type-id-273'/>
+
+    <array-type-def dimensions='1' type-id='type-id-100' size-in-bits='8192' id='type-id-274'>
+      <subrange length='128' type-id='type-id-88' id='type-id-321'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='8192' id='type-id-275'>
+      <subrange length='1024' type-id='type-id-88' id='type-id-322'/>
+
+    </array-type-def>
+    <enum-decl name='rte_kernel_driver' filepath='../lib/librte_eal/common/include/rte_dev.h' line='60' column='1' id='type-id-276'>
+      <underlying-type type-id='type-id-174'/>
+      <enumerator name='RTE_KDRV_UNKNOWN' value='0'/>
+      <enumerator name='RTE_KDRV_IGB_UIO' value='1'/>
+      <enumerator name='RTE_KDRV_VFIO' value='2'/>
+      <enumerator name='RTE_KDRV_UIO_GENERIC' value='3'/>
+      <enumerator name='RTE_KDRV_NIC_UIO' value='4'/>
+      <enumerator name='RTE_KDRV_NONE' value='5'/>
+    </enum-decl>
+    <class-decl name='rte_vlan_filter_conf' size-in-bits='4096' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='427' column='1' id='type-id-277'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ids' type-id='type-id-323' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='428' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-100' size-in-bits='4096' id='type-id-323'>
+      <subrange length='64' type-id='type-id-88' id='type-id-112'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_dev_owner' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1490' column='1' id='type-id-278'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1491' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='name' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1492' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-100' size-in-bits='256' id='type-id-211'>
+      <subrange length='4' type-id='type-id-88' id='type-id-309'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-47' size-in-bits='256' id='type-id-212'>
+      <subrange length='4' type-id='type-id-88' id='type-id-309'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-268' size-in-bits='64' id='type-id-205'/>
+    <class-decl name='eth_dev_ops' size-in-bits='6016' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='609' column='1' id='type-id-324'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_configure' type-id='type-id-325' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_start' type-id='type-id-326' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='611' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dev_stop' type-id='type-id-327' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='612' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_set_link_up' type-id='type-id-328' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dev_set_link_down' type-id='type-id-329' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='614' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_close' type-id='type-id-330' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='615' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='dev_reset' type-id='type-id-331' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='616' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='link_update' type-id='type-id-332' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='617' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='is_removed' type-id='type-id-333' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='618' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='promiscuous_enable' type-id='type-id-334' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='promiscuous_disable' type-id='type-id-335' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='allmulticast_enable' type-id='type-id-336' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='623' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='allmulticast_disable' type-id='type-id-337' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='624' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='mac_addr_remove' type-id='type-id-338' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='625' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='mac_addr_add' type-id='type-id-339' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='626' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='mac_addr_set' type-id='type-id-340' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='627' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='set_mc_addr_list' type-id='type-id-341' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='628' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mtu_set' type-id='type-id-342' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='629' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='stats_get' type-id='type-id-343' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='631' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='stats_reset' type-id='type-id-344' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='632' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='xstats_get' type-id='type-id-345' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='633' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='xstats_reset' type-id='type-id-346' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='634' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='xstats_get_names' type-id='type-id-347' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='635' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='queue_stats_mapping_set' type-id='type-id-348' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='637' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='dev_infos_get' type-id='type-id-349' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='640' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='rxq_info_get' type-id='type-id-350' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='641' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='txq_info_get' type-id='type-id-351' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='642' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='rx_burst_mode_get' type-id='type-id-352' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='643' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='tx_burst_mode_get' type-id='type-id-352' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='644' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='fw_version_get' type-id='type-id-353' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='645' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='dev_supported_ptypes_get' type-id='type-id-354' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='646' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='dev_ptypes_set' type-id='type-id-355' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='648' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='vlan_filter_set' type-id='type-id-356' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='651' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='vlan_tpid_set' type-id='type-id-357' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='652' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='vlan_strip_queue_set' type-id='type-id-358' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='653' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='vlan_offload_set' type-id='type-id-359' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='654' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='vlan_pvid_set' type-id='type-id-360' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='655' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='rx_queue_start' type-id='type-id-361' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='657' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='rx_queue_stop' type-id='type-id-362' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='658' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2496'>
+        <var-decl name='tx_queue_start' type-id='type-id-361' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='659' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='tx_queue_stop' type-id='type-id-362' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='660' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='rx_queue_setup' type-id='type-id-363' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='661' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2688'>
+        <var-decl name='rx_queue_release' type-id='type-id-364' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2752'>
+        <var-decl name='rx_queue_count' type-id='type-id-365' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='663' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2816'>
+        <var-decl name='rx_descriptor_done' type-id='type-id-366' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2880'>
+        <var-decl name='rx_descriptor_status' type-id='type-id-367' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='666' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2944'>
+        <var-decl name='tx_descriptor_status' type-id='type-id-368' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3008'>
+        <var-decl name='rx_queue_intr_enable' type-id='type-id-369' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='670' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3072'>
+        <var-decl name='rx_queue_intr_disable' type-id='type-id-370' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3136'>
+        <var-decl name='tx_queue_setup' type-id='type-id-371' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='672' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3200'>
+        <var-decl name='tx_queue_release' type-id='type-id-364' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3264'>
+        <var-decl name='tx_done_cleanup' type-id='type-id-372' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='674' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3328'>
+        <var-decl name='dev_led_on' type-id='type-id-373' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3392'>
+        <var-decl name='dev_led_off' type-id='type-id-374' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='677' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3456'>
+        <var-decl name='flow_ctrl_get' type-id='type-id-375' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='679' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3520'>
+        <var-decl name='flow_ctrl_set' type-id='type-id-376' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='680' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='priority_flow_ctrl_set' type-id='type-id-377' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='681' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3648'>
+        <var-decl name='uc_hash_table_set' type-id='type-id-378' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='683' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3712'>
+        <var-decl name='uc_all_hash_table_set' type-id='type-id-379' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='684' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3776'>
+        <var-decl name='mirror_rule_set' type-id='type-id-380' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='686' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3840'>
+        <var-decl name='mirror_rule_reset' type-id='type-id-381' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='687' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3904'>
+        <var-decl name='udp_tunnel_port_add' type-id='type-id-382' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='689' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3968'>
+        <var-decl name='udp_tunnel_port_del' type-id='type-id-383' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4032'>
+        <var-decl name='l2_tunnel_eth_type_conf' type-id='type-id-384' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4096'>
+        <var-decl name='l2_tunnel_offload_set' type-id='type-id-385' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='693' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4160'>
+        <var-decl name='set_queue_rate_limit' type-id='type-id-386' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='696' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4224'>
+        <var-decl name='rss_hash_update' type-id='type-id-387' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='698' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4288'>
+        <var-decl name='rss_hash_conf_get' type-id='type-id-388' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='699' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4352'>
+        <var-decl name='reta_update' type-id='type-id-389' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='700' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4416'>
+        <var-decl name='reta_query' type-id='type-id-390' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='701' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4480'>
+        <var-decl name='get_reg' type-id='type-id-391' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='703' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4544'>
+        <var-decl name='get_eeprom_length' type-id='type-id-392' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='704' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4608'>
+        <var-decl name='get_eeprom' type-id='type-id-393' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='705' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4672'>
+        <var-decl name='set_eeprom' type-id='type-id-394' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='706' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4736'>
+        <var-decl name='get_module_info' type-id='type-id-395' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='708' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4800'>
+        <var-decl name='get_module_eeprom' type-id='type-id-396' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='710' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4864'>
+        <var-decl name='filter_ctrl' type-id='type-id-397' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4928'>
+        <var-decl name='get_dcb_info' type-id='type-id-398' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='715' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4992'>
+        <var-decl name='timesync_enable' type-id='type-id-399' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='717' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5056'>
+        <var-decl name='timesync_disable' type-id='type-id-400' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5120'>
+        <var-decl name='timesync_read_rx_timestamp' type-id='type-id-401' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='721' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5184'>
+        <var-decl name='timesync_read_tx_timestamp' type-id='type-id-402' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='723' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5248'>
+        <var-decl name='timesync_adjust_time' type-id='type-id-403' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5312'>
+        <var-decl name='timesync_read_time' type-id='type-id-404' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='726' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5376'>
+        <var-decl name='timesync_write_time' type-id='type-id-405' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='727' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5440'>
+        <var-decl name='read_clock' type-id='type-id-406' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='729' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5504'>
+        <var-decl name='xstats_get_by_id' type-id='type-id-407' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='731' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5568'>
+        <var-decl name='xstats_get_names_by_id' type-id='type-id-408' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='733' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5632'>
+        <var-decl name='tm_ops_get' type-id='type-id-409' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='736' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5696'>
+        <var-decl name='mtr_ops_get' type-id='type-id-410' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='739' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5760'>
+        <var-decl name='pool_ops_supported' type-id='type-id-411' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='742' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5824'>
+        <var-decl name='hairpin_cap_get' type-id='type-id-412' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='745' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5888'>
+        <var-decl name='rx_hairpin_queue_setup' type-id='type-id-413' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5952'>
+        <var-decl name='tx_hairpin_queue_setup' type-id='type-id-414' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='749' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-201' size-in-bits='64' id='type-id-415'/>
+    <pointer-type-def type-id='type-id-416' size-in-bits='64' id='type-id-417'/>
+    <typedef-decl name='eth_dev_configure_t' type-id='type-id-417' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='31' column='1' id='type-id-325'/>
+    <typedef-decl name='eth_dev_start_t' type-id='type-id-417' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='34' column='1' id='type-id-326'/>
+    <pointer-type-def type-id='type-id-418' size-in-bits='64' id='type-id-419'/>
+    <typedef-decl name='eth_dev_stop_t' type-id='type-id-419' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='37' column='1' id='type-id-327'/>
+    <typedef-decl name='eth_dev_set_link_up_t' type-id='type-id-417' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='40' column='1' id='type-id-328'/>
+    <typedef-decl name='eth_dev_set_link_down_t' type-id='type-id-417' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='43' column='1' id='type-id-329'/>
+    <typedef-decl name='eth_dev_close_t' type-id='type-id-419' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='46' column='1' id='type-id-330'/>
+    <typedef-decl name='eth_dev_reset_t' type-id='type-id-417' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='49' column='1' id='type-id-331'/>
+    <pointer-type-def type-id='type-id-420' size-in-bits='64' id='type-id-421'/>
+    <typedef-decl name='eth_link_update_t' type-id='type-id-421' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='155' column='1' id='type-id-332'/>
+    <typedef-decl name='eth_is_removed_t' type-id='type-id-417' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='52' column='1' id='type-id-333'/>
+    <typedef-decl name='eth_promiscuous_enable_t' type-id='type-id-417' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='78' column='1' id='type-id-334'/>
+    <typedef-decl name='eth_promiscuous_disable_t' type-id='type-id-417' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='103' column='1' id='type-id-335'/>
+    <typedef-decl name='eth_allmulticast_enable_t' type-id='type-id-417' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='128' column='1' id='type-id-336'/>
+    <typedef-decl name='eth_allmulticast_disable_t' type-id='type-id-417' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='153' column='1' id='type-id-337'/>
+    <pointer-type-def type-id='type-id-422' size-in-bits='64' id='type-id-423'/>
+    <typedef-decl name='eth_mac_addr_remove_t' type-id='type-id-423' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='391' column='1' id='type-id-338'/>
+    <pointer-type-def type-id='type-id-424' size-in-bits='64' id='type-id-425'/>
+    <typedef-decl name='eth_mac_addr_add_t' type-id='type-id-425' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='394' column='1' id='type-id-339'/>
+    <pointer-type-def type-id='type-id-426' size-in-bits='64' id='type-id-427'/>
+    <typedef-decl name='eth_mac_addr_set_t' type-id='type-id-427' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='400' column='1' id='type-id-340'/>
+    <pointer-type-def type-id='type-id-428' size-in-bits='64' id='type-id-429'/>
+    <typedef-decl name='eth_set_mc_addr_list_t' type-id='type-id-429' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='436' column='1' id='type-id-341'/>
+    <pointer-type-def type-id='type-id-430' size-in-bits='64' id='type-id-431'/>
+    <typedef-decl name='mtu_set_t' type-id='type-id-431' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='315' column='1' id='type-id-342'/>
+    <class-decl name='rte_eth_stats' size-in-bits='5632' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='243' column='1' id='type-id-432'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ipackets' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='opackets' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ibytes' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='246' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='obytes' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='imissed' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='ierrors' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='oerrors' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='rx_nombuf' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='q_ipackets' type-id='type-id-433' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='q_opackets' type-id='type-id-433' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='q_ibytes' type-id='type-id-433' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='q_obytes' type-id='type-id-433' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4608'>
+        <var-decl name='q_errors' type-id='type-id-433' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='263' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-100' size-in-bits='1024' id='type-id-433'>
+      <subrange length='16' type-id='type-id-88' id='type-id-198'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-432' size-in-bits='64' id='type-id-434'/>
+    <pointer-type-def type-id='type-id-435' size-in-bits='64' id='type-id-436'/>
+    <typedef-decl name='eth_stats_get_t' type-id='type-id-436' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='159' column='1' id='type-id-343'/>
+    <typedef-decl name='eth_stats_reset_t' type-id='type-id-417' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='182' column='1' id='type-id-344'/>
+    <class-decl name='rte_eth_xstat' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1337' column='1' id='type-id-437'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1338' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='value' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1339' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-437' size-in-bits='64' id='type-id-438'/>
+    <pointer-type-def type-id='type-id-439' size-in-bits='64' id='type-id-440'/>
+    <typedef-decl name='eth_xstats_get_t' type-id='type-id-440' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='184' column='1' id='type-id-345'/>
+    <typedef-decl name='eth_xstats_reset_t' type-id='type-id-417' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='213' column='1' id='type-id-346'/>
+    <class-decl name='rte_eth_xstat_name' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1349' column='1' id='type-id-441'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1350' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-441' size-in-bits='64' id='type-id-442'/>
+    <pointer-type-def type-id='type-id-443' size-in-bits='64' id='type-id-444'/>
+    <typedef-decl name='eth_xstats_get_names_t' type-id='type-id-444' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='215' column='1' id='type-id-347'/>
+    <pointer-type-def type-id='type-id-445' size-in-bits='64' id='type-id-446'/>
+    <typedef-decl name='eth_queue_stats_mapping_set_t' type-id='type-id-446' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='224' column='1' id='type-id-348'/>
+    <class-decl name='rte_eth_dev_info' size-in-bits='2560' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1226' column='1' id='type-id-447'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='device' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1227' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='driver_name' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='if_index' type-id='type-id-69' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='min_mtu' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='max_mtu' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_flags' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='min_rx_bufsize' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1234' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='max_rx_pktlen' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1235' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='max_lro_pkt_size' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='max_rx_queues' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='max_tx_queues' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1239' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='max_mac_addrs' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='max_hash_mac_addrs' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1241' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='max_vfs' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1243' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='max_vmdq_pools' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_offload_capa' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_offload_capa' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='rx_queue_offload_capa' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='tx_queue_offload_capa' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='reta_size' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='hash_key_size' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='flow_type_rss_offloads' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='default_rxconf' type-id='type-id-448' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='default_txconf' type-id='type-id-449' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='vmdq_queue_base' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1744'>
+        <var-decl name='vmdq_queue_num' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1760'>
+        <var-decl name='vmdq_pool_base' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1262' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1776'>
+        <var-decl name='rx_desc_lim' type-id='type-id-450' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1263' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='tx_desc_lim' type-id='type-id-450' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1264' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1952'>
+        <var-decl name='speed_capa' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1265' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='nb_rx_queues' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1267' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2000'>
+        <var-decl name='nb_tx_queues' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1268' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2016'>
+        <var-decl name='default_rxportconf' type-id='type-id-451' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1270' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2064'>
+        <var-decl name='default_txportconf' type-id='type-id-451' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1272' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='dev_capa' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1274' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='switch_info' type-id='type-id-452' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='reserved_64s' type-id='type-id-220' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1281' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='reserved_ptrs' type-id='type-id-286' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1282' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rxconf' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='818' column='1' id='type-id-448'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_thresh' type-id='type-id-453' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='819' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='rx_free_thresh' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='820' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='rx_drop_en' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='821' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='rx_deferred_start' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='822' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offloads' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='reserved_64s' type-id='type-id-220' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='830' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='reserved_ptrs' type-id='type-id-286' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='831' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_thresh' size-in-bits='24' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='327' column='1' id='type-id-453'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pthresh' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='328' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='hthresh' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='329' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='wthresh' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='330' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_txconf' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='837' column='1' id='type-id-449'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tx_thresh' type-id='type-id-453' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tx_rs_thresh' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='839' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='tx_free_thresh' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='840' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tx_deferred_start' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='843' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='offloads' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='849' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-220' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='851' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-286' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='852' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_desc_lim' size-in-bits='80' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='898' column='1' id='type-id-450'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_max' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='899' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='nb_min' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='900' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_align' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='901' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='nb_seg_max' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='911' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='nb_mtu_seg_max' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='924' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_portconf' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1189' column='1' id='type-id-451'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='burst_size' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1190' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='ring_size' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_queues' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1192' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_switch_info' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1204' column='1' id='type-id-452'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='domain_id' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1206' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='port_id' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1207' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-447' size-in-bits='64' id='type-id-454'/>
+    <pointer-type-def type-id='type-id-455' size-in-bits='64' id='type-id-456'/>
+    <typedef-decl name='eth_dev_infos_get_t' type-id='type-id-456' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='230' column='1' id='type-id-349'/>
+    <class-decl name='rte_eth_rxq_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1289' column='1' id='type-id-457'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mp' type-id='type-id-217' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1290' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='conf' type-id='type-id-448' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1291' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='scattered_rx' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1292' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='nb_desc' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1293' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-457' size-in-bits='64' id='type-id-458'/>
+    <pointer-type-def type-id='type-id-459' size-in-bits='64' id='type-id-460'/>
+    <typedef-decl name='eth_rxq_info_get_t' type-id='type-id-460' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='306' column='1' id='type-id-350'/>
+    <class-decl name='rte_eth_txq_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1300' column='1' id='type-id-461'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='conf' type-id='type-id-449' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1301' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='nb_desc' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1302' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-461' size-in-bits='64' id='type-id-462'/>
+    <pointer-type-def type-id='type-id-463' size-in-bits='64' id='type-id-464'/>
+    <typedef-decl name='eth_txq_info_get_t' type-id='type-id-464' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='309' column='1' id='type-id-351'/>
+    <class-decl name='rte_eth_burst_mode' size-in-bits='8256' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1318' column='1' id='type-id-465'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1319' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='info' type-id='type-id-466' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1322' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-85' size-in-bits='8192' id='type-id-466'>
+      <subrange length='1024' type-id='type-id-88' id='type-id-322'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-465' size-in-bits='64' id='type-id-467'/>
+    <pointer-type-def type-id='type-id-468' size-in-bits='64' id='type-id-469'/>
+    <typedef-decl name='eth_burst_mode_get_t' type-id='type-id-469' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='312' column='1' id='type-id-352'/>
+    <pointer-type-def type-id='type-id-470' size-in-bits='64' id='type-id-471'/>
+    <typedef-decl name='eth_fw_version_get_t' type-id='type-id-471' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='299' column='1' id='type-id-353'/>
+    <pointer-type-def type-id='type-id-472' size-in-bits='64' id='type-id-473'/>
+    <typedef-decl name='eth_dev_supported_ptypes_get_t' type-id='type-id-473' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='234' column='1' id='type-id-354'/>
+    <pointer-type-def type-id='type-id-474' size-in-bits='64' id='type-id-475'/>
+    <typedef-decl name='eth_dev_ptypes_set_t' type-id='type-id-475' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='249' column='1' id='type-id-355'/>
+    <pointer-type-def type-id='type-id-476' size-in-bits='64' id='type-id-477'/>
+    <typedef-decl name='vlan_filter_set_t' type-id='type-id-477' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='318' column='1' id='type-id-356'/>
+    <enum-decl name='rte_vlan_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='416' column='1' id='type-id-478'>
+      <underlying-type type-id='type-id-174'/>
+      <enumerator name='ETH_VLAN_TYPE_UNKNOWN' value='0'/>
+      <enumerator name='ETH_VLAN_TYPE_INNER' value='1'/>
+      <enumerator name='ETH_VLAN_TYPE_OUTER' value='2'/>
+      <enumerator name='ETH_VLAN_TYPE_MAX' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-479' size-in-bits='64' id='type-id-480'/>
+    <typedef-decl name='vlan_tpid_set_t' type-id='type-id-480' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='323' column='1' id='type-id-357'/>
+    <pointer-type-def type-id='type-id-481' size-in-bits='64' id='type-id-482'/>
+    <typedef-decl name='vlan_strip_queue_set_t' type-id='type-id-482' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='335' column='1' id='type-id-358'/>
+    <typedef-decl name='vlan_offload_set_t' type-id='type-id-421' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='327' column='1' id='type-id-359'/>
+    <typedef-decl name='vlan_pvid_set_t' type-id='type-id-477' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='330' column='1' id='type-id-360'/>
+    <typedef-decl name='eth_queue_start_t' type-id='type-id-431' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='252' column='1' id='type-id-361'/>
+    <typedef-decl name='eth_queue_stop_t' type-id='type-id-431' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='256' column='1' id='type-id-362'/>
+    <qualified-type-def type-id='type-id-448' const='yes' id='type-id-483'/>
+    <pointer-type-def type-id='type-id-483' size-in-bits='64' id='type-id-484'/>
+    <pointer-type-def type-id='type-id-485' size-in-bits='64' id='type-id-486'/>
+    <typedef-decl name='eth_rx_queue_setup_t' type-id='type-id-486' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='260' column='1' id='type-id-363'/>
+    <pointer-type-def type-id='type-id-487' size-in-bits='64' id='type-id-488'/>
+    <typedef-decl name='eth_queue_release_t' type-id='type-id-488' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='283' column='1' id='type-id-364'/>
+    <pointer-type-def type-id='type-id-489' size-in-bits='64' id='type-id-490'/>
+    <typedef-decl name='eth_rx_queue_count_t' type-id='type-id-490' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='286' column='1' id='type-id-365'/>
+    <pointer-type-def type-id='type-id-491' size-in-bits='64' id='type-id-492'/>
+    <typedef-decl name='eth_rx_descriptor_done_t' type-id='type-id-492' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='290' column='1' id='type-id-366'/>
+    <typedef-decl name='eth_rx_descriptor_status_t' type-id='type-id-492' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='293' column='1' id='type-id-367'/>
+    <typedef-decl name='eth_tx_descriptor_status_t' type-id='type-id-492' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='296' column='1' id='type-id-368'/>
+    <typedef-decl name='eth_rx_enable_intr_t' type-id='type-id-431' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='275' column='1' id='type-id-369'/>
+    <typedef-decl name='eth_rx_disable_intr_t' type-id='type-id-431' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='279' column='1' id='type-id-370'/>
+    <qualified-type-def type-id='type-id-449' const='yes' id='type-id-493'/>
+    <pointer-type-def type-id='type-id-493' size-in-bits='64' id='type-id-494'/>
+    <pointer-type-def type-id='type-id-495' size-in-bits='64' id='type-id-496'/>
+    <typedef-decl name='eth_tx_queue_setup_t' type-id='type-id-496' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='268' column='1' id='type-id-371'/>
+    <pointer-type-def type-id='type-id-497' size-in-bits='64' id='type-id-498'/>
+    <typedef-decl name='eth_tx_done_cleanup_t' type-id='type-id-498' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='303' column='1' id='type-id-372'/>
+    <typedef-decl name='eth_dev_led_on_t' type-id='type-id-417' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='385' column='1' id='type-id-373'/>
+    <typedef-decl name='eth_dev_led_off_t' type-id='type-id-417' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='388' column='1' id='type-id-374'/>
+    <class-decl name='rte_eth_fc_conf' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='942' column='1' id='type-id-499'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='high_water' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='943' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='low_water' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='944' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pause_time' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='945' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='send_xon' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='946' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='mode' type-id='type-id-500' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='947' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mac_ctrl_frame_fwd' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='948' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='autoneg' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='949' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_fc_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='930' column='1' id='type-id-500'>
+      <underlying-type type-id='type-id-174'/>
+      <enumerator name='RTE_FC_NONE' value='0'/>
+      <enumerator name='RTE_FC_RX_PAUSE' value='1'/>
+      <enumerator name='RTE_FC_TX_PAUSE' value='2'/>
+      <enumerator name='RTE_FC_FULL' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-499' size-in-bits='64' id='type-id-501'/>
+    <pointer-type-def type-id='type-id-502' size-in-bits='64' id='type-id-503'/>
+    <typedef-decl name='flow_ctrl_get_t' type-id='type-id-503' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='355' column='1' id='type-id-375'/>
+    <typedef-decl name='flow_ctrl_set_t' type-id='type-id-503' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='359' column='1' id='type-id-376'/>
+    <class-decl name='rte_eth_pfc_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='957' column='1' id='type-id-504'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fc' type-id='type-id-499' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='958' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='priority' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='959' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-504' size-in-bits='64' id='type-id-505'/>
+    <pointer-type-def type-id='type-id-506' size-in-bits='64' id='type-id-507'/>
+    <typedef-decl name='priority_flow_ctrl_set_t' type-id='type-id-507' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='363' column='1' id='type-id-377'/>
+    <pointer-type-def type-id='type-id-508' size-in-bits='64' id='type-id-509'/>
+    <typedef-decl name='eth_uc_hash_table_set_t' type-id='type-id-509' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='404' column='1' id='type-id-378'/>
+    <pointer-type-def type-id='type-id-510' size-in-bits='64' id='type-id-511'/>
+    <typedef-decl name='eth_uc_all_hash_table_set_t' type-id='type-id-511' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='409' column='1' id='type-id-379'/>
+    <class-decl name='rte_eth_mirror_conf' size-in-bits='1216' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='670' column='1' id='type-id-512'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rule_type' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='dst_pool' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='672' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pool_mask' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vlan' type-id='type-id-513' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='675' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vlan_mirror' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='661' column='1' id='type-id-513'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_mask' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='vlan_id' type-id='type-id-514' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='664' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-12' size-in-bits='1024' id='type-id-514'>
+      <subrange length='64' type-id='type-id-88' id='type-id-112'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-512' size-in-bits='64' id='type-id-515'/>
+    <pointer-type-def type-id='type-id-516' size-in-bits='64' id='type-id-517'/>
+    <typedef-decl name='eth_mirror_rule_set_t' type-id='type-id-517' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='418' column='1' id='type-id-380'/>
+    <typedef-decl name='eth_mirror_rule_reset_t' type-id='type-id-511' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='424' column='1' id='type-id-381'/>
+    <class-decl name='rte_eth_udp_tunnel' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1023' column='1' id='type-id-518'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='udp_port' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1024' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='prot_type' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1025' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-518' size-in-bits='64' id='type-id-519'/>
+    <pointer-type-def type-id='type-id-520' size-in-bits='64' id='type-id-521'/>
+    <typedef-decl name='eth_udp_tunnel_port_add_t' type-id='type-id-521' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='428' column='1' id='type-id-382'/>
+    <typedef-decl name='eth_udp_tunnel_port_del_t' type-id='type-id-521' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='432' column='1' id='type-id-383'/>
+    <class-decl name='rte_eth_l2_tunnel_conf' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='751' column='1' id='type-id-522'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='l2_tunnel_type' type-id='type-id-523' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='752' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ether_type' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tunnel_id' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='754' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='vf_id' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='755' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pool' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='756' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_tunnel_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='965' column='1' id='type-id-523'>
+      <underlying-type type-id='type-id-174'/>
+      <enumerator name='RTE_TUNNEL_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_TUNNEL_TYPE_VXLAN' value='1'/>
+      <enumerator name='RTE_TUNNEL_TYPE_GENEVE' value='2'/>
+      <enumerator name='RTE_TUNNEL_TYPE_TEREDO' value='3'/>
+      <enumerator name='RTE_TUNNEL_TYPE_NVGRE' value='4'/>
+      <enumerator name='RTE_TUNNEL_TYPE_IP_IN_GRE' value='5'/>
+      <enumerator name='RTE_L2_TUNNEL_TYPE_E_TAG' value='6'/>
+      <enumerator name='RTE_TUNNEL_TYPE_VXLAN_GPE' value='7'/>
+      <enumerator name='RTE_TUNNEL_TYPE_MAX' value='8'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-522' size-in-bits='64' id='type-id-524'/>
+    <pointer-type-def type-id='type-id-525' size-in-bits='64' id='type-id-526'/>
+    <typedef-decl name='eth_l2_tunnel_eth_type_conf_t' type-id='type-id-526' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='494' column='1' id='type-id-384'/>
+    <pointer-type-def type-id='type-id-527' size-in-bits='64' id='type-id-528'/>
+    <typedef-decl name='eth_l2_tunnel_offload_set_t' type-id='type-id-528' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='498' column='1' id='type-id-385'/>
+    <pointer-type-def type-id='type-id-529' size-in-bits='64' id='type-id-530'/>
+    <typedef-decl name='eth_set_queue_rate_limit_t' type-id='type-id-530' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='413' column='1' id='type-id-386'/>
+    <pointer-type-def type-id='type-id-288' size-in-bits='64' id='type-id-531'/>
+    <pointer-type-def type-id='type-id-532' size-in-bits='64' id='type-id-533'/>
+    <typedef-decl name='rss_hash_update_t' type-id='type-id-533' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='377' column='1' id='type-id-387'/>
+    <typedef-decl name='rss_hash_conf_get_t' type-id='type-id-533' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='381' column='1' id='type-id-388'/>
+    <class-decl name='rte_eth_rss_reta_entry64' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='684' column='1' id='type-id-534'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mask' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='685' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='reta' type-id='type-id-514' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='687' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-534' size-in-bits='64' id='type-id-535'/>
+    <pointer-type-def type-id='type-id-536' size-in-bits='64' id='type-id-537'/>
+    <typedef-decl name='reta_update_t' type-id='type-id-537' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='367' column='1' id='type-id-389'/>
+    <typedef-decl name='reta_query_t' type-id='type-id-537' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='372' column='1' id='type-id-390'/>
+    <class-decl name='rte_dev_reg_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='13' column='1' id='type-id-538'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-47' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='14' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offset' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='15' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='length' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='16' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='width' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='17' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='version' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='18' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-538' size-in-bits='64' id='type-id-539'/>
+    <pointer-type-def type-id='type-id-540' size-in-bits='64' id='type-id-541'/>
+    <typedef-decl name='eth_get_reg_t' type-id='type-id-541' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='471' column='1' id='type-id-391'/>
+    <typedef-decl name='eth_get_eeprom_length_t' type-id='type-id-417' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='475' column='1' id='type-id-392'/>
+    <class-decl name='rte_dev_eeprom_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='24' column='1' id='type-id-542'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-47' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='25' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offset' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='26' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='length' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='27' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='magic' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='28' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-542' size-in-bits='64' id='type-id-543'/>
+    <pointer-type-def type-id='type-id-544' size-in-bits='64' id='type-id-545'/>
+    <typedef-decl name='eth_get_eeprom_t' type-id='type-id-545' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='478' column='1' id='type-id-393'/>
+    <typedef-decl name='eth_set_eeprom_t' type-id='type-id-545' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='482' column='1' id='type-id-394'/>
+    <class-decl name='rte_eth_dev_module_info' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='34' column='1' id='type-id-546'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='eeprom_len' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-546' size-in-bits='64' id='type-id-547'/>
+    <pointer-type-def type-id='type-id-548' size-in-bits='64' id='type-id-549'/>
+    <typedef-decl name='eth_get_module_info_t' type-id='type-id-549' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='486' column='1' id='type-id-395'/>
+    <typedef-decl name='eth_get_module_eeprom_t' type-id='type-id-545' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='490' column='1' id='type-id-396'/>
+    <enum-decl name='rte_filter_type' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='28' column='1' id='type-id-550'>
+      <underlying-type type-id='type-id-174'/>
+      <enumerator name='RTE_ETH_FILTER_NONE' value='0'/>
+      <enumerator name='RTE_ETH_FILTER_MACVLAN' value='1'/>
+      <enumerator name='RTE_ETH_FILTER_ETHERTYPE' value='2'/>
+      <enumerator name='RTE_ETH_FILTER_FLEXIBLE' value='3'/>
+      <enumerator name='RTE_ETH_FILTER_SYN' value='4'/>
+      <enumerator name='RTE_ETH_FILTER_NTUPLE' value='5'/>
+      <enumerator name='RTE_ETH_FILTER_TUNNEL' value='6'/>
+      <enumerator name='RTE_ETH_FILTER_FDIR' value='7'/>
+      <enumerator name='RTE_ETH_FILTER_HASH' value='8'/>
+      <enumerator name='RTE_ETH_FILTER_L2_TUNNEL' value='9'/>
+      <enumerator name='RTE_ETH_FILTER_GENERIC' value='10'/>
+      <enumerator name='RTE_ETH_FILTER_MAX' value='11'/>
+    </enum-decl>
+    <enum-decl name='rte_filter_op' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='46' column='1' id='type-id-551'>
+      <underlying-type type-id='type-id-174'/>
+      <enumerator name='RTE_ETH_FILTER_NOP' value='0'/>
+      <enumerator name='RTE_ETH_FILTER_ADD' value='1'/>
+      <enumerator name='RTE_ETH_FILTER_UPDATE' value='2'/>
+      <enumerator name='RTE_ETH_FILTER_DELETE' value='3'/>
+      <enumerator name='RTE_ETH_FILTER_FLUSH' value='4'/>
+      <enumerator name='RTE_ETH_FILTER_GET' value='5'/>
+      <enumerator name='RTE_ETH_FILTER_SET' value='6'/>
+      <enumerator name='RTE_ETH_FILTER_INFO' value='7'/>
+      <enumerator name='RTE_ETH_FILTER_STATS' value='8'/>
+      <enumerator name='RTE_ETH_FILTER_OP_MAX' value='9'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-552' size-in-bits='64' id='type-id-553'/>
+    <typedef-decl name='eth_filter_ctrl_t' type-id='type-id-553' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='506' column='1' id='type-id-397'/>
+    <class-decl name='rte_eth_dcb_info' size-in-bits='16520' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1377' column='1' id='type-id-554'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1378' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='prio_tc' type-id='type-id-295' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1379' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='tc_bws' type-id='type-id-295' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1380' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='tc_queue' type-id='type-id-555' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1382' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dcb_tc_queue_mapping' size-in-bits='16384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1360' column='1' id='type-id-555'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tc_rxq' type-id='type-id-556' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1365' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8192'>
+        <var-decl name='tc_txq' type-id='type-id-556' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1370' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1362' column='1' id='type-id-557'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='base' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1363' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='nb_queue' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1364' column='1'/>
+      </data-member>
+    </class-decl>
+
+
+    <array-type-def dimensions='2' type-id='type-id-557' size-in-bits='1152' id='type-id-556'>
+      <subrange length='64' type-id='type-id-88' id='type-id-112'/>
+
+      <subrange length='8' type-id='type-id-88' id='type-id-196'/>
+
+    </array-type-def>
+
+
+    <pointer-type-def type-id='type-id-554' size-in-bits='64' id='type-id-558'/>
+    <pointer-type-def type-id='type-id-559' size-in-bits='64' id='type-id-560'/>
+    <typedef-decl name='eth_get_dcb_info' type-id='type-id-560' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='518' column='1' id='type-id-398'/>
+    <typedef-decl name='eth_timesync_enable_t' type-id='type-id-417' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='441' column='1' id='type-id-399'/>
+    <typedef-decl name='eth_timesync_disable_t' type-id='type-id-417' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='444' column='1' id='type-id-400'/>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='9' column='1' id='type-id-561'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tv_sec' type-id='type-id-562' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='11' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tv_nsec' type-id='type-id-563' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='__time_t' type-id='type-id-87' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-562'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-87' filepath='/usr/include/bits/types.h' line='196' column='1' id='type-id-563'/>
+    <pointer-type-def type-id='type-id-561' size-in-bits='64' id='type-id-564'/>
+    <pointer-type-def type-id='type-id-565' size-in-bits='64' id='type-id-566'/>
+    <typedef-decl name='eth_timesync_read_rx_timestamp_t' type-id='type-id-566' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='447' column='1' id='type-id-401'/>
+    <pointer-type-def type-id='type-id-567' size-in-bits='64' id='type-id-568'/>
+    <typedef-decl name='eth_timesync_read_tx_timestamp_t' type-id='type-id-568' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='452' column='1' id='type-id-402'/>
+    <typedef-decl name='__int64_t' type-id='type-id-87' filepath='/usr/include/bits/types.h' line='44' column='1' id='type-id-569'/>
+    <typedef-decl name='int64_t' type-id='type-id-569' filepath='/usr/include/bits/stdint-intn.h' line='27' column='1' id='type-id-570'/>
+    <pointer-type-def type-id='type-id-571' size-in-bits='64' id='type-id-572'/>
+    <typedef-decl name='eth_timesync_adjust_time' type-id='type-id-572' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='456' column='1' id='type-id-403'/>
+    <typedef-decl name='eth_timesync_read_time' type-id='type-id-568' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='459' column='1' id='type-id-404'/>
+    <qualified-type-def type-id='type-id-561' const='yes' id='type-id-573'/>
+    <pointer-type-def type-id='type-id-573' size-in-bits='64' id='type-id-574'/>
+    <pointer-type-def type-id='type-id-575' size-in-bits='64' id='type-id-576'/>
+    <typedef-decl name='eth_timesync_write_time' type-id='type-id-576' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='463' column='1' id='type-id-405'/>
+    <pointer-type-def type-id='type-id-577' size-in-bits='64' id='type-id-578'/>
+    <typedef-decl name='eth_read_clock' type-id='type-id-578' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='467' column='1' id='type-id-406'/>
+    <pointer-type-def type-id='type-id-104' size-in-bits='64' id='type-id-579'/>
+    <pointer-type-def type-id='type-id-580' size-in-bits='64' id='type-id-581'/>
+    <typedef-decl name='eth_xstats_get_by_id_t' type-id='type-id-581' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='188' column='1' id='type-id-407'/>
+    <pointer-type-def type-id='type-id-582' size-in-bits='64' id='type-id-583'/>
+    <typedef-decl name='eth_xstats_get_names_by_id_t' type-id='type-id-583' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='219' column='1' id='type-id-408'/>
+    <pointer-type-def type-id='type-id-584' size-in-bits='64' id='type-id-585'/>
+    <typedef-decl name='eth_tm_ops_get_t' type-id='type-id-585' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='512' column='1' id='type-id-409'/>
+    <typedef-decl name='eth_mtr_ops_get_t' type-id='type-id-585' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='515' column='1' id='type-id-410'/>
+    <pointer-type-def type-id='type-id-586' size-in-bits='64' id='type-id-587'/>
+    <typedef-decl name='eth_pool_ops_supported_t' type-id='type-id-587' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='522' column='1' id='type-id-411'/>
+    <class-decl name='rte_eth_hairpin_cap' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='861' column='1' id='type-id-588'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max_nb_queues' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='863' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='max_rx_2_tx' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_tx_2_rx' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='867' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='max_nb_desc' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='868' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-588' size-in-bits='64' id='type-id-589'/>
+    <pointer-type-def type-id='type-id-590' size-in-bits='64' id='type-id-591'/>
+    <typedef-decl name='eth_hairpin_cap_get_t' type-id='type-id-591' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='543' column='1' id='type-id-412'/>
+    <class-decl name='rte_eth_hairpin_conf' size-in-bits='1040' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='890' column='1' id='type-id-592'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='peer_count' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='891' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='peers' type-id='type-id-593' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='892' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_hairpin_peer' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='879' column='1' id='type-id-594'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='port' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='880' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='queue' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='881' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-594' size-in-bits='1024' id='type-id-593'>
+      <subrange length='32' type-id='type-id-88' id='type-id-233'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-592' const='yes' id='type-id-595'/>
+    <pointer-type-def type-id='type-id-595' size-in-bits='64' id='type-id-596'/>
+    <pointer-type-def type-id='type-id-597' size-in-bits='64' id='type-id-598'/>
+    <typedef-decl name='eth_rx_hairpin_queue_setup_t' type-id='type-id-598' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='571' column='1' id='type-id-413'/>
+    <typedef-decl name='eth_tx_hairpin_queue_setup_t' type-id='type-id-598' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='601' column='1' id='type-id-414'/>
+    <qualified-type-def type-id='type-id-324' const='yes' id='type-id-599'/>
+    <pointer-type-def type-id='type-id-599' size-in-bits='64' id='type-id-206'/>
+    <class-decl name='rte_intr_handle' size-in-bits='213248' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='69' column='1' id='type-id-600'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-601' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-602' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='max_intr' type-id='type-id-120' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='nb_efd' type-id='type-id-120' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='efd_counter_size' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='efds' type-id='type-id-603' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16576'>
+        <var-decl name='elist' type-id='type-id-604' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='213184'>
+        <var-decl name='intr_vec' type-id='type-id-605' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='71' column='1' id='type-id-601'>
+      <data-member access='private'>
+        <var-decl name='vfio_dev_fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='uio_cfg_fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='73' column='1'/>
+      </data-member>
+    </union-decl>
+    <enum-decl name='rte_intr_handle_type' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='27' column='1' id='type-id-602'>
+      <underlying-type type-id='type-id-174'/>
+      <enumerator name='RTE_INTR_HANDLE_UNKNOWN' value='0'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO' value='1'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO_INTX' value='2'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_LEGACY' value='3'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSI' value='4'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSIX' value='5'/>
+      <enumerator name='RTE_INTR_HANDLE_ALARM' value='6'/>
+      <enumerator name='RTE_INTR_HANDLE_EXT' value='7'/>
+      <enumerator name='RTE_INTR_HANDLE_VDEV' value='8'/>
+      <enumerator name='RTE_INTR_HANDLE_DEV_EVENT' value='9'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_REQ' value='10'/>
+      <enumerator name='RTE_INTR_HANDLE_MAX' value='11'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='16384' id='type-id-603'>
+      <subrange length='512' type-id='type-id-88' id='type-id-606'/>
+
+    </array-type-def>
+    <class-decl name='rte_epoll_event' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='61' column='1' id='type-id-607'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='status' type-id='type-id-608' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='epfd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='epdata' type-id='type-id-609' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-120' volatile='yes' id='type-id-608'/>
+    <class-decl name='rte_epoll_data' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='47' column='1' id='type-id-609'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event' type-id='type-id-120' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='data' type-id='type-id-47' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cb_fun' type-id='type-id-610' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='cb_arg' type-id='type-id-47' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='51' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-611' size-in-bits='64' id='type-id-612'/>
+    <typedef-decl name='rte_intr_event_cb_t' type-id='type-id-612' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='45' column='1' id='type-id-610'/>
+
+    <array-type-def dimensions='1' type-id='type-id-607' size-in-bits='196608' id='type-id-604'>
+      <subrange length='512' type-id='type-id-88' id='type-id-606'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-605'/>
+    <pointer-type-def type-id='type-id-600' size-in-bits='64' id='type-id-207'/>
+    <class-decl name='rte_eth_dev_cb_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1' id='type-id-208'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-613' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-614' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_callback' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-615'/>
+    <pointer-type-def type-id='type-id-615' size-in-bits='64' id='type-id-613'/>
+    <pointer-type-def type-id='type-id-613' size-in-bits='64' id='type-id-614'/>
+    <class-decl name='rte_eth_rxtx_callback' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='758' column='1' id='type-id-616'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-617' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='759' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fn' type-id='type-id-618' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='763' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='param' type-id='type-id-47' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='764' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-616' size-in-bits='64' id='type-id-617'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='760' column='1' id='type-id-618'>
+      <data-member access='private'>
+        <var-decl name='rx' type-id='type-id-619' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='761' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='tx' type-id='type-id-620' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='762' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-621' size-in-bits='64' id='type-id-622'/>
+    <typedef-decl name='rte_rx_callback_fn' type-id='type-id-622' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1437' column='1' id='type-id-619'/>
+    <pointer-type-def type-id='type-id-623' size-in-bits='64' id='type-id-624'/>
+    <typedef-decl name='rte_tx_callback_fn' type-id='type-id-624' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1461' column='1' id='type-id-620'/>
+
+    <array-type-def dimensions='1' type-id='type-id-617' size-in-bits='65536' id='type-id-209'>
+      <subrange length='1024' type-id='type-id-88' id='type-id-322'/>
+
+    </array-type-def>
+    <enum-decl name='rte_eth_dev_state' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1467' column='1' id='type-id-210'>
+      <underlying-type type-id='type-id-174'/>
+      <enumerator name='RTE_ETH_DEV_UNUSED' value='0'/>
+      <enumerator name='RTE_ETH_DEV_ATTACHED' value='1'/>
+      <enumerator name='RTE_ETH_DEV_REMOVED' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-625' size-in-bits='64' id='type-id-4'/>
+    <var-decl name='ipn3ke_bridge_func' type-id='type-id-2' mangled-name='ipn3ke_bridge_func' visibility='default' filepath='../drivers/net/ipn3ke/ipn3ke_rawdev_api.h' line='71' column='1' elf-symbol-id='ipn3ke_bridge_func@@EXPERIMENTAL'/>
+    <function-type size-in-bits='64' id='type-id-472'>
+      <parameter type-id='type-id-415'/>
+      <return type-id='type-id-122'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-176'>
+      <return type-id='type-id-175'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-200'>
+      <parameter type-id='type-id-51'/>
+      <return type-id='type-id-199'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-158'>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-169'>
+      <parameter type-id='type-id-15'/>
+      <parameter type-id='type-id-47'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-162'>
+      <parameter type-id='type-id-161'/>
+      <parameter type-id='type-id-47'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-109'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-108'/>
+      <parameter type-id='type-id-101'/>
+      <parameter type-id='type-id-69'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-114'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-113'/>
+      <parameter type-id='type-id-69'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-52'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-17'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-167'>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-171'>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-47'/>
+      <parameter type-id='type-id-100'/>
+      <parameter type-id='type-id-83'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-416'>
+      <parameter type-id='type-id-415'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-470'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-83'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-586'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-15'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-575'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-574'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-580'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-579'/>
+      <parameter type-id='type-id-101'/>
+      <parameter type-id='type-id-69'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-552'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-550'/>
+      <parameter type-id='type-id-551'/>
+      <parameter type-id='type-id-47'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-479'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-478'/>
+      <parameter type-id='type-id-12'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-420'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-544'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-543'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-540'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-539'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-559'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-558'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-455'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-454'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-548'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-547'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-502'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-501'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-590'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-589'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-525'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-524'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-527'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-524'/>
+      <parameter type-id='type-id-120'/>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-516'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-515'/>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-506'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-505'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-532'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-531'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-536'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-535'/>
+      <parameter type-id='type-id-12'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-435'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-434'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-520'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-519'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-439'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-438'/>
+      <parameter type-id='type-id-69'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-582'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-442'/>
+      <parameter type-id='type-id-579'/>
+      <parameter type-id='type-id-69'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-443'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-442'/>
+      <parameter type-id='type-id-69'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-426'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-273'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-428'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-273'/>
+      <parameter type-id='type-id-120'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-424'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-273'/>
+      <parameter type-id='type-id-120'/>
+      <parameter type-id='type-id-120'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-508'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-273'/>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-567'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-564'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-565'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-564'/>
+      <parameter type-id='type-id-120'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-571'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-570'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-430'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-12'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-476'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-468'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-467'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-529'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-12'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-597'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-596'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-485'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-484'/>
+      <parameter type-id='type-id-217'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-495'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-494'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-445'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-474'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-120'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-510'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-577'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-101'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-584'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-47'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-54'>
+      <parameter type-id='type-id-6'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-96'>
+      <parameter type-id='type-id-6'/>
+      <parameter type-id='type-id-95'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-105'>
+      <parameter type-id='type-id-6'/>
+      <parameter type-id='type-id-15'/>
+      <parameter type-id='type-id-104'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-102'>
+      <parameter type-id='type-id-6'/>
+      <parameter type-id='type-id-15'/>
+      <parameter type-id='type-id-101'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-123'>
+      <parameter type-id='type-id-6'/>
+      <parameter type-id='type-id-122'/>
+      <parameter type-id='type-id-120'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-70'>
+      <parameter type-id='type-id-6'/>
+      <parameter type-id='type-id-68'/>
+      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-17'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-125'>
+      <parameter type-id='type-id-6'/>
+      <parameter type-id='type-id-17'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-62'>
+      <parameter type-id='type-id-6'/>
+      <parameter type-id='type-id-12'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-60'>
+      <parameter type-id='type-id-6'/>
+      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-17'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-127'>
+      <parameter type-id='type-id-12'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-625'>
+      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-415'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-185'>
+      <parameter type-id='type-id-47'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-491'>
+      <parameter type-id='type-id-47'/>
+      <parameter type-id='type-id-12'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-497'>
+      <parameter type-id='type-id-47'/>
+      <parameter type-id='type-id-120'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-165'>
+      <parameter type-id='type-id-161'/>
+      <parameter type-id='type-id-164'/>
+      <parameter type-id='type-id-47'/>
+      <return type-id='type-id-14'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-64'>
+      <parameter type-id='type-id-6'/>
+      <return type-id='type-id-12'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-621'>
+      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-265'/>
+      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-47'/>
+      <return type-id='type-id-12'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-623'>
+      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-265'/>
+      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-47'/>
+      <return type-id='type-id-12'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-266'>
+      <parameter type-id='type-id-47'/>
+      <parameter type-id='type-id-265'/>
+      <parameter type-id='type-id-12'/>
+      <return type-id='type-id-12'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-489'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-12'/>
+      <return type-id='type-id-120'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-117'>
+      <parameter type-id='type-id-51'/>
+      <parameter type-id='type-id-15'/>
+      <parameter type-id='type-id-116'/>
+      <return type-id='type-id-100'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-611'>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-47'/>
+      <return type-id='type-id-46'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-418'>
+      <parameter type-id='type-id-415'/>
+      <return type-id='type-id-46'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-481'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-46'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-459'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-458'/>
+      <return type-id='type-id-46'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-463'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-462'/>
+      <return type-id='type-id-46'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-422'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-120'/>
+      <return type-id='type-id-46'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-253'>
+      <parameter type-id='type-id-247'/>
+      <parameter type-id='type-id-47'/>
+      <return type-id='type-id-46'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-56'>
+      <parameter type-id='type-id-6'/>
+      <return type-id='type-id-46'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-48'>
+      <parameter type-id='type-id-6'/>
+      <parameter type-id='type-id-17'/>
+      <return type-id='type-id-46'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-58'>
+      <parameter type-id='type-id-6'/>
+      <parameter type-id='type-id-12'/>
+      <parameter type-id='type-id-17'/>
+      <return type-id='type-id-46'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-487'>
+      <parameter type-id='type-id-47'/>
+      <return type-id='type-id-46'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-258'>
+      <parameter type-id='type-id-47'/>
+      <parameter type-id='type-id-47'/>
+      <return type-id='type-id-46'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-183'>
+      <parameter type-id='type-id-47'/>
+      <parameter type-id='type-id-15'/>
+      <parameter type-id='type-id-182'/>
+      <return type-id='type-id-47'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/ipn3ke/ipn3ke_flow.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_flow_ops' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='63' column='1' id='type-id-626'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='validate' type-id='type-id-627' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='create' type-id='type-id-628' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='destroy' type-id='type-id-629' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='flush' type-id='type-id-630' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='query' type-id='type-id-631' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='isolate' type-id='type-id-632' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='95' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_flow_attr' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='75' column='1' id='type-id-633'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='group' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='priority' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='ingress' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='egress' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='transfer' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='98' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='reserved' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='99' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-633' const='yes' id='type-id-634'/>
+    <pointer-type-def type-id='type-id-634' size-in-bits='64' id='type-id-635'/>
+    <class-decl name='rte_flow_item' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1517' column='1' id='type-id-636'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-637' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1518' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='spec' type-id='type-id-47' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1519' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='last' type-id='type-id-47' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='mask' type-id='type-id-47' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1521' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_item_type' filepath='../lib/librte_ethdev/rte_flow.h' line='118' column='1' id='type-id-637'>
+      <underlying-type type-id='type-id-174'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_END' value='0'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VOID' value='1'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_INVERT' value='2'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ANY' value='3'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PF' value='4'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VF' value='5'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PHY_PORT' value='6'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PORT_ID' value='7'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_RAW' value='8'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ETH' value='9'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VLAN' value='10'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV4' value='11'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV6' value='12'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP' value='13'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_UDP' value='14'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_TCP' value='15'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_SCTP' value='16'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VXLAN' value='17'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_E_TAG' value='18'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_NVGRE' value='19'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_MPLS' value='20'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GRE' value='21'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_FUZZY' value='22'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTP' value='23'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTPC' value='24'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTPU' value='25'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ESP' value='26'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GENEVE' value='27'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VXLAN_GPE' value='28'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ARP_ETH_IPV4' value='29'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV6_EXT' value='30'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6' value='31'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_NS' value='32'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_NA' value='33'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT' value='34'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT_SLA_ETH' value='35'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT_TLA_ETH' value='36'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_MARK' value='37'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_META' value='38'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GRE_KEY' value='39'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTP_PSC' value='40'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOES' value='41'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOED' value='42'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOE_PROTO_ID' value='43'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_NSH' value='44'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IGMP' value='45'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_AH' value='46'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_HIGIG2' value='47'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_TAG' value='48'/>
+    </enum-decl>
+    <qualified-type-def type-id='type-id-636' const='yes' id='type-id-638'/>
+    <pointer-type-def type-id='type-id-638' size-in-bits='64' id='type-id-639'/>
+    <class-decl name='rte_flow_action' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2568' column='1' id='type-id-640'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-641' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2569' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='conf' type-id='type-id-47' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2570' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_action_type' filepath='../lib/librte_ethdev/rte_flow.h' line='1550' column='1' id='type-id-641'>
+      <underlying-type type-id='type-id-174'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_END' value='0'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VOID' value='1'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PASSTHRU' value='2'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_JUMP' value='3'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_MARK' value='4'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_FLAG' value='5'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_QUEUE' value='6'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DROP' value='7'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_COUNT' value='8'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RSS' value='9'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PF' value='10'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VF' value='11'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PHY_PORT' value='12'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PORT_ID' value='13'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_METER' value='14'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SECURITY' value='15'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_MPLS_TTL' value='16'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_DEC_MPLS_TTL' value='17'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_NW_TTL' value='18'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_DEC_NW_TTL' value='19'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_OUT' value='20'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_IN' value='21'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_POP_VLAN' value='22'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_PUSH_VLAN' value='23'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_VID' value='24'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_PCP' value='25'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_POP_MPLS' value='26'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_PUSH_MPLS' value='27'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VXLAN_ENCAP' value='28'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VXLAN_DECAP' value='29'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_NVGRE_ENCAP' value='30'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_NVGRE_DECAP' value='31'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RAW_ENCAP' value='32'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RAW_DECAP' value='33'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV4_SRC' value='34'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV4_DST' value='35'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV6_SRC' value='36'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV6_DST' value='37'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TP_SRC' value='38'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TP_DST' value='39'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_MAC_SWAP' value='40'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TTL' value='41'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TTL' value='42'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_MAC_SRC' value='43'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_MAC_DST' value='44'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_INC_TCP_SEQ' value='45'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TCP_SEQ' value='46'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_INC_TCP_ACK' value='47'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TCP_ACK' value='48'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TAG' value='49'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_META' value='50'/>
+    </enum-decl>
+    <qualified-type-def type-id='type-id-640' const='yes' id='type-id-642'/>
+    <pointer-type-def type-id='type-id-642' size-in-bits='64' id='type-id-643'/>
+    <class-decl name='rte_flow_error' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2618' column='1' id='type-id-644'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-645' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2619' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='cause' type-id='type-id-47' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2620' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='message' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2621' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_error_type' filepath='../lib/librte_ethdev/rte_flow.h' line='2587' column='1' id='type-id-645'>
+      <underlying-type type-id='type-id-174'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_UNSPECIFIED' value='1'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_HANDLE' value='2'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_GROUP' value='3'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_PRIORITY' value='4'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_INGRESS' value='5'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_EGRESS' value='6'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_TRANSFER' value='7'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR' value='8'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_NUM' value='9'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_SPEC' value='10'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_LAST' value='11'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_MASK' value='12'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM' value='13'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION_NUM' value='14'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION_CONF' value='15'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION' value='16'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-644' size-in-bits='64' id='type-id-646'/>
+    <pointer-type-def type-id='type-id-647' size-in-bits='64' id='type-id-627'/>
+    <class-decl name='rte_flow' size-in-bits='320' is-struct='yes' visibility='default' filepath='../drivers/net/ipn3ke/ipn3ke_flow.h' line='74' column='1' id='type-id-648'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-649' visibility='default' filepath='../drivers/net/ipn3ke/ipn3ke_flow.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rule' type-id='type-id-650' visibility='default' filepath='../drivers/net/ipn3ke/ipn3ke_flow.h' line='77' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../drivers/net/ipn3ke/ipn3ke_flow.h' line='75' column='1' id='type-id-649'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-651' visibility='default' filepath='../drivers/net/ipn3ke/ipn3ke_flow.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-652' visibility='default' filepath='../drivers/net/ipn3ke/ipn3ke_flow.h' line='75' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-648' size-in-bits='64' id='type-id-651'/>
+    <pointer-type-def type-id='type-id-651' size-in-bits='64' id='type-id-652'/>
+    <class-decl name='ipn3ke_flow_rule' size-in-bits='160' is-struct='yes' visibility='default' filepath='../drivers/net/ipn3ke/ipn3ke_flow.h' line='69' column='1' id='type-id-650'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='key' type-id='type-id-316' visibility='default' filepath='../drivers/net/ipn3ke/ipn3ke_flow.h' line='70' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='result' type-id='type-id-653' visibility='default' filepath='../drivers/net/ipn3ke/ipn3ke_flow.h' line='71' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='32' id='type-id-653'>
+      <subrange length='4' type-id='type-id-88' id='type-id-309'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-654' size-in-bits='64' id='type-id-628'/>
+    <pointer-type-def type-id='type-id-655' size-in-bits='64' id='type-id-629'/>
+    <pointer-type-def type-id='type-id-656' size-in-bits='64' id='type-id-630'/>
+    <pointer-type-def type-id='type-id-657' size-in-bits='64' id='type-id-631'/>
+    <pointer-type-def type-id='type-id-658' size-in-bits='64' id='type-id-632'/>
+    <qualified-type-def type-id='type-id-626' const='yes' id='type-id-659'/>
+    <var-decl name='ipn3ke_flow_ops' type-id='type-id-659' visibility='default' filepath='../drivers/net/ipn3ke/ipn3ke_flow.h' line='102' column='1'/>
+    <function-type size-in-bits='64' id='type-id-647'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-635'/>
+      <parameter type-id='type-id-639'/>
+      <parameter type-id='type-id-643'/>
+      <parameter type-id='type-id-646'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-658'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-646'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-657'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-651'/>
+      <parameter type-id='type-id-643'/>
+      <parameter type-id='type-id-47'/>
+      <parameter type-id='type-id-646'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-655'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-651'/>
+      <parameter type-id='type-id-646'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-656'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-646'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-654'>
+      <parameter type-id='type-id-415'/>
+      <parameter type-id='type-id-635'/>
+      <parameter type-id='type-id-639'/>
+      <parameter type-id='type-id-643'/>
+      <parameter type-id='type-id-646'/>
+      <return type-id='type-id-651'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
diff --git a/drivers/.abi/librte_pmd_ixgbe.dump b/drivers/.abi/librte_pmd_ixgbe.dump
new file mode 100644
index 000000000..bef855bc6
--- /dev/null
+++ b/drivers/.abi/librte_pmd_ixgbe.dump
@@ -0,0 +1,3369 @@
+<abi-corpus path='gcc//drivers/librte_pmd_ixgbe.so.20.0' architecture='elf-amd-x86_64' soname='librte_pmd_ixgbe.so.20.0'>
+  <elf-needed>
+    <dependency name='libm.so.6'/>
+    <dependency name='libdl.so.2'/>
+    <dependency name='libnuma.so.1'/>
+    <dependency name='librte_ethdev.so.20.0'/>
+    <dependency name='librte_eal.so.20.0'/>
+    <dependency name='librte_kvargs.so.20.0'/>
+    <dependency name='librte_net.so.20.0'/>
+    <dependency name='librte_mbuf.so.20.0'/>
+    <dependency name='librte_mempool.so.20.0'/>
+    <dependency name='librte_ring.so.20.0'/>
+    <dependency name='librte_meter.so.20.0'/>
+    <dependency name='librte_bus_pci.so.20.0'/>
+    <dependency name='librte_pci.so.20.0'/>
+    <dependency name='librte_bus_vdev.so.20.0'/>
+    <dependency name='librte_hash.so.20.0'/>
+    <dependency name='librte_security.so.20.0'/>
+    <dependency name='librte_cryptodev.so.20.0'/>
+    <dependency name='libbsd.so.0'/>
+    <dependency name='libpthread.so.0'/>
+    <dependency name='libc.so.6'/>
+    <dependency name='ld-linux-x86-64.so.2'/>
+  </elf-needed>
+  <elf-function-symbols>
+    <elf-symbol name='rte_pmd_ixgbe_bypass_event_show' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_ixgbe_bypass_event_store' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_ixgbe_bypass_init' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_ixgbe_bypass_state_set' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_ixgbe_bypass_state_show' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_ixgbe_bypass_ver_show' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_ixgbe_bypass_wd_reset' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_ixgbe_bypass_wd_timeout_show' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_ixgbe_bypass_wd_timeout_store' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_ixgbe_macsec_config_rxsc' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_ixgbe_macsec_config_txsc' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_ixgbe_macsec_disable' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_ixgbe_macsec_enable' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_ixgbe_macsec_select_rxsa' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_ixgbe_macsec_select_txsa' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_ixgbe_mdio_lock' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_ixgbe_mdio_unlock' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_ixgbe_mdio_unlocked_read' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_ixgbe_mdio_unlocked_write' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_ixgbe_ping_vf' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_ixgbe_set_all_queues_drop_en' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_ixgbe_set_tc_bw_alloc' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_ixgbe_set_tx_loopback' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_ixgbe_set_vf_mac_addr' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_ixgbe_set_vf_mac_anti_spoof' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_ixgbe_set_vf_rate_limit' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_ixgbe_set_vf_rx' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_ixgbe_set_vf_rxmode' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_ixgbe_set_vf_split_drop_en' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_ixgbe_set_vf_tx' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_ixgbe_set_vf_vlan_anti_spoof' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_ixgbe_set_vf_vlan_filter' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_ixgbe_set_vf_vlan_insert' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_ixgbe_set_vf_vlan_stripq' version='DPDK_20.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rte_pmd_ixgbe_upd_fctrl_sbp' version='EXPERIMENTAL' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/ixgbe/ixgbe_ethdev.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='type-id-1'/>
+    <var-decl name='ixgbe_logtype_init' type-id='type-id-1' visibility='default' filepath='../drivers/net/ixgbe/ixgbe_logs.h' line='8' column='1'/>
+    <var-decl name='ixgbe_logtype_driver' type-id='type-id-1' visibility='default' filepath='../drivers/net/ixgbe/ixgbe_logs.h' line='42' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/ixgbe/ixgbe_flow.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <class-decl name='rte_flow_ops' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='63' column='1' id='type-id-2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='validate' type-id='type-id-3' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='create' type-id='type-id-4' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='destroy' type-id='type-id-5' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='flush' type-id='type-id-6' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='query' type-id='type-id-7' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='88' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='isolate' type-id='type-id-8' visibility='default' filepath='../lib/librte_ethdev/rte_flow_driver.h' line='95' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev' size-in-bits='132608' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='777' column='1' id='type-id-9'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_pkt_burst' type-id='type-id-10' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='778' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tx_pkt_burst' type-id='type-id-11' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tx_pkt_prepare' type-id='type-id-12' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='data' type-id='type-id-13' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='786' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='process_private' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='787' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_ops' type-id='type-id-15' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='788' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='device' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='789' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='intr_handle' type-id='type-id-17' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='790' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='link_intr_cbs' type-id='type-id-18' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='792' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='post_rx_burst_cbs' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='797' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='66176'>
+        <var-decl name='pre_tx_burst_cbs' type-id='type-id-19' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131712'>
+        <var-decl name='state' type-id='type-id-20' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='803' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131776'>
+        <var-decl name='security_ctx' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='131840'>
+        <var-decl name='reserved_64s' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='806' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='132096'>
+        <var-decl name='reserved_ptrs' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='807' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-23'/>
+    <typedef-decl name='__uint16_t' type-id='type-id-23' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-24'/>
+    <typedef-decl name='uint16_t' type-id='type-id-24' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-25'/>
+    <type-decl name='void' id='type-id-26'/>
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-14'/>
+    <class-decl name='rte_mbuf' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='480' column='1' id='type-id-27'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheline0' type-id='type-id-28' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='481' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='buf_addr' type-id='type-id-14' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='483' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='' type-id='type-id-29' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rearm_data' type-id='type-id-30' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='497' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='data_off' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='498' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='nb_segs' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='515' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='port' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ol_flags' type-id='type-id-31' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='522' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rx_descriptor_fields1' type-id='type-id-28' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='525' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='pkt_len' type-id='type-id-32' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='561' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='data_len' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='562' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='vlan_tci' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='564' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='vlan_tci_outer' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='601' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='buf_len' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='603' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='timestamp' type-id='type-id-31' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cacheline1' type-id='type-id-28' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='pool' type-id='type-id-33' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='next' type-id='type-id-34' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='priv_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='timesync' type-id='type-id-25' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='seqn' type-id='type-id-32' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='shinfo' type-id='type-id-35' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dynfield1' type-id='type-id-36' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='678' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-37'/>
+
+    <array-type-def dimensions='1' type-id='type-id-14' size-in-bits='infinite' id='type-id-38'>
+      <subrange length='infinite' type-id='type-id-37' id='type-id-39'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER' type-id='type-id-38' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='414' column='1' id='type-id-28'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='491' column='1' id='type-id-29'>
+      <data-member access='private'>
+        <var-decl name='buf_iova' type-id='type-id-40' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='492' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='buf_physaddr' type-id='type-id-40' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='493' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='__uint64_t' type-id='type-id-37' filepath='/usr/include/bits/types.h' line='45' column='1' id='type-id-41'/>
+    <typedef-decl name='uint64_t' type-id='type-id-41' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-31'/>
+    <typedef-decl name='rte_iova_t' type-id='type-id-31' filepath='../lib/librte_eal/common/include/rte_common.h' line='335' column='1' id='type-id-40'/>
+
+    <array-type-def dimensions='1' type-id='type-id-31' size-in-bits='infinite' id='type-id-42'>
+      <subrange length='infinite' type-id='type-id-37' id='type-id-39'/>
+
+    </array-type-def>
+    <typedef-decl name='MARKER64' type-id='type-id-42' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='420' column='1' id='type-id-30'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='type-id-43'/>
+    <typedef-decl name='__uint32_t' type-id='type-id-43' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-44'/>
+    <typedef-decl name='uint32_t' type-id='type-id-44' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-32'/>
+    <class-decl name='rte_mempool' size-in-bits='1536' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='216' column='1' id='type-id-45'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-46' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='222' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-47' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='pool_config' type-id='type-id-14' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='mz' type-id='type-id-48' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='flags' type-id='type-id-43' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='230' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='socket_id' type-id='type-id-1' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='cache_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='elt_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='236' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='header_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='trailer_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='private_data_size' type-id='type-id-43' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ops_index' type-id='type-id-49' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_cache' type-id='type-id-50' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='populated_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='elt_list' type-id='type-id-51' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='nb_mem_chunks' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mem_list' type-id='type-id-52' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='255' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='char' size-in-bits='8' id='type-id-53'/>
+
+    <array-type-def dimensions='1' type-id='type-id-53' size-in-bits='256' id='type-id-46'>
+      <subrange length='32' type-id='type-id-37' id='type-id-54'/>
+
+    </array-type-def>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='224' column='1' id='type-id-47'>
+      <data-member access='private'>
+        <var-decl name='pool_data' type-id='type-id-14' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='225' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='pool_id' type-id='type-id-31' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='226' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_memzone' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='49' column='1' id='type-id-55'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-46' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='' type-id='type-id-56' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='len' type-id='type-id-57' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='hugepage_sz' type-id='type-id-31' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='socket_id' type-id='type-id-49' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='68' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='flags' type-id='type-id-32' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='70' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='55' column='1' id='type-id-56'>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-58' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-40' visibility='default' filepath='../lib/librte_eal/common/include/rte_memzone.h' line='57' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='phys_addr_t' type-id='type-id-31' filepath='../lib/librte_eal/common/include/rte_common.h' line='325' column='1' id='type-id-58'/>
+    <typedef-decl name='size_t' type-id='type-id-37' filepath='/usr/lib/gcc/x86_64-redhat-linux/9/include/stddef.h' line='209' column='1' id='type-id-57'/>
+    <typedef-decl name='__int32_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-59'/>
+    <typedef-decl name='int32_t' type-id='type-id-59' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-49'/>
+    <qualified-type-def type-id='type-id-55' const='yes' id='type-id-60'/>
+    <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-48'/>
+    <class-decl name='rte_mempool_cache' size-in-bits='98816' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='83' column='1' id='type-id-61'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='84' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flushthresh' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='85' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='type-id-32' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='86' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='objs' type-id='type-id-62' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='91' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-14' size-in-bits='98304' id='type-id-62'>
+      <subrange length='1536' type-id='type-id-37' id='type-id-63'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-61' size-in-bits='64' id='type-id-50'/>
+    <class-decl name='rte_mempool_objhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1' id='type-id-51'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-64' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-65' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='152' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_objhdr' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='136' column='1' id='type-id-66'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-67' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-33' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='' type-id='type-id-68' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1' id='type-id-67'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-64' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='137' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-64'/>
+    <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-33'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='140' column='1' id='type-id-68'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-40' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='physaddr' type-id='type-id-58' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='142' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-64' size-in-bits='64' id='type-id-65'/>
+    <class-decl name='rte_mempool_memhdr_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1' id='type-id-52'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqh_first' type-id='type-id-69' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stqh_last' type-id='type-id-70' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='171' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_mempool_memhdr' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='185' column='1' id='type-id-71'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-72' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mp' type-id='type-id-33' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='187' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='addr' type-id='type-id-14' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='188' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='' type-id='type-id-73' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='len' type-id='type-id-57' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='194' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='free_cb' type-id='type-id-74' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='195' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='opaque' type-id='type-id-14' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='196' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1' id='type-id-72'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stqe_next' type-id='type-id-69' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='186' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-69'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='190' column='1' id='type-id-73'>
+      <data-member access='private'>
+        <var-decl name='iova' type-id='type-id-40' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='191' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='phys_addr' type-id='type-id-58' visibility='default' filepath='../lib/librte_mempool/rte_mempool.h' line='192' column='1'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='rte_mempool_memchunk_free_cb_t' type-id='type-id-75' filepath='../lib/librte_mempool/rte_mempool.h' line='176' column='1' id='type-id-76'/>
+    <pointer-type-def type-id='type-id-76' size-in-bits='64' id='type-id-74'/>
+    <pointer-type-def type-id='type-id-69' size-in-bits='64' id='type-id-70'/>
+    <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-34'/>
+    <class-decl name='rte_mbuf_ext_shared_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='689' column='1' id='type-id-77'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='free_cb' type-id='type-id-78' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcb_opaque' type-id='type-id-14' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='refcnt_atomic' type-id='type-id-79' visibility='default' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='692' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-80' size-in-bits='64' id='type-id-81'/>
+    <typedef-decl name='rte_mbuf_extbuf_free_callback_t' type-id='type-id-81' filepath='../lib/librte_mbuf/rte_mbuf_core.h' line='684' column='1' id='type-id-78'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-79' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='223' column='1' id='type-id-82'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cnt' type-id='type-id-83' visibility='default' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='224' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='short int' size-in-bits='16' id='type-id-84'/>
+    <typedef-decl name='__int16_t' type-id='type-id-84' filepath='/usr/include/bits/types.h' line='39' column='1' id='type-id-85'/>
+    <typedef-decl name='int16_t' type-id='type-id-85' filepath='/usr/include/bits/stdint-intn.h' line='25' column='1' id='type-id-86'/>
+    <qualified-type-def type-id='type-id-86' volatile='yes' id='type-id-83'/>
+    <typedef-decl name='rte_atomic16_t' type-id='type-id-82' filepath='../lib/librte_eal/common/include/generic/rte_atomic.h' line='225' column='1' id='type-id-79'/>
+    <pointer-type-def type-id='type-id-77' size-in-bits='64' id='type-id-35'/>
+
+    <array-type-def dimensions='1' type-id='type-id-31' size-in-bits='128' id='type-id-36'>
+      <subrange length='2' type-id='type-id-37' id='type-id-87'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-88'/>
+    <pointer-type-def type-id='type-id-89' size-in-bits='64' id='type-id-90'/>
+    <typedef-decl name='eth_rx_burst_t' type-id='type-id-90' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='340' column='1' id='type-id-10'/>
+    <typedef-decl name='eth_tx_burst_t' type-id='type-id-90' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='345' column='1' id='type-id-11'/>
+    <typedef-decl name='eth_tx_prep_t' type-id='type-id-90' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='350' column='1' id='type-id-12'/>
+    <class-decl name='rte_eth_dev_data' size-in-bits='55808' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='820' column='1' id='type-id-91'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='821' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_queues' type-id='type-id-93' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='823' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_queues' type-id='type-id-93' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='824' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='nb_rx_queues' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='825' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='656'>
+        <var-decl name='nb_tx_queues' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='826' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='sriov' type-id='type-id-94' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='dev_private' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='830' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_link' type-id='type-id-95' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='835' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='dev_conf' type-id='type-id-96' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='836' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25536'>
+        <var-decl name='mtu' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='837' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25568'>
+        <var-decl name='min_rx_buf_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25600'>
+        <var-decl name='rx_mbuf_alloc_failed' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='841' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25664'>
+        <var-decl name='mac_addrs' type-id='type-id-97' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='842' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='25728'>
+        <var-decl name='mac_pool_sel' type-id='type-id-98' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='846' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='33920'>
+        <var-decl name='hash_mac_addrs' type-id='type-id-97' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='848' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='33984'>
+        <var-decl name='port_id' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='852' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='promiscuous' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='855' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='scattered_rx' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='856' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='all_multicast' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='857' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4'>
+        <var-decl name='dev_started' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='858' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3'>
+        <var-decl name='lro' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='859' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='34008'>
+        <var-decl name='rx_queue_state' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='860' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='42200'>
+        <var-decl name='tx_queue_state' type-id='type-id-100' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='862' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50400'>
+        <var-decl name='dev_flags' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='864' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50432'>
+        <var-decl name='kdrv' type-id='type-id-101' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50464'>
+        <var-decl name='numa_node' type-id='type-id-1' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='866' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='50496'>
+        <var-decl name='vlan_filter_conf' type-id='type-id-102' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='867' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='54592'>
+        <var-decl name='owner' type-id='type-id-103' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='869' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55168'>
+        <var-decl name='representor_id' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='870' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55232'>
+        <var-decl name='reserved_64s' type-id='type-id-21' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='875' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='55488'>
+        <var-decl name='reserved_ptrs' type-id='type-id-22' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='876' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-53' size-in-bits='512' id='type-id-92'>
+      <subrange length='64' type-id='type-id-37' id='type-id-104'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-93'/>
+    <class-decl name='rte_eth_dev_sriov' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1476' column='1' id='type-id-94'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='active' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1477' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='nb_q_per_pool' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1478' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='def_vmdq_idx' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1479' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='def_pool_q_idx' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1480' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unsigned char' size-in-bits='8' id='type-id-105'/>
+    <typedef-decl name='__uint8_t' type-id='type-id-105' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-106'/>
+    <typedef-decl name='uint8_t' type-id='type-id-106' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-99'/>
+    <class-decl name='rte_eth_link' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='308' column='1' id='type-id-95'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_speed' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='309' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='15'>
+        <var-decl name='link_duplex' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='310' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='14'>
+        <var-decl name='link_autoneg' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='311' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='13'>
+        <var-decl name='link_status' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='312' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_conf' size-in-bits='24640' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1045' column='1' id='type-id-96'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='link_speeds' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1046' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rxmode' type-id='type-id-107' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1053' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='txmode' type-id='type-id-108' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1054' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='lpbk_mode' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1055' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='rx_adv_conf' type-id='type-id-109' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1068' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='17984'>
+        <var-decl name='tx_adv_conf' type-id='type-id-110' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1076' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18080'>
+        <var-decl name='dcb_capability_en' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1079' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='18112'>
+        <var-decl name='fdir_conf' type-id='type-id-111' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1080' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24576'>
+        <var-decl name='intr_conf' type-id='type-id-112' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1081' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rxmode' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='394' column='1' id='type-id-107'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mq_mode' type-id='type-id-113' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='396' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_rx_pkt_len' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='397' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='max_lro_pkt_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='399' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='split_hdr_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='400' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='offloads' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='406' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='408' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='409' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-115'/>
+    <enum-decl name='rte_eth_rx_mq_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='344' column='1' id='type-id-113'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='ETH_MQ_RX_NONE' value='0'/>
+      <enumerator name='ETH_MQ_RX_RSS' value='1'/>
+      <enumerator name='ETH_MQ_RX_DCB' value='2'/>
+      <enumerator name='ETH_MQ_RX_DCB_RSS' value='3'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_ONLY' value='4'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_RSS' value='5'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_DCB' value='6'/>
+      <enumerator name='ETH_MQ_RX_VMDQ_DCB_RSS' value='7'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-14' size-in-bits='128' id='type-id-114'>
+      <subrange length='2' type-id='type-id-37' id='type-id-87'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_txmode' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='792' column='1' id='type-id-108'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mq_mode' type-id='type-id-116' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='793' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offloads' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='799' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pvid' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='802' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7'>
+        <var-decl name='hw_vlan_reject_tagged' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='804' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6'>
+        <var-decl name='hw_vlan_reject_untagged' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='806' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5'>
+        <var-decl name='hw_vlan_insert_pvid' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='808' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='811' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='812' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_tx_mq_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='377' column='1' id='type-id-116'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='ETH_MQ_TX_NONE' value='0'/>
+      <enumerator name='ETH_MQ_TX_DCB' value='1'/>
+      <enumerator name='ETH_MQ_TX_VMDQ_DCB' value='2'/>
+      <enumerator name='ETH_MQ_TX_VMDQ_ONLY' value='3'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16960' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1060' column='1' id='type-id-109'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rss_conf' type-id='type-id-117' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1061' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='vmdq_dcb_conf' type-id='type-id-118' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1062' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8512'>
+        <var-decl name='dcb_rx_conf' type-id='type-id-119' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1064' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8640'>
+        <var-decl name='vmdq_rx_conf' type-id='type-id-120' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1066' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_rss_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='448' column='1' id='type-id-117'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rss_key' type-id='type-id-121' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='449' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rss_key_len' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='450' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rss_hf' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='451' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-99' size-in-bits='64' id='type-id-121'/>
+    <class-decl name='rte_eth_vmdq_dcb_conf' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='745' column='1' id='type-id-118'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='746' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='enable_default_pool' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='default_pool' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='748' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='nb_pool_maps' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='749' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pool_map' type-id='type-id-123' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8256'>
+        <var-decl name='dcb_tc' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='754' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_nb_pools' filepath='../lib/librte_ethdev/rte_ethdev.h' line='704' column='1' id='type-id-122'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='ETH_8_POOLS' value='8'/>
+      <enumerator name='ETH_16_POOLS' value='16'/>
+      <enumerator name='ETH_32_POOLS' value='32'/>
+      <enumerator name='ETH_64_POOLS' value='64'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='750' column='1' id='type-id-125'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_id' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='751' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pools' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='752' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-125' size-in-bits='8192' id='type-id-123'>
+      <subrange length='64' type-id='type-id-37' id='type-id-104'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-99' size-in-bits='64' id='type-id-124'>
+      <subrange length='8' type-id='type-id-37' id='type-id-126'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_dcb_rx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='712' column='1' id='type-id-119'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-127' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='715' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_nb_tcs' filepath='../lib/librte_ethdev/rte_ethdev.h' line='695' column='1' id='type-id-127'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='ETH_4_TCS' value='4'/>
+      <enumerator name='ETH_8_TCS' value='8'/>
+    </enum-decl>
+    <class-decl name='rte_eth_vmdq_rx_conf' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='776' column='1' id='type-id-120'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='777' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='enable_default_pool' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='778' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='default_pool' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='779' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='enable_loop_back' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='780' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='nb_pool_maps' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='781' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rx_mode' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='782' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pool_map' type-id='type-id-123' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='786' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <union-decl name='__anonymous_union__' size-in-bits='96' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1069' column='1' id='type-id-110'>
+      <data-member access='private'>
+        <var-decl name='vmdq_dcb_tx_conf' type-id='type-id-128' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1070' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dcb_tx_conf' type-id='type-id-129' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1072' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='vmdq_tx_conf' type-id='type-id-130' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1074' column='1'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='rte_eth_vmdq_dcb_tx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='718' column='1' id='type-id-128'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='721' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dcb_tx_conf' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='724' column='1' id='type-id-129'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-127' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dcb_tc' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='727' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vmdq_tx_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='730' column='1' id='type-id-130'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_queue_pools' type-id='type-id-122' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='731' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_fdir_conf' size-in-bits='6464' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1005' column='1' id='type-id-111'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mode' type-id='type-id-131' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1006' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='pballoc' type-id='type-id-132' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1007' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='status' type-id='type-id-133' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1008' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='drop_queue' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1010' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mask' type-id='type-id-134' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1011' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='flex_conf' type-id='type-id-135' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1012' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_fdir_mode' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='603' column='1' id='type-id-131'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_FDIR_MODE_NONE' value='0'/>
+      <enumerator name='RTE_FDIR_MODE_SIGNATURE' value='1'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT' value='2'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT_MAC_VLAN' value='3'/>
+      <enumerator name='RTE_FDIR_MODE_PERFECT_TUNNEL' value='4'/>
+    </enum-decl>
+    <enum-decl name='rte_fdir_pballoc_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='984' column='1' id='type-id-132'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_FDIR_PBALLOC_64K' value='0'/>
+      <enumerator name='RTE_FDIR_PBALLOC_128K' value='1'/>
+      <enumerator name='RTE_FDIR_PBALLOC_256K' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_fdir_status_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='993' column='1' id='type-id-133'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_FDIR_NO_REPORT_STATUS' value='0'/>
+      <enumerator name='RTE_FDIR_REPORT_STATUS' value='1'/>
+      <enumerator name='RTE_FDIR_REPORT_STATUS_ALWAYS' value='2'/>
+    </enum-decl>
+    <class-decl name='rte_eth_fdir_masks' size-in-bits='544' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='533' column='1' id='type-id-134'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_tci_mask' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='534' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ipv4_mask' type-id='type-id-136' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='536' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ipv6_mask' type-id='type-id-137' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='538' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='src_port_mask' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='540' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='dst_port_mask' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='542' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='mac_addr_byte_mask' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='545' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='tunnel_id_mask' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='547' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='tunnel_type_mask' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='548' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_ipv4_flow' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='342' column='1' id='type-id-136'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='343' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dst_ip' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='344' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tos' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='345' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='ttl' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='346' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='proto' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='347' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_ipv6_flow' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='381' column='1' id='type-id-137'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='src_ip' type-id='type-id-138' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='382' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dst_ip' type-id='type-id-138' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='383' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='tc' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='384' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='264'>
+        <var-decl name='proto' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='385' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='272'>
+        <var-decl name='hop_limits' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='386' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-32' size-in-bits='128' id='type-id-138'>
+      <subrange length='4' type-id='type-id-37' id='type-id-139'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_fdir_flex_conf' size-in-bits='5792' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='591' column='1' id='type-id-135'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_payloads' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='592' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='nb_flexmasks' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='593' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flex_set' type-id='type-id-140' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='594' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2336'>
+        <var-decl name='flex_mask' type-id='type-id-141' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='596' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_flex_payload_cfg' size-in-bits='288' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='568' column='1' id='type-id-142'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-143' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='569' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='src_offset' type-id='type-id-144' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='570' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_payload_type' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='555' column='1' id='type-id-143'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_ETH_PAYLOAD_UNKNOWN' value='0'/>
+      <enumerator name='RTE_ETH_RAW_PAYLOAD' value='1'/>
+      <enumerator name='RTE_ETH_L2_PAYLOAD' value='2'/>
+      <enumerator name='RTE_ETH_L3_PAYLOAD' value='3'/>
+      <enumerator name='RTE_ETH_L4_PAYLOAD' value='4'/>
+      <enumerator name='RTE_ETH_PAYLOAD_MAX' value='8'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-25' size-in-bits='256' id='type-id-144'>
+      <subrange length='16' type-id='type-id-37' id='type-id-145'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-142' size-in-bits='2304' id='type-id-140'>
+      <subrange length='8' type-id='type-id-37' id='type-id-126'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_fdir_flex_mask' size-in-bits='144' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='581' column='1' id='type-id-146'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flow_type' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='582' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='mask' type-id='type-id-147' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='583' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-99' size-in-bits='128' id='type-id-147'>
+      <subrange length='16' type-id='type-id-37' id='type-id-145'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-146' size-in-bits='3456' id='type-id-141'>
+      <subrange length='24' type-id='type-id-37' id='type-id-148'/>
+
+    </array-type-def>
+    <class-decl name='rte_intr_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1031' column='1' id='type-id-112'>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='lsc' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1033' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='rxq' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1035' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='rmv' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1037' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_ether_addr' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='60' column='1' id='type-id-149'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr_bytes' type-id='type-id-150' visibility='default' filepath='../lib/librte_net/rte_ether.h' line='61' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-99' size-in-bits='48' id='type-id-150'>
+      <subrange length='6' type-id='type-id-37' id='type-id-151'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-149' size-in-bits='64' id='type-id-97'/>
+
+    <array-type-def dimensions='1' type-id='type-id-31' size-in-bits='8192' id='type-id-98'>
+      <subrange length='128' type-id='type-id-37' id='type-id-152'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-99' size-in-bits='8192' id='type-id-100'>
+      <subrange length='1024' type-id='type-id-37' id='type-id-153'/>
+
+    </array-type-def>
+    <enum-decl name='rte_kernel_driver' filepath='../lib/librte_eal/common/include/rte_dev.h' line='60' column='1' id='type-id-101'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_KDRV_UNKNOWN' value='0'/>
+      <enumerator name='RTE_KDRV_IGB_UIO' value='1'/>
+      <enumerator name='RTE_KDRV_VFIO' value='2'/>
+      <enumerator name='RTE_KDRV_UIO_GENERIC' value='3'/>
+      <enumerator name='RTE_KDRV_NIC_UIO' value='4'/>
+      <enumerator name='RTE_KDRV_NONE' value='5'/>
+    </enum-decl>
+    <class-decl name='rte_vlan_filter_conf' size-in-bits='4096' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='427' column='1' id='type-id-102'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ids' type-id='type-id-154' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='428' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-31' size-in-bits='4096' id='type-id-154'>
+      <subrange length='64' type-id='type-id-37' id='type-id-104'/>
+
+    </array-type-def>
+    <class-decl name='rte_eth_dev_owner' size-in-bits='576' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1490' column='1' id='type-id-103'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1491' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='name' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1492' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-31' size-in-bits='256' id='type-id-21'>
+      <subrange length='4' type-id='type-id-37' id='type-id-139'/>
+
+    </array-type-def>
+
+    <array-type-def dimensions='1' type-id='type-id-14' size-in-bits='256' id='type-id-22'>
+      <subrange length='4' type-id='type-id-37' id='type-id-139'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-91' size-in-bits='64' id='type-id-13'/>
+    <class-decl name='eth_dev_ops' size-in-bits='6016' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='609' column='1' id='type-id-155'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_configure' type-id='type-id-156' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='610' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dev_start' type-id='type-id-157' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='611' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dev_stop' type-id='type-id-158' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='612' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_set_link_up' type-id='type-id-159' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='613' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='dev_set_link_down' type-id='type-id-160' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='614' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dev_close' type-id='type-id-161' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='615' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='dev_reset' type-id='type-id-162' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='616' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='link_update' type-id='type-id-163' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='617' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='is_removed' type-id='type-id-164' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='618' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='promiscuous_enable' type-id='type-id-165' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='621' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='promiscuous_disable' type-id='type-id-166' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='622' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='allmulticast_enable' type-id='type-id-167' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='623' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='allmulticast_disable' type-id='type-id-168' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='624' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='mac_addr_remove' type-id='type-id-169' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='625' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='mac_addr_add' type-id='type-id-170' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='626' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='mac_addr_set' type-id='type-id-171' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='627' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='set_mc_addr_list' type-id='type-id-172' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='628' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='mtu_set' type-id='type-id-173' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='629' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='stats_get' type-id='type-id-174' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='631' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='stats_reset' type-id='type-id-175' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='632' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='xstats_get' type-id='type-id-176' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='633' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='xstats_reset' type-id='type-id-177' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='634' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='xstats_get_names' type-id='type-id-178' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='635' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='queue_stats_mapping_set' type-id='type-id-179' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='637' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='dev_infos_get' type-id='type-id-180' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='640' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='rxq_info_get' type-id='type-id-181' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='641' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='txq_info_get' type-id='type-id-182' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='642' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='rx_burst_mode_get' type-id='type-id-183' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='643' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='tx_burst_mode_get' type-id='type-id-183' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='644' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='fw_version_get' type-id='type-id-184' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='645' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='dev_supported_ptypes_get' type-id='type-id-185' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='646' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='dev_ptypes_set' type-id='type-id-186' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='648' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='vlan_filter_set' type-id='type-id-187' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='651' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='vlan_tpid_set' type-id='type-id-188' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='652' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='vlan_strip_queue_set' type-id='type-id-189' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='653' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='vlan_offload_set' type-id='type-id-190' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='654' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='vlan_pvid_set' type-id='type-id-191' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='655' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='rx_queue_start' type-id='type-id-192' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='657' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='rx_queue_stop' type-id='type-id-193' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='658' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2496'>
+        <var-decl name='tx_queue_start' type-id='type-id-192' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='659' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='tx_queue_stop' type-id='type-id-193' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='660' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='rx_queue_setup' type-id='type-id-194' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='661' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2688'>
+        <var-decl name='rx_queue_release' type-id='type-id-195' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2752'>
+        <var-decl name='rx_queue_count' type-id='type-id-196' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='663' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2816'>
+        <var-decl name='rx_descriptor_done' type-id='type-id-197' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='665' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2880'>
+        <var-decl name='rx_descriptor_status' type-id='type-id-198' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='666' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2944'>
+        <var-decl name='tx_descriptor_status' type-id='type-id-199' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='668' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3008'>
+        <var-decl name='rx_queue_intr_enable' type-id='type-id-200' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='670' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3072'>
+        <var-decl name='rx_queue_intr_disable' type-id='type-id-201' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3136'>
+        <var-decl name='tx_queue_setup' type-id='type-id-202' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='672' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3200'>
+        <var-decl name='tx_queue_release' type-id='type-id-195' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3264'>
+        <var-decl name='tx_done_cleanup' type-id='type-id-203' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='674' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3328'>
+        <var-decl name='dev_led_on' type-id='type-id-204' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='676' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3392'>
+        <var-decl name='dev_led_off' type-id='type-id-205' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='677' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3456'>
+        <var-decl name='flow_ctrl_get' type-id='type-id-206' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='679' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3520'>
+        <var-decl name='flow_ctrl_set' type-id='type-id-207' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='680' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='priority_flow_ctrl_set' type-id='type-id-208' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='681' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3648'>
+        <var-decl name='uc_hash_table_set' type-id='type-id-209' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='683' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3712'>
+        <var-decl name='uc_all_hash_table_set' type-id='type-id-210' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='684' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3776'>
+        <var-decl name='mirror_rule_set' type-id='type-id-211' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='686' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3840'>
+        <var-decl name='mirror_rule_reset' type-id='type-id-212' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='687' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3904'>
+        <var-decl name='udp_tunnel_port_add' type-id='type-id-213' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='689' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3968'>
+        <var-decl name='udp_tunnel_port_del' type-id='type-id-214' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='690' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4032'>
+        <var-decl name='l2_tunnel_eth_type_conf' type-id='type-id-215' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='691' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4096'>
+        <var-decl name='l2_tunnel_offload_set' type-id='type-id-216' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='693' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4160'>
+        <var-decl name='set_queue_rate_limit' type-id='type-id-217' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='696' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4224'>
+        <var-decl name='rss_hash_update' type-id='type-id-218' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='698' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4288'>
+        <var-decl name='rss_hash_conf_get' type-id='type-id-219' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='699' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4352'>
+        <var-decl name='reta_update' type-id='type-id-220' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='700' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4416'>
+        <var-decl name='reta_query' type-id='type-id-221' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='701' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4480'>
+        <var-decl name='get_reg' type-id='type-id-222' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='703' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4544'>
+        <var-decl name='get_eeprom_length' type-id='type-id-223' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='704' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4608'>
+        <var-decl name='get_eeprom' type-id='type-id-224' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='705' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4672'>
+        <var-decl name='set_eeprom' type-id='type-id-225' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='706' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4736'>
+        <var-decl name='get_module_info' type-id='type-id-226' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='708' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4800'>
+        <var-decl name='get_module_eeprom' type-id='type-id-227' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='710' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4864'>
+        <var-decl name='filter_ctrl' type-id='type-id-228' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='713' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4928'>
+        <var-decl name='get_dcb_info' type-id='type-id-229' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='715' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4992'>
+        <var-decl name='timesync_enable' type-id='type-id-230' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='717' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5056'>
+        <var-decl name='timesync_disable' type-id='type-id-231' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='719' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5120'>
+        <var-decl name='timesync_read_rx_timestamp' type-id='type-id-232' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='721' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5184'>
+        <var-decl name='timesync_read_tx_timestamp' type-id='type-id-233' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='723' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5248'>
+        <var-decl name='timesync_adjust_time' type-id='type-id-234' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='725' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5312'>
+        <var-decl name='timesync_read_time' type-id='type-id-235' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='726' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5376'>
+        <var-decl name='timesync_write_time' type-id='type-id-236' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='727' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5440'>
+        <var-decl name='read_clock' type-id='type-id-237' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='729' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5504'>
+        <var-decl name='xstats_get_by_id' type-id='type-id-238' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='731' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5568'>
+        <var-decl name='xstats_get_names_by_id' type-id='type-id-239' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='733' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5632'>
+        <var-decl name='tm_ops_get' type-id='type-id-240' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='736' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5696'>
+        <var-decl name='mtr_ops_get' type-id='type-id-241' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='739' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5760'>
+        <var-decl name='pool_ops_supported' type-id='type-id-242' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='742' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5824'>
+        <var-decl name='hairpin_cap_get' type-id='type-id-243' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='745' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5888'>
+        <var-decl name='rx_hairpin_queue_setup' type-id='type-id-244' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='747' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='5952'>
+        <var-decl name='tx_hairpin_queue_setup' type-id='type-id-245' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='749' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-246'/>
+    <pointer-type-def type-id='type-id-247' size-in-bits='64' id='type-id-248'/>
+    <typedef-decl name='eth_dev_configure_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='31' column='1' id='type-id-156'/>
+    <typedef-decl name='eth_dev_start_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='34' column='1' id='type-id-157'/>
+    <pointer-type-def type-id='type-id-249' size-in-bits='64' id='type-id-250'/>
+    <typedef-decl name='eth_dev_stop_t' type-id='type-id-250' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='37' column='1' id='type-id-158'/>
+    <typedef-decl name='eth_dev_set_link_up_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='40' column='1' id='type-id-159'/>
+    <typedef-decl name='eth_dev_set_link_down_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='43' column='1' id='type-id-160'/>
+    <typedef-decl name='eth_dev_close_t' type-id='type-id-250' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='46' column='1' id='type-id-161'/>
+    <typedef-decl name='eth_dev_reset_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='49' column='1' id='type-id-162'/>
+    <pointer-type-def type-id='type-id-251' size-in-bits='64' id='type-id-252'/>
+    <typedef-decl name='eth_link_update_t' type-id='type-id-252' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='155' column='1' id='type-id-163'/>
+    <typedef-decl name='eth_is_removed_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='52' column='1' id='type-id-164'/>
+    <typedef-decl name='eth_promiscuous_enable_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='78' column='1' id='type-id-165'/>
+    <typedef-decl name='eth_promiscuous_disable_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='103' column='1' id='type-id-166'/>
+    <typedef-decl name='eth_allmulticast_enable_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='128' column='1' id='type-id-167'/>
+    <typedef-decl name='eth_allmulticast_disable_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='153' column='1' id='type-id-168'/>
+    <pointer-type-def type-id='type-id-253' size-in-bits='64' id='type-id-254'/>
+    <typedef-decl name='eth_mac_addr_remove_t' type-id='type-id-254' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='391' column='1' id='type-id-169'/>
+    <pointer-type-def type-id='type-id-255' size-in-bits='64' id='type-id-256'/>
+    <typedef-decl name='eth_mac_addr_add_t' type-id='type-id-256' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='394' column='1' id='type-id-170'/>
+    <pointer-type-def type-id='type-id-257' size-in-bits='64' id='type-id-258'/>
+    <typedef-decl name='eth_mac_addr_set_t' type-id='type-id-258' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='400' column='1' id='type-id-171'/>
+    <pointer-type-def type-id='type-id-259' size-in-bits='64' id='type-id-260'/>
+    <typedef-decl name='eth_set_mc_addr_list_t' type-id='type-id-260' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='436' column='1' id='type-id-172'/>
+    <pointer-type-def type-id='type-id-261' size-in-bits='64' id='type-id-262'/>
+    <typedef-decl name='mtu_set_t' type-id='type-id-262' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='315' column='1' id='type-id-173'/>
+    <class-decl name='rte_eth_stats' size-in-bits='5632' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='243' column='1' id='type-id-263'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ipackets' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='opackets' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ibytes' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='246' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='obytes' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='imissed' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='ierrors' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='oerrors' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='rx_nombuf' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='q_ipackets' type-id='type-id-264' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='q_opackets' type-id='type-id-264' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='q_ibytes' type-id='type-id-264' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='q_obytes' type-id='type-id-264' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4608'>
+        <var-decl name='q_errors' type-id='type-id-264' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='263' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-31' size-in-bits='1024' id='type-id-264'>
+      <subrange length='16' type-id='type-id-37' id='type-id-145'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-263' size-in-bits='64' id='type-id-265'/>
+    <pointer-type-def type-id='type-id-266' size-in-bits='64' id='type-id-267'/>
+    <typedef-decl name='eth_stats_get_t' type-id='type-id-267' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='159' column='1' id='type-id-174'/>
+    <typedef-decl name='eth_stats_reset_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='182' column='1' id='type-id-175'/>
+    <class-decl name='rte_eth_xstat' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1337' column='1' id='type-id-268'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='id' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1338' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='value' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1339' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-268' size-in-bits='64' id='type-id-269'/>
+    <pointer-type-def type-id='type-id-270' size-in-bits='64' id='type-id-271'/>
+    <typedef-decl name='eth_xstats_get_t' type-id='type-id-271' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='184' column='1' id='type-id-176'/>
+    <typedef-decl name='eth_xstats_reset_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='213' column='1' id='type-id-177'/>
+    <class-decl name='rte_eth_xstat_name' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1349' column='1' id='type-id-272'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-92' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1350' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-272' size-in-bits='64' id='type-id-273'/>
+    <pointer-type-def type-id='type-id-274' size-in-bits='64' id='type-id-275'/>
+    <typedef-decl name='eth_xstats_get_names_t' type-id='type-id-275' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='215' column='1' id='type-id-178'/>
+    <pointer-type-def type-id='type-id-276' size-in-bits='64' id='type-id-277'/>
+    <typedef-decl name='eth_queue_stats_mapping_set_t' type-id='type-id-277' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='224' column='1' id='type-id-179'/>
+    <class-decl name='rte_eth_dev_info' size-in-bits='2560' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1226' column='1' id='type-id-278'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='device' type-id='type-id-16' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1227' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='driver_name' type-id='type-id-279' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1228' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='if_index' type-id='type-id-43' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1229' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='min_mtu' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1231' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='max_mtu' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1232' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dev_flags' type-id='type-id-280' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1233' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='min_rx_bufsize' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1234' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='max_rx_pktlen' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1235' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='max_lro_pkt_size' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1237' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='max_rx_queues' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1238' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='max_tx_queues' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1239' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='max_mac_addrs' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1240' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='max_hash_mac_addrs' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1241' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='max_vfs' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1243' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='max_vmdq_pools' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1244' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rx_offload_capa' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1245' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tx_offload_capa' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='rx_queue_offload_capa' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='tx_queue_offload_capa' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='reta_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='hash_key_size' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='flow_type_rss_offloads' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='default_rxconf' type-id='type-id-281' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='default_txconf' type-id='type-id-282' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='vmdq_queue_base' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1744'>
+        <var-decl name='vmdq_queue_num' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1261' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1760'>
+        <var-decl name='vmdq_pool_base' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1262' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1776'>
+        <var-decl name='rx_desc_lim' type-id='type-id-283' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1263' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='tx_desc_lim' type-id='type-id-283' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1264' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1952'>
+        <var-decl name='speed_capa' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1265' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='nb_rx_queues' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1267' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2000'>
+        <var-decl name='nb_tx_queues' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1268' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2016'>
+        <var-decl name='default_rxportconf' type-id='type-id-284' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1270' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2064'>
+        <var-decl name='default_txportconf' type-id='type-id-284' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1272' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='dev_capa' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1274' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='switch_info' type-id='type-id-285' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1279' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='reserved_64s' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1281' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='reserved_ptrs' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1282' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_device' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='104' column='1' id='type-id-286'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-287' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='driver' type-id='type-id-288' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='bus' type-id='type-id-289' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='numa_node' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='109' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='devargs' type-id='type-id-290' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='110' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1' id='type-id-287'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-291' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='105' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-286' size-in-bits='64' id='type-id-16'/>
+    <pointer-type-def type-id='type-id-16' size-in-bits='64' id='type-id-291'/>
+    <qualified-type-def type-id='type-id-53' const='yes' id='type-id-292'/>
+    <pointer-type-def type-id='type-id-292' size-in-bits='64' id='type-id-279'/>
+    <class-decl name='rte_driver' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='89' column='1' id='type-id-293'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-294' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='91' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alias' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='92' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1' id='type-id-294'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-295' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-296' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='90' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-293' size-in-bits='64' id='type-id-295'/>
+    <pointer-type-def type-id='type-id-295' size-in-bits='64' id='type-id-296'/>
+    <qualified-type-def type-id='type-id-293' const='yes' id='type-id-297'/>
+    <pointer-type-def type-id='type-id-297' size-in-bits='64' id='type-id-288'/>
+    <class-decl name='rte_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='246' column='1' id='type-id-298'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-299' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='248' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan' type-id='type-id-300' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='249' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='probe' type-id='type-id-301' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='250' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='find_device' type-id='type-id-302' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='plug' type-id='type-id-303' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='unplug' type-id='type-id-304' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parse' type-id='type-id-305' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dma_map' type-id='type-id-306' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='dma_unmap' type-id='type-id-307' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='conf' type-id='type-id-308' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='257' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='get_iommu_class' type-id='type-id-309' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='258' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='dev_iterate' type-id='type-id-310' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='259' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hot_unplug_handler' type-id='type-id-311' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='260' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='sigbus_handler' type-id='type-id-312' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='262' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1' id='type-id-299'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-313' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-314' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='247' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-298' size-in-bits='64' id='type-id-313'/>
+    <pointer-type-def type-id='type-id-313' size-in-bits='64' id='type-id-314'/>
+    <pointer-type-def type-id='type-id-315' size-in-bits='64' id='type-id-316'/>
+    <typedef-decl name='rte_bus_scan_t' type-id='type-id-316' filepath='../lib/librte_eal/common/include/rte_bus.h' line='56' column='1' id='type-id-300'/>
+    <typedef-decl name='rte_bus_probe_t' type-id='type-id-316' filepath='../lib/librte_eal/common/include/rte_bus.h' line='68' column='1' id='type-id-301'/>
+    <qualified-type-def type-id='type-id-286' const='yes' id='type-id-317'/>
+    <pointer-type-def type-id='type-id-317' size-in-bits='64' id='type-id-318'/>
+    <pointer-type-def type-id='type-id-319' size-in-bits='64' id='type-id-320'/>
+    <typedef-decl name='rte_dev_cmp_t' type-id='type-id-320' filepath='../lib/librte_eal/common/include/rte_dev.h' line='202' column='1' id='type-id-321'/>
+    <pointer-type-def type-id='type-id-322' size-in-bits='64' id='type-id-323'/>
+    <typedef-decl name='rte_bus_find_device_t' type-id='type-id-323' filepath='../lib/librte_eal/common/include/rte_bus.h' line='93' column='1' id='type-id-302'/>
+    <pointer-type-def type-id='type-id-324' size-in-bits='64' id='type-id-325'/>
+    <typedef-decl name='rte_bus_plug_t' type-id='type-id-325' filepath='../lib/librte_eal/common/include/rte_bus.h' line='107' column='1' id='type-id-303'/>
+    <typedef-decl name='rte_bus_unplug_t' type-id='type-id-325' filepath='../lib/librte_eal/common/include/rte_bus.h' line='120' column='1' id='type-id-304'/>
+    <pointer-type-def type-id='type-id-326' size-in-bits='64' id='type-id-327'/>
+    <typedef-decl name='rte_bus_parse_t' type-id='type-id-327' filepath='../lib/librte_eal/common/include/rte_bus.h' line='140' column='1' id='type-id-305'/>
+    <pointer-type-def type-id='type-id-328' size-in-bits='64' id='type-id-329'/>
+    <typedef-decl name='rte_dev_dma_map_t' type-id='type-id-329' filepath='../lib/librte_eal/common/include/rte_bus.h' line='160' column='1' id='type-id-306'/>
+    <typedef-decl name='rte_dev_dma_unmap_t' type-id='type-id-329' filepath='../lib/librte_eal/common/include/rte_bus.h' line='181' column='1' id='type-id-307'/>
+    <class-decl name='rte_bus_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='225' column='1' id='type-id-308'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='scan_mode' type-id='type-id-330' visibility='default' filepath='../lib/librte_eal/common/include/rte_bus.h' line='226' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_bus_scan_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='216' column='1' id='type-id-330'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_BUS_SCAN_UNDEFINED' value='0'/>
+      <enumerator name='RTE_BUS_SCAN_WHITELIST' value='1'/>
+      <enumerator name='RTE_BUS_SCAN_BLACKLIST' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_iova_mode' filepath='../lib/librte_eal/common/include/rte_bus.h' line='39' column='1' id='type-id-331'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_IOVA_DC' value='0'/>
+      <enumerator name='RTE_IOVA_PA' value='1'/>
+      <enumerator name='RTE_IOVA_VA' value='2'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-332' size-in-bits='64' id='type-id-333'/>
+    <typedef-decl name='rte_bus_get_iommu_class_t' type-id='type-id-333' filepath='../lib/librte_eal/common/include/rte_bus.h' line='240' column='1' id='type-id-309'/>
+    <class-decl name='rte_dev_iterator' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='250' column='1' id='type-id-334'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dev_str' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='251' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='bus_str' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='252' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cls_str' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='253' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='bus' type-id='type-id-313' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='254' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cls' type-id='type-id-335' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='255' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='device' type-id='type-id-16' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='256' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='class_device' type-id='type-id-14' visibility='default' filepath='../lib/librte_eal/common/include/rte_dev.h' line='257' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-336'/>
+    <pointer-type-def type-id='type-id-336' size-in-bits='64' id='type-id-335'/>
+    <qualified-type-def type-id='type-id-334' const='yes' id='type-id-337'/>
+    <pointer-type-def type-id='type-id-337' size-in-bits='64' id='type-id-338'/>
+    <pointer-type-def type-id='type-id-339' size-in-bits='64' id='type-id-340'/>
+    <typedef-decl name='rte_dev_iterate_t' type-id='type-id-340' filepath='../lib/librte_eal/common/include/rte_dev.h' line='288' column='1' id='type-id-310'/>
+    <typedef-decl name='rte_bus_hot_unplug_handler_t' type-id='type-id-325' filepath='../lib/librte_eal/common/include/rte_bus.h' line='196' column='1' id='type-id-311'/>
+    <pointer-type-def type-id='type-id-341' size-in-bits='64' id='type-id-342'/>
+    <typedef-decl name='rte_bus_sigbus_handler_t' type-id='type-id-342' filepath='../lib/librte_eal/common/include/rte_bus.h' line='211' column='1' id='type-id-312'/>
+    <qualified-type-def type-id='type-id-298' const='yes' id='type-id-343'/>
+    <pointer-type-def type-id='type-id-343' size-in-bits='64' id='type-id-289'/>
+    <class-decl name='rte_devargs' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='47' column='1' id='type-id-344'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-345' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='type' type-id='type-id-346' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='policy' type-id='type-id-347' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='name' type-id='type-id-92' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='' type-id='type-id-348' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='bus' type-id='type-id-313' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='cls' type-id='type-id-335' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='bus_str' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='cls_str' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='data' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='66' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1' id='type-id-345'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqe_next' type-id='type-id-290' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqe_prev' type-id='type-id-349' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='49' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-344' size-in-bits='64' id='type-id-290'/>
+    <pointer-type-def type-id='type-id-290' size-in-bits='64' id='type-id-349'/>
+    <enum-decl name='rte_devtype' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='31' column='1' id='type-id-346'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_DEVTYPE_WHITELISTED_PCI' value='0'/>
+      <enumerator name='RTE_DEVTYPE_BLACKLISTED_PCI' value='1'/>
+      <enumerator name='RTE_DEVTYPE_VIRTUAL' value='2'/>
+    </enum-decl>
+    <enum-decl name='rte_dev_policy' filepath='../lib/librte_eal/common/include/rte_dev.h' line='72' column='1' id='type-id-347'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_DEV_WHITELISTED' value='0'/>
+      <enumerator name='RTE_DEV_BLACKLISTED' value='1'/>
+    </enum-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='57' column='1' id='type-id-348'>
+      <data-member access='private'>
+        <var-decl name='args' type-id='type-id-350' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='drv_str' type-id='type-id-279' visibility='default' filepath='../lib/librte_eal/common/include/rte_devargs.h' line='60' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-350'/>
+    <qualified-type-def type-id='type-id-32' const='yes' id='type-id-351'/>
+    <pointer-type-def type-id='type-id-351' size-in-bits='64' id='type-id-280'/>
+    <class-decl name='rte_eth_rxconf' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='818' column='1' id='type-id-281'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rx_thresh' type-id='type-id-352' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='819' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='rx_free_thresh' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='820' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='rx_drop_en' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='821' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='rx_deferred_start' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='822' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offloads' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='828' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='reserved_64s' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='830' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='reserved_ptrs' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='831' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_thresh' size-in-bits='24' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='327' column='1' id='type-id-352'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pthresh' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='328' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='hthresh' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='329' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='wthresh' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='330' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_txconf' size-in-bits='448' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='837' column='1' id='type-id-282'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tx_thresh' type-id='type-id-352' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='838' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tx_rs_thresh' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='839' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='tx_free_thresh' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='840' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tx_deferred_start' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='843' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='offloads' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='849' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reserved_64s' type-id='type-id-36' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='851' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='reserved_ptrs' type-id='type-id-114' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='852' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_desc_lim' size-in-bits='80' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='898' column='1' id='type-id-283'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='899' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='nb_min' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='900' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_align' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='901' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='nb_seg_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='911' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='nb_mtu_seg_max' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='924' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_portconf' size-in-bits='48' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1189' column='1' id='type-id-284'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='burst_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1190' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='ring_size' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1191' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nb_queues' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1192' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_switch_info' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1204' column='1' id='type-id-285'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='type-id-279' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1205' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='domain_id' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1206' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='port_id' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1207' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-278' size-in-bits='64' id='type-id-353'/>
+    <pointer-type-def type-id='type-id-354' size-in-bits='64' id='type-id-355'/>
+    <typedef-decl name='eth_dev_infos_get_t' type-id='type-id-355' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='230' column='1' id='type-id-180'/>
+    <class-decl name='rte_eth_rxq_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1289' column='1' id='type-id-356'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mp' type-id='type-id-33' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1290' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='conf' type-id='type-id-281' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1291' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='scattered_rx' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1292' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='nb_desc' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1293' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-356' size-in-bits='64' id='type-id-357'/>
+    <pointer-type-def type-id='type-id-358' size-in-bits='64' id='type-id-359'/>
+    <typedef-decl name='eth_rxq_info_get_t' type-id='type-id-359' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='306' column='1' id='type-id-181'/>
+    <class-decl name='rte_eth_txq_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1300' column='1' id='type-id-360'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='conf' type-id='type-id-282' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1301' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='nb_desc' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1302' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-360' size-in-bits='64' id='type-id-361'/>
+    <pointer-type-def type-id='type-id-362' size-in-bits='64' id='type-id-363'/>
+    <typedef-decl name='eth_txq_info_get_t' type-id='type-id-363' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='309' column='1' id='type-id-182'/>
+    <class-decl name='rte_eth_burst_mode' size-in-bits='8256' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1318' column='1' id='type-id-364'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flags' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1319' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='info' type-id='type-id-365' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1322' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-53' size-in-bits='8192' id='type-id-365'>
+      <subrange length='1024' type-id='type-id-37' id='type-id-153'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-364' size-in-bits='64' id='type-id-366'/>
+    <pointer-type-def type-id='type-id-367' size-in-bits='64' id='type-id-368'/>
+    <typedef-decl name='eth_burst_mode_get_t' type-id='type-id-368' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='312' column='1' id='type-id-183'/>
+    <pointer-type-def type-id='type-id-369' size-in-bits='64' id='type-id-370'/>
+    <typedef-decl name='eth_fw_version_get_t' type-id='type-id-370' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='299' column='1' id='type-id-184'/>
+    <pointer-type-def type-id='type-id-371' size-in-bits='64' id='type-id-372'/>
+    <typedef-decl name='eth_dev_supported_ptypes_get_t' type-id='type-id-372' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='234' column='1' id='type-id-185'/>
+    <pointer-type-def type-id='type-id-373' size-in-bits='64' id='type-id-374'/>
+    <typedef-decl name='eth_dev_ptypes_set_t' type-id='type-id-374' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='249' column='1' id='type-id-186'/>
+    <pointer-type-def type-id='type-id-375' size-in-bits='64' id='type-id-376'/>
+    <typedef-decl name='vlan_filter_set_t' type-id='type-id-376' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='318' column='1' id='type-id-187'/>
+    <enum-decl name='rte_vlan_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='416' column='1' id='type-id-377'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='ETH_VLAN_TYPE_UNKNOWN' value='0'/>
+      <enumerator name='ETH_VLAN_TYPE_INNER' value='1'/>
+      <enumerator name='ETH_VLAN_TYPE_OUTER' value='2'/>
+      <enumerator name='ETH_VLAN_TYPE_MAX' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-378' size-in-bits='64' id='type-id-379'/>
+    <typedef-decl name='vlan_tpid_set_t' type-id='type-id-379' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='323' column='1' id='type-id-188'/>
+    <pointer-type-def type-id='type-id-380' size-in-bits='64' id='type-id-381'/>
+    <typedef-decl name='vlan_strip_queue_set_t' type-id='type-id-381' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='335' column='1' id='type-id-189'/>
+    <typedef-decl name='vlan_offload_set_t' type-id='type-id-252' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='327' column='1' id='type-id-190'/>
+    <typedef-decl name='vlan_pvid_set_t' type-id='type-id-376' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='330' column='1' id='type-id-191'/>
+    <typedef-decl name='eth_queue_start_t' type-id='type-id-262' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='252' column='1' id='type-id-192'/>
+    <typedef-decl name='eth_queue_stop_t' type-id='type-id-262' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='256' column='1' id='type-id-193'/>
+    <qualified-type-def type-id='type-id-281' const='yes' id='type-id-382'/>
+    <pointer-type-def type-id='type-id-382' size-in-bits='64' id='type-id-383'/>
+    <pointer-type-def type-id='type-id-384' size-in-bits='64' id='type-id-385'/>
+    <typedef-decl name='eth_rx_queue_setup_t' type-id='type-id-385' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='260' column='1' id='type-id-194'/>
+    <pointer-type-def type-id='type-id-386' size-in-bits='64' id='type-id-387'/>
+    <typedef-decl name='eth_queue_release_t' type-id='type-id-387' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='283' column='1' id='type-id-195'/>
+    <pointer-type-def type-id='type-id-388' size-in-bits='64' id='type-id-389'/>
+    <typedef-decl name='eth_rx_queue_count_t' type-id='type-id-389' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='286' column='1' id='type-id-196'/>
+    <pointer-type-def type-id='type-id-390' size-in-bits='64' id='type-id-391'/>
+    <typedef-decl name='eth_rx_descriptor_done_t' type-id='type-id-391' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='290' column='1' id='type-id-197'/>
+    <typedef-decl name='eth_rx_descriptor_status_t' type-id='type-id-391' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='293' column='1' id='type-id-198'/>
+    <typedef-decl name='eth_tx_descriptor_status_t' type-id='type-id-391' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='296' column='1' id='type-id-199'/>
+    <typedef-decl name='eth_rx_enable_intr_t' type-id='type-id-262' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='275' column='1' id='type-id-200'/>
+    <typedef-decl name='eth_rx_disable_intr_t' type-id='type-id-262' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='279' column='1' id='type-id-201'/>
+    <qualified-type-def type-id='type-id-282' const='yes' id='type-id-392'/>
+    <pointer-type-def type-id='type-id-392' size-in-bits='64' id='type-id-393'/>
+    <pointer-type-def type-id='type-id-394' size-in-bits='64' id='type-id-395'/>
+    <typedef-decl name='eth_tx_queue_setup_t' type-id='type-id-395' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='268' column='1' id='type-id-202'/>
+    <pointer-type-def type-id='type-id-396' size-in-bits='64' id='type-id-397'/>
+    <typedef-decl name='eth_tx_done_cleanup_t' type-id='type-id-397' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='303' column='1' id='type-id-203'/>
+    <typedef-decl name='eth_dev_led_on_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='385' column='1' id='type-id-204'/>
+    <typedef-decl name='eth_dev_led_off_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='388' column='1' id='type-id-205'/>
+    <class-decl name='rte_eth_fc_conf' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='942' column='1' id='type-id-398'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='high_water' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='943' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='low_water' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='944' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pause_time' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='945' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='send_xon' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='946' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='mode' type-id='type-id-399' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='947' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mac_ctrl_frame_fwd' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='948' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='autoneg' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='949' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_fc_mode' filepath='../lib/librte_ethdev/rte_ethdev.h' line='930' column='1' id='type-id-399'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_FC_NONE' value='0'/>
+      <enumerator name='RTE_FC_RX_PAUSE' value='1'/>
+      <enumerator name='RTE_FC_TX_PAUSE' value='2'/>
+      <enumerator name='RTE_FC_FULL' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-398' size-in-bits='64' id='type-id-400'/>
+    <pointer-type-def type-id='type-id-401' size-in-bits='64' id='type-id-402'/>
+    <typedef-decl name='flow_ctrl_get_t' type-id='type-id-402' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='355' column='1' id='type-id-206'/>
+    <typedef-decl name='flow_ctrl_set_t' type-id='type-id-402' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='359' column='1' id='type-id-207'/>
+    <class-decl name='rte_eth_pfc_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='957' column='1' id='type-id-403'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fc' type-id='type-id-398' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='958' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='priority' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='959' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-403' size-in-bits='64' id='type-id-404'/>
+    <pointer-type-def type-id='type-id-405' size-in-bits='64' id='type-id-406'/>
+    <typedef-decl name='priority_flow_ctrl_set_t' type-id='type-id-406' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='363' column='1' id='type-id-208'/>
+    <pointer-type-def type-id='type-id-407' size-in-bits='64' id='type-id-408'/>
+    <typedef-decl name='eth_uc_hash_table_set_t' type-id='type-id-408' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='404' column='1' id='type-id-209'/>
+    <pointer-type-def type-id='type-id-409' size-in-bits='64' id='type-id-410'/>
+    <typedef-decl name='eth_uc_all_hash_table_set_t' type-id='type-id-410' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='409' column='1' id='type-id-210'/>
+    <class-decl name='rte_eth_mirror_conf' size-in-bits='1216' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='670' column='1' id='type-id-411'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rule_type' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='671' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='dst_pool' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='672' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pool_mask' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='673' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vlan' type-id='type-id-412' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='675' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_vlan_mirror' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='661' column='1' id='type-id-412'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vlan_mask' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='662' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='vlan_id' type-id='type-id-413' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='664' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-25' size-in-bits='1024' id='type-id-413'>
+      <subrange length='64' type-id='type-id-37' id='type-id-104'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-411' size-in-bits='64' id='type-id-414'/>
+    <pointer-type-def type-id='type-id-415' size-in-bits='64' id='type-id-416'/>
+    <typedef-decl name='eth_mirror_rule_set_t' type-id='type-id-416' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='418' column='1' id='type-id-211'/>
+    <typedef-decl name='eth_mirror_rule_reset_t' type-id='type-id-410' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='424' column='1' id='type-id-212'/>
+    <class-decl name='rte_eth_udp_tunnel' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1023' column='1' id='type-id-417'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='udp_port' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1024' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='prot_type' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1025' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-417' size-in-bits='64' id='type-id-418'/>
+    <pointer-type-def type-id='type-id-419' size-in-bits='64' id='type-id-420'/>
+    <typedef-decl name='eth_udp_tunnel_port_add_t' type-id='type-id-420' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='428' column='1' id='type-id-213'/>
+    <typedef-decl name='eth_udp_tunnel_port_del_t' type-id='type-id-420' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='432' column='1' id='type-id-214'/>
+    <class-decl name='rte_eth_l2_tunnel_conf' size-in-bits='160' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='751' column='1' id='type-id-421'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='l2_tunnel_type' type-id='type-id-422' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='752' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ether_type' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='753' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tunnel_id' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='754' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='vf_id' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='755' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pool' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='756' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_eth_tunnel_type' filepath='../lib/librte_ethdev/rte_ethdev.h' line='965' column='1' id='type-id-422'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_TUNNEL_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_TUNNEL_TYPE_VXLAN' value='1'/>
+      <enumerator name='RTE_TUNNEL_TYPE_GENEVE' value='2'/>
+      <enumerator name='RTE_TUNNEL_TYPE_TEREDO' value='3'/>
+      <enumerator name='RTE_TUNNEL_TYPE_NVGRE' value='4'/>
+      <enumerator name='RTE_TUNNEL_TYPE_IP_IN_GRE' value='5'/>
+      <enumerator name='RTE_L2_TUNNEL_TYPE_E_TAG' value='6'/>
+      <enumerator name='RTE_TUNNEL_TYPE_VXLAN_GPE' value='7'/>
+      <enumerator name='RTE_TUNNEL_TYPE_MAX' value='8'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-421' size-in-bits='64' id='type-id-423'/>
+    <pointer-type-def type-id='type-id-424' size-in-bits='64' id='type-id-425'/>
+    <typedef-decl name='eth_l2_tunnel_eth_type_conf_t' type-id='type-id-425' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='494' column='1' id='type-id-215'/>
+    <pointer-type-def type-id='type-id-426' size-in-bits='64' id='type-id-427'/>
+    <typedef-decl name='eth_l2_tunnel_offload_set_t' type-id='type-id-427' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='498' column='1' id='type-id-216'/>
+    <pointer-type-def type-id='type-id-428' size-in-bits='64' id='type-id-429'/>
+    <typedef-decl name='eth_set_queue_rate_limit_t' type-id='type-id-429' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='413' column='1' id='type-id-217'/>
+    <pointer-type-def type-id='type-id-117' size-in-bits='64' id='type-id-430'/>
+    <pointer-type-def type-id='type-id-431' size-in-bits='64' id='type-id-432'/>
+    <typedef-decl name='rss_hash_update_t' type-id='type-id-432' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='377' column='1' id='type-id-218'/>
+    <typedef-decl name='rss_hash_conf_get_t' type-id='type-id-432' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='381' column='1' id='type-id-219'/>
+    <class-decl name='rte_eth_rss_reta_entry64' size-in-bits='1088' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='684' column='1' id='type-id-433'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mask' type-id='type-id-31' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='685' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='reta' type-id='type-id-413' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='687' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-433' size-in-bits='64' id='type-id-434'/>
+    <pointer-type-def type-id='type-id-435' size-in-bits='64' id='type-id-436'/>
+    <typedef-decl name='reta_update_t' type-id='type-id-436' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='367' column='1' id='type-id-220'/>
+    <typedef-decl name='reta_query_t' type-id='type-id-436' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='372' column='1' id='type-id-221'/>
+    <class-decl name='rte_dev_reg_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='13' column='1' id='type-id-437'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='14' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offset' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='15' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='length' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='16' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='width' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='17' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='version' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='18' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-437' size-in-bits='64' id='type-id-438'/>
+    <pointer-type-def type-id='type-id-439' size-in-bits='64' id='type-id-440'/>
+    <typedef-decl name='eth_get_reg_t' type-id='type-id-440' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='471' column='1' id='type-id-222'/>
+    <typedef-decl name='eth_get_eeprom_length_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='475' column='1' id='type-id-223'/>
+    <class-decl name='rte_dev_eeprom_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='24' column='1' id='type-id-441'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='25' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='offset' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='26' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='length' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='27' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='magic' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='28' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-441' size-in-bits='64' id='type-id-442'/>
+    <pointer-type-def type-id='type-id-443' size-in-bits='64' id='type-id-444'/>
+    <typedef-decl name='eth_get_eeprom_t' type-id='type-id-444' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='478' column='1' id='type-id-224'/>
+    <typedef-decl name='eth_set_eeprom_t' type-id='type-id-444' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='482' column='1' id='type-id-225'/>
+    <class-decl name='rte_eth_dev_module_info' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='34' column='1' id='type-id-445'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='35' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='eeprom_len' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_dev_info.h' line='36' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-445' size-in-bits='64' id='type-id-446'/>
+    <pointer-type-def type-id='type-id-447' size-in-bits='64' id='type-id-448'/>
+    <typedef-decl name='eth_get_module_info_t' type-id='type-id-448' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='486' column='1' id='type-id-226'/>
+    <typedef-decl name='eth_get_module_eeprom_t' type-id='type-id-444' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='490' column='1' id='type-id-227'/>
+    <enum-decl name='rte_filter_type' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='28' column='1' id='type-id-449'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_ETH_FILTER_NONE' value='0'/>
+      <enumerator name='RTE_ETH_FILTER_MACVLAN' value='1'/>
+      <enumerator name='RTE_ETH_FILTER_ETHERTYPE' value='2'/>
+      <enumerator name='RTE_ETH_FILTER_FLEXIBLE' value='3'/>
+      <enumerator name='RTE_ETH_FILTER_SYN' value='4'/>
+      <enumerator name='RTE_ETH_FILTER_NTUPLE' value='5'/>
+      <enumerator name='RTE_ETH_FILTER_TUNNEL' value='6'/>
+      <enumerator name='RTE_ETH_FILTER_FDIR' value='7'/>
+      <enumerator name='RTE_ETH_FILTER_HASH' value='8'/>
+      <enumerator name='RTE_ETH_FILTER_L2_TUNNEL' value='9'/>
+      <enumerator name='RTE_ETH_FILTER_GENERIC' value='10'/>
+      <enumerator name='RTE_ETH_FILTER_MAX' value='11'/>
+    </enum-decl>
+    <enum-decl name='rte_filter_op' filepath='../lib/librte_ethdev/rte_eth_ctrl.h' line='46' column='1' id='type-id-450'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_ETH_FILTER_NOP' value='0'/>
+      <enumerator name='RTE_ETH_FILTER_ADD' value='1'/>
+      <enumerator name='RTE_ETH_FILTER_UPDATE' value='2'/>
+      <enumerator name='RTE_ETH_FILTER_DELETE' value='3'/>
+      <enumerator name='RTE_ETH_FILTER_FLUSH' value='4'/>
+      <enumerator name='RTE_ETH_FILTER_GET' value='5'/>
+      <enumerator name='RTE_ETH_FILTER_SET' value='6'/>
+      <enumerator name='RTE_ETH_FILTER_INFO' value='7'/>
+      <enumerator name='RTE_ETH_FILTER_STATS' value='8'/>
+      <enumerator name='RTE_ETH_FILTER_OP_MAX' value='9'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-451' size-in-bits='64' id='type-id-452'/>
+    <typedef-decl name='eth_filter_ctrl_t' type-id='type-id-452' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='506' column='1' id='type-id-228'/>
+    <class-decl name='rte_eth_dcb_info' size-in-bits='16520' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1377' column='1' id='type-id-453'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nb_tcs' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1378' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='prio_tc' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1379' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='tc_bws' type-id='type-id-124' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1380' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='tc_queue' type-id='type-id-454' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1382' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dcb_tc_queue_mapping' size-in-bits='16384' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1360' column='1' id='type-id-454'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tc_rxq' type-id='type-id-455' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1365' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8192'>
+        <var-decl name='tc_txq' type-id='type-id-455' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1370' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1362' column='1' id='type-id-456'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='base' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1363' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='nb_queue' type-id='type-id-99' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1364' column='1'/>
+      </data-member>
+    </class-decl>
+
+
+    <array-type-def dimensions='2' type-id='type-id-456' size-in-bits='1152' id='type-id-455'>
+      <subrange length='64' type-id='type-id-37' id='type-id-104'/>
+
+      <subrange length='8' type-id='type-id-37' id='type-id-126'/>
+
+    </array-type-def>
+
+
+    <pointer-type-def type-id='type-id-453' size-in-bits='64' id='type-id-457'/>
+    <pointer-type-def type-id='type-id-458' size-in-bits='64' id='type-id-459'/>
+    <typedef-decl name='eth_get_dcb_info' type-id='type-id-459' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='518' column='1' id='type-id-229'/>
+    <typedef-decl name='eth_timesync_enable_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='441' column='1' id='type-id-230'/>
+    <typedef-decl name='eth_timesync_disable_t' type-id='type-id-248' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='444' column='1' id='type-id-231'/>
+    <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='9' column='1' id='type-id-460'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tv_sec' type-id='type-id-461' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='11' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tv_nsec' type-id='type-id-462' visibility='default' filepath='/usr/include/bits/types/struct_timespec.h' line='12' column='1'/>
+      </data-member>
+    </class-decl>
+    <type-decl name='long int' size-in-bits='64' id='type-id-463'/>
+    <typedef-decl name='__time_t' type-id='type-id-463' filepath='/usr/include/bits/types.h' line='160' column='1' id='type-id-461'/>
+    <typedef-decl name='__syscall_slong_t' type-id='type-id-463' filepath='/usr/include/bits/types.h' line='196' column='1' id='type-id-462'/>
+    <pointer-type-def type-id='type-id-460' size-in-bits='64' id='type-id-464'/>
+    <pointer-type-def type-id='type-id-465' size-in-bits='64' id='type-id-466'/>
+    <typedef-decl name='eth_timesync_read_rx_timestamp_t' type-id='type-id-466' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='447' column='1' id='type-id-232'/>
+    <pointer-type-def type-id='type-id-467' size-in-bits='64' id='type-id-468'/>
+    <typedef-decl name='eth_timesync_read_tx_timestamp_t' type-id='type-id-468' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='452' column='1' id='type-id-233'/>
+    <typedef-decl name='__int64_t' type-id='type-id-463' filepath='/usr/include/bits/types.h' line='44' column='1' id='type-id-469'/>
+    <typedef-decl name='int64_t' type-id='type-id-469' filepath='/usr/include/bits/stdint-intn.h' line='27' column='1' id='type-id-470'/>
+    <pointer-type-def type-id='type-id-471' size-in-bits='64' id='type-id-472'/>
+    <typedef-decl name='eth_timesync_adjust_time' type-id='type-id-472' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='456' column='1' id='type-id-234'/>
+    <typedef-decl name='eth_timesync_read_time' type-id='type-id-468' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='459' column='1' id='type-id-235'/>
+    <qualified-type-def type-id='type-id-460' const='yes' id='type-id-473'/>
+    <pointer-type-def type-id='type-id-473' size-in-bits='64' id='type-id-474'/>
+    <pointer-type-def type-id='type-id-475' size-in-bits='64' id='type-id-476'/>
+    <typedef-decl name='eth_timesync_write_time' type-id='type-id-476' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='463' column='1' id='type-id-236'/>
+    <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-477'/>
+    <pointer-type-def type-id='type-id-478' size-in-bits='64' id='type-id-479'/>
+    <typedef-decl name='eth_read_clock' type-id='type-id-479' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='467' column='1' id='type-id-237'/>
+    <qualified-type-def type-id='type-id-31' const='yes' id='type-id-480'/>
+    <pointer-type-def type-id='type-id-480' size-in-bits='64' id='type-id-481'/>
+    <pointer-type-def type-id='type-id-482' size-in-bits='64' id='type-id-483'/>
+    <typedef-decl name='eth_xstats_get_by_id_t' type-id='type-id-483' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='188' column='1' id='type-id-238'/>
+    <pointer-type-def type-id='type-id-484' size-in-bits='64' id='type-id-485'/>
+    <typedef-decl name='eth_xstats_get_names_by_id_t' type-id='type-id-485' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='219' column='1' id='type-id-239'/>
+    <pointer-type-def type-id='type-id-486' size-in-bits='64' id='type-id-487'/>
+    <typedef-decl name='eth_tm_ops_get_t' type-id='type-id-487' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='512' column='1' id='type-id-240'/>
+    <typedef-decl name='eth_mtr_ops_get_t' type-id='type-id-487' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='515' column='1' id='type-id-241'/>
+    <pointer-type-def type-id='type-id-488' size-in-bits='64' id='type-id-489'/>
+    <typedef-decl name='eth_pool_ops_supported_t' type-id='type-id-489' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='522' column='1' id='type-id-242'/>
+    <class-decl name='rte_eth_hairpin_cap' size-in-bits='64' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='861' column='1' id='type-id-490'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='max_nb_queues' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='863' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='max_rx_2_tx' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='865' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='max_tx_2_rx' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='867' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='max_nb_desc' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='868' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-490' size-in-bits='64' id='type-id-491'/>
+    <pointer-type-def type-id='type-id-492' size-in-bits='64' id='type-id-493'/>
+    <typedef-decl name='eth_hairpin_cap_get_t' type-id='type-id-493' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='543' column='1' id='type-id-243'/>
+    <class-decl name='rte_eth_hairpin_conf' size-in-bits='1040' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='890' column='1' id='type-id-494'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='peer_count' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='891' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='peers' type-id='type-id-495' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='892' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_hairpin_peer' size-in-bits='32' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='879' column='1' id='type-id-496'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='port' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='880' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='queue' type-id='type-id-25' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev.h' line='881' column='1'/>
+      </data-member>
+    </class-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-496' size-in-bits='1024' id='type-id-495'>
+      <subrange length='32' type-id='type-id-37' id='type-id-54'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-494' const='yes' id='type-id-497'/>
+    <pointer-type-def type-id='type-id-497' size-in-bits='64' id='type-id-498'/>
+    <pointer-type-def type-id='type-id-499' size-in-bits='64' id='type-id-500'/>
+    <typedef-decl name='eth_rx_hairpin_queue_setup_t' type-id='type-id-500' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='571' column='1' id='type-id-244'/>
+    <typedef-decl name='eth_tx_hairpin_queue_setup_t' type-id='type-id-500' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='601' column='1' id='type-id-245'/>
+    <qualified-type-def type-id='type-id-155' const='yes' id='type-id-501'/>
+    <pointer-type-def type-id='type-id-501' size-in-bits='64' id='type-id-15'/>
+    <class-decl name='rte_intr_handle' size-in-bits='213248' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='69' column='1' id='type-id-502'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='' type-id='type-id-503' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='type-id-504' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='max_intr' type-id='type-id-32' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='nb_efd' type-id='type-id-32' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='efd_counter_size' type-id='type-id-99' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='efds' type-id='type-id-505' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='80' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16576'>
+        <var-decl name='elist' type-id='type-id-506' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='213184'>
+        <var-decl name='intr_vec' type-id='type-id-507' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='83' column='1'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='71' column='1' id='type-id-503'>
+      <data-member access='private'>
+        <var-decl name='vfio_dev_fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='uio_cfg_fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='73' column='1'/>
+      </data-member>
+    </union-decl>
+    <enum-decl name='rte_intr_handle_type' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='27' column='1' id='type-id-504'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_INTR_HANDLE_UNKNOWN' value='0'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO' value='1'/>
+      <enumerator name='RTE_INTR_HANDLE_UIO_INTX' value='2'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_LEGACY' value='3'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSI' value='4'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_MSIX' value='5'/>
+      <enumerator name='RTE_INTR_HANDLE_ALARM' value='6'/>
+      <enumerator name='RTE_INTR_HANDLE_EXT' value='7'/>
+      <enumerator name='RTE_INTR_HANDLE_VDEV' value='8'/>
+      <enumerator name='RTE_INTR_HANDLE_DEV_EVENT' value='9'/>
+      <enumerator name='RTE_INTR_HANDLE_VFIO_REQ' value='10'/>
+      <enumerator name='RTE_INTR_HANDLE_MAX' value='11'/>
+    </enum-decl>
+
+    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='16384' id='type-id-505'>
+      <subrange length='512' type-id='type-id-37' id='type-id-508'/>
+
+    </array-type-def>
+    <class-decl name='rte_epoll_event' size-in-bits='384' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='61' column='1' id='type-id-509'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='status' type-id='type-id-510' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='epfd' type-id='type-id-1' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='epdata' type-id='type-id-511' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='65' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-32' volatile='yes' id='type-id-510'/>
+    <class-decl name='rte_epoll_data' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='47' column='1' id='type-id-511'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='event' type-id='type-id-32' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='data' type-id='type-id-14' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cb_fun' type-id='type-id-512' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='cb_arg' type-id='type-id-14' visibility='default' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='51' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-513' size-in-bits='64' id='type-id-514'/>
+    <typedef-decl name='rte_intr_event_cb_t' type-id='type-id-514' filepath='../lib/librte_eal/common/include/rte_eal_interrupts.h' line='45' column='1' id='type-id-512'/>
+
+    <array-type-def dimensions='1' type-id='type-id-509' size-in-bits='196608' id='type-id-506'>
+      <subrange length='512' type-id='type-id-37' id='type-id-508'/>
+
+    </array-type-def>
+    <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-507'/>
+    <pointer-type-def type-id='type-id-502' size-in-bits='64' id='type-id-17'/>
+    <class-decl name='rte_eth_dev_cb_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1' id='type-id-18'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tqh_first' type-id='type-id-515' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tqh_last' type-id='type-id-516' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='22' column='1'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='rte_eth_dev_callback' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-517'/>
+    <pointer-type-def type-id='type-id-517' size-in-bits='64' id='type-id-515'/>
+    <pointer-type-def type-id='type-id-515' size-in-bits='64' id='type-id-516'/>
+    <class-decl name='rte_eth_rxtx_callback' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='758' column='1' id='type-id-518'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='type-id-519' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='759' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fn' type-id='type-id-520' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='763' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='param' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='764' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-518' size-in-bits='64' id='type-id-519'/>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='760' column='1' id='type-id-520'>
+      <data-member access='private'>
+        <var-decl name='rx' type-id='type-id-521' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='761' column='1'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='tx' type-id='type-id-522' visibility='default' filepath='../lib/librte_ethdev/rte_ethdev_core.h' line='762' column='1'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='type-id-523' size-in-bits='64' id='type-id-524'/>
+    <typedef-decl name='rte_rx_callback_fn' type-id='type-id-524' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1437' column='1' id='type-id-521'/>
+    <pointer-type-def type-id='type-id-525' size-in-bits='64' id='type-id-526'/>
+    <typedef-decl name='rte_tx_callback_fn' type-id='type-id-526' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1461' column='1' id='type-id-522'/>
+
+    <array-type-def dimensions='1' type-id='type-id-519' size-in-bits='65536' id='type-id-19'>
+      <subrange length='1024' type-id='type-id-37' id='type-id-153'/>
+
+    </array-type-def>
+    <enum-decl name='rte_eth_dev_state' filepath='../lib/librte_ethdev/rte_ethdev.h' line='1467' column='1' id='type-id-20'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_ETH_DEV_UNUSED' value='0'/>
+      <enumerator name='RTE_ETH_DEV_ATTACHED' value='1'/>
+      <enumerator name='RTE_ETH_DEV_REMOVED' value='2'/>
+    </enum-decl>
+    <class-decl name='rte_flow_attr' size-in-bits='96' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='75' column='1' id='type-id-527'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='group' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='76' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='priority' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='77' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='31'>
+        <var-decl name='ingress' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='78' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='30'>
+        <var-decl name='egress' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='79' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='29'>
+        <var-decl name='transfer' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='98' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='reserved' type-id='type-id-32' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='99' column='1'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='type-id-527' const='yes' id='type-id-528'/>
+    <pointer-type-def type-id='type-id-528' size-in-bits='64' id='type-id-529'/>
+    <class-decl name='rte_flow_item' size-in-bits='256' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1517' column='1' id='type-id-530'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-531' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1518' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='spec' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1519' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='last' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1520' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='mask' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='1521' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_item_type' filepath='../lib/librte_ethdev/rte_flow.h' line='118' column='1' id='type-id-531'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_END' value='0'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VOID' value='1'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_INVERT' value='2'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ANY' value='3'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PF' value='4'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VF' value='5'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PHY_PORT' value='6'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PORT_ID' value='7'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_RAW' value='8'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ETH' value='9'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VLAN' value='10'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV4' value='11'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV6' value='12'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP' value='13'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_UDP' value='14'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_TCP' value='15'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_SCTP' value='16'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VXLAN' value='17'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_E_TAG' value='18'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_NVGRE' value='19'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_MPLS' value='20'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GRE' value='21'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_FUZZY' value='22'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTP' value='23'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTPC' value='24'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTPU' value='25'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ESP' value='26'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GENEVE' value='27'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_VXLAN_GPE' value='28'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ARP_ETH_IPV4' value='29'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IPV6_EXT' value='30'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6' value='31'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_NS' value='32'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_NA' value='33'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT' value='34'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT_SLA_ETH' value='35'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT_TLA_ETH' value='36'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_MARK' value='37'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_META' value='38'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GRE_KEY' value='39'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_GTP_PSC' value='40'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOES' value='41'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOED' value='42'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_PPPOE_PROTO_ID' value='43'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_NSH' value='44'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_IGMP' value='45'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_AH' value='46'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_HIGIG2' value='47'/>
+      <enumerator name='RTE_FLOW_ITEM_TYPE_TAG' value='48'/>
+    </enum-decl>
+    <qualified-type-def type-id='type-id-530' const='yes' id='type-id-532'/>
+    <pointer-type-def type-id='type-id-532' size-in-bits='64' id='type-id-533'/>
+    <class-decl name='rte_flow_action' size-in-bits='128' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2568' column='1' id='type-id-534'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-535' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2569' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='conf' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2570' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_action_type' filepath='../lib/librte_ethdev/rte_flow.h' line='1550' column='1' id='type-id-535'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_END' value='0'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VOID' value='1'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PASSTHRU' value='2'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_JUMP' value='3'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_MARK' value='4'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_FLAG' value='5'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_QUEUE' value='6'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DROP' value='7'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_COUNT' value='8'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RSS' value='9'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PF' value='10'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VF' value='11'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PHY_PORT' value='12'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_PORT_ID' value='13'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_METER' value='14'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SECURITY' value='15'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_MPLS_TTL' value='16'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_DEC_MPLS_TTL' value='17'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_NW_TTL' value='18'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_DEC_NW_TTL' value='19'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_OUT' value='20'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_IN' value='21'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_POP_VLAN' value='22'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_PUSH_VLAN' value='23'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_VID' value='24'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_PCP' value='25'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_POP_MPLS' value='26'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_OF_PUSH_MPLS' value='27'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VXLAN_ENCAP' value='28'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_VXLAN_DECAP' value='29'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_NVGRE_ENCAP' value='30'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_NVGRE_DECAP' value='31'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RAW_ENCAP' value='32'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_RAW_DECAP' value='33'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV4_SRC' value='34'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV4_DST' value='35'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV6_SRC' value='36'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_IPV6_DST' value='37'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TP_SRC' value='38'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TP_DST' value='39'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_MAC_SWAP' value='40'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TTL' value='41'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TTL' value='42'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_MAC_SRC' value='43'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_MAC_DST' value='44'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_INC_TCP_SEQ' value='45'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TCP_SEQ' value='46'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_INC_TCP_ACK' value='47'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_DEC_TCP_ACK' value='48'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_TAG' value='49'/>
+      <enumerator name='RTE_FLOW_ACTION_TYPE_SET_META' value='50'/>
+    </enum-decl>
+    <qualified-type-def type-id='type-id-534' const='yes' id='type-id-536'/>
+    <pointer-type-def type-id='type-id-536' size-in-bits='64' id='type-id-537'/>
+    <class-decl name='rte_flow_error' size-in-bits='192' is-struct='yes' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2618' column='1' id='type-id-538'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='type-id-539' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2619' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='cause' type-id='type-id-14' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2620' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='message' type-id='type-id-279' visibility='default' filepath='../lib/librte_ethdev/rte_flow.h' line='2621' column='1'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='rte_flow_error_type' filepath='../lib/librte_ethdev/rte_flow.h' line='2587' column='1' id='type-id-539'>
+      <underlying-type type-id='type-id-115'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_NONE' value='0'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_UNSPECIFIED' value='1'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_HANDLE' value='2'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_GROUP' value='3'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_PRIORITY' value='4'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_INGRESS' value='5'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_EGRESS' value='6'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR_TRANSFER' value='7'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ATTR' value='8'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_NUM' value='9'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_SPEC' value='10'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_LAST' value='11'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM_MASK' value='12'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ITEM' value='13'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION_NUM' value='14'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION_CONF' value='15'/>
+      <enumerator name='RTE_FLOW_ERROR_TYPE_ACTION' value='16'/>
+    </enum-decl>
+    <pointer-type-def type-id='type-id-538' size-in-bits='64' id='type-id-540'/>
+    <pointer-type-def type-id='type-id-541' size-in-bits='64' id='type-id-3'/>
+    <class-decl name='rte_flow' size-in-bits='128' is-struct='yes' visibility='default' filepath='../drivers/net/ixgbe/ixgbe_ethdev.h' line='363' column='1' id='type-id-542'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='filter_type' type-id='type-id-449' visibility='default' filepath='../drivers/net/ixgbe/ixgbe_ethdev.h' line='364' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rule' type-id='type-id-14' visibility='default' filepath='../drivers/net/ixgbe/ixgbe_ethdev.h' line='365' column='1'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='type-id-542' size-in-bits='64' id='type-id-543'/>
+    <pointer-type-def type-id='type-id-544' size-in-bits='64' id='type-id-4'/>
+    <pointer-type-def type-id='type-id-545' size-in-bits='64' id='type-id-5'/>
+    <pointer-type-def type-id='type-id-546' size-in-bits='64' id='type-id-6'/>
+    <pointer-type-def type-id='type-id-547' size-in-bits='64' id='type-id-7'/>
+    <pointer-type-def type-id='type-id-548' size-in-bits='64' id='type-id-8'/>
+    <qualified-type-def type-id='type-id-2' const='yes' id='type-id-549'/>
+    <var-decl name='ixgbe_flow_ops' type-id='type-id-549' visibility='default' filepath='../drivers/net/ixgbe/ixgbe_ethdev.h' line='727' column='1'/>
+    <function-type size-in-bits='64' id='type-id-371'>
+      <parameter type-id='type-id-246'/>
+      <return type-id='type-id-280'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-332'>
+      <return type-id='type-id-331'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-315'>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-326'>
+      <parameter type-id='type-id-279'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-319'>
+      <parameter type-id='type-id-318'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-324'>
+      <parameter type-id='type-id-16'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-328'>
+      <parameter type-id='type-id-16'/>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-31'/>
+      <parameter type-id='type-id-57'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-247'>
+      <parameter type-id='type-id-246'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-369'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-350'/>
+      <parameter type-id='type-id-57'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-488'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-279'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-541'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-529'/>
+      <parameter type-id='type-id-533'/>
+      <parameter type-id='type-id-537'/>
+      <parameter type-id='type-id-540'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-475'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-474'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-482'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-481'/>
+      <parameter type-id='type-id-477'/>
+      <parameter type-id='type-id-43'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-451'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-449'/>
+      <parameter type-id='type-id-450'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-378'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-377'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-251'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-548'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-540'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-443'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-442'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-439'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-438'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-458'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-457'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-354'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-353'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-447'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-446'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-401'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-400'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-492'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-491'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-424'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-423'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-426'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-423'/>
+      <parameter type-id='type-id-32'/>
+      <parameter type-id='type-id-99'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-415'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-414'/>
+      <parameter type-id='type-id-99'/>
+      <parameter type-id='type-id-99'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-405'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-404'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-431'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-430'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-435'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-434'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-266'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-265'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-419'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-418'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-270'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-269'/>
+      <parameter type-id='type-id-43'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-484'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-273'/>
+      <parameter type-id='type-id-481'/>
+      <parameter type-id='type-id-43'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-274'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-273'/>
+      <parameter type-id='type-id-43'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-257'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-97'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-259'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-97'/>
+      <parameter type-id='type-id-32'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-255'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-97'/>
+      <parameter type-id='type-id-32'/>
+      <parameter type-id='type-id-32'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-407'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-97'/>
+      <parameter type-id='type-id-99'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-547'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-543'/>
+      <parameter type-id='type-id-537'/>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-540'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-545'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-543'/>
+      <parameter type-id='type-id-540'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-546'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-540'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-467'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-464'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-465'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-464'/>
+      <parameter type-id='type-id-32'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-471'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-470'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-261'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-375'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-367'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-366'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-428'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-499'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-498'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-384'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-383'/>
+      <parameter type-id='type-id-33'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-394'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-43'/>
+      <parameter type-id='type-id-393'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-276'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-99'/>
+      <parameter type-id='type-id-99'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-373'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-32'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-409'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-99'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-478'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-477'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-486'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-341'>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-390'>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-396'>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-32'/>
+      <return type-id='type-id-1'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-322'>
+      <parameter type-id='type-id-318'/>
+      <parameter type-id='type-id-321'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-16'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-544'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-529'/>
+      <parameter type-id='type-id-533'/>
+      <parameter type-id='type-id-537'/>
+      <parameter type-id='type-id-540'/>
+      <return type-id='type-id-543'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-523'>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-88'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-25'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-525'>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-88'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-25'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-89'>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-88'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-25'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-388'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <return type-id='type-id-32'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-513'>
+      <parameter type-id='type-id-1'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-249'>
+      <parameter type-id='type-id-246'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-380'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-1'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-358'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-357'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-362'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-25'/>
+      <parameter type-id='type-id-361'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-253'>
+      <parameter type-id='type-id-246'/>
+      <parameter type-id='type-id-32'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-75'>
+      <parameter type-id='type-id-69'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-386'>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-80'>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-26'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-339'>
+      <parameter type-id='type-id-14'/>
+      <parameter type-id='type-id-279'/>
+      <parameter type-id='type-id-338'/>
+      <return type-id='type-id-14'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/ixgbe/ixgbe_rxtx.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+
+    <array-type-def dimensions='1' type-id='type-id-351' size-in-bits='4096' id='type-id-550'>
+      <subrange length='128' type-id='type-id-37' id='type-id-152'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-550' const='yes' id='type-id-551'/>
+    <var-decl name='ptype_table' type-id='type-id-551' visibility='default' filepath='../drivers/net/ixgbe/ixgbe_rxtx.h' line='288' column='1'/>
+
+    <array-type-def dimensions='1' type-id='type-id-351' size-in-bits='8192' id='type-id-552'>
+      <subrange length='256' type-id='type-id-37' id='type-id-553'/>
+
+    </array-type-def>
+    <qualified-type-def type-id='type-id-552' const='yes' id='type-id-554'/>
+    <var-decl name='ptype_table_tn' type-id='type-id-554' visibility='default' filepath='../drivers/net/ixgbe/ixgbe_rxtx.h' line='289' column='1'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../drivers/net/ixgbe/rte_pmd_ixgbe.c' comp-dir-path='/root/klaatz/dpdk/gcc' language='LANG_C99'>
+    <function-decl name='rte_pmd_ixgbe_bypass_wd_reset' mangled-name='rte_pmd_ixgbe_bypass_wd_reset' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='922' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_ixgbe_bypass_wd_reset@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port_id' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='922' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-555'/>
+    <function-decl name='rte_pmd_ixgbe_bypass_wd_timeout_show' mangled-name='rte_pmd_ixgbe_bypass_wd_timeout_show' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='908' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_ixgbe_bypass_wd_timeout_show@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port_id' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='908' column='1'/>
+      <parameter type-id='type-id-555' name='wd_timeout' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='908' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_ixgbe_bypass_ver_show' mangled-name='rte_pmd_ixgbe_bypass_ver_show' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='894' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_ixgbe_bypass_ver_show@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port_id' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='908' column='1'/>
+      <parameter type-id='type-id-555' name='wd_timeout' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='908' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_ixgbe_bypass_wd_timeout_store' mangled-name='rte_pmd_ixgbe_bypass_wd_timeout_store' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='880' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_ixgbe_bypass_wd_timeout_store@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port_id' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='880' column='1'/>
+      <parameter type-id='type-id-32' name='timeout' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='880' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_ixgbe_bypass_event_store' mangled-name='rte_pmd_ixgbe_bypass_event_store' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='864' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_ixgbe_bypass_event_store@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port_id' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='864' column='1'/>
+      <parameter type-id='type-id-32' name='event' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='865' column='1'/>
+      <parameter type-id='type-id-32' name='state' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='866' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_ixgbe_bypass_event_show' mangled-name='rte_pmd_ixgbe_bypass_event_show' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='848' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_ixgbe_bypass_event_show@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port_id' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='848' column='1'/>
+      <parameter type-id='type-id-32' name='event' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='849' column='1'/>
+      <parameter type-id='type-id-555' name='state' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='850' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_ixgbe_bypass_state_set' mangled-name='rte_pmd_ixgbe_bypass_state_set' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='834' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_ixgbe_bypass_state_set@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port_id' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='908' column='1'/>
+      <parameter type-id='type-id-555' name='wd_timeout' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='908' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_ixgbe_bypass_state_show' mangled-name='rte_pmd_ixgbe_bypass_state_show' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='820' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_ixgbe_bypass_state_show@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port_id' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='908' column='1'/>
+      <parameter type-id='type-id-555' name='wd_timeout' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='908' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_ixgbe_bypass_init' mangled-name='rte_pmd_ixgbe_bypass_init' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='805' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_ixgbe_bypass_init@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port_id' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='922' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_ixgbe_set_tc_bw_alloc' mangled-name='rte_pmd_ixgbe_set_tc_bw_alloc' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='703' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_ixgbe_set_tc_bw_alloc@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='703' column='1'/>
+      <parameter type-id='type-id-99' name='tc_num' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='704' column='1'/>
+      <parameter type-id='type-id-121' name='bw_weight' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='705' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_ixgbe_macsec_select_rxsa' mangled-name='rte_pmd_ixgbe_macsec_select_rxsa' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='660' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_ixgbe_macsec_select_rxsa@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='660' column='1'/>
+      <parameter type-id='type-id-99' name='idx' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='660' column='1'/>
+      <parameter type-id='type-id-99' name='an' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='660' column='1'/>
+      <parameter type-id='type-id-32' name='pn' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='661' column='1'/>
+      <parameter type-id='type-id-121' name='key' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='661' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_ixgbe_macsec_select_txsa' mangled-name='rte_pmd_ixgbe_macsec_select_txsa' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='604' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_ixgbe_macsec_select_txsa@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='604' column='1'/>
+      <parameter type-id='type-id-99' name='idx' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='604' column='1'/>
+      <parameter type-id='type-id-99' name='an' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='604' column='1'/>
+      <parameter type-id='type-id-32' name='pn' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='605' column='1'/>
+      <parameter type-id='type-id-121' name='key' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='605' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_ixgbe_macsec_config_rxsc' mangled-name='rte_pmd_ixgbe_macsec_config_rxsc' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='578' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_ixgbe_macsec_config_rxsc@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='578' column='1'/>
+      <parameter type-id='type-id-121' name='mac' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='578' column='1'/>
+      <parameter type-id='type-id-25' name='pi' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='578' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_ixgbe_macsec_config_txsc' mangled-name='rte_pmd_ixgbe_macsec_config_txsc' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='553' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_ixgbe_macsec_config_txsc@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='553' column='1'/>
+      <parameter type-id='type-id-121' name='mac' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='553' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_ixgbe_macsec_disable' mangled-name='rte_pmd_ixgbe_macsec_disable' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='537' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_ixgbe_macsec_disable@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port_id' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='922' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_ixgbe_macsec_enable' mangled-name='rte_pmd_ixgbe_macsec_enable' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='516' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_ixgbe_macsec_enable@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='516' column='1'/>
+      <parameter type-id='type-id-99' name='en' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='516' column='1'/>
+      <parameter type-id='type-id-99' name='rp' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='516' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_ixgbe_set_vf_rate_limit' mangled-name='rte_pmd_ixgbe_set_vf_rate_limit' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='500' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_ixgbe_set_vf_rate_limit@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='500' column='1'/>
+      <parameter type-id='type-id-25' name='vf' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='500' column='1'/>
+      <parameter type-id='type-id-25' name='tx_rate' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='501' column='1'/>
+      <parameter type-id='type-id-31' name='q_msk' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='501' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_ixgbe_set_vf_vlan_filter' mangled-name='rte_pmd_ixgbe_set_vf_vlan_filter' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='465' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_ixgbe_set_vf_vlan_filter@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='465' column='1'/>
+      <parameter type-id='type-id-25' name='vlan' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='465' column='1'/>
+      <parameter type-id='type-id-31' name='vf_mask' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='466' column='1'/>
+      <parameter type-id='type-id-99' name='vlan_on' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='466' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_ixgbe_set_vf_tx' mangled-name='rte_pmd_ixgbe_set_vf_tx' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='415' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_ixgbe_set_vf_tx@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='415' column='1'/>
+      <parameter type-id='type-id-25' name='vf' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='415' column='1'/>
+      <parameter type-id='type-id-99' name='on' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='415' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_ixgbe_set_vf_rx' mangled-name='rte_pmd_ixgbe_set_vf_rx' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='365' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_ixgbe_set_vf_rx@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='415' column='1'/>
+      <parameter type-id='type-id-25' name='vf' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='415' column='1'/>
+      <parameter type-id='type-id-99' name='on' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='415' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_ixgbe_set_vf_rxmode' mangled-name='rte_pmd_ixgbe_set_vf_rxmode' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='318' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_ixgbe_set_vf_rxmode@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='318' column='1'/>
+      <parameter type-id='type-id-25' name='vf' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='318' column='1'/>
+      <parameter type-id='type-id-25' name='rx_mask' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='319' column='1'/>
+      <parameter type-id='type-id-99' name='on' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='319' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_ixgbe_set_vf_vlan_stripq' mangled-name='rte_pmd_ixgbe_set_vf_vlan_stripq' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='271' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_ixgbe_set_vf_vlan_stripq@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='271' column='1'/>
+      <parameter type-id='type-id-25' name='vf' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='271' column='1'/>
+      <parameter type-id='type-id-99' name='on' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='271' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_ixgbe_set_vf_split_drop_en' mangled-name='rte_pmd_ixgbe_set_vf_split_drop_en' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='236' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_ixgbe_set_vf_split_drop_en@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='236' column='1'/>
+      <parameter type-id='type-id-25' name='vf' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='236' column='1'/>
+      <parameter type-id='type-id-99' name='on' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='236' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_ixgbe_set_all_queues_drop_en' mangled-name='rte_pmd_ixgbe_set_all_queues_drop_en' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='206' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_ixgbe_set_all_queues_drop_en@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='206' column='1'/>
+      <parameter type-id='type-id-99' name='on' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='206' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_ixgbe_set_tx_loopback' mangled-name='rte_pmd_ixgbe_set_tx_loopback' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='176' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_ixgbe_set_tx_loopback@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='176' column='1'/>
+      <parameter type-id='type-id-99' name='on' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='176' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_ixgbe_set_vf_vlan_insert' mangled-name='rte_pmd_ixgbe_set_vf_vlan_insert' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='140' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_ixgbe_set_vf_vlan_insert@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='140' column='1'/>
+      <parameter type-id='type-id-25' name='vf' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='140' column='1'/>
+      <parameter type-id='type-id-25' name='vlan_id' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='140' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_ixgbe_set_vf_mac_anti_spoof' mangled-name='rte_pmd_ixgbe_set_vf_mac_anti_spoof' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='111' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_ixgbe_set_vf_mac_anti_spoof@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='111' column='1'/>
+      <parameter type-id='type-id-25' name='vf' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='111' column='1'/>
+      <parameter type-id='type-id-99' name='on' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='111' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_ixgbe_set_vf_vlan_anti_spoof' mangled-name='rte_pmd_ixgbe_set_vf_vlan_anti_spoof' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='81' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_ixgbe_set_vf_vlan_anti_spoof@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='111' column='1'/>
+      <parameter type-id='type-id-25' name='vf' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='111' column='1'/>
+      <parameter type-id='type-id-99' name='on' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='111' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_ixgbe_ping_vf' mangled-name='rte_pmd_ixgbe_ping_vf' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='49' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_ixgbe_ping_vf@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='49' column='1'/>
+      <parameter type-id='type-id-25' name='vf' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='49' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_ixgbe_set_vf_mac_addr' mangled-name='rte_pmd_ixgbe_set_vf_mac_addr' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='13' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_ixgbe_set_vf_mac_addr@@DPDK_20.0'>
+      <parameter type-id='type-id-25' name='port' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='13' column='1'/>
+      <parameter type-id='type-id-25' name='vf' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='13' column='1'/>
+      <parameter type-id='type-id-97' name='mac_addr' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='14' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_ixgbe_upd_fctrl_sbp' mangled-name='rte_pmd_ixgbe_upd_fctrl_sbp' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='776' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_ixgbe_upd_fctrl_sbp@@EXPERIMENTAL'>
+      <parameter type-id='type-id-25' name='port' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='776' column='1'/>
+      <parameter type-id='type-id-1' name='enable' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='776' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_ixgbe_mdio_unlocked_write' mangled-name='rte_pmd_ixgbe_mdio_unlocked_write' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='1091' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_ixgbe_mdio_unlocked_write@@EXPERIMENTAL'>
+      <parameter type-id='type-id-25' name='port' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='1091' column='1'/>
+      <parameter type-id='type-id-32' name='reg_addr' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='1091' column='1'/>
+      <parameter type-id='type-id-32' name='dev_type' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='1092' column='1'/>
+      <parameter type-id='type-id-25' name='phy_data' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='1092' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-556'/>
+    <function-decl name='rte_pmd_ixgbe_mdio_unlocked_read' mangled-name='rte_pmd_ixgbe_mdio_unlocked_read' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='1044' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_ixgbe_mdio_unlocked_read@@EXPERIMENTAL'>
+      <parameter type-id='type-id-25' name='port' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='1044' column='1'/>
+      <parameter type-id='type-id-32' name='reg_addr' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='1044' column='1'/>
+      <parameter type-id='type-id-32' name='dev_type' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='1045' column='1'/>
+      <parameter type-id='type-id-556' name='phy_data' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='1045' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_ixgbe_mdio_unlock' mangled-name='rte_pmd_ixgbe_mdio_unlock' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='1017' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_ixgbe_mdio_unlock@@EXPERIMENTAL'>
+      <parameter type-id='type-id-25' name='port' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='1017' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+    <function-decl name='rte_pmd_ixgbe_mdio_lock' mangled-name='rte_pmd_ixgbe_mdio_lock' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='990' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rte_pmd_ixgbe_mdio_lock@@EXPERIMENTAL'>
+      <parameter type-id='type-id-25' name='port' filepath='../drivers/net/ixgbe/rte_pmd_ixgbe.c' line='1017' column='1'/>
+      <return type-id='type-id-1'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
-- 
2.17.1


^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] discussion: creating a new class for vdpa drivers
  2019-12-16  8:50  3%   ` Maxime Coquelin
@ 2019-12-16  9:39  0%     ` Andrew Rybchenko
  2019-12-16 10:04  0%       ` Maxime Coquelin
  0 siblings, 1 reply; 200+ results
From: Andrew Rybchenko @ 2019-12-16  9:39 UTC (permalink / raw)
  To: Maxime Coquelin, Matan Azrad, Tiwei Bie, Thomas Monjalon
  Cc: Ori Kam, Liang, Cunming, Wang, Xiao W, Wang, Zhihong, Yigit,
	Ferruh, Shahaf Shuler, dev, Slava Ovsiienko, Asaf Penso,
	Olga Shern

Hi Maxime,

On 12/16/19 11:50 AM, Maxime Coquelin wrote:
> Hi Andrew,
> 
> On 12/16/19 9:46 AM, Andrew Rybchenko wrote:
>> On 12/16/19 11:29 AM, Matan Azrad wrote:
>>>
>>> Hi all
>>>
>>> I understand all of you agree \ not object with the new class for vdpa drivers.
>>
>> I have two control questions:
>>
>> 1. If so, is it allowed to have vDPA driver in
>>    drivers/net/<driver> if it is better from code sharing point
>>    of view?
> 
> If it has something to share, I think we should move the common bits
> to the common directory.

Does it mean that it is *not* allowed to have vdpa driver in
drivers/net/<driver> and vDPA drivers *must* live in
drivers/vdpa only?

>> 2. If drivers/common is used, is exported functions which are
>>    used by drivers/net/<driver> and drivers/vdpa/<driver> and
>>    data structures are a part of public API/ABI? Hopefully not,
>>    but I'd like to double-check and ensure that it is solved in
>>    the case of shared libraries build.
> 
> Common functions and data should not be part of the API/ABI I agree.
> I guess we should use relative paths for including the common headers.

Hopefully include_directories() with relative path in the case
of meson.build.

>>> Based on that, I'm going to start it.
>>>
>>> From: Tiwei Bie
>>>> On Tue, Dec 10, 2019 at 09:00:33AM +0100, Thomas Monjalon wrote:
>>>>> 10/12/2019 03:41, Tiwei Bie:
>>>>>> On Mon, Dec 09, 2019 at 02:22:27PM +0300, Andrew Rybchenko wrote:
>>>>>>> On 12/9/19 1:41 PM, Ori Kam wrote:
>>>>>>>> From: Andrew Rybchenko
>>>>>>>>> On 12/8/19 10:06 AM, Matan Azrad wrote:
>>>>>>>>>> From: Andrew Rybchenko
>>>>>>>>>>> On 12/6/19 8:32 AM, Liang, Cunming wrote:
>>>>>>>>>>>> From: Bie, Tiwei <tiwei.bie@intel.com>
>>>>>>>>>>>>> On Thu, Dec 05, 2019 at 01:26:36PM +0000, Matan Azrad wrote:
>>>>>>>>>>>>>> Hi all
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> As described in RFC “[RFC] net: new vdpa PMD for Mellanox
>>>>>>>>>>>>>> devices”, a new vdpa drivers is going to be added for
>>>>>>>>>>>>>> Mellanox devices – mlx5_vdpa
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> The only vdpa driver now is the IFC driver that is located
>>>>>>>>>>>>>> in net
>>>>>>>>> directory.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> The IFC driver and the new mlx5_vdpa driver provide the
>>>>>>>>>>>>>> vdpa ops
>>>>>>>>> and
>>>>>>>>>>>>>> not the eth_dev ops.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> All the others drivers in net provide the eth-dev ops.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I suggest to create a new class for vdpa drivers, to move
>>>>>>>>>>>>>> IFC to this class and to add the mlx5_vdpa to this class too.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Later, all the new drivers that implements the vdpa ops
>>>>>>>>>>>>>> will be added to the vdpa class.
>>>>>>>>>>>>>
>>>>>>>>>>>>> +1. Sounds like a good idea to me.
>>>>>>>>>>>> +1
>>>>>>>>>>>
>>>>>>>>>>> vDPA drivers are vendor-specific and expected to talk to vendor
>>>> NIC. I.e.
>>>>>>>>>>> there are significant chances to share code with network drivers
>>>> (e.g.
>>>>>>>>> base
>>>>>>>>>>> driver). Should base driver be moved to drivers/common in
>>>>>>>>>>> this case or is
>>>>>>>>> it
>>>>>>>>>>> still allows to have vdpa driver in drivers/net together with ethdev
>>>> driver?
>>>>>>>>>>
>>>>>>>>>> Yes, I think this should be the method, shared code should be
>>>>>>>>>> moved to
>>>>>>>>> the drivers/common directory.
>>>>>>>>>> I think there is a precedence with shared code in common which
>>>>>>>>>> shares a
>>>>>>>>> vendor specific code between crypto and net.
>>>>>>>>>
>>>>>>>>> I see motivation behind driver/vdpa. However, vdpa and net
>>>>>>>>> drivers tightly related and I would prefer to avoid extra
>>>>>>>>> complexity here. Right now simplicity over-weights for me.
>>>>>>>>> No strong opinion on the topic, but it definitely requires
>>>>>>>>> better and more clear motivation why a new class should be
>>>>>>>>> introduced and existing drivers restructured.
>>>>>>>>>
>>>>>>>>
>>>>>>>> Why do you think there is extra complexity?
>>>>>>>
>>>>>>> Even grep becomes a bit more complicated J
>>>>>>>
>>>>>>>> I think from design correctness it is more correct to create a dedicated
>>>> class for the following reasons:
>>>>>>>> 1. All of the classes implements a different set of ops. For
>>>>>>>> example the cryptodev has a defined set of ops, same goes for the
>>>> compress driver and the ethdev driver. Each ones of them has different ops.
>>>> Going by this definition since VDPA has a different set of ops, it makes sense
>>>> that it will be in a different class.
>>>>>>>>
>>>>>>>> 2. even that both drivers (eth/vdpa) handle traffic from the nic
>>>>>>>> most of the code is different (the difference is also dependent on the
>>>> manufacture) So even the shared code base is not large and can be shared
>>>> using the common directory. For example ifc doesn't have any shared code.
>>>>>>>>
>>>>>>>> What do you think?
>>>>>>>
>>>>>>> The true reason is: if the difference in ops implemented is a key
>>>>>>> difference which should enforce location in different directories.
>>>>>>> Or underlying device class is a key.
>>>>>>> Roughly:
>>>>>>>  - net driver is a control+data path
>>>>>>>  - vdpa driver is a control path only My fear is that control path
>>>>>>> will grow more and more (Rx mode, RSS, filters and so on)
>>>>>>
>>>>>> I think this is a reasonable concern.
>>>>>>
>>>>>> One thing needs to be clarified is that, the control path (ops) in
>>>>>> vdpa driver is something very different with the control path in net
>>>>>> driver. vdpa is very generic (or more precisely vhost-related),
>>>>>> instead of network related:
>>>>>>
>>>>>> https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgi
>>>>>>
>>>> thub.com%2FDPDK%2Fdpdk%2Fblob%2Faef1d0733179%2Flib%2Flibrte_vhos
>>>> t%2F
>>>>>> rte_vdpa.h%23L40-
>>>> L78&amp;data=02%7C01%7Cmatan%40mellanox.com%7Cfac15
>>>>>>
>>>> 729a67c4c81ee7608d77d7434a2%7Ca652971c7d2e4d9ba6a4d149256f461b%7C
>>>> 0%7
>>>>>>
>>>> C0%7C637115810358231304&amp;sdata=%2BZa39vxadtKx5Ov7vmqcU3RuZhz
>>>> kOP9o
>>>>>> 8roEB0d5j6M%3D&amp;reserved=0
>>>>>>
>>>>>> It's built on top of vhost-user protocol, manipulates virtqueues,
>>>>>> virtio/vhost features, memory table, ...
>>>>>>
>>>>>> Technically, it's possible to have blk, crypto, ...
>>>>>> vdpa devices as well (we already have vhost-user-blk,
>>>>>> vhost-user-crypto, ...).
>>>>>>
>>>>>> But network specific features will come eventually, e.g. RSS. One
>>>>>> possible way to solve it is to define a generic event callback in
>>>>>> vdpa ops, and vdpa driver can request the corresponding info from
>>>>>> vhost based on the event received.
>>>>>>
>>>>>> Another thing needs to be clarified is that, the control path
>>>>>> supposed to be used by DPDK apps directly in vdpa should always be
>>>>>> generic, it should just be something like:
>>>>>>
>>>>>> int rte_vdpa_find_device_id(struct rte_vdpa_dev_addr *addr); int
>>>>>> rte_vhost_driver_attach_vdpa_device(const char *path, int did); int
>>>>>> rte_vhost_driver_detach_vdpa_device(const char *path); ...
>>>>>>
>>>>>> That is to say, users just need to bind the vdpa device to the vhost
>>>>>> connection. The control path ops in vdpa is supposed to be called by
>>>>>> vhost-library transparently based on the events on the vhost-user
>>>>>> connection, i.e.
>>>>>> the vdpa device will be configured (including RSS) by the guest
>>>>>> driver in QEMU "directly" via the vhost-user protocol instead of the
>>>>>> DPDK app in the host.
>>>>>
>>>>> Tiwei, in order to be clear,
>>>>> You think vDPA drivers should be in drivers/vdpa directory?
>>>>
>>>> I was just trying to clarify two facts in vDPA to address Andrew's concern.
>>>> And back to the question, to make sure that we don't miss anything
>>>> important, (although maybe not very related) it might be helpful to also
>>>> clarify how to support vDPA in OvS at the same time which isn't quite clear to
>>>> me yet..
>>>>
>>>> Regards,
>>>> Tiwei
>>>>
>>>>>
>>>>>
>>
> 


^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH v2 3/3] ethdev: improve flow mark Rx offload deprecation notice
  2019-12-16  7:38  3%               ` Jerin Jacob
@ 2019-12-16 10:02  0%                 ` Andrew Rybchenko
  0 siblings, 0 replies; 200+ results
From: Andrew Rybchenko @ 2019-12-16 10:02 UTC (permalink / raw)
  To: Jerin Jacob
  Cc: Thomas Monjalon, Ferruh Yigit, Pavan Nikhilesh, Neil Horman,
	John McNamara, Marko Kovacevic, dpdk-dev, Ori Kam,
	David Marchand, Olivier Matz, Ananyev, Konstantin

On 12/16/19 10:38 AM, Jerin Jacob wrote:
> On Mon, Dec 9, 2019 at 2:47 PM Andrew Rybchenko
> <arybchenko@solarflare.com> wrote:
>>
>> On 12/5/19 11:12 AM, Jerin Jacob wrote:
>>> On Mon, Dec 2, 2019 at 5:27 PM Andrew Rybchenko
>>> <arybchenko@solarflare.com> wrote:
>>>> 
>>>>>>
>>>>> Ack.
>>>>
>>>> Yes, I agree as well, but in general we already have an
>>>> exception MBUF_FAST_FREE which is just a nice wrap for
>>>> enabled by default support for mbufs from different
>>>> mempools and support for mbuf reference counters.
>>>> I don't suggest to change it. Just want to highlight
>>>> that we already have exceptions (nicely wrapped).
>>>> That's why I would not touch packet type parsing
>>>> "offload". Packet type parsing is not just on/off and
>>>> adding on/off in addition to existing API looks overkill.
>>>> Yes, it is one more exception, but nicely wrapped as well.
>>>
>>> I am all for making offloads disabled by default.
>>>
>>>>
>>>>>>> And what would be DEFAULT behavior for the mbuf MARK updation feature?
>>>>>>> (That's where this thread started).
>>>>>>
>>>>>> As all other features, mark is disabled by default.
>>>>>> Using a rte_flow rule, it can be enabled.
>>>>>> No need to pre-enable it.
>>>>>
>>>>> Ok.
>>>>
>>>> But it returns us to the point where we started [1]:
>>>>
>>>> The problem:
>>>> ~~~~~~~~~~~~
>>>> PMD wants to know before port start if application wants to
>>>> to use flow MARK/FLAG in the future. It is required because:
>>>>
>>>> 1. HW may be configured in a different way to reserve resources
>>>>    for MARK/FLAG delivery.
>>>>
>>>> 2. Datapath implementation choice may depend on it (e.g. vPMD
>>>>    is faster, but does not support MARK).
>>>>
>>>> opt-in/opt-out solution has drawbacks mentioned above.
>>>> Also I'm not sure if opt-in/opt-out is per-queue or per-port.
>>>> (Offloads may be naturally per-queue and it is a big advantage).
>>>>
>>>> IMHO feature which should be opt-out is almost equivalent to
>>>> offload enabled by default. It has the same negative properties
>>>> as enabled by default offloads.
>>>>
>>>> Am I missing something again?
>>>>
>>>> From my point of view I see no problem in necessity to say
>>>> in advance (before device start) that application would like
>>>> to use some features at run time.
>>>
>>> I agree with your problem definition and solution as offload.
>>>
>>> I think, our constraint is, we can not change functional ABI behavior
>>> for the next year. i.e The existing application should work for the
>>> next year without
>>> changing the code.
>>>
>>> I think, it all boiling down to adhere to that constraint or not for
>>> this specific case.
>>
>> May be the escape is to avoid consistency checks in generic
>> code (not sure that such checks are doable/required in this
>> case, but anyway) and make the behaviour change vendor/driver-
>> specific. I understand that it is far from ideal solution.
>>
>> May be offload should be combined with opt-out as a way to
>> disable. I.e. offload is positive (not negative), but enabled
>> by default (i.e. automatically added to offloads as we do
>> for RSS_HASH) with an experimental opt-out to disable it.
>>
>> As the result:
>> 1. There is no changes in behaviour from application point of
>>    view.
>> 2. Application which care about performance and ready to use
>>    experimental opt-out to optimize performance can do it.
>>    (i.e. use opt-out to avoid the offload enabled by default).
>> 3. Later when window to normalize behaviour opens, opt-out
>>    becomes NOP (i.e. it still could be preserved for some
>>    time to simplify transition).
>> 4. The offload is enabled by default during transition
>>    period only since it represents a feature which had
>>    no offload flag before and was always enabled before.
>> 5. As an offload the feature may be controlled per-device
>>    and per-queue natively.
> 
> Looks good to me.
> It makes sense to have a generic opt API to have for year ABI,
> which works on
> 
> - per queue/per port
> - Enable by default to keep backward compatible.
> - Have a generic signature to allow probe() all the enabled opt-in features
> and then disable if required by the application.

I'd like to clarify to be sure that we're on the same page:
1. Add DEV_RX_OFFLOAD_FLOW_MARK offload:
   - enabled by default till 20.11 to preserve behaviour
   - applications may migrate and explicitly enable
   - disabled by default since 20.11 to switch to generic
     policy which require offloads to be disabled by default
2. Add experimental opt-out which allow to disable the
   offload to optimize performance for applications which
   would like to care about it early
   - opt-out remains but becomes NOP in 20.11

> - I think, rte_eth_dev_set_ptypes()  needs to change to generic API as
> it comes under opt-in/out scheme.

I'm not sure that I understand how it should look like for
ptypes.

>>
>> It still does not sort out "necessity to enable twice"
>> concern which for specified above "the problem", IMO,
>> contradicts to "disabled by default offloads" (I read
>> it as "the best performance" by default).
>>
>>> Once that is decided, we can wrap it in offload flags vs opt scheme
>>> (by default enabled scheme).
>>
>> Yes. May be I don't understand all the details of the opt
>> scheme right now, but I don't like what I can imagine as
>> described above.
>>
>>>>
>>>> Yes, all features which may be controlled at run-time are
>>>> headache for optimizations (VLAN offloads).
>>>>
>>>> [1]
>>>> http://inbox.dpdk.org/dev/f170105b-9c60-1b04-cb18-52e0951ddcdb@solarflare.com/
>>


^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] discussion: creating a new class for vdpa drivers
  2019-12-16  9:39  0%     ` Andrew Rybchenko
@ 2019-12-16 10:04  0%       ` Maxime Coquelin
  2019-12-16 10:19  0%         ` Andrew Rybchenko
  0 siblings, 1 reply; 200+ results
From: Maxime Coquelin @ 2019-12-16 10:04 UTC (permalink / raw)
  To: Andrew Rybchenko, Matan Azrad, Tiwei Bie, Thomas Monjalon
  Cc: Ori Kam, Liang, Cunming, Wang, Xiao W, Wang, Zhihong, Yigit,
	Ferruh, Shahaf Shuler, dev, Slava Ovsiienko, Asaf Penso,
	Olga Shern



On 12/16/19 10:39 AM, Andrew Rybchenko wrote:
> Hi Maxime,
> 
> On 12/16/19 11:50 AM, Maxime Coquelin wrote:
>> Hi Andrew,
>>
>> On 12/16/19 9:46 AM, Andrew Rybchenko wrote:
>>> On 12/16/19 11:29 AM, Matan Azrad wrote:
>>>>
>>>> Hi all
>>>>
>>>> I understand all of you agree \ not object with the new class for vdpa drivers.
>>>
>>> I have two control questions:
>>>
>>> 1. If so, is it allowed to have vDPA driver in
>>>    drivers/net/<driver> if it is better from code sharing point
>>>    of view?
>>
>> If it has something to share, I think we should move the common bits
>> to the common directory.
> 
> Does it mean that it is *not* allowed to have vdpa driver in
> drivers/net/<driver> and vDPA drivers *must* live in
> drivers/vdpa only?

I would say yes, for consistency.
But that's just my point of view.
Do you have an argument in favor of not enforcing it?

Thanks,
Maxime

>>> 2. If drivers/common is used, is exported functions which are
>>>    used by drivers/net/<driver> and drivers/vdpa/<driver> and
>>>    data structures are a part of public API/ABI? Hopefully not,
>>>    but I'd like to double-check and ensure that it is solved in
>>>    the case of shared libraries build.
>>
>> Common functions and data should not be part of the API/ABI I agree.
>> I guess we should use relative paths for including the common headers.
> 
> Hopefully include_directories() with relative path in the case
> of meson.build.
> 


^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] discussion: creating a new class for vdpa drivers
  2019-12-16 10:04  0%       ` Maxime Coquelin
@ 2019-12-16 10:19  0%         ` Andrew Rybchenko
  2019-12-16 10:26  0%           ` Maxime Coquelin
  0 siblings, 1 reply; 200+ results
From: Andrew Rybchenko @ 2019-12-16 10:19 UTC (permalink / raw)
  To: Maxime Coquelin, Matan Azrad, Tiwei Bie, Thomas Monjalon
  Cc: Ori Kam, Liang, Cunming, Wang, Xiao W, Wang, Zhihong, Yigit,
	Ferruh, Shahaf Shuler, dev, Slava Ovsiienko, Asaf Penso,
	Olga Shern

On 12/16/19 1:04 PM, Maxime Coquelin wrote:
> 
> 
> On 12/16/19 10:39 AM, Andrew Rybchenko wrote:
>> Hi Maxime,
>>
>> On 12/16/19 11:50 AM, Maxime Coquelin wrote:
>>> Hi Andrew,
>>>
>>> On 12/16/19 9:46 AM, Andrew Rybchenko wrote:
>>>> On 12/16/19 11:29 AM, Matan Azrad wrote:
>>>>>
>>>>> Hi all
>>>>>
>>>>> I understand all of you agree \ not object with the new class for vdpa drivers.
>>>>
>>>> I have two control questions:
>>>>
>>>> 1. If so, is it allowed to have vDPA driver in
>>>>    drivers/net/<driver> if it is better from code sharing point
>>>>    of view?
>>>
>>> If it has something to share, I think we should move the common bits
>>> to the common directory.
>>
>> Does it mean that it is *not* allowed to have vdpa driver in
>> drivers/net/<driver> and vDPA drivers *must* live in
>> drivers/vdpa only?
> 
> I would say yes, for consistency.

OK, it makes sense. Consistency is good.

> But that's just my point of view.
> Do you have an argument in favor of not enforcing it?

I simply expect (storm of) patches which do factor/move out
etc. No strong opinion right now. Just clarifying suggested
policy.

Thanks,
Andrew.

> Thanks,
> Maxime
> 
>>>> 2. If drivers/common is used, is exported functions which are
>>>>    used by drivers/net/<driver> and drivers/vdpa/<driver> and
>>>>    data structures are a part of public API/ABI? Hopefully not,
>>>>    but I'd like to double-check and ensure that it is solved in
>>>>    the case of shared libraries build.
>>>
>>> Common functions and data should not be part of the API/ABI I agree.
>>> I guess we should use relative paths for including the common headers.
>>
>> Hopefully include_directories() with relative path in the case
>> of meson.build.
>>
> 


^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] discussion: creating a new class for vdpa drivers
  2019-12-16 10:19  0%         ` Andrew Rybchenko
@ 2019-12-16 10:26  0%           ` Maxime Coquelin
  0 siblings, 0 replies; 200+ results
From: Maxime Coquelin @ 2019-12-16 10:26 UTC (permalink / raw)
  To: Andrew Rybchenko, Matan Azrad, Tiwei Bie, Thomas Monjalon
  Cc: Ori Kam, Liang, Cunming, Wang, Xiao W, Wang, Zhihong, Yigit,
	Ferruh, Shahaf Shuler, dev, Slava Ovsiienko, Asaf Penso,
	Olga Shern



On 12/16/19 11:19 AM, Andrew Rybchenko wrote:
> On 12/16/19 1:04 PM, Maxime Coquelin wrote:
>>
>>
>> On 12/16/19 10:39 AM, Andrew Rybchenko wrote:
>>> Hi Maxime,
>>>
>>> On 12/16/19 11:50 AM, Maxime Coquelin wrote:
>>>> Hi Andrew,
>>>>
>>>> On 12/16/19 9:46 AM, Andrew Rybchenko wrote:
>>>>> On 12/16/19 11:29 AM, Matan Azrad wrote:
>>>>>>
>>>>>> Hi all
>>>>>>
>>>>>> I understand all of you agree \ not object with the new class for vdpa drivers.
>>>>>
>>>>> I have two control questions:
>>>>>
>>>>> 1. If so, is it allowed to have vDPA driver in
>>>>>    drivers/net/<driver> if it is better from code sharing point
>>>>>    of view?
>>>>
>>>> If it has something to share, I think we should move the common bits
>>>> to the common directory.
>>>
>>> Does it mean that it is *not* allowed to have vdpa driver in
>>> drivers/net/<driver> and vDPA drivers *must* live in
>>> drivers/vdpa only?
>>
>> I would say yes, for consistency.
> 
> OK, it makes sense. Consistency is good.
> 
>> But that's just my point of view.
>> Do you have an argument in favor of not enforcing it?
> 
> I simply expect (storm of) patches which do factor/move out
> etc. No strong opinion right now. Just clarifying suggested
> policy.

You're right, maybe we could request the technical board agree on that.
Next tech board is this wednesday.

I'm sending the request to the techboard ML.

Thanks,
Maxime

> Thanks,
> Andrew.
> 
>> Thanks,
>> Maxime
>>
>>>>> 2. If drivers/common is used, is exported functions which are
>>>>>    used by drivers/net/<driver> and drivers/vdpa/<driver> and
>>>>>    data structures are a part of public API/ABI? Hopefully not,
>>>>>    but I'd like to double-check and ensure that it is solved in
>>>>>    the case of shared libraries build.
>>>>
>>>> Common functions and data should not be part of the API/ABI I agree.
>>>> I guess we should use relative paths for including the common headers.
>>>
>>> Hopefully include_directories() with relative path in the case
>>> of meson.build.
>>>
>>
> 


^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH v3] build: fix soname info for 19.11 compatiblity
  2019-12-12 11:58 10% ` [dpdk-dev] [PATCH v3] " Bruce Richardson
                     ` (3 preceding siblings ...)
  2019-12-13 11:38  0%   ` Neil Horman
@ 2019-12-16 11:21  3%   ` Laatz, Kevin
  2019-12-19 12:42  0%   ` David Marchand
  5 siblings, 0 replies; 200+ results
From: Laatz, Kevin @ 2019-12-16 11:21 UTC (permalink / raw)
  To: Bruce Richardson, dev; +Cc: thomas, ray.kinsella, ferruh.yigit, bluca

On 12/12/2019 11:58, Bruce Richardson wrote:
> The soname for each stable ABI version should be just the ABI version major
> number without the minor number. Unfortunately both major and minor were
> used causing version 20.1 to be incompatible with 20.0.
>
> This patch fixes the issue by switching from 2-part to 3-part ABI version
> numbers so that we can keep 20.0 as soname and using the final digits to
> identify the 20.x releases which are ABI compatible. This requires changes
> to both make and meson builds to handle the three-digit version and shrink
> it to 2-digit for soname.
>
> The final fix needed in this patch is to adjust the library version number
> for the ethtool example library, which needs to be upped to 2-digits, as
> external libraries using the DPDK build system also use the logic in this
> file.
>
> Fixes: cba806e07d6f ("build: change ABI versioning to global")
>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> ---

Patch also tested with new Meson ABI checks (see 
http://patches.dpdk.org/project/dpdk/list/?series=7830)

Tested-by: Kevin Laatz <kevin.laatz@intel.com>



^ permalink raw reply	[relevance 3%]

* [dpdk-dev] DPDK techboard minutes of November 20th
@ 2019-12-16 16:45  4% Honnappa Nagarahalli
  0 siblings, 0 replies; 200+ results
From: Honnappa Nagarahalli @ 2019-12-16 16:45 UTC (permalink / raw)
  To: dev; +Cc: nd, nd

Minutes of Technical Board Meeting, 2019-11-20

Members Attending
-----------------
-Bruce
-Ferruh
-Hemant
-Honnappa (Chair)
-Kevin
-Konstantin
-Maxime
-Olivier
-Stephen
-Thomas

NOTE: The technical board meetings every second Wednesday on IRC  channel  #dpdk-board, at 3pm UTC. Meetings are public and DPDK community members  are welcome to attend.
 
NOTE: Next meeting will be on Wednesday 2019-12-04 @3pm UTC, and will be chaired by Kevin Traynor

1) ABI version number for experimental libraries DPDK 19.11 = ABI 20 libs 19.11 = .so.20.0 Pure experimental libs in 19.11 = .so.0.200

For pure experimental libs, the version will be updated for every release to allow for installation of multiple versions of DPDK.

2) Changes to DPDK community lab at UNH were discussed. No conclusion was made.

3) Procedure to request for addition to the security vulnerability pre-release mailing list need to be published on dpdk.org to make it more visible.

Thank you,
Honnappa

^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] checkpatch failing on map change
  @ 2019-12-17  8:15  3% ` David Marchand
  2019-12-17  8:21  3%   ` [dpdk-dev] [EXT] " Liron Himi
  0 siblings, 1 reply; 200+ results
From: David Marchand @ 2019-12-17  8:15 UTC (permalink / raw)
  To: Liron Himi, Cristian Dumitrescu
  Cc: dpdk-dev, Thomas Monjalon, nhorman, stephen

Hello,

On Tue, Dec 17, 2019 at 8:36 AM Liron Himi <lironh@marvell.com> wrote:
> One of our drivers is using the rte_cfgfile and meson is failing on 'rte_cfgfile_section_num_entries_by_index' which is undefined.
>
> After a few debug cycles, I found out that this function is missing from the .map file.
>
> So I added it and created a patch but  checkpatch is failing with
> ERROR: symbol rte_cfgfile_section_num_entries_by_index is added in the DPDK_20.0 section, but is expected to be added in the EXPERIMENTAL section of the version map
>
> Do you know what it means and how to fix it? The function is not defined as experimental so I don't understand what is the problem

Liron,

The script can't tell that the symbol that was added in the map file
is already part of the stable ABI: so it complains that a new symbol
should first be marked experimental.
But in this specific case, we can ignore the check.
You can send your patch to amend the map file.


Cristian,

Can you double check this library symbols to catch other unexported symbols?
A quick grep shows that rte_cfgfile_section_num_entries_by_index() is
not called in the current tree, we have no UT on it.
Maybe something to add.


Thanks.

-- 
David Marchand


^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] [EXT] Re:  checkpatch failing on map change
  2019-12-17  8:15  3% ` David Marchand
@ 2019-12-17  8:21  3%   ` Liron Himi
  0 siblings, 0 replies; 200+ results
From: Liron Himi @ 2019-12-17  8:21 UTC (permalink / raw)
  To: David Marchand, Cristian Dumitrescu
  Cc: dpdk-dev, Thomas Monjalon, nhorman, stephen, Liron Himi

Great. Thanks. Will send it soon

Regards,
Liron

-----Original Message-----
From: David Marchand <david.marchand@redhat.com> 
Sent: Tuesday, 17 December 2019 10:15
To: Liron Himi <lironh@marvell.com>; Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Cc: dpdk-dev <dev@dpdk.org>; Thomas Monjalon <thomas@monjalon.net>; nhorman@tuxdriver.com; stephen@networkplumber.org
Subject: [EXT] Re: [dpdk-dev] checkpatch failing on map change

External Email

----------------------------------------------------------------------
Hello,

On Tue, Dec 17, 2019 at 8:36 AM Liron Himi <lironh@marvell.com> wrote:
> One of our drivers is using the rte_cfgfile and meson is failing on 'rte_cfgfile_section_num_entries_by_index' which is undefined.
>
> After a few debug cycles, I found out that this function is missing from the .map file.
>
> So I added it and created a patch but  checkpatch is failing with
> ERROR: symbol rte_cfgfile_section_num_entries_by_index is added in the 
> DPDK_20.0 section, but is expected to be added in the EXPERIMENTAL 
> section of the version map
>
> Do you know what it means and how to fix it? The function is not 
> defined as experimental so I don't understand what is the problem

Liron,

The script can't tell that the symbol that was added in the map file is already part of the stable ABI: so it complains that a new symbol should first be marked experimental.
But in this specific case, we can ignore the check.
You can send your patch to amend the map file.


Cristian,

Can you double check this library symbols to catch other unexported symbols?
A quick grep shows that rte_cfgfile_section_num_entries_by_index() is not called in the current tree, we have no UT on it.
Maybe something to add.


Thanks.

--
David Marchand


^ permalink raw reply	[relevance 3%]

* [dpdk-dev] [PATCH v2] cfgfile: update map file
  @ 2019-12-17 11:52  3% ` lironh
  2019-12-17 11:12  0%   ` Dumitrescu, Cristian
  0 siblings, 1 reply; 200+ results
From: lironh @ 2019-12-17 11:52 UTC (permalink / raw)
  To: dev; +Cc: cristian.dumitrescu, stable, Liron Himi

From: Liron Himi <lironh@marvell.com>

rte_cfgfile_section_num_entries_by_index was missing from the map
file.
meson build failed when calling this function, due to linking a binary to cfgfile built
as a shared library

Fixes: 85ff364f3b ("build: align symbols with global ABI version")

Signed-off-by: Liron Himi <lironh@marvell.com>
---

v2:
  - update commit msg.
  - add 'Fixes'
  - follow alphabetical order

 lib/librte_cfgfile/rte_cfgfile_version.map | 1 +
 1 file changed, 1 insertion(+)

diff --git a/lib/librte_cfgfile/rte_cfgfile_version.map b/lib/librte_cfgfile/rte_cfgfile_version.map
index 906eee96b..22c999fe1 100644
--- a/lib/librte_cfgfile/rte_cfgfile_version.map
+++ b/lib/librte_cfgfile/rte_cfgfile_version.map
@@ -15,6 +15,7 @@ DPDK_20.0 {
 	rte_cfgfile_section_entries;
 	rte_cfgfile_section_entries_by_index;
 	rte_cfgfile_section_num_entries;
+	rte_cfgfile_section_num_entries_by_index;
 	rte_cfgfile_sections;
 	rte_cfgfile_set_entry;
 
-- 
2.23.0


^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] [PATCH v2] cfgfile: update map file
  2019-12-17 11:52  3% ` [dpdk-dev] [PATCH v2] cfgfile: " lironh
@ 2019-12-17 11:12  0%   ` Dumitrescu, Cristian
  0 siblings, 0 replies; 200+ results
From: Dumitrescu, Cristian @ 2019-12-17 11:12 UTC (permalink / raw)
  To: lironh, dev; +Cc: stable



> -----Original Message-----
> From: lironh@marvell.com <lironh@marvell.com>
> Sent: Tuesday, December 17, 2019 11:52 AM
> To: dev@dpdk.org
> Cc: Dumitrescu, Cristian <cristian.dumitrescu@intel.com>; stable@dpdk.org;
> Liron Himi <lironh@marvell.com>
> Subject: [PATCH v2] cfgfile: update map file
> 
> From: Liron Himi <lironh@marvell.com>
> 
> rte_cfgfile_section_num_entries_by_index was missing from the map
> file.
> meson build failed when calling this function, due to linking a binary to cfgfile
> built
> as a shared library
> 
> Fixes: 85ff364f3b ("build: align symbols with global ABI version")
> 
> Signed-off-by: Liron Himi <lironh@marvell.com>
> ---

Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>


^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH] ci: update travis to use bionic
  @ 2019-12-17 14:44  3% ` Aaron Conole
  2019-12-17 15:04  3%   ` Laatz, Kevin
  0 siblings, 1 reply; 200+ results
From: Aaron Conole @ 2019-12-17 14:44 UTC (permalink / raw)
  To: Kevin Laatz; +Cc: dev

Kevin Laatz <kevin.laatz@intel.com> writes:

> Currently, the Travis CI is using Ubuntu 16.04 LTS (Xenial) which is
> becoming increasingly outdated. This patch updates Travis to use Ubuntu
> 18.04 LTS (Bionic) which will give us the benefit of more up-to-date
> packages being availble and the newer features that come with them.
>
> Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
> ---
>  .travis.yml | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/.travis.yml b/.travis.yml
> index 8f90d06f2..6e0626353 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -4,7 +4,7 @@ compiler:
>    - gcc
>    - clang
>  
> -dist: xenial
> +dist: bionic

This LGTM.

>  os:
>    - linux
> @@ -21,7 +21,7 @@ aarch64_packages: &aarch64_packages
>  
>  extra_packages: &extra_packages
>    - *required_packages
> -  - [libbsd-dev, libpcap-dev, libcrypto++-dev, libjansson4]
> +  - [libbsd-dev, libpcap-dev, libcrypto++-dev, libjansson4, abigail-tools]

Will adding the abigail-tools automatically invoke the ABI checks?
Otherwise, maybe it's best to save this for a future commit.

I'll look for the robot build when it comes by.  Thanks!

>  build_32b_packages: &build_32b_packages
>    - *required_packages


^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] [PATCH] ci: update travis to use bionic
  2019-12-17 14:44  3% ` Aaron Conole
@ 2019-12-17 15:04  3%   ` Laatz, Kevin
  2019-12-17 18:03  0%     ` Aaron Conole
  0 siblings, 1 reply; 200+ results
From: Laatz, Kevin @ 2019-12-17 15:04 UTC (permalink / raw)
  To: Aaron Conole; +Cc: dev

On 17/12/2019 14:44, Aaron Conole wrote:
> Kevin Laatz <kevin.laatz@intel.com> writes:
>
>> Currently, the Travis CI is using Ubuntu 16.04 LTS (Xenial) which is
>> becoming increasingly outdated. This patch updates Travis to use Ubuntu
>> 18.04 LTS (Bionic) which will give us the benefit of more up-to-date
>> packages being availble and the newer features that come with them.
>>
>> Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
>> ---
>>   .travis.yml | 4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/.travis.yml b/.travis.yml
>> index 8f90d06f2..6e0626353 100644
>> --- a/.travis.yml
>> +++ b/.travis.yml
>> @@ -4,7 +4,7 @@ compiler:
>>     - gcc
>>     - clang
>>   
>> -dist: xenial
>> +dist: bionic
> This LGTM.
>
>>   os:
>>     - linux
>> @@ -21,7 +21,7 @@ aarch64_packages: &aarch64_packages
>>   
>>   extra_packages: &extra_packages
>>     - *required_packages
>> -  - [libbsd-dev, libpcap-dev, libcrypto++-dev, libjansson4]
>> +  - [libbsd-dev, libpcap-dev, libcrypto++-dev, libjansson4, abigail-tools]
> Will adding the abigail-tools automatically invoke the ABI checks?
> Otherwise, maybe it's best to save this for a future commit.
>
> I'll look for the robot build when it comes by.  Thanks!

Yes, the meson option that will be introduced with the "Add ABI 
compatibility checks to the meson build" [1] patch set will be set to 
"auto" meaning the checks will run if abidiff is found.

[1] http://patches.dpdk.org/project/dpdk/list/?series=7830

>
>>   build_32b_packages: &build_32b_packages
>>     - *required_packages

^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] [PATCH] ci: update travis to use bionic
  2019-12-17 15:04  3%   ` Laatz, Kevin
@ 2019-12-17 18:03  0%     ` Aaron Conole
  2019-12-19 16:12  0%       ` Laatz, Kevin
  0 siblings, 1 reply; 200+ results
From: Aaron Conole @ 2019-12-17 18:03 UTC (permalink / raw)
  To: Laatz, Kevin; +Cc: dev

"Laatz, Kevin" <kevin.laatz@intel.com> writes:

> On 17/12/2019 14:44, Aaron Conole wrote:
>> Kevin Laatz <kevin.laatz@intel.com> writes:
>>
>>> Currently, the Travis CI is using Ubuntu 16.04 LTS (Xenial) which is
>>> becoming increasingly outdated. This patch updates Travis to use Ubuntu
>>> 18.04 LTS (Bionic) which will give us the benefit of more up-to-date
>>> packages being availble and the newer features that come with them.
>>>
>>> Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
>>> ---
>>>   .travis.yml | 4 ++--
>>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/.travis.yml b/.travis.yml
>>> index 8f90d06f2..6e0626353 100644
>>> --- a/.travis.yml
>>> +++ b/.travis.yml
>>> @@ -4,7 +4,7 @@ compiler:
>>>     - gcc
>>>     - clang
>>>   -dist: xenial
>>> +dist: bionic
>> This LGTM.
>>
>>>   os:
>>>     - linux
>>> @@ -21,7 +21,7 @@ aarch64_packages: &aarch64_packages
>>>     extra_packages: &extra_packages
>>>     - *required_packages
>>> -  - [libbsd-dev, libpcap-dev, libcrypto++-dev, libjansson4]
>>> +  - [libbsd-dev, libpcap-dev, libcrypto++-dev, libjansson4, abigail-tools]
>> Will adding the abigail-tools automatically invoke the ABI checks?
>> Otherwise, maybe it's best to save this for a future commit.
>>
>> I'll look for the robot build when it comes by.  Thanks!
>
> Yes, the meson option that will be introduced with the "Add ABI
> compatibility checks to the meson build" [1] patch set will be set to
> "auto" meaning the checks will run if abidiff is found.

Okay.  I'm fine with that change.

> [1] http://patches.dpdk.org/project/dpdk/list/?series=7830

I noticed the shared builds are failing:
  https://travis-ci.com/ovsrobot/dpdk/jobs/268042693

But not sure what the issue is with librte_mempool_ring

Can you see why it would fail under bionic?

>>
>>>   build_32b_packages: &build_32b_packages
>>>     - *required_packages


^ permalink raw reply	[relevance 0%]

* [dpdk-dev]  DPDK Release Status Meeting 19/12/2019
@ 2019-12-19 11:32  4% Ferruh Yigit
  0 siblings, 0 replies; 200+ results
From: Ferruh Yigit @ 2019-12-19 11:32 UTC (permalink / raw)
  To: dpdk-dev; +Cc: Thomas Monjalon

Minutes 19 December 2019
------------------------

Agenda:
* Release Dates
* Subtrees
* OvS

Participants:
* Intel
* Marvell
* Mellanox
* Red Hat


The next two meetings have been cancelled because of coming holidays, see you
next year.
2019 was an amazing year for DPDK, thanks everyone who contributed, it wouldn't
be without you and hopefully 2020 will be even better.
Happy holidays, happy Christmas and a happy new year.


Release Dates
-------------

* v20.02 dates:
  * Integration/Merge/RC1:	Wednesday 15 January 2020
  * Release:			Friday 14 February 2020

  * Reminder for 20.02 roadmaps from contributors,
    Marvell, arm & Intel already sent, waiting from other contributors.

* v20.05 proposal:
  * Proposal/V1:		Friday 6 March 2020
  * Integration/Merge/RC1:	Friday 10 April 2020
  * Release:			Friday 1 May || Wed 13 May
    * 1-5 May holiday on PRC, we need to do the release before or after that
      Please comment on between 1 May or 13 May.


Subtrees
--------

* main
  * Not much activity
  * Working on ABI fix patch and ABI tooling

* next-net
  * Nothing much in both backlog and the repo
  * Started getting some patches from subtrees

* next-net-crypto
* next-net-eventdev
  * no update

* next-net-virtio
  * Working on virtio vdpa driver
    * vdpa will a new class type and will moved into common folder, this work
      will be done by mlx. virtio patch will have new version on top of this.

* next-net-intel
  * There are three big base code update patchsets will be merged next weeks
  * Some small patches merged, more to merge

* LTS

  * 18.11.6-rc1 released and waiting for testing,
    * Target release date is through end of January to give enough testing time


OvS
---

* OvS conference videos are online now:
  http://www.openvswitch.org/support/ovscon2019/



DPDK Release Status Meetings
============================

The DPDK Release Status Meeting is intended for DPDK Committers to discuss
the status of the master tree and sub-trees, and for project managers to
track progress or milestone dates.

The meeting occurs on Thursdays at 8:30 UTC. If you wish to attend just
send an email to "John McNamara <john.mcnamara@intel.com>" for the invite.

^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] [PATCH v3] build: fix soname info for 19.11 compatiblity
  2019-12-12 11:58 10% ` [dpdk-dev] [PATCH v3] " Bruce Richardson
                     ` (4 preceding siblings ...)
  2019-12-16 11:21  3%   ` Laatz, Kevin
@ 2019-12-19 12:42  0%   ` David Marchand
  2019-12-19 15:19  0%     ` Thomas Monjalon
  5 siblings, 1 reply; 200+ results
From: David Marchand @ 2019-12-19 12:42 UTC (permalink / raw)
  To: Bruce Richardson
  Cc: dev, Thomas Monjalon, Kinsella, Ray, Yigit, Ferruh, Luca Boccassi

On Thu, Dec 12, 2019 at 12:59 PM Bruce Richardson
<bruce.richardson@intel.com> wrote:
>
> The soname for each stable ABI version should be just the ABI version major
> number without the minor number. Unfortunately both major and minor were
> used causing version 20.1 to be incompatible with 20.0.
>
> This patch fixes the issue by switching from 2-part to 3-part ABI version
> numbers so that we can keep 20.0 as soname and using the final digits to
> identify the 20.x releases which are ABI compatible. This requires changes
> to both make and meson builds to handle the three-digit version and shrink
> it to 2-digit for soname.
>
> The final fix needed in this patch is to adjust the library version number
> for the ethtool example library, which needs to be upped to 2-digits, as
> external libraries using the DPDK build system also use the logic in this
> file.
>
> Fixes: cba806e07d6f ("build: change ABI versioning to global")
>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>

Tested-by: David Marchand <david.marchand@redhat.com>


-- 
David Marchand


^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH v3] build: fix soname info for 19.11 compatiblity
  2019-12-19 12:42  0%   ` David Marchand
@ 2019-12-19 15:19  0%     ` Thomas Monjalon
  0 siblings, 0 replies; 200+ results
From: Thomas Monjalon @ 2019-12-19 15:19 UTC (permalink / raw)
  To: Bruce Richardson
  Cc: dev, David Marchand, Kinsella, Ray, Yigit, Ferruh, Luca Boccassi

19/12/2019 13:42, David Marchand:
> On Thu, Dec 12, 2019 at 12:59 PM Bruce Richardson
> <bruce.richardson@intel.com> wrote:
> >
> > The soname for each stable ABI version should be just the ABI version major
> > number without the minor number. Unfortunately both major and minor were
> > used causing version 20.1 to be incompatible with 20.0.
> >
> > This patch fixes the issue by switching from 2-part to 3-part ABI version
> > numbers so that we can keep 20.0 as soname and using the final digits to
> > identify the 20.x releases which are ABI compatible. This requires changes
> > to both make and meson builds to handle the three-digit version and shrink
> > it to 2-digit for soname.
> >
> > The final fix needed in this patch is to adjust the library version number
> > for the ethtool example library, which needs to be upped to 2-digits, as
> > external libraries using the DPDK build system also use the logic in this
> > file.
> >
> > Fixes: cba806e07d6f ("build: change ABI versioning to global")
> >
> > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>

Acked-by: Neil Horman <nhorman@tuxdriver.com>
Tested-by: Ray Kinsella <mdr@ashroe.eu>
Tested-by: Ferruh Yigit <ferruh.yigit@intel.com>
Tested-by: Kevin Laatz <kevin.laatz@intel.com>

> Tested-by: David Marchand <david.marchand@redhat.com>

Applied, thanks



^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH] ci: update travis to use bionic
  2019-12-17 18:03  0%     ` Aaron Conole
@ 2019-12-19 16:12  0%       ` Laatz, Kevin
  0 siblings, 0 replies; 200+ results
From: Laatz, Kevin @ 2019-12-19 16:12 UTC (permalink / raw)
  To: Aaron Conole; +Cc: dev

On 17/12/2019 18:03, Aaron Conole wrote:
> "Laatz, Kevin" <kevin.laatz@intel.com> writes:
>
>> On 17/12/2019 14:44, Aaron Conole wrote:
>>> Kevin Laatz <kevin.laatz@intel.com> writes:
>>>
>>>> Currently, the Travis CI is using Ubuntu 16.04 LTS (Xenial) which is
>>>> becoming increasingly outdated. This patch updates Travis to use Ubuntu
>>>> 18.04 LTS (Bionic) which will give us the benefit of more up-to-date
>>>> packages being availble and the newer features that come with them.
>>>>
>>>> Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
>>>> ---
>>>>    .travis.yml | 4 ++--
>>>>    1 file changed, 2 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/.travis.yml b/.travis.yml
>>>> index 8f90d06f2..6e0626353 100644
>>>> --- a/.travis.yml
>>>> +++ b/.travis.yml
>>>> @@ -4,7 +4,7 @@ compiler:
>>>>      - gcc
>>>>      - clang
>>>>    -dist: xenial
>>>> +dist: bionic
>>> This LGTM.
>>>
>>>>    os:
>>>>      - linux
>>>> @@ -21,7 +21,7 @@ aarch64_packages: &aarch64_packages
>>>>      extra_packages: &extra_packages
>>>>      - *required_packages
>>>> -  - [libbsd-dev, libpcap-dev, libcrypto++-dev, libjansson4]
>>>> +  - [libbsd-dev, libpcap-dev, libcrypto++-dev, libjansson4, abigail-tools]
>>> Will adding the abigail-tools automatically invoke the ABI checks?
>>> Otherwise, maybe it's best to save this for a future commit.
>>>
>>> I'll look for the robot build when it comes by.  Thanks!
>> Yes, the meson option that will be introduced with the "Add ABI
>> compatibility checks to the meson build" [1] patch set will be set to
>> "auto" meaning the checks will run if abidiff is found.
> Okay.  I'm fine with that change.
>
>> [1] http://patches.dpdk.org/project/dpdk/list/?series=7830
> I noticed the shared builds are failing:
>    https://travis-ci.com/ovsrobot/dpdk/jobs/268042693
>
> But not sure what the issue is with librte_mempool_ring
>
> Can you see why it would fail under bionic?

Between Xenial and Bionic, there has been a slight change (RPATH 
related) in how shared objects are linked causing librte_mempool_ring to 
not be found.

Ruifeng has submitted a patch [1] that addresses this issue.

[1] http://patches.dpdk.org/patch/63978/

>>>>    build_32b_packages: &build_32b_packages
>>>>      - *required_packages
>>>>

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH v6 00/11] Add ABI compatibility checks to the meson build
  2019-12-13 16:40  8%       ` [dpdk-dev] [PATCH v6 00/11] Add ABI compatibility checks to the meson build Kevin Laatz
                           ` (10 preceding siblings ...)
  2019-12-13 16:41  3%         ` [dpdk-dev] [PATCH v6 11/11] build: clean up experimental syms check Kevin Laatz
@ 2019-12-19 21:58  9%         ` David Marchand
  2019-12-20 10:20  4%           ` Thomas Monjalon
  2019-12-20 11:04  9%           ` Bruce Richardson
  11 siblings, 2 replies; 200+ results
From: David Marchand @ 2019-12-19 21:58 UTC (permalink / raw)
  To: Kevin Laatz
  Cc: dev, Thomas Monjalon, Bruce Richardson, Kinsella, Ray,
	Tomasz Duszynski, Zyta Szpak, Rastislav Cernay, Aaron Conole

Hello Kevin,

On Fri, Dec 13, 2019 at 5:41 PM Kevin Laatz <kevin.laatz@intel.com> wrote:
>
> With the recent changes made to stabilize ABI versioning in DPDK, it will
> become increasingly important to check patches for ABI compatibility. We
> propose adding the ABI compatibility checking to be done as part of the
> build.
>
> The advantages to adding the ABI compatibility checking to the build are
> two-fold. Firstly, developers can easily check their patches to make sure
> they don’t break the ABI without adding any extra steps. Secondly, it
> makes the integration into existing CI seamless since there are no extra
> scripts to make the CI run. The build will run as usual and if an
> incompatibility is detected in the ABI, the build will fail and show the
> incompatibility. As an added bonus, enabling the ABI compatibility checks
> does not impact the build speed.
>
> The proposed solution works as follows:
> 1. Generate the ABI dump of the baseline. This can be done with the new
>    script added in this set. This step will only need to be done when the
>    ABI version changes (so once a year) and can be added to master so it
>    exists by default. This step can be skipped if the dump files for the
>    baseline already exist.
> 2. Build with meson. If there is an ABI incompatibility, the build will
>    fail and print the incompatibility information.
>
> The patches in this set include the ABI dump file generating script, the
> dump files for drivers and libs, the meson option required to
> enable/disable the checks, and the required meson changes to run the
> compatibility checks during the build.
>
> Note: This patch set depends on: http://patches.dpdk.org/patch/63765/.  The
> generated .dump files in this patch set are based on the changes in the
> patch "build: fix soname info for 19.11 compatibility". If a decision is
> made to use a different format for the sonames, then a new version of this
> patch set will be required as the .dump files will need to be regenerated.
>
> Note: The following driver dump files are not included in these patches:
>         common/mvep:    missing dependency, "libmusdk"
>         net/mvneta:     missing dependency, "libmusdk"
>         net/mvpp2:      missing dependency, "libmusdk"
>         net/nfb:        missing dependency, "libnfb"
>         crypto/mvsam:   missing dependency, "libmusdk"
>
> They have not been included as I do not have access to these dependencies.
> Please feel free to add them if you can! (Maintainers of the above Cc'ed).

- I asked for the dump files, but I can see that it is impractical.

The dump files are huge. I did not expect that :-).
The dump files are architecture specific and maintaining multi arch
dumps would be even bigger than just what you sent for x86_64.
(not even considering the changes in ABI if some configuration items
have an impact...).

As you pointed out, people who don't have all dependencies won't
create/update those dump files.
Dealing with ABI updates (thinking of bumping the ABI version) is
likely a maintainer job, but it will be a source of issues and we
(maintainers) might miss some updates especially for drivers we can't
build.


- Why do we restrict the checks to meson?
The make build framework is going to disappear ok, but we can't leave
it untested.
People still rely on it.

Checking the ABI is orthogonal to building DPDK.
Dumping the ABI and checking it against objects can be done externally.


- For those reasons, I have been trying an alternate approach [1]: in
Travis, generate a reference dump based on the first ancestor tag,
then build the proposed patches.
All contributions get picked up by Aaron robot and would have to pass
through this check.

As an exercise, I tried to integrate Eelco patch [2], that moves
symbols from EXPERIMENTAL to a stable ABI. The check passes fine.
I also tried to bump the ABI major version. The check fails, as
expected, but I prepared a way to bypass such failures for the
releases where we will explicitely break ABI.

For maintainers that integrate patches or developers that get a CI
failure and want to fix it, we would need to help them to:
* generate dumps on a reference version, so I would tend to write some
documentation since playing with the current sources would be too
dangerous from my pov,
* run the checks, like adding the check in the
devtools/test-*-build.sh scripts that already exist, with a new
configuration item to point at the dumps per target,

Those last two points are still to be done.

WDYT?


1: https://github.com/david-marchand/dpdk/commit/f18de2ec157f3cc1e7b319cb19700e1b5e9cecde
2: https://patchwork.dpdk.org/patch/63970/

--
David Marchand


^ permalink raw reply	[relevance 9%]

* Re: [dpdk-dev] [PATCH v6 00/11] Add ABI compatibility checks to the meson build
  2019-12-19 21:58  9%         ` [dpdk-dev] [PATCH v6 00/11] Add ABI compatibility checks to the meson build David Marchand
@ 2019-12-20 10:20  4%           ` Thomas Monjalon
  2019-12-20 11:04  9%           ` Bruce Richardson
  1 sibling, 0 replies; 200+ results
From: Thomas Monjalon @ 2019-12-20 10:20 UTC (permalink / raw)
  To: David Marchand, Kevin Laatz
  Cc: dev, Bruce Richardson, Kinsella, Ray, Tomasz Duszynski,
	Zyta Szpak, Rastislav Cernay, Aaron Conole

19/12/2019 22:58, David Marchand:
> On Fri, Dec 13, 2019 at 5:41 PM Kevin Laatz <kevin.laatz@intel.com> wrote:
> > The proposed solution works as follows:
> > 1. Generate the ABI dump of the baseline. This can be done with the new
> >    script added in this set. This step will only need to be done when the
> >    ABI version changes (so once a year) and can be added to master so it
> >    exists by default. This step can be skipped if the dump files for the
> >    baseline already exist.
> > 2. Build with meson. If there is an ABI incompatibility, the build will
> >    fail and print the incompatibility information.
[...]
> - I asked for the dump files, but I can see that it is impractical.
> 
> The dump files are huge. I did not expect that :-).
> The dump files are architecture specific and maintaining multi arch
> dumps would be even bigger than just what you sent for x86_64.
> (not even considering the changes in ABI if some configuration items
> have an impact...).

I agree that dump files are better managed outside of git.


> As you pointed out, people who don't have all dependencies won't
> create/update those dump files.
> Dealing with ABI updates (thinking of bumping the ABI version) is
> likely a maintainer job, but it will be a source of issues and we
> (maintainers) might miss some updates especially for drivers we can't
> build.
> 
> 
> - Why do we restrict the checks to meson?
> The make build framework is going to disappear ok, but we can't leave
> it untested.
> People still rely on it.
> 
> Checking the ABI is orthogonal to building DPDK.
> Dumping the ABI and checking it against objects can be done externally.

I agree we should not rely on meson for running the check.


> - For those reasons, I have been trying an alternate approach [1]: in
> Travis, generate a reference dump based on the first ancestor tag,
> then build the proposed patches.
> All contributions get picked up by Aaron robot and would have to pass
> through this check.
> 
> As an exercise, I tried to integrate Eelco patch [2], that moves
> symbols from EXPERIMENTAL to a stable ABI. The check passes fine.
> I also tried to bump the ABI major version. The check fails, as
> expected, but I prepared a way to bypass such failures for the
> releases where we will explicitely break ABI.
> 
> For maintainers that integrate patches or developers that get a CI
> failure and want to fix it, we would need to help them to:
> * generate dumps on a reference version, so I would tend to write some
> documentation since playing with the current sources would be too
> dangerous from my pov,
> * run the checks, like adding the check in the
> devtools/test-*-build.sh scripts that already exist, with a new
> configuration item to point at the dumps per target,

We can start with a documented process,
and write a separate script later if we feel it helps.


> Those last two points are still to be done.
> 
> WDYT?
> 
> 
> 1: https://github.com/david-marchand/dpdk/commit/f18de2ec157f3cc1e7b319cb19700e1b5e9cecde
> 2: https://patchwork.dpdk.org/patch/63970/


Thanks to both of you trying some approaches and making progress.



^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] [PATCH v6 00/11] Add ABI compatibility checks to the meson build
  2019-12-19 21:58  9%         ` [dpdk-dev] [PATCH v6 00/11] Add ABI compatibility checks to the meson build David Marchand
  2019-12-20 10:20  4%           ` Thomas Monjalon
@ 2019-12-20 11:04  9%           ` Bruce Richardson
  2019-12-20 13:19  9%             ` David Marchand
  1 sibling, 1 reply; 200+ results
From: Bruce Richardson @ 2019-12-20 11:04 UTC (permalink / raw)
  To: David Marchand
  Cc: Kevin Laatz, dev, Thomas Monjalon, Kinsella, Ray,
	Tomasz Duszynski, Zyta Szpak, Rastislav Cernay, Aaron Conole

On Thu, Dec 19, 2019 at 10:58:35PM +0100, David Marchand wrote:
> Hello Kevin,
> 
> On Fri, Dec 13, 2019 at 5:41 PM Kevin Laatz <kevin.laatz@intel.com> wrote:
> >
> > With the recent changes made to stabilize ABI versioning in DPDK, it will
> > become increasingly important to check patches for ABI compatibility. We
> > propose adding the ABI compatibility checking to be done as part of the
> > build.
> >
> > The advantages to adding the ABI compatibility checking to the build are
> > two-fold. Firstly, developers can easily check their patches to make sure
> > they don’t break the ABI without adding any extra steps. Secondly, it
> > makes the integration into existing CI seamless since there are no extra
> > scripts to make the CI run. The build will run as usual and if an
> > incompatibility is detected in the ABI, the build will fail and show the
> > incompatibility. As an added bonus, enabling the ABI compatibility checks
> > does not impact the build speed.
> >
> > The proposed solution works as follows:
> > 1. Generate the ABI dump of the baseline. This can be done with the new
> >    script added in this set. This step will only need to be done when the
> >    ABI version changes (so once a year) and can be added to master so it
> >    exists by default. This step can be skipped if the dump files for the
> >    baseline already exist.
> > 2. Build with meson. If there is an ABI incompatibility, the build will
> >    fail and print the incompatibility information.
> >
> > The patches in this set include the ABI dump file generating script, the
> > dump files for drivers and libs, the meson option required to
> > enable/disable the checks, and the required meson changes to run the
> > compatibility checks during the build.
> >
> > Note: This patch set depends on: http://patches.dpdk.org/patch/63765/.  The
> > generated .dump files in this patch set are based on the changes in the
> > patch "build: fix soname info for 19.11 compatibility". If a decision is
> > made to use a different format for the sonames, then a new version of this
> > patch set will be required as the .dump files will need to be regenerated.
> >
> > Note: The following driver dump files are not included in these patches:
> >         common/mvep:    missing dependency, "libmusdk"
> >         net/mvneta:     missing dependency, "libmusdk"
> >         net/mvpp2:      missing dependency, "libmusdk"
> >         net/nfb:        missing dependency, "libnfb"
> >         crypto/mvsam:   missing dependency, "libmusdk"
> >
> > They have not been included as I do not have access to these dependencies.
> > Please feel free to add them if you can! (Maintainers of the above Cc'ed).
> 
> - I asked for the dump files, but I can see that it is impractical.
> 
> The dump files are huge. I did not expect that :-).

Yes, they are big alright, but on the other hand, they also don't change
very much (we hope!)

> The dump files are architecture specific and maintaining multi arch
> dumps would be even bigger than just what you sent for x86_64.
> (not even considering the changes in ABI if some configuration items
> have an impact...).

Good point, we missed that when looking at this.

> 
> As you pointed out, people who don't have all dependencies won't
> create/update those dump files.

Well, the creation should be a once-off, the comparison is what is done
regularly and needs the build tools.

> Dealing with ABI updates (thinking of bumping the ABI version) is
> likely a maintainer job, but it will be a source of issues and we
> (maintainers) might miss some updates especially for drivers we can't
> build.
> 
> 
> - Why do we restrict the checks to meson?
> The make build framework is going to disappear ok, but we can't leave
> it untested.
> People still rely on it.
> 
Because as you point out below, checking the ABI is technically orthogonal
to building the DPDK, so we didn't see the payoff in adding support to two
build systems as being worth the additional effort.

> Checking the ABI is orthogonal to building DPDK.
> Dumping the ABI and checking it against objects can be done externally.
> 

True, but the advantage of doing so as part of each and every build is that
any ABI break is caught by the original developer before he even submits
his patch to the CI. As with so many things, the earlier in the process
that something can be run the better it is.

> 
> - For those reasons, I have been trying an alternate approach [1]: in
> Travis, generate a reference dump based on the first ancestor tag,
> then build the proposed patches.
> All contributions get picked up by Aaron robot and would have to pass
> through this check.

Yes, the alternative to having the checks done at build time is to have
them done as part of the CI, though I'd personally perfer the former.

> 
> As an exercise, I tried to integrate Eelco patch [2], that moves
> symbols from EXPERIMENTAL to a stable ABI. The check passes fine.
> I also tried to bump the ABI major version. The check fails, as
> expected, but I prepared a way to bypass such failures for the
> releases where we will explicitely break ABI.
> 

IMHO: we should not bypass such failures, but instead update our reference
ABI dumps. This is one reason why having the ABI spec in the git repo would
work well, any patches that change ABI would also include the updates to
the dump files.

> For maintainers that integrate patches or developers that get a CI
> failure and want to fix it, we would need to help them to:
> * generate dumps on a reference version, so I would tend to write some
> documentation since playing with the current sources would be too
> dangerous from my pov,

This should be a one-off reference dump archived somewhere. Each maintainer
should not have his own copy, I think.

> * run the checks, like adding the check in the
> devtools/test-*-build.sh scripts that already exist, with a new
> configuration item to point at the dumps per target,
> 

Where do we store the dumps then? Do they get stored in a separate git
repo?

> Those last two points are still to be done.
> 
> WDYT?
> 
Makes sense. I still prefer a solution where we keep the offical ABI in git
alongside the source code, but I realise that doing so for multiple
archtectures is likely to get to be very big. However, since these are
plain text files though, they should compress well when stored in the git
repo itself or when being pushed/pulled. [And again, the deltas for these
should be pretty tiny, even when we do update the ABI].

/Bruce

^ permalink raw reply	[relevance 9%]

* Re: [dpdk-dev] [PATCH v6 00/11] Add ABI compatibility checks to the meson build
  2019-12-20 11:04  9%           ` Bruce Richardson
@ 2019-12-20 13:19  9%             ` David Marchand
  2019-12-20 14:17  9%               ` Bruce Richardson
  0 siblings, 1 reply; 200+ results
From: David Marchand @ 2019-12-20 13:19 UTC (permalink / raw)
  To: Bruce Richardson
  Cc: Kevin Laatz, dev, Thomas Monjalon, Kinsella, Ray,
	Tomasz Duszynski, Zyta Szpak, Rastislav Cernay, Aaron Conole

On Fri, Dec 20, 2019 at 12:04 PM Bruce Richardson
<bruce.richardson@intel.com> wrote:
> > For maintainers that integrate patches or developers that get a CI
> > failure and want to fix it, we would need to help them to:
> > * generate dumps on a reference version, so I would tend to write some
> > documentation since playing with the current sources would be too
> > dangerous from my pov,
>
> This should be a one-off reference dump archived somewhere. Each maintainer
> should not have his own copy, I think.

This is not a one-off thing.
We maintain ABI for some time (1/2 year(s)), and we expect to bump ABI.
When doing this, in size, the diff will be at least the same than what
we have here.


If you disable libraries, features etc... you get a new ABI.
What would be the reference*s* then?
Builds with default options from meson for each architecture?


> > * run the checks, like adding the check in the
> > devtools/test-*-build.sh scripts that already exist, with a new
> > configuration item to point at the dumps per target,
> >
>
> Where do we store the dumps then? Do they get stored in a separate git
> repo?

Creating a separate git repo is just adding more pain to submitters
(/maintainers): they would have to submit (/apply) patches against two
trees.


--
David Marchand


^ permalink raw reply	[relevance 9%]

* Re: [dpdk-dev] [PATCH v6 00/11] Add ABI compatibility checks to the meson build
  2019-12-20 13:19  9%             ` David Marchand
@ 2019-12-20 14:17  9%               ` Bruce Richardson
  2020-01-06 13:20  7%                 ` Aaron Conole
  0 siblings, 1 reply; 200+ results
From: Bruce Richardson @ 2019-12-20 14:17 UTC (permalink / raw)
  To: David Marchand
  Cc: Kevin Laatz, dev, Thomas Monjalon, Kinsella, Ray,
	Tomasz Duszynski, Zyta Szpak, Rastislav Cernay, Aaron Conole

On Fri, Dec 20, 2019 at 02:19:13PM +0100, David Marchand wrote:
> On Fri, Dec 20, 2019 at 12:04 PM Bruce Richardson
> <bruce.richardson@intel.com> wrote:
> > > For maintainers that integrate patches or developers that get a CI
> > > failure and want to fix it, we would need to help them to:
> > > * generate dumps on a reference version, so I would tend to write some
> > > documentation since playing with the current sources would be too
> > > dangerous from my pov,
> >
> > This should be a one-off reference dump archived somewhere. Each maintainer
> > should not have his own copy, I think.
> 
> This is not a one-off thing.
> We maintain ABI for some time (1/2 year(s)), and we expect to bump ABI.
> When doing this, in size, the diff will be at least the same than what
> we have here.
> 

I don't think it will be quite that big, but ok, it may be significant, so
I will concede that these are too big to store in the main git repo.

> 
> If you disable libraries, features etc... you get a new ABI.
> What would be the reference*s* then?
> Builds with default options from meson for each architecture?
> 

On the project level API, yes, removing libraries/drivers does affect
things. However, the specific checks are done on the individual .so level,
so having some drivers off in the build should not be a problem. Even with
features - all public functions need to correspond with map file entries,
so we can't conditionally remove them without providing a stub AFAIK.
Therefore, having one master reference of the DPDK_20 ABI is perfectly
feasible.

> 
> > > * run the checks, like adding the check in the
> > > devtools/test-*-build.sh scripts that already exist, with a new
> > > configuration item to point at the dumps per target,
> > >
> >
> > Where do we store the dumps then? Do they get stored in a separate git
> > repo?
> 
> Creating a separate git repo is just adding more pain to submitters
> (/maintainers): they would have to submit (/apply) patches against two
> trees.
> 

Well, the official ABI dumps need to be stored somewhere, because if it's
an official ABI, then it is exactly that. There cannot be different people
with different versions of the ABI to check against. Everyone should check
against the one common, official reference.

Regards,
/Bruce

^ permalink raw reply	[relevance 9%]

* [dpdk-dev] [PATCH] add ABI checks
@ 2019-12-20 15:20 25% David Marchand
  2019-12-20 15:32  7% ` Richardson, Bruce
  2019-12-20 20:25  8% ` Neil Horman
  0 siblings, 2 replies; 200+ results
From: David Marchand @ 2019-12-20 15:20 UTC (permalink / raw)
  To: dev
  Cc: thomas, bruce.richardson, kevin.laatz, aconole, nhorman,
	Michael Santana, John McNamara, Marko Kovacevic

Starting from Kevin and Bruce idea of using libabigail, here is an
alternate approach to implement ABI checks.

By default, those checks are disabled and enabling them requires a
manual step that generates the ABI dumps on a reference version for a
set of configurations.

Those checks are enabled in the CI by default for the default meson
options on x86 and aarch64 so that proposed patches are validated.
A cache of the ABI is stored in travis jobs.
Checks can be only informational by setting ABI_CHECKS_WARN_ONLY when
breaking the ABI in a future release.

For advanced developers and maintainers, the contributing guide details
the higher level scripts that are quite close to the existing devtools
scripts.

Signed-off-by: David Marchand <david.marchand@redhat.com>
---
 .ci/linux-build.sh                  | 43 +++++++++++++++++++++++++++
 .travis.yml                         | 20 +++++++++++--
 devtools/check-abi-dump.sh          | 46 +++++++++++++++++++++++++++++
 devtools/check-abi-reference.sh     | 27 +++++++++++++++++
 devtools/dpdk.abignore              |  2 ++
 devtools/gen-abi-dump.sh            | 29 ++++++++++++++++++
 devtools/gen-abi-reference.sh       | 24 +++++++++++++++
 devtools/test-build.sh              | 13 ++++++--
 devtools/test-meson-builds.sh       |  6 ++++
 doc/guides/contributing/patches.rst | 25 ++++++++++++++++
 10 files changed, 230 insertions(+), 5 deletions(-)
 create mode 100755 devtools/check-abi-dump.sh
 create mode 100755 devtools/check-abi-reference.sh
 create mode 100644 devtools/dpdk.abignore
 create mode 100755 devtools/gen-abi-dump.sh
 create mode 100755 devtools/gen-abi-reference.sh

diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh
index ccc3a7ccd..345dba264 100755
--- a/.ci/linux-build.sh
+++ b/.ci/linux-build.sh
@@ -30,8 +30,51 @@ fi
 
 OPTS="$OPTS --default-library=$DEF_LIB"
 meson build --werror -Dexamples=all $OPTS
+
+if [ "$ABI_CHECKS" = "1" ]; then
+    git remote add ref ${REF_GIT_REPO:-https://dpdk.org/git/dpdk}
+    git fetch --tags ref ${REF_GIT_BRANCH:-master}
+
+    head=$(git describe --all)
+    tag=$(git describe --abbrev=0)
+
+    if [ "$(cat reference/VERSION 2>/dev/null)" != "$tag" ]; then
+        rm -rf reference
+    fi
+
+    if [ ! -d reference ]; then
+        gen_abi_dump=$(mktemp -t gen-abi-dump-XXX.sh)
+        cp -a devtools/gen-abi-dump.sh $gen_abi_dump
+
+        git checkout -qf $tag
+        ninja -C build
+        $gen_abi_dump build reference
+
+        if [ "$AARCH64" != "1" ]; then
+            mkdir -p reference/app
+            cp -a build/app/dpdk-testpmd reference/app/
+
+            export LD_LIBRARY_PATH=$(pwd)/build/lib:$(pwd)/build/drivers
+            devtools/test-null.sh reference/app/dpdk-testpmd
+            unset LD_LIBRARY_PATH
+        fi
+        echo $tag > reference/VERSION
+
+        git checkout -qf $head
+    fi
+fi
+
 ninja -C build
 
+if [ "$ABI_CHECKS" = "1" ]; then
+    devtools/check-abi-dump.sh build reference ${ABI_CHECKS_WARN_ONLY:-}
+    if [ "$AARCH64" != "1" ]; then
+        export LD_LIBRARY_PATH=$(pwd)/build/lib:$(pwd)/build/drivers
+        devtools/test-null.sh reference/app/dpdk-testpmd
+        unset LD_LIBRARY_PATH
+    fi
+fi
+
 if [ "$AARCH64" != "1" ]; then
     devtools/test-null.sh
 fi
diff --git a/.travis.yml b/.travis.yml
index 8f90d06f2..bbb060fa2 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,5 +1,8 @@
 language: c
-cache: ccache
+cache:
+  ccache: true
+  directories:
+    - reference
 compiler:
   - gcc
   - clang
@@ -21,7 +24,7 @@ aarch64_packages: &aarch64_packages
 
 extra_packages: &extra_packages
   - *required_packages
-  - [libbsd-dev, libpcap-dev, libcrypto++-dev, libjansson4]
+  - [libbsd-dev, libpcap-dev, libcrypto++-dev, libjansson4, abigail-tools]
 
 build_32b_packages: &build_32b_packages
   - *required_packages
@@ -59,6 +62,13 @@ matrix:
       apt:
         packages:
           - *aarch64_packages
+  - env: DEF_LIB="shared" EXTRA_PACKAGES=1 ABI_CHECKS=1 AARCH64=1
+    compiler: gcc
+    addons:
+      apt:
+        packages:
+          - *aarch64_packages
+          - *extra_packages
   - env: DEF_LIB="static" EXTRA_PACKAGES=1
     compiler: gcc
     addons:
@@ -72,6 +82,12 @@ matrix:
         packages:
           - *extra_packages
           - *doc_packages
+  - env: DEF_LIB="shared" EXTRA_PACKAGES=1 ABI_CHECKS=1
+    compiler: gcc
+    addons:
+      apt:
+        packages:
+          - *extra_packages
   - env: DEF_LIB="static" OPTS="-Denable_kmods=false" EXTRA_PACKAGES=1
     compiler: gcc
     addons:
diff --git a/devtools/check-abi-dump.sh b/devtools/check-abi-dump.sh
new file mode 100755
index 000000000..f48a2ae7e
--- /dev/null
+++ b/devtools/check-abi-dump.sh
@@ -0,0 +1,46 @@
+#!/bin/sh -e
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright (c) 2019 Red Hat, Inc.
+
+if [ $# != 2 ] && [ $# != 3 ]; then
+	echo "Usage: $0 builddir dumpdir [warnonly]"
+	exit 1
+fi
+
+builddir=$1
+dumpdir=$2
+warnonly=${3:-}
+if [ ! -d $builddir ]; then
+	echo "Error: build directory '$builddir' does not exist."
+	exit 1
+fi
+if [ ! -d $dumpdir ]; then
+	echo "Error: dump directory '$dumpdir' does not exist."
+	exit 1
+fi
+
+ABIDIFF_OPTIONS="--suppr $(dirname $0)/dpdk.abignore"
+for dump in $(find $dumpdir -name "*.dump"); do
+	libname=$(basename $dump)
+	libname=${libname%.dump}
+	result=
+	for f in $(find $builddir -name "$libname.so.*"); do
+		if test -L $f || [ "$f" != "${f%%.symbols}" ]; then
+			continue
+		fi
+		result=found
+
+		if ! abidiff $ABIDIFF_OPTIONS $dump $f; then
+			if [ -z "$warnonly" ]; then
+				echo "Error: ABI issue reported for $dump, $f"
+				exit 1
+			fi
+			echo "Warning: ABI issue reported for $dump, $f"
+		fi
+		break
+	done
+	if [ "$result" != "found" ]; then
+		echo "Error: can't find a library for dump file $dump"
+		exit 1
+	fi
+done
diff --git a/devtools/check-abi-reference.sh b/devtools/check-abi-reference.sh
new file mode 100755
index 000000000..7addb094e
--- /dev/null
+++ b/devtools/check-abi-reference.sh
@@ -0,0 +1,27 @@
+#!/bin/sh -e
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright (c) 2019 Red Hat, Inc.
+
+devtools_dir=$(dirname $(readlink -f $0))
+. $devtools_dir/load-devel-config
+
+abi_ref_build_dir=${DPDK_ABI_REF_BUILD_DIR:-reference}
+builds_dir=${DPDK_BUILD_TEST_DIR:-.}
+
+for dir in $abi_ref_build_dir/*; do
+	if [ "$dir" = "$abi_ref_build_dir" ]; then
+		exit 1
+	fi
+	if [ ! -d $dir/dump ]; then
+		echo "Skipping $dir"
+		continue
+	fi
+	target=$(basename $dir)
+	if [ -d $builds_dir/$target/install ]; then
+		libdir=$builds_dir/$target/install
+	else
+		libdir=$builds_dir/$target
+	fi
+	echo "Checking ABI between $libdir and $dir/dump"
+	$devtools_dir/check-abi-dump.sh $libdir $dir/dump
+done
diff --git a/devtools/dpdk.abignore b/devtools/dpdk.abignore
new file mode 100644
index 000000000..b866b7f26
--- /dev/null
+++ b/devtools/dpdk.abignore
@@ -0,0 +1,2 @@
+[suppress_function]
+        symbol_version = EXPERIMENTAL
diff --git a/devtools/gen-abi-dump.sh b/devtools/gen-abi-dump.sh
new file mode 100755
index 000000000..4e38d751f
--- /dev/null
+++ b/devtools/gen-abi-dump.sh
@@ -0,0 +1,29 @@
+#!/bin/sh -e
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright (c) 2019 Red Hat, Inc.
+
+if [ $# != 2 ]; then
+	echo "Usage: $0 builddir dumpdir"
+	exit 1
+fi
+
+builddir=$1
+dumpdir=$2
+if [ ! -d $builddir ]; then
+	echo "Error: build directory '$builddir' does not exist."
+	exit 1
+fi
+if [ -d $dumpdir ]; then
+	echo "Error: dump directory '$dumpdir' already exists."
+	exit 1
+fi
+
+mkdir -p $dumpdir
+for f in $(find $builddir -name "*.so.*"); do
+	if test -L $f || [ "$f" != "${f%%.symbols}" ]; then
+		continue
+	fi
+
+	libname=$(basename $f)
+	abidw --out-file $dumpdir/${libname%.so.*}.dump $f
+done
diff --git a/devtools/gen-abi-reference.sh b/devtools/gen-abi-reference.sh
new file mode 100755
index 000000000..f41d7fadc
--- /dev/null
+++ b/devtools/gen-abi-reference.sh
@@ -0,0 +1,24 @@
+#!/bin/sh -e
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright (c) 2019 Red Hat, Inc.
+
+devtools_dir=$(dirname $(readlink -f $0))
+. $devtools_dir/load-devel-config
+
+abi_ref_build_dir=${DPDK_ABI_REF_BUILD_DIR:-reference}
+for dir in $abi_ref_build_dir/*; do
+	if [ "$dir" = "$abi_ref_build_dir" ]; then
+		exit 1
+	fi
+	if [ -d $dir/dump ]; then
+		echo "Skipping $dir"
+		continue
+	fi
+	if [ -d $dir/install ]; then
+		libdir=$dir/install
+	else
+		libdir=$dir
+	fi
+	echo "Dumping libraries from $libdir in $dir/dump"
+	$devtools_dir/gen-abi-dump.sh $libdir $dir/dump
+done
diff --git a/devtools/test-build.sh b/devtools/test-build.sh
index 52305fbb8..8cb5b56fb 100755
--- a/devtools/test-build.sh
+++ b/devtools/test-build.sh
@@ -30,7 +30,8 @@ default_path=$PATH
 # - LIBSSO_SNOW3G_PATH
 # - LIBSSO_KASUMI_PATH
 # - LIBSSO_ZUC_PATH
-. $(dirname $(readlink -f $0))/load-devel-config
+devtools_dir=$(dirname $(readlink -f $0))
+. $devtools_dir/load-devel-config
 
 print_usage () {
 	echo "usage: $(basename $0) [-h] [-jX] [-s] [config1 [config2] ...]]"
@@ -64,6 +65,7 @@ print_help () {
 [ -z $MAKE ] && echo "Cannot find make or gmake" && exit 1
 
 J=$DPDK_MAKE_JOBS
+abi_ref_build_dir=${DPDK_ABI_REF_BUILD_DIR:-reference}
 builds_dir=${DPDK_BUILD_TEST_DIR:-.}
 short=false
 unset verbose
@@ -97,7 +99,7 @@ trap "signal=INT ; trap - INT ; kill -INT $$" INT
 # notify result on exit
 trap on_exit EXIT
 
-cd $(dirname $(readlink -f $0))/..
+cd $devtools_dir/..
 
 reset_env ()
 {
@@ -233,7 +235,7 @@ for conf in $configs ; do
 	# reload config with DPDK_TARGET set
 	DPDK_TARGET=$target
 	reset_env
-	. $(dirname $(readlink -f $0))/load-devel-config
+	. $devtools_dir/load-devel-config
 
 	options=$(echo $conf | sed 's,[^~+]*,,')
 	dir=$builds_dir/$conf
@@ -246,6 +248,11 @@ for conf in $configs ; do
 	export RTE_TARGET=$target
 	rm -rf $dir/install
 	${MAKE} install O=$dir DESTDIR=$dir/install prefix=
+	if [ -d $abi_ref_build_dir/$conf/dump ]; then
+		echo "================== Check ABI $conf"
+		$devtools_dir/check-abi-dump.sh $dir/install \
+			$abi_ref_build_dir/$conf/dump
+	fi
 	echo "================== Build examples for $conf"
 	export RTE_SDK=$(readlink -f $dir)/install/share/dpdk
 	ln -sTf $(pwd)/lib $RTE_SDK/lib # workaround for vm_power_manager
diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh
index 688567714..aaefa38a2 100755
--- a/devtools/test-meson-builds.sh
+++ b/devtools/test-meson-builds.sh
@@ -16,6 +16,7 @@ srcdir=$(dirname $(readlink -f $0))/..
 
 MESON=${MESON:-meson}
 use_shared="--default-library=shared"
+abi_ref_build_dir=${DPDK_ABI_REF_BUILD_DIR:-reference}
 builds_dir=${DPDK_BUILD_TEST_DIR:-.}
 
 if command -v gmake >/dev/null 2>&1 ; then
@@ -88,6 +89,11 @@ build () # <directory> <target compiler> <meson options>
 		echo "$ninja_cmd -C $builddir"
 		$ninja_cmd -C $builddir
 	fi
+
+	if [ -d $abi_ref_build_dir/$1/dump ]; then
+		$srcdir/devtools/check-abi-dump.sh $builddir
+			$abi_ref_build_dir/$1/dump
+	fi
 }
 
 if [ "$1" = "-vv" ] ; then
diff --git a/doc/guides/contributing/patches.rst b/doc/guides/contributing/patches.rst
index 0686450e4..de3dff145 100644
--- a/doc/guides/contributing/patches.rst
+++ b/doc/guides/contributing/patches.rst
@@ -513,6 +513,31 @@ in a single subfolder called "__builds" created in the current directory.
 Setting ``DPDK_BUILD_TEST_DIR`` to an absolute directory path e.g. ``/tmp`` is also supported.
 
 
+Checking ABI compatibility
+--------------------------
+
+The first thing is to build reference binaries for the latest release your
+patches are built on top of.
+
+Either you are in a git tree and an easy way to identify this is to run::
+
+  git checkout $(git describe --abbrev=0)
+
+Or you use a tarball and you extract the sources in a director of your choice.
+
+Next is building those sources, refer to the previous paragraph.
+You can set ``DPDK_BUILD_TEST_DIR=reference``, so that the builds occur in this
+directory.
+
+Finally, the ABI dump files are generated with the
+``devtools/gen-abi-reference.sh`` script. This script will look for builds in
+the current sub directory ``reference``. But you can set the environment
+variable ``DPDK_ABI_REF_BUILD_DIR`` to a different location.
+
+Once done, you can check your current binaries ABI with this reference with the
+``devtools/check-abi-reference.sh`` script.
+
+
 Sending Patches
 ---------------
 
-- 
2.23.0


^ permalink raw reply	[relevance 25%]

* Re: [dpdk-dev] [PATCH] add ABI checks
  2019-12-20 15:20 25% [dpdk-dev] [PATCH] add ABI checks David Marchand
@ 2019-12-20 15:32  7% ` Richardson, Bruce
  2019-12-20 16:20  4%   ` Kinsella, Ray
  2019-12-20 20:25  8% ` Neil Horman
  1 sibling, 1 reply; 200+ results
From: Richardson, Bruce @ 2019-12-20 15:32 UTC (permalink / raw)
  To: David Marchand, dev
  Cc: thomas, Laatz, Kevin, aconole, nhorman, Michael Santana,
	Mcnamara, John, Kovacevic, Marko, Kinsella, Ray



> -----Original Message-----
> From: David Marchand <david.marchand@redhat.com>
> Sent: Friday, December 20, 2019 3:21 PM
> To: dev@dpdk.org
> Cc: thomas@monjalon.net; Richardson, Bruce <bruce.richardson@intel.com>;
> Laatz, Kevin <kevin.laatz@intel.com>; aconole@redhat.com;
> nhorman@tuxdriver.com; Michael Santana <maicolgabriel@hotmail.com>;
> Mcnamara, John <john.mcnamara@intel.com>; Kovacevic, Marko
> <marko.kovacevic@intel.com>
> Subject: [PATCH] add ABI checks
> 
> Starting from Kevin and Bruce idea of using libabigail, here is an
> alternate approach to implement ABI checks.
> 
> By default, those checks are disabled and enabling them requires a manual
> step that generates the ABI dumps on a reference version for a set of
> configurations.
> 
> Those checks are enabled in the CI by default for the default meson
> options on x86 and aarch64 so that proposed patches are validated.
> A cache of the ABI is stored in travis jobs.
> Checks can be only informational by setting ABI_CHECKS_WARN_ONLY when
> breaking the ABI in a future release.
> 
> For advanced developers and maintainers, the contributing guide details
> the higher level scripts that are quite close to the existing devtools
> scripts.
> 
> Signed-off-by: David Marchand <david.marchand@redhat.com>
> ---
>  .ci/linux-build.sh                  | 43 +++++++++++++++++++++++++++
>  .travis.yml                         | 20 +++++++++++--
>  devtools/check-abi-dump.sh          | 46 +++++++++++++++++++++++++++++
>  devtools/check-abi-reference.sh     | 27 +++++++++++++++++
>  devtools/dpdk.abignore              |  2 ++
>  devtools/gen-abi-dump.sh            | 29 ++++++++++++++++++
>  devtools/gen-abi-reference.sh       | 24 +++++++++++++++
>  devtools/test-build.sh              | 13 ++++++--
>  devtools/test-meson-builds.sh       |  6 ++++
>  doc/guides/contributing/patches.rst | 25 ++++++++++++++++
>  10 files changed, 230 insertions(+), 5 deletions(-)  create mode 100755
> devtools/check-abi-dump.sh  create mode 100755 devtools/check-abi-
> reference.sh  create mode 100644 devtools/dpdk.abignore  create mode
> 100755 devtools/gen-abi-dump.sh  create mode 100755 devtools/gen-abi-
> reference.sh
> 
> diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh index
> ccc3a7ccd..345dba264 100755
> --- a/.ci/linux-build.sh
> +++ b/.ci/linux-build.sh
> @@ -30,8 +30,51 @@ fi
> 
>  OPTS="$OPTS --default-library=$DEF_LIB"
>  meson build --werror -Dexamples=all $OPTS
> +
> +if [ "$ABI_CHECKS" = "1" ]; then
> +    git remote add ref ${REF_GIT_REPO:-https://dpdk.org/git/dpdk}
> +    git fetch --tags ref ${REF_GIT_BRANCH:-master}
> +
> +    head=$(git describe --all)
> +    tag=$(git describe --abbrev=0)
> +
> +    if [ "$(cat reference/VERSION 2>/dev/null)" != "$tag" ]; then
> +        rm -rf reference
> +    fi
> +
> +    if [ ! -d reference ]; then
> +        gen_abi_dump=$(mktemp -t gen-abi-dump-XXX.sh)
> +        cp -a devtools/gen-abi-dump.sh $gen_abi_dump
> +
> +        git checkout -qf $tag
> +        ninja -C build
> +        $gen_abi_dump build reference
> +
> +        if [ "$AARCH64" != "1" ]; then
> +            mkdir -p reference/app
> +            cp -a build/app/dpdk-testpmd reference/app/
> +
> +            export LD_LIBRARY_PATH=$(pwd)/build/lib:$(pwd)/build/drivers
> +            devtools/test-null.sh reference/app/dpdk-testpmd
> +            unset LD_LIBRARY_PATH
> +        fi
> +        echo $tag > reference/VERSION
> +
> +        git checkout -qf $head
> +    fi
> +fi
> +
>  ninja -C build
> 
> +if [ "$ABI_CHECKS" = "1" ]; then
> +    devtools/check-abi-dump.sh build reference ${ABI_CHECKS_WARN_ONLY:-}
> +    if [ "$AARCH64" != "1" ]; then
> +        export LD_LIBRARY_PATH=$(pwd)/build/lib:$(pwd)/build/drivers
> +        devtools/test-null.sh reference/app/dpdk-testpmd
> +        unset LD_LIBRARY_PATH
> +    fi
> +fi
> +
>  if [ "$AARCH64" != "1" ]; then
>      devtools/test-null.sh
>  fi
> diff --git a/.travis.yml b/.travis.yml
> index 8f90d06f2..bbb060fa2 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -1,5 +1,8 @@
>  language: c
> -cache: ccache
> +cache:
> +  ccache: true
> +  directories:
> +    - reference
>  compiler:
>    - gcc
>    - clang
> @@ -21,7 +24,7 @@ aarch64_packages: &aarch64_packages
> 
>  extra_packages: &extra_packages
>    - *required_packages
> -  - [libbsd-dev, libpcap-dev, libcrypto++-dev, libjansson4]
> +  - [libbsd-dev, libpcap-dev, libcrypto++-dev, libjansson4,
> + abigail-tools]
> 
>  build_32b_packages: &build_32b_packages
>    - *required_packages
> @@ -59,6 +62,13 @@ matrix:
>        apt:
>          packages:
>            - *aarch64_packages
> +  - env: DEF_LIB="shared" EXTRA_PACKAGES=1 ABI_CHECKS=1 AARCH64=1
> +    compiler: gcc
> +    addons:
> +      apt:
> +        packages:
> +          - *aarch64_packages
> +          - *extra_packages
>    - env: DEF_LIB="static" EXTRA_PACKAGES=1
>      compiler: gcc
>      addons:
> @@ -72,6 +82,12 @@ matrix:
>          packages:
>            - *extra_packages
>            - *doc_packages
> +  - env: DEF_LIB="shared" EXTRA_PACKAGES=1 ABI_CHECKS=1
> +    compiler: gcc
> +    addons:
> +      apt:
> +        packages:
> +          - *extra_packages
>    - env: DEF_LIB="static" OPTS="-Denable_kmods=false" EXTRA_PACKAGES=1
>      compiler: gcc
>      addons:
> diff --git a/devtools/check-abi-dump.sh b/devtools/check-abi-dump.sh new
> file mode 100755 index 000000000..f48a2ae7e
> --- /dev/null
> +++ b/devtools/check-abi-dump.sh
> @@ -0,0 +1,46 @@
> +#!/bin/sh -e
> +# SPDX-License-Identifier: BSD-3-Clause # Copyright (c) 2019 Red Hat,
> +Inc.
> +
> +if [ $# != 2 ] && [ $# != 3 ]; then
> +	echo "Usage: $0 builddir dumpdir [warnonly]"
> +	exit 1
> +fi
> +
> +builddir=$1
> +dumpdir=$2
> +warnonly=${3:-}
> +if [ ! -d $builddir ]; then
> +	echo "Error: build directory '$builddir' does not exist."
> +	exit 1
> +fi
> +if [ ! -d $dumpdir ]; then
> +	echo "Error: dump directory '$dumpdir' does not exist."
> +	exit 1
> +fi
> +
> +ABIDIFF_OPTIONS="--suppr $(dirname $0)/dpdk.abignore"
> +for dump in $(find $dumpdir -name "*.dump"); do
> +	libname=$(basename $dump)
> +	libname=${libname%.dump}
> +	result=
> +	for f in $(find $builddir -name "$libname.so.*"); do
> +		if test -L $f || [ "$f" != "${f%%.symbols}" ]; then
> +			continue
> +		fi
> +		result=found
> +
> +		if ! abidiff $ABIDIFF_OPTIONS $dump $f; then
> +			if [ -z "$warnonly" ]; then
> +				echo "Error: ABI issue reported for $dump, $f"
> +				exit 1
> +			fi
> +			echo "Warning: ABI issue reported for $dump, $f"
> +		fi
> +		break
> +	done
> +	if [ "$result" != "found" ]; then
> +		echo "Error: can't find a library for dump file $dump"
> +		exit 1
> +	fi
> +done
> diff --git a/devtools/check-abi-reference.sh b/devtools/check-abi-
> reference.sh new file mode 100755 index 000000000..7addb094e
> --- /dev/null
> +++ b/devtools/check-abi-reference.sh
> @@ -0,0 +1,27 @@
> +#!/bin/sh -e
> +# SPDX-License-Identifier: BSD-3-Clause # Copyright (c) 2019 Red Hat,
> +Inc.
> +
> +devtools_dir=$(dirname $(readlink -f $0)) .
> +$devtools_dir/load-devel-config
> +
> +abi_ref_build_dir=${DPDK_ABI_REF_BUILD_DIR:-reference}
> +builds_dir=${DPDK_BUILD_TEST_DIR:-.}
> +
> +for dir in $abi_ref_build_dir/*; do
> +	if [ "$dir" = "$abi_ref_build_dir" ]; then
> +		exit 1
> +	fi
> +	if [ ! -d $dir/dump ]; then
> +		echo "Skipping $dir"
> +		continue
> +	fi
> +	target=$(basename $dir)
> +	if [ -d $builds_dir/$target/install ]; then
> +		libdir=$builds_dir/$target/install
> +	else
> +		libdir=$builds_dir/$target
> +	fi
> +	echo "Checking ABI between $libdir and $dir/dump"
> +	$devtools_dir/check-abi-dump.sh $libdir $dir/dump done
> diff --git a/devtools/dpdk.abignore b/devtools/dpdk.abignore new file mode
> 100644 index 000000000..b866b7f26
> --- /dev/null
> +++ b/devtools/dpdk.abignore
> @@ -0,0 +1,2 @@
> +[suppress_function]
> +        symbol_version = EXPERIMENTAL
> diff --git a/devtools/gen-abi-dump.sh b/devtools/gen-abi-dump.sh new file
> mode 100755 index 000000000..4e38d751f
> --- /dev/null
> +++ b/devtools/gen-abi-dump.sh
> @@ -0,0 +1,29 @@
> +#!/bin/sh -e
> +# SPDX-License-Identifier: BSD-3-Clause # Copyright (c) 2019 Red Hat,
> +Inc.
> +
> +if [ $# != 2 ]; then
> +	echo "Usage: $0 builddir dumpdir"
> +	exit 1
> +fi
> +
> +builddir=$1
> +dumpdir=$2
> +if [ ! -d $builddir ]; then
> +	echo "Error: build directory '$builddir' does not exist."
> +	exit 1
> +fi
> +if [ -d $dumpdir ]; then
> +	echo "Error: dump directory '$dumpdir' already exists."
> +	exit 1
> +fi
> +
> +mkdir -p $dumpdir
> +for f in $(find $builddir -name "*.so.*"); do
> +	if test -L $f || [ "$f" != "${f%%.symbols}" ]; then
> +		continue
> +	fi
> +
> +	libname=$(basename $f)
> +	abidw --out-file $dumpdir/${libname%.so.*}.dump $f done
> diff --git a/devtools/gen-abi-reference.sh b/devtools/gen-abi-reference.sh
> new file mode 100755 index 000000000..f41d7fadc
> --- /dev/null
> +++ b/devtools/gen-abi-reference.sh
> @@ -0,0 +1,24 @@
> +#!/bin/sh -e
> +# SPDX-License-Identifier: BSD-3-Clause # Copyright (c) 2019 Red Hat,
> +Inc.
> +
> +devtools_dir=$(dirname $(readlink -f $0)) .
> +$devtools_dir/load-devel-config
> +
> +abi_ref_build_dir=${DPDK_ABI_REF_BUILD_DIR:-reference}
> +for dir in $abi_ref_build_dir/*; do
> +	if [ "$dir" = "$abi_ref_build_dir" ]; then
> +		exit 1
> +	fi
> +	if [ -d $dir/dump ]; then
> +		echo "Skipping $dir"
> +		continue
> +	fi
> +	if [ -d $dir/install ]; then
> +		libdir=$dir/install
> +	else
> +		libdir=$dir
> +	fi
> +	echo "Dumping libraries from $libdir in $dir/dump"
> +	$devtools_dir/gen-abi-dump.sh $libdir $dir/dump done
> diff --git a/devtools/test-build.sh b/devtools/test-build.sh index
> 52305fbb8..8cb5b56fb 100755
> --- a/devtools/test-build.sh
> +++ b/devtools/test-build.sh
> @@ -30,7 +30,8 @@ default_path=$PATH
>  # - LIBSSO_SNOW3G_PATH
>  # - LIBSSO_KASUMI_PATH
>  # - LIBSSO_ZUC_PATH
> -. $(dirname $(readlink -f $0))/load-devel-config
> +devtools_dir=$(dirname $(readlink -f $0)) .
> +$devtools_dir/load-devel-config
> 
>  print_usage () {
>  	echo "usage: $(basename $0) [-h] [-jX] [-s] [config1 [config2]
> ...]]"
> @@ -64,6 +65,7 @@ print_help () {
>  [ -z $MAKE ] && echo "Cannot find make or gmake" && exit 1
> 
>  J=$DPDK_MAKE_JOBS
> +abi_ref_build_dir=${DPDK_ABI_REF_BUILD_DIR:-reference}
>  builds_dir=${DPDK_BUILD_TEST_DIR:-.}
>  short=false
>  unset verbose
> @@ -97,7 +99,7 @@ trap "signal=INT ; trap - INT ; kill -INT $$" INT  #
> notify result on exit  trap on_exit EXIT
> 
> -cd $(dirname $(readlink -f $0))/..
> +cd $devtools_dir/..
> 
>  reset_env ()
>  {
> @@ -233,7 +235,7 @@ for conf in $configs ; do
>  	# reload config with DPDK_TARGET set
>  	DPDK_TARGET=$target
>  	reset_env
> -	. $(dirname $(readlink -f $0))/load-devel-config
> +	. $devtools_dir/load-devel-config
> 
>  	options=$(echo $conf | sed 's,[^~+]*,,')
>  	dir=$builds_dir/$conf
> @@ -246,6 +248,11 @@ for conf in $configs ; do
>  	export RTE_TARGET=$target
>  	rm -rf $dir/install
>  	${MAKE} install O=$dir DESTDIR=$dir/install prefix=
> +	if [ -d $abi_ref_build_dir/$conf/dump ]; then
> +		echo "================== Check ABI $conf"
> +		$devtools_dir/check-abi-dump.sh $dir/install \
> +			$abi_ref_build_dir/$conf/dump
> +	fi
>  	echo "================== Build examples for $conf"
>  	export RTE_SDK=$(readlink -f $dir)/install/share/dpdk
>  	ln -sTf $(pwd)/lib $RTE_SDK/lib # workaround for vm_power_manager
> diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh
> index 688567714..aaefa38a2 100755
> --- a/devtools/test-meson-builds.sh
> +++ b/devtools/test-meson-builds.sh
> @@ -16,6 +16,7 @@ srcdir=$(dirname $(readlink -f $0))/..
> 
>  MESON=${MESON:-meson}
>  use_shared="--default-library=shared"
> +abi_ref_build_dir=${DPDK_ABI_REF_BUILD_DIR:-reference}
>  builds_dir=${DPDK_BUILD_TEST_DIR:-.}
> 
>  if command -v gmake >/dev/null 2>&1 ; then @@ -88,6 +89,11 @@ build () #
> <directory> <target compiler> <meson options>
>  		echo "$ninja_cmd -C $builddir"
>  		$ninja_cmd -C $builddir
>  	fi
> +
> +	if [ -d $abi_ref_build_dir/$1/dump ]; then
> +		$srcdir/devtools/check-abi-dump.sh $builddir
> +			$abi_ref_build_dir/$1/dump
> +	fi
>  }
> 
>  if [ "$1" = "-vv" ] ; then
> diff --git a/doc/guides/contributing/patches.rst
> b/doc/guides/contributing/patches.rst
> index 0686450e4..de3dff145 100644
> --- a/doc/guides/contributing/patches.rst
> +++ b/doc/guides/contributing/patches.rst
> @@ -513,6 +513,31 @@ in a single subfolder called "__builds" created in
> the current directory.
>  Setting ``DPDK_BUILD_TEST_DIR`` to an absolute directory path e.g.
> ``/tmp`` is also supported.
> 
> 
> +Checking ABI compatibility
> +--------------------------
> +
> +The first thing is to build reference binaries for the latest release
> +your patches are built on top of.
> +
> +Either you are in a git tree and an easy way to identify this is to run::
> +
> +  git checkout $(git describe --abbrev=0)
> +
> +Or you use a tarball and you extract the sources in a director of your
> choice.
> +
> +Next is building those sources, refer to the previous paragraph.
> +You can set ``DPDK_BUILD_TEST_DIR=reference``, so that the builds occur
> +in this directory.
> +
> +Finally, the ABI dump files are generated with the
> +``devtools/gen-abi-reference.sh`` script. This script will look for
> +builds in the current sub directory ``reference``. But you can set the
> +environment variable ``DPDK_ABI_REF_BUILD_DIR`` to a different location.
> +
> +Once done, you can check your current binaries ABI with this reference
> +with the ``devtools/check-abi-reference.sh`` script.
> +
> +
>  Sending Patches
>  ---------------
> 
> --
> 2.23.0

I still very much dislike forcing the user to generate his own reference version
to compare the ABI against. These should be archived and the user should just
be able to pull them down via git or http or otherwise. Two reasons for this:

1. Less error prone, since there is no chance of the user having an incorrect
build for whatever reason.

2. Less effort for the user than asking them to do extra builds. The more steps
the user has to follow, the less likely they are to attempt the process.

Regards,
/Bruce


^ permalink raw reply	[relevance 7%]

* Re: [dpdk-dev] [PATCH] add ABI checks
  2019-12-20 15:20 25% [dpdk-dev] [PATCH] add ABI checks David Marchand
  2019-12-20 15:32  7% ` Richardson, Bruce
@ 2019-12-20 20:25  8% ` Neil Horman
  1 sibling, 0 replies; 200+ results
From: Neil Horman @ 2019-12-20 20:25 UTC (permalink / raw)
  To: David Marchand
  Cc: dev, thomas, bruce.richardson, kevin.laatz, aconole,
	Michael Santana, John McNamara, Marko Kovacevic

On Fri, Dec 20, 2019 at 04:20:58PM +0100, David Marchand wrote:
> Starting from Kevin and Bruce idea of using libabigail, here is an
> alternate approach to implement ABI checks.
> 
> By default, those checks are disabled and enabling them requires a
> manual step that generates the ABI dumps on a reference version for a
> set of configurations.
> 
> Those checks are enabled in the CI by default for the default meson
> options on x86 and aarch64 so that proposed patches are validated.
> A cache of the ABI is stored in travis jobs.
Are they?  I'm looking here:
https://travis-ci.com/DPDK/dpdk

And can't for the life of me see where those cached ABI files are pulled from,
or where the checks are encoded at all.  Am I missing something (which is the
far greater likelyhood).

assuming they are there, and I'm just not seeing them, do we have external
access to them?  Could we download them as part of the abi check process on
local trees?

Neil

> Checks can be only informational by setting ABI_CHECKS_WARN_ONLY when
> breaking the ABI in a future release.
> 
> For advanced developers and maintainers, the contributing guide details
> the higher level scripts that are quite close to the existing devtools
> scripts.
> 
> Signed-off-by: David Marchand <david.marchand@redhat.com>
> ---
>  .ci/linux-build.sh                  | 43 +++++++++++++++++++++++++++
>  .travis.yml                         | 20 +++++++++++--
>  devtools/check-abi-dump.sh          | 46 +++++++++++++++++++++++++++++
>  devtools/check-abi-reference.sh     | 27 +++++++++++++++++
>  devtools/dpdk.abignore              |  2 ++
>  devtools/gen-abi-dump.sh            | 29 ++++++++++++++++++
>  devtools/gen-abi-reference.sh       | 24 +++++++++++++++
>  devtools/test-build.sh              | 13 ++++++--
>  devtools/test-meson-builds.sh       |  6 ++++
>  doc/guides/contributing/patches.rst | 25 ++++++++++++++++
>  10 files changed, 230 insertions(+), 5 deletions(-)
>  create mode 100755 devtools/check-abi-dump.sh
>  create mode 100755 devtools/check-abi-reference.sh
>  create mode 100644 devtools/dpdk.abignore
>  create mode 100755 devtools/gen-abi-dump.sh
>  create mode 100755 devtools/gen-abi-reference.sh
> 
> diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh
> index ccc3a7ccd..345dba264 100755
> --- a/.ci/linux-build.sh
> +++ b/.ci/linux-build.sh
> @@ -30,8 +30,51 @@ fi
>  
>  OPTS="$OPTS --default-library=$DEF_LIB"
>  meson build --werror -Dexamples=all $OPTS
> +
> +if [ "$ABI_CHECKS" = "1" ]; then
> +    git remote add ref ${REF_GIT_REPO:-https://dpdk.org/git/dpdk}
> +    git fetch --tags ref ${REF_GIT_BRANCH:-master}
> +
> +    head=$(git describe --all)
> +    tag=$(git describe --abbrev=0)
> +
> +    if [ "$(cat reference/VERSION 2>/dev/null)" != "$tag" ]; then
> +        rm -rf reference
> +    fi
> +
> +    if [ ! -d reference ]; then
> +        gen_abi_dump=$(mktemp -t gen-abi-dump-XXX.sh)
> +        cp -a devtools/gen-abi-dump.sh $gen_abi_dump
> +
> +        git checkout -qf $tag
> +        ninja -C build
> +        $gen_abi_dump build reference
> +
> +        if [ "$AARCH64" != "1" ]; then
> +            mkdir -p reference/app
> +            cp -a build/app/dpdk-testpmd reference/app/
> +
> +            export LD_LIBRARY_PATH=$(pwd)/build/lib:$(pwd)/build/drivers
> +            devtools/test-null.sh reference/app/dpdk-testpmd
> +            unset LD_LIBRARY_PATH
> +        fi
> +        echo $tag > reference/VERSION
> +
> +        git checkout -qf $head
> +    fi
> +fi
> +
>  ninja -C build
>  
> +if [ "$ABI_CHECKS" = "1" ]; then
> +    devtools/check-abi-dump.sh build reference ${ABI_CHECKS_WARN_ONLY:-}
> +    if [ "$AARCH64" != "1" ]; then
> +        export LD_LIBRARY_PATH=$(pwd)/build/lib:$(pwd)/build/drivers
> +        devtools/test-null.sh reference/app/dpdk-testpmd
> +        unset LD_LIBRARY_PATH
> +    fi
> +fi
> +
>  if [ "$AARCH64" != "1" ]; then
>      devtools/test-null.sh
>  fi
> diff --git a/.travis.yml b/.travis.yml
> index 8f90d06f2..bbb060fa2 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -1,5 +1,8 @@
>  language: c
> -cache: ccache
> +cache:
> +  ccache: true
> +  directories:
> +    - reference
>  compiler:
>    - gcc
>    - clang
> @@ -21,7 +24,7 @@ aarch64_packages: &aarch64_packages
>  
>  extra_packages: &extra_packages
>    - *required_packages
> -  - [libbsd-dev, libpcap-dev, libcrypto++-dev, libjansson4]
> +  - [libbsd-dev, libpcap-dev, libcrypto++-dev, libjansson4, abigail-tools]
>  
>  build_32b_packages: &build_32b_packages
>    - *required_packages
> @@ -59,6 +62,13 @@ matrix:
>        apt:
>          packages:
>            - *aarch64_packages
> +  - env: DEF_LIB="shared" EXTRA_PACKAGES=1 ABI_CHECKS=1 AARCH64=1
> +    compiler: gcc
> +    addons:
> +      apt:
> +        packages:
> +          - *aarch64_packages
> +          - *extra_packages
>    - env: DEF_LIB="static" EXTRA_PACKAGES=1
>      compiler: gcc
>      addons:
> @@ -72,6 +82,12 @@ matrix:
>          packages:
>            - *extra_packages
>            - *doc_packages
> +  - env: DEF_LIB="shared" EXTRA_PACKAGES=1 ABI_CHECKS=1
> +    compiler: gcc
> +    addons:
> +      apt:
> +        packages:
> +          - *extra_packages
>    - env: DEF_LIB="static" OPTS="-Denable_kmods=false" EXTRA_PACKAGES=1
>      compiler: gcc
>      addons:
> diff --git a/devtools/check-abi-dump.sh b/devtools/check-abi-dump.sh
> new file mode 100755
> index 000000000..f48a2ae7e
> --- /dev/null
> +++ b/devtools/check-abi-dump.sh
> @@ -0,0 +1,46 @@
> +#!/bin/sh -e
> +# SPDX-License-Identifier: BSD-3-Clause
> +# Copyright (c) 2019 Red Hat, Inc.
> +
> +if [ $# != 2 ] && [ $# != 3 ]; then
> +	echo "Usage: $0 builddir dumpdir [warnonly]"
> +	exit 1
> +fi
> +
> +builddir=$1
> +dumpdir=$2
> +warnonly=${3:-}
> +if [ ! -d $builddir ]; then
> +	echo "Error: build directory '$builddir' does not exist."
> +	exit 1
> +fi
> +if [ ! -d $dumpdir ]; then
> +	echo "Error: dump directory '$dumpdir' does not exist."
> +	exit 1
> +fi
> +
> +ABIDIFF_OPTIONS="--suppr $(dirname $0)/dpdk.abignore"
> +for dump in $(find $dumpdir -name "*.dump"); do
> +	libname=$(basename $dump)
> +	libname=${libname%.dump}
> +	result=
> +	for f in $(find $builddir -name "$libname.so.*"); do
> +		if test -L $f || [ "$f" != "${f%%.symbols}" ]; then
> +			continue
> +		fi
> +		result=found
> +
> +		if ! abidiff $ABIDIFF_OPTIONS $dump $f; then
> +			if [ -z "$warnonly" ]; then
> +				echo "Error: ABI issue reported for $dump, $f"
> +				exit 1
> +			fi
> +			echo "Warning: ABI issue reported for $dump, $f"
> +		fi
> +		break
> +	done
> +	if [ "$result" != "found" ]; then
> +		echo "Error: can't find a library for dump file $dump"
> +		exit 1
> +	fi
> +done
> diff --git a/devtools/check-abi-reference.sh b/devtools/check-abi-reference.sh
> new file mode 100755
> index 000000000..7addb094e
> --- /dev/null
> +++ b/devtools/check-abi-reference.sh
> @@ -0,0 +1,27 @@
> +#!/bin/sh -e
> +# SPDX-License-Identifier: BSD-3-Clause
> +# Copyright (c) 2019 Red Hat, Inc.
> +
> +devtools_dir=$(dirname $(readlink -f $0))
> +. $devtools_dir/load-devel-config
> +
> +abi_ref_build_dir=${DPDK_ABI_REF_BUILD_DIR:-reference}
> +builds_dir=${DPDK_BUILD_TEST_DIR:-.}
> +
> +for dir in $abi_ref_build_dir/*; do
> +	if [ "$dir" = "$abi_ref_build_dir" ]; then
> +		exit 1
> +	fi
> +	if [ ! -d $dir/dump ]; then
> +		echo "Skipping $dir"
> +		continue
> +	fi
> +	target=$(basename $dir)
> +	if [ -d $builds_dir/$target/install ]; then
> +		libdir=$builds_dir/$target/install
> +	else
> +		libdir=$builds_dir/$target
> +	fi
> +	echo "Checking ABI between $libdir and $dir/dump"
> +	$devtools_dir/check-abi-dump.sh $libdir $dir/dump
> +done
> diff --git a/devtools/dpdk.abignore b/devtools/dpdk.abignore
> new file mode 100644
> index 000000000..b866b7f26
> --- /dev/null
> +++ b/devtools/dpdk.abignore
> @@ -0,0 +1,2 @@
> +[suppress_function]
> +        symbol_version = EXPERIMENTAL
> diff --git a/devtools/gen-abi-dump.sh b/devtools/gen-abi-dump.sh
> new file mode 100755
> index 000000000..4e38d751f
> --- /dev/null
> +++ b/devtools/gen-abi-dump.sh
> @@ -0,0 +1,29 @@
> +#!/bin/sh -e
> +# SPDX-License-Identifier: BSD-3-Clause
> +# Copyright (c) 2019 Red Hat, Inc.
> +
> +if [ $# != 2 ]; then
> +	echo "Usage: $0 builddir dumpdir"
> +	exit 1
> +fi
> +
> +builddir=$1
> +dumpdir=$2
> +if [ ! -d $builddir ]; then
> +	echo "Error: build directory '$builddir' does not exist."
> +	exit 1
> +fi
> +if [ -d $dumpdir ]; then
> +	echo "Error: dump directory '$dumpdir' already exists."
> +	exit 1
> +fi
> +
> +mkdir -p $dumpdir
> +for f in $(find $builddir -name "*.so.*"); do
> +	if test -L $f || [ "$f" != "${f%%.symbols}" ]; then
> +		continue
> +	fi
> +
> +	libname=$(basename $f)
> +	abidw --out-file $dumpdir/${libname%.so.*}.dump $f
> +done
> diff --git a/devtools/gen-abi-reference.sh b/devtools/gen-abi-reference.sh
> new file mode 100755
> index 000000000..f41d7fadc
> --- /dev/null
> +++ b/devtools/gen-abi-reference.sh
> @@ -0,0 +1,24 @@
> +#!/bin/sh -e
> +# SPDX-License-Identifier: BSD-3-Clause
> +# Copyright (c) 2019 Red Hat, Inc.
> +
> +devtools_dir=$(dirname $(readlink -f $0))
> +. $devtools_dir/load-devel-config
> +
> +abi_ref_build_dir=${DPDK_ABI_REF_BUILD_DIR:-reference}
> +for dir in $abi_ref_build_dir/*; do
> +	if [ "$dir" = "$abi_ref_build_dir" ]; then
> +		exit 1
> +	fi
> +	if [ -d $dir/dump ]; then
> +		echo "Skipping $dir"
> +		continue
> +	fi
> +	if [ -d $dir/install ]; then
> +		libdir=$dir/install
> +	else
> +		libdir=$dir
> +	fi
> +	echo "Dumping libraries from $libdir in $dir/dump"
> +	$devtools_dir/gen-abi-dump.sh $libdir $dir/dump
> +done
> diff --git a/devtools/test-build.sh b/devtools/test-build.sh
> index 52305fbb8..8cb5b56fb 100755
> --- a/devtools/test-build.sh
> +++ b/devtools/test-build.sh
> @@ -30,7 +30,8 @@ default_path=$PATH
>  # - LIBSSO_SNOW3G_PATH
>  # - LIBSSO_KASUMI_PATH
>  # - LIBSSO_ZUC_PATH
> -. $(dirname $(readlink -f $0))/load-devel-config
> +devtools_dir=$(dirname $(readlink -f $0))
> +. $devtools_dir/load-devel-config
>  
>  print_usage () {
>  	echo "usage: $(basename $0) [-h] [-jX] [-s] [config1 [config2] ...]]"
> @@ -64,6 +65,7 @@ print_help () {
>  [ -z $MAKE ] && echo "Cannot find make or gmake" && exit 1
>  
>  J=$DPDK_MAKE_JOBS
> +abi_ref_build_dir=${DPDK_ABI_REF_BUILD_DIR:-reference}
>  builds_dir=${DPDK_BUILD_TEST_DIR:-.}
>  short=false
>  unset verbose
> @@ -97,7 +99,7 @@ trap "signal=INT ; trap - INT ; kill -INT $$" INT
>  # notify result on exit
>  trap on_exit EXIT
>  
> -cd $(dirname $(readlink -f $0))/..
> +cd $devtools_dir/..
>  
>  reset_env ()
>  {
> @@ -233,7 +235,7 @@ for conf in $configs ; do
>  	# reload config with DPDK_TARGET set
>  	DPDK_TARGET=$target
>  	reset_env
> -	. $(dirname $(readlink -f $0))/load-devel-config
> +	. $devtools_dir/load-devel-config
>  
>  	options=$(echo $conf | sed 's,[^~+]*,,')
>  	dir=$builds_dir/$conf
> @@ -246,6 +248,11 @@ for conf in $configs ; do
>  	export RTE_TARGET=$target
>  	rm -rf $dir/install
>  	${MAKE} install O=$dir DESTDIR=$dir/install prefix=
> +	if [ -d $abi_ref_build_dir/$conf/dump ]; then
> +		echo "================== Check ABI $conf"
> +		$devtools_dir/check-abi-dump.sh $dir/install \
> +			$abi_ref_build_dir/$conf/dump
> +	fi
>  	echo "================== Build examples for $conf"
>  	export RTE_SDK=$(readlink -f $dir)/install/share/dpdk
>  	ln -sTf $(pwd)/lib $RTE_SDK/lib # workaround for vm_power_manager
> diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh
> index 688567714..aaefa38a2 100755
> --- a/devtools/test-meson-builds.sh
> +++ b/devtools/test-meson-builds.sh
> @@ -16,6 +16,7 @@ srcdir=$(dirname $(readlink -f $0))/..
>  
>  MESON=${MESON:-meson}
>  use_shared="--default-library=shared"
> +abi_ref_build_dir=${DPDK_ABI_REF_BUILD_DIR:-reference}
>  builds_dir=${DPDK_BUILD_TEST_DIR:-.}
>  
>  if command -v gmake >/dev/null 2>&1 ; then
> @@ -88,6 +89,11 @@ build () # <directory> <target compiler> <meson options>
>  		echo "$ninja_cmd -C $builddir"
>  		$ninja_cmd -C $builddir
>  	fi
> +
> +	if [ -d $abi_ref_build_dir/$1/dump ]; then
> +		$srcdir/devtools/check-abi-dump.sh $builddir
> +			$abi_ref_build_dir/$1/dump
> +	fi
>  }
>  
>  if [ "$1" = "-vv" ] ; then
> diff --git a/doc/guides/contributing/patches.rst b/doc/guides/contributing/patches.rst
> index 0686450e4..de3dff145 100644
> --- a/doc/guides/contributing/patches.rst
> +++ b/doc/guides/contributing/patches.rst
> @@ -513,6 +513,31 @@ in a single subfolder called "__builds" created in the current directory.
>  Setting ``DPDK_BUILD_TEST_DIR`` to an absolute directory path e.g. ``/tmp`` is also supported.
>  
>  
> +Checking ABI compatibility
> +--------------------------
> +
> +The first thing is to build reference binaries for the latest release your
> +patches are built on top of.
> +
> +Either you are in a git tree and an easy way to identify this is to run::
> +
> +  git checkout $(git describe --abbrev=0)
> +
> +Or you use a tarball and you extract the sources in a director of your choice.
> +
> +Next is building those sources, refer to the previous paragraph.
> +You can set ``DPDK_BUILD_TEST_DIR=reference``, so that the builds occur in this
> +directory.
> +
> +Finally, the ABI dump files are generated with the
> +``devtools/gen-abi-reference.sh`` script. This script will look for builds in
> +the current sub directory ``reference``. But you can set the environment
> +variable ``DPDK_ABI_REF_BUILD_DIR`` to a different location.
> +
> +Once done, you can check your current binaries ABI with this reference with the
> +``devtools/check-abi-reference.sh`` script.
> +
> +
>  Sending Patches
>  ---------------
>  
> -- 
> 2.23.0
> 
> 

^ permalink raw reply	[relevance 8%]

* Re: [dpdk-dev] [PATCH] add ABI checks
  2019-12-20 16:20  4%   ` Kinsella, Ray
@ 2019-12-20 21:00  4%     ` Thomas Monjalon
  2020-01-06 13:17  9%       ` Aaron Conole
  2020-01-14 23:19  4%     ` Thomas Monjalon
  1 sibling, 1 reply; 200+ results
From: Thomas Monjalon @ 2019-12-20 21:00 UTC (permalink / raw)
  To: Kinsella, Ray
  Cc: Richardson, Bruce, David Marchand, dev, Laatz, Kevin, aconole,
	nhorman, Michael Santana, Mcnamara, John, Kovacevic, Marko

20/12/2019 17:20, Kinsella, Ray:
> > -----Original Message-----
> > From: Richardson, Bruce <bruce.richardson@intel.com>
> > Sent: Friday 20 December 2019 15:32
> > To: David Marchand <david.marchand@redhat.com>; dev@dpdk.org
> > Cc: thomas@monjalon.net; Laatz, Kevin <kevin.laatz@intel.com>;
> > aconole@redhat.com; nhorman@tuxdriver.com; Michael Santana
> > <maicolgabriel@hotmail.com>; Mcnamara, John <john.mcnamara@intel.com>;
> > Kovacevic, Marko <marko.kovacevic@intel.com>; Kinsella, Ray
> > <ray.kinsella@intel.com>
> > Subject: RE: [PATCH] add ABI checks
> > 
> > 
> > 
> > > -----Original Message-----
> > > From: David Marchand <david.marchand@redhat.com>
> > > Sent: Friday, December 20, 2019 3:21 PM
> > > To: dev@dpdk.org
> > > Cc: thomas@monjalon.net; Richardson, Bruce
> > > <bruce.richardson@intel.com>; Laatz, Kevin <kevin.laatz@intel.com>;
> > > aconole@redhat.com; nhorman@tuxdriver.com; Michael Santana
> > > <maicolgabriel@hotmail.com>; Mcnamara, John
> > <john.mcnamara@intel.com>;
> > > Kovacevic, Marko <marko.kovacevic@intel.com>
> > > Subject: [PATCH] add ABI checks
> > >
> > > Starting from Kevin and Bruce idea of using libabigail, here is an
> > > alternate approach to implement ABI checks.
> > >
> > > By default, those checks are disabled and enabling them requires a
> > > manual step that generates the ABI dumps on a reference version for a
> > > set of configurations.
> > >
> > > Those checks are enabled in the CI by default for the default meson
> > > options on x86 and aarch64 so that proposed patches are validated.
> > > A cache of the ABI is stored in travis jobs.
> > > Checks can be only informational by setting ABI_CHECKS_WARN_ONLY when
> > > breaking the ABI in a future release.
> > >
> > > For advanced developers and maintainers, the contributing guide
> > > details the higher level scripts that are quite close to the existing
> > > devtools scripts.
> > >
> > > Signed-off-by: David Marchand <david.marchand@redhat.com>
> > > ---
> > >  .ci/linux-build.sh                  | 43 +++++++++++++++++++++++++++
> > >  .travis.yml                         | 20 +++++++++++--
> > >  devtools/check-abi-dump.sh          | 46
> > +++++++++++++++++++++++++++++
> > >  devtools/check-abi-reference.sh     | 27 +++++++++++++++++
> > >  devtools/dpdk.abignore              |  2 ++
> > >  devtools/gen-abi-dump.sh            | 29 ++++++++++++++++++
> > >  devtools/gen-abi-reference.sh       | 24 +++++++++++++++
> > >  devtools/test-build.sh              | 13 ++++++--
> > >  devtools/test-meson-builds.sh       |  6 ++++
> > >  doc/guides/contributing/patches.rst | 25 ++++++++++++++++
> > >  10 files changed, 230 insertions(+), 5 deletions(-)  create mode
> > > 100755 devtools/check-abi-dump.sh  create mode 100755
> > > devtools/check-abi- reference.sh  create mode 100644
> > > devtools/dpdk.abignore  create mode
> > > 100755 devtools/gen-abi-dump.sh  create mode 100755 devtools/gen-abi-
> > > reference.sh
> > >
> > > diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh index
> > > ccc3a7ccd..345dba264 100755
> > > --- a/.ci/linux-build.sh
> > > +++ b/.ci/linux-build.sh
> > > @@ -30,8 +30,51 @@ fi
> > >
> > >  OPTS="$OPTS --default-library=$DEF_LIB"
> > >  meson build --werror -Dexamples=all $OPTS
> > > +
> > > +if [ "$ABI_CHECKS" = "1" ]; then
> > > +    git remote add ref ${REF_GIT_REPO:-https://dpdk.org/git/dpdk}
> > > +    git fetch --tags ref ${REF_GIT_BRANCH:-master}
> > > +
> > > +    head=$(git describe --all)
> > > +    tag=$(git describe --abbrev=0)
> > > +
> > > +    if [ "$(cat reference/VERSION 2>/dev/null)" != "$tag" ]; then
> > > +        rm -rf reference
> > > +    fi
> > > +
> > > +    if [ ! -d reference ]; then
> > > +        gen_abi_dump=$(mktemp -t gen-abi-dump-XXX.sh)
> > > +        cp -a devtools/gen-abi-dump.sh $gen_abi_dump
> > > +
> > > +        git checkout -qf $tag
> > > +        ninja -C build
> > > +        $gen_abi_dump build reference
> > > +
> > > +        if [ "$AARCH64" != "1" ]; then
> > > +            mkdir -p reference/app
> > > +            cp -a build/app/dpdk-testpmd reference/app/
> > > +
> > > +            export
> > LD_LIBRARY_PATH=$(pwd)/build/lib:$(pwd)/build/drivers
> > > +            devtools/test-null.sh reference/app/dpdk-testpmd
> > > +            unset LD_LIBRARY_PATH
> > > +        fi
> > > +        echo $tag > reference/VERSION
> > > +
> > > +        git checkout -qf $head
> > > +    fi
> > > +fi
> > > +
> > >  ninja -C build
> > >
> > > +if [ "$ABI_CHECKS" = "1" ]; then
> > > +    devtools/check-abi-dump.sh build reference
> > ${ABI_CHECKS_WARN_ONLY:-}
> > > +    if [ "$AARCH64" != "1" ]; then
> > > +        export LD_LIBRARY_PATH=$(pwd)/build/lib:$(pwd)/build/drivers
> > > +        devtools/test-null.sh reference/app/dpdk-testpmd
> > > +        unset LD_LIBRARY_PATH
> > > +    fi
> > > +fi
> > > +
> > >  if [ "$AARCH64" != "1" ]; then
> > >      devtools/test-null.sh
> > >  fi
> > > diff --git a/.travis.yml b/.travis.yml index 8f90d06f2..bbb060fa2
> > > 100644
> > > --- a/.travis.yml
> > > +++ b/.travis.yml
> > > @@ -1,5 +1,8 @@
> > >  language: c
> > > -cache: ccache
> > > +cache:
> > > +  ccache: true
> > > +  directories:
> > > +    - reference
> > >  compiler:
> > >    - gcc
> > >    - clang
> > > @@ -21,7 +24,7 @@ aarch64_packages: &aarch64_packages
> > >
> > >  extra_packages: &extra_packages
> > >    - *required_packages
> > > -  - [libbsd-dev, libpcap-dev, libcrypto++-dev, libjansson4]
> > > +  - [libbsd-dev, libpcap-dev, libcrypto++-dev, libjansson4,
> > > + abigail-tools]
> > >
> > >  build_32b_packages: &build_32b_packages
> > >    - *required_packages
> > > @@ -59,6 +62,13 @@ matrix:
> > >        apt:
> > >          packages:
> > >            - *aarch64_packages
> > > +  - env: DEF_LIB="shared" EXTRA_PACKAGES=1 ABI_CHECKS=1 AARCH64=1
> > > +    compiler: gcc
> > > +    addons:
> > > +      apt:
> > > +        packages:
> > > +          - *aarch64_packages
> > > +          - *extra_packages
> > >    - env: DEF_LIB="static" EXTRA_PACKAGES=1
> > >      compiler: gcc
> > >      addons:
> > > @@ -72,6 +82,12 @@ matrix:
> > >          packages:
> > >            - *extra_packages
> > >            - *doc_packages
> > > +  - env: DEF_LIB="shared" EXTRA_PACKAGES=1 ABI_CHECKS=1
> > > +    compiler: gcc
> > > +    addons:
> > > +      apt:
> > > +        packages:
> > > +          - *extra_packages
> > >    - env: DEF_LIB="static" OPTS="-Denable_kmods=false"
> > EXTRA_PACKAGES=1
> > >      compiler: gcc
> > >      addons:
> > > diff --git a/devtools/check-abi-dump.sh b/devtools/check-abi-dump.sh
> > > new file mode 100755 index 000000000..f48a2ae7e
> > > --- /dev/null
> > > +++ b/devtools/check-abi-dump.sh
> > > @@ -0,0 +1,46 @@
> > > +#!/bin/sh -e
> > > +# SPDX-License-Identifier: BSD-3-Clause # Copyright (c) 2019 Red
> > Hat,
> > > +Inc.
> > > +
> > > +if [ $# != 2 ] && [ $# != 3 ]; then
> > > +	echo "Usage: $0 builddir dumpdir [warnonly]"
> > > +	exit 1
> > > +fi
> > > +
> > > +builddir=$1
> > > +dumpdir=$2
> > > +warnonly=${3:-}
> > > +if [ ! -d $builddir ]; then
> > > +	echo "Error: build directory '$builddir' does not exist."
> > > +	exit 1
> > > +fi
> > > +if [ ! -d $dumpdir ]; then
> > > +	echo "Error: dump directory '$dumpdir' does not exist."
> > > +	exit 1
> > > +fi
> > > +
> > > +ABIDIFF_OPTIONS="--suppr $(dirname $0)/dpdk.abignore"
> > > +for dump in $(find $dumpdir -name "*.dump"); do
> > > +	libname=$(basename $dump)
> > > +	libname=${libname%.dump}
> > > +	result=
> > > +	for f in $(find $builddir -name "$libname.so.*"); do
> > > +		if test -L $f || [ "$f" != "${f%%.symbols}" ]; then
> > > +			continue
> > > +		fi
> > > +		result=found
> > > +
> > > +		if ! abidiff $ABIDIFF_OPTIONS $dump $f; then
> > > +			if [ -z "$warnonly" ]; then
> > > +				echo "Error: ABI issue reported for $dump, $f"
> > > +				exit 1
> > > +			fi
> > > +			echo "Warning: ABI issue reported for $dump, $f"
> > > +		fi
> > > +		break
> > > +	done
> > > +	if [ "$result" != "found" ]; then
> > > +		echo "Error: can't find a library for dump file $dump"
> > > +		exit 1
> > > +	fi
> > > +done
> > > diff --git a/devtools/check-abi-reference.sh b/devtools/check-abi-
> > > reference.sh new file mode 100755 index 000000000..7addb094e
> > > --- /dev/null
> > > +++ b/devtools/check-abi-reference.sh
> > > @@ -0,0 +1,27 @@
> > > +#!/bin/sh -e
> > > +# SPDX-License-Identifier: BSD-3-Clause # Copyright (c) 2019 Red
> > Hat,
> > > +Inc.
> > > +
> > > +devtools_dir=$(dirname $(readlink -f $0)) .
> > > +$devtools_dir/load-devel-config
> > > +
> > > +abi_ref_build_dir=${DPDK_ABI_REF_BUILD_DIR:-reference}
> > > +builds_dir=${DPDK_BUILD_TEST_DIR:-.}
> > > +
> > > +for dir in $abi_ref_build_dir/*; do
> > > +	if [ "$dir" = "$abi_ref_build_dir" ]; then
> > > +		exit 1
> > > +	fi
> > > +	if [ ! -d $dir/dump ]; then
> > > +		echo "Skipping $dir"
> > > +		continue
> > > +	fi
> > > +	target=$(basename $dir)
> > > +	if [ -d $builds_dir/$target/install ]; then
> > > +		libdir=$builds_dir/$target/install
> > > +	else
> > > +		libdir=$builds_dir/$target
> > > +	fi
> > > +	echo "Checking ABI between $libdir and $dir/dump"
> > > +	$devtools_dir/check-abi-dump.sh $libdir $dir/dump done
> > > diff --git a/devtools/dpdk.abignore b/devtools/dpdk.abignore new file
> > > mode
> > > 100644 index 000000000..b866b7f26
> > > --- /dev/null
> > > +++ b/devtools/dpdk.abignore
> > > @@ -0,0 +1,2 @@
> > > +[suppress_function]
> > > +        symbol_version = EXPERIMENTAL
> > > diff --git a/devtools/gen-abi-dump.sh b/devtools/gen-abi-dump.sh new
> > > file mode 100755 index 000000000..4e38d751f
> > > --- /dev/null
> > > +++ b/devtools/gen-abi-dump.sh
> > > @@ -0,0 +1,29 @@
> > > +#!/bin/sh -e
> > > +# SPDX-License-Identifier: BSD-3-Clause # Copyright (c) 2019 Red
> > Hat,
> > > +Inc.
> > > +
> > > +if [ $# != 2 ]; then
> > > +	echo "Usage: $0 builddir dumpdir"
> > > +	exit 1
> > > +fi
> > > +
> > > +builddir=$1
> > > +dumpdir=$2
> > > +if [ ! -d $builddir ]; then
> > > +	echo "Error: build directory '$builddir' does not exist."
> > > +	exit 1
> > > +fi
> > > +if [ -d $dumpdir ]; then
> > > +	echo "Error: dump directory '$dumpdir' already exists."
> > > +	exit 1
> > > +fi
> > > +
> > > +mkdir -p $dumpdir
> > > +for f in $(find $builddir -name "*.so.*"); do
> > > +	if test -L $f || [ "$f" != "${f%%.symbols}" ]; then
> > > +		continue
> > > +	fi
> > > +
> > > +	libname=$(basename $f)
> > > +	abidw --out-file $dumpdir/${libname%.so.*}.dump $f done
> > > diff --git a/devtools/gen-abi-reference.sh
> > > b/devtools/gen-abi-reference.sh new file mode 100755 index
> > > 000000000..f41d7fadc
> > > --- /dev/null
> > > +++ b/devtools/gen-abi-reference.sh
> > > @@ -0,0 +1,24 @@
> > > +#!/bin/sh -e
> > > +# SPDX-License-Identifier: BSD-3-Clause # Copyright (c) 2019 Red
> > Hat,
> > > +Inc.
> > > +
> > > +devtools_dir=$(dirname $(readlink -f $0)) .
> > > +$devtools_dir/load-devel-config
> > > +
> > > +abi_ref_build_dir=${DPDK_ABI_REF_BUILD_DIR:-reference}
> > > +for dir in $abi_ref_build_dir/*; do
> > > +	if [ "$dir" = "$abi_ref_build_dir" ]; then
> > > +		exit 1
> > > +	fi
> > > +	if [ -d $dir/dump ]; then
> > > +		echo "Skipping $dir"
> > > +		continue
> > > +	fi
> > > +	if [ -d $dir/install ]; then
> > > +		libdir=$dir/install
> > > +	else
> > > +		libdir=$dir
> > > +	fi
> > > +	echo "Dumping libraries from $libdir in $dir/dump"
> > > +	$devtools_dir/gen-abi-dump.sh $libdir $dir/dump done
> > > diff --git a/devtools/test-build.sh b/devtools/test-build.sh index
> > > 52305fbb8..8cb5b56fb 100755
> > > --- a/devtools/test-build.sh
> > > +++ b/devtools/test-build.sh
> > > @@ -30,7 +30,8 @@ default_path=$PATH
> > >  # - LIBSSO_SNOW3G_PATH
> > >  # - LIBSSO_KASUMI_PATH
> > >  # - LIBSSO_ZUC_PATH
> > > -. $(dirname $(readlink -f $0))/load-devel-config
> > > +devtools_dir=$(dirname $(readlink -f $0)) .
> > > +$devtools_dir/load-devel-config
> > >
> > >  print_usage () {
> > >  	echo "usage: $(basename $0) [-h] [-jX] [-s] [config1 [config2]
> > > ...]]"
> > > @@ -64,6 +65,7 @@ print_help () {
> > >  [ -z $MAKE ] && echo "Cannot find make or gmake" && exit 1
> > >
> > >  J=$DPDK_MAKE_JOBS
> > > +abi_ref_build_dir=${DPDK_ABI_REF_BUILD_DIR:-reference}
> > >  builds_dir=${DPDK_BUILD_TEST_DIR:-.}
> > >  short=false
> > >  unset verbose
> > > @@ -97,7 +99,7 @@ trap "signal=INT ; trap - INT ; kill -INT $$" INT
> > #
> > > notify result on exit  trap on_exit EXIT
> > >
> > > -cd $(dirname $(readlink -f $0))/..
> > > +cd $devtools_dir/..
> > >
> > >  reset_env ()
> > >  {
> > > @@ -233,7 +235,7 @@ for conf in $configs ; do
> > >  	# reload config with DPDK_TARGET set
> > >  	DPDK_TARGET=$target
> > >  	reset_env
> > > -	. $(dirname $(readlink -f $0))/load-devel-config
> > > +	. $devtools_dir/load-devel-config
> > >
> > >  	options=$(echo $conf | sed 's,[^~+]*,,')
> > >  	dir=$builds_dir/$conf
> > > @@ -246,6 +248,11 @@ for conf in $configs ; do
> > >  	export RTE_TARGET=$target
> > >  	rm -rf $dir/install
> > >  	${MAKE} install O=$dir DESTDIR=$dir/install prefix=
> > > +	if [ -d $abi_ref_build_dir/$conf/dump ]; then
> > > +		echo "================== Check ABI $conf"
> > > +		$devtools_dir/check-abi-dump.sh $dir/install \
> > > +			$abi_ref_build_dir/$conf/dump
> > > +	fi
> > >  	echo "================== Build examples for $conf"
> > >  	export RTE_SDK=$(readlink -f $dir)/install/share/dpdk
> > >  	ln -sTf $(pwd)/lib $RTE_SDK/lib # workaround for vm_power_manager
> > > diff --git a/devtools/test-meson-builds.sh
> > > b/devtools/test-meson-builds.sh index 688567714..aaefa38a2 100755
> > > --- a/devtools/test-meson-builds.sh
> > > +++ b/devtools/test-meson-builds.sh
> > > @@ -16,6 +16,7 @@ srcdir=$(dirname $(readlink -f $0))/..
> > >
> > >  MESON=${MESON:-meson}
> > >  use_shared="--default-library=shared"
> > > +abi_ref_build_dir=${DPDK_ABI_REF_BUILD_DIR:-reference}
> > >  builds_dir=${DPDK_BUILD_TEST_DIR:-.}
> > >
> > >  if command -v gmake >/dev/null 2>&1 ; then @@ -88,6 +89,11 @@ build
> > > () # <directory> <target compiler> <meson options>
> > >  		echo "$ninja_cmd -C $builddir"
> > >  		$ninja_cmd -C $builddir
> > >  	fi
> > > +
> > > +	if [ -d $abi_ref_build_dir/$1/dump ]; then
> > > +		$srcdir/devtools/check-abi-dump.sh $builddir
> > > +			$abi_ref_build_dir/$1/dump
> > > +	fi
> > >  }
> > >
> > >  if [ "$1" = "-vv" ] ; then
> > > diff --git a/doc/guides/contributing/patches.rst
> > > b/doc/guides/contributing/patches.rst
> > > index 0686450e4..de3dff145 100644
> > > --- a/doc/guides/contributing/patches.rst
> > > +++ b/doc/guides/contributing/patches.rst
> > > @@ -513,6 +513,31 @@ in a single subfolder called "__builds" created
> > > in the current directory.
> > >  Setting ``DPDK_BUILD_TEST_DIR`` to an absolute directory path e.g.
> > > ``/tmp`` is also supported.
> > >
> > >
> > > +Checking ABI compatibility
> > > +--------------------------
> > > +
> > > +The first thing is to build reference binaries for the latest
> > release
> > > +your patches are built on top of.
> > > +
> > > +Either you are in a git tree and an easy way to identify this is to
> > run::
> > > +
> > > +  git checkout $(git describe --abbrev=0)
> > > +
> > > +Or you use a tarball and you extract the sources in a director of
> > > +your
> > > choice.
> > > +
> > > +Next is building those sources, refer to the previous paragraph.
> > > +You can set ``DPDK_BUILD_TEST_DIR=reference``, so that the builds
> > > +occur in this directory.
> > > +
> > > +Finally, the ABI dump files are generated with the
> > > +``devtools/gen-abi-reference.sh`` script. This script will look for
> > > +builds in the current sub directory ``reference``. But you can set
> > > +the environment variable ``DPDK_ABI_REF_BUILD_DIR`` to a different
> > location.
> > > +
> > > +Once done, you can check your current binaries ABI with this
> > > +reference with the ``devtools/check-abi-reference.sh`` script.
> > > +
> > > +
> > >  Sending Patches
> > >  ---------------
> > >
> > > --
> > > 2.23.0
> > 
> > I still very much dislike forcing the user to generate his own
> > reference version to compare the ABI against. These should be archived
> > and the user should just be able to pull them down via git or http or
> > otherwise. Two reasons for this:
> > 
> > 1. Less error prone, since there is no chance of the user having an
> > incorrect build for whatever reason.
> > 
> > 2. Less effort for the user than asking them to do extra builds. The
> > more steps the user has to follow, the less likely they are to attempt
> > the process.
> > 
> > Regards,
> > /Bruce
> > 
> 
> +1 ... 100% agree with this.
> 
> Many people won't know or understand what the reference is, 
> or why they to generate it. 

Many people won't run the test at all and will rely on the automatic CI tests.




^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] [PATCH v6 1/6] lib/eal: implement the family of rte bit operation APIs
  @ 2019-12-23  5:04  3%         ` Honnappa Nagarahalli
  2019-12-23 16:36  0%           ` Stephen Hemminger
  0 siblings, 1 reply; 200+ results
From: Honnappa Nagarahalli @ 2019-12-23  5:04 UTC (permalink / raw)
  To: Stephen Hemminger
  Cc: Joyce Kong, thomas, david.marchand, mb, jerinj, bruce.richardson,
	ravi1.kumar, rmody, shshaikh, xuanziyang2, cloud.wangxiaoyun,
	zhouguoyang, Phil Yang, Gavin Hu, nd, dev, Honnappa Nagarahalli,
	nd

<snip>

> 
> On Sat, 21 Dec 2019 16:07:23 +0000
> Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com> wrote:
> 
> > Converting these into macros will help remove the size based duplication of
> APIs. I came up with the following macro:
> >
> > #define RTE_GET_BIT(nr, var, ret, memorder) \ ({ \
> >     if (sizeof(var) == sizeof(uint32_t)) { \
> >         uint32_t mask1 = 1U << (nr)%32; \
> >         ret = __atomic_load_n(&var, (memorder)) & mask1;\
> >     } \
> >     else {\
> >         uint64_t mask2 = 1UL << (nr)%64;\
> >         ret = __atomic_load_n(&var, (memorder)) & mask2;\
> >     } \
> > })
> 
> Macros are more error prone. Especially because this is in exposed header file
That's another question I have. Why do we need to have these APIs in a public header file? These will add to the ABI burden as well. These APIs should be in a common-but-not-public header file. I am also not sure how helpful these APIs are for applications as these APIs seem to have considered requirements only from the PMDs.

^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] [PATCH v6 1/6] lib/eal: implement the family of rte bit operation APIs
  2019-12-23  5:04  3%         ` Honnappa Nagarahalli
@ 2019-12-23 16:36  0%           ` Stephen Hemminger
  2019-12-30  3:02  0%             ` Gavin Hu
  2020-01-07  0:41  0%             ` Honnappa Nagarahalli
  0 siblings, 2 replies; 200+ results
From: Stephen Hemminger @ 2019-12-23 16:36 UTC (permalink / raw)
  To: Honnappa Nagarahalli
  Cc: Joyce Kong, thomas, david.marchand, mb, jerinj, bruce.richardson,
	ravi1.kumar, rmody, shshaikh, xuanziyang2, cloud.wangxiaoyun,
	zhouguoyang, Phil Yang, Gavin Hu, nd, dev

On Mon, 23 Dec 2019 05:04:12 +0000
Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com> wrote:

> <snip>
> 
> > 
> > On Sat, 21 Dec 2019 16:07:23 +0000
> > Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com> wrote:
> >   
> > > Converting these into macros will help remove the size based duplication of  
> > APIs. I came up with the following macro:  
> > >
> > > #define RTE_GET_BIT(nr, var, ret, memorder) \ ({ \
> > >     if (sizeof(var) == sizeof(uint32_t)) { \
> > >         uint32_t mask1 = 1U << (nr)%32; \
> > >         ret = __atomic_load_n(&var, (memorder)) & mask1;\
> > >     } \
> > >     else {\
> > >         uint64_t mask2 = 1UL << (nr)%64;\
> > >         ret = __atomic_load_n(&var, (memorder)) & mask2;\
> > >     } \
> > > })  
> > 
> > Macros are more error prone. Especially because this is in exposed header file  
> That's another question I have. Why do we need to have these APIs in a public header file? These will add to the ABI burden as well. These APIs should be in a common-but-not-public header file. I am also not sure how helpful these APIs are for applications as these APIs seem to have considered requirements only from the PMDs.

Why do we have to wrap every C atomic builtin? What value is there in that?

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH v6 1/6] lib/eal: implement the family of rte bit operation APIs
  2019-12-23 16:36  0%           ` Stephen Hemminger
@ 2019-12-30  3:02  0%             ` Gavin Hu
  2020-01-07  0:44  0%               ` Honnappa Nagarahalli
  2020-01-07  0:41  0%             ` Honnappa Nagarahalli
  1 sibling, 1 reply; 200+ results
From: Gavin Hu @ 2019-12-30  3:02 UTC (permalink / raw)
  To: Stephen Hemminger, Honnappa Nagarahalli
  Cc: Joyce Kong, thomas, david.marchand, mb, jerinj, bruce.richardson,
	ravi1.kumar, rmody, shshaikh, xuanziyang2, cloud.wangxiaoyun,
	zhouguoyang, Phil Yang, nd, dev, nd

Hi Stephen, Honnappa,

> -----Original Message-----
> From: Stephen Hemminger <stephen@networkplumber.org>
> Sent: Tuesday, December 24, 2019 12:37 AM
> To: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
> Cc: Joyce Kong <Joyce.Kong@arm.com>; thomas@monjalon.net;
> david.marchand@redhat.com; mb@smartsharesystems.com;
> jerinj@marvell.com; bruce.richardson@intel.com; ravi1.kumar@amd.com;
> rmody@marvell.com; shshaikh@marvell.com; xuanziyang2@huawei.com;
> cloud.wangxiaoyun@huawei.com; zhouguoyang@huawei.com; Phil Yang
> <Phil.Yang@arm.com>; Gavin Hu <Gavin.Hu@arm.com>; nd <nd@arm.com>;
> dev@dpdk.org
> Subject: Re: [PATCH v6 1/6] lib/eal: implement the family of rte bit operation
> APIs
> 
> On Mon, 23 Dec 2019 05:04:12 +0000
> Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com> wrote:
> 
> > <snip>
> >
> > >
> > > On Sat, 21 Dec 2019 16:07:23 +0000
> > > Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com> wrote:
> > >
> > > > Converting these into macros will help remove the size based duplication
> of
> > > APIs. I came up with the following macro:
> > > >
> > > > #define RTE_GET_BIT(nr, var, ret, memorder) \ ({ \
> > > >     if (sizeof(var) == sizeof(uint32_t)) { \
> > > >         uint32_t mask1 = 1U << (nr)%32; \
> > > >         ret = __atomic_load_n(&var, (memorder)) & mask1;\
> > > >     } \
> > > >     else {\
> > > >         uint64_t mask2 = 1UL << (nr)%64;\
> > > >         ret = __atomic_load_n(&var, (memorder)) & mask2;\
> > > >     } \
> > > > })
> > >
> > > Macros are more error prone. Especially because this is in exposed header
> file
> > That's another question I have. Why do we need to have these APIs in a
> public header file? These will add to the ABI burden as well. These APIs should
> be in a common-but-not-public header file. I am also not sure how helpful
> these APIs are for applications as these APIs seem to have considered
> requirements only from the PMDs.
> 
> Why do we have to wrap every C atomic builtin? What value is there in that?

The wrapping is aimed to reduce code duplication, on average 3 lines cut down to 1 line for a single core.
Overall I am thinking this bitops APIs are targeted for use by PMDs only, applications can use C11 freely.
The initial thought for the new APIs came from the idea of consolidating the scattered bit operations all over the PMDs. It is unwise to expanding to applications or libraries, as different memory orderings are required and complexity generate. 

If the use cases are limited to PMDs, a 'volatile' or a compiler barrier is sufficient therefore the number of APIs can be saved by half. 
http://inbox.dpdk.org/dev/VI1PR08MB53766C30B5CDA00FB9FCE9678F2E0@VI1PR08MB5376.eurprd08.prod.outlook.com/

Any thoughts and comments are welcome!


^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH] add ABI checks
  2019-12-20 15:32  7% ` Richardson, Bruce
@ 2019-12-20 16:20  4%   ` Kinsella, Ray
  2019-12-20 21:00  4%     ` Thomas Monjalon
  2020-01-14 23:19  4%     ` Thomas Monjalon
  0 siblings, 2 replies; 200+ results
From: Kinsella, Ray @ 2019-12-20 16:20 UTC (permalink / raw)
  To: Richardson, Bruce, David Marchand, dev
  Cc: thomas, Laatz, Kevin, aconole, nhorman, Michael Santana,
	Mcnamara, John, Kovacevic, Marko

> -----Original Message-----
> From: Richardson, Bruce <bruce.richardson@intel.com>
> Sent: Friday 20 December 2019 15:32
> To: David Marchand <david.marchand@redhat.com>; dev@dpdk.org
> Cc: thomas@monjalon.net; Laatz, Kevin <kevin.laatz@intel.com>;
> aconole@redhat.com; nhorman@tuxdriver.com; Michael Santana
> <maicolgabriel@hotmail.com>; Mcnamara, John <john.mcnamara@intel.com>;
> Kovacevic, Marko <marko.kovacevic@intel.com>; Kinsella, Ray
> <ray.kinsella@intel.com>
> Subject: RE: [PATCH] add ABI checks
> 
> 
> 
> > -----Original Message-----
> > From: David Marchand <david.marchand@redhat.com>
> > Sent: Friday, December 20, 2019 3:21 PM
> > To: dev@dpdk.org
> > Cc: thomas@monjalon.net; Richardson, Bruce
> > <bruce.richardson@intel.com>; Laatz, Kevin <kevin.laatz@intel.com>;
> > aconole@redhat.com; nhorman@tuxdriver.com; Michael Santana
> > <maicolgabriel@hotmail.com>; Mcnamara, John
> <john.mcnamara@intel.com>;
> > Kovacevic, Marko <marko.kovacevic@intel.com>
> > Subject: [PATCH] add ABI checks
> >
> > Starting from Kevin and Bruce idea of using libabigail, here is an
> > alternate approach to implement ABI checks.
> >
> > By default, those checks are disabled and enabling them requires a
> > manual step that generates the ABI dumps on a reference version for a
> > set of configurations.
> >
> > Those checks are enabled in the CI by default for the default meson
> > options on x86 and aarch64 so that proposed patches are validated.
> > A cache of the ABI is stored in travis jobs.
> > Checks can be only informational by setting ABI_CHECKS_WARN_ONLY when
> > breaking the ABI in a future release.
> >
> > For advanced developers and maintainers, the contributing guide
> > details the higher level scripts that are quite close to the existing
> > devtools scripts.
> >
> > Signed-off-by: David Marchand <david.marchand@redhat.com>
> > ---
> >  .ci/linux-build.sh                  | 43 +++++++++++++++++++++++++++
> >  .travis.yml                         | 20 +++++++++++--
> >  devtools/check-abi-dump.sh          | 46
> +++++++++++++++++++++++++++++
> >  devtools/check-abi-reference.sh     | 27 +++++++++++++++++
> >  devtools/dpdk.abignore              |  2 ++
> >  devtools/gen-abi-dump.sh            | 29 ++++++++++++++++++
> >  devtools/gen-abi-reference.sh       | 24 +++++++++++++++
> >  devtools/test-build.sh              | 13 ++++++--
> >  devtools/test-meson-builds.sh       |  6 ++++
> >  doc/guides/contributing/patches.rst | 25 ++++++++++++++++
> >  10 files changed, 230 insertions(+), 5 deletions(-)  create mode
> > 100755 devtools/check-abi-dump.sh  create mode 100755
> > devtools/check-abi- reference.sh  create mode 100644
> > devtools/dpdk.abignore  create mode
> > 100755 devtools/gen-abi-dump.sh  create mode 100755 devtools/gen-abi-
> > reference.sh
> >
> > diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh index
> > ccc3a7ccd..345dba264 100755
> > --- a/.ci/linux-build.sh
> > +++ b/.ci/linux-build.sh
> > @@ -30,8 +30,51 @@ fi
> >
> >  OPTS="$OPTS --default-library=$DEF_LIB"
> >  meson build --werror -Dexamples=all $OPTS
> > +
> > +if [ "$ABI_CHECKS" = "1" ]; then
> > +    git remote add ref ${REF_GIT_REPO:-https://dpdk.org/git/dpdk}
> > +    git fetch --tags ref ${REF_GIT_BRANCH:-master}
> > +
> > +    head=$(git describe --all)
> > +    tag=$(git describe --abbrev=0)
> > +
> > +    if [ "$(cat reference/VERSION 2>/dev/null)" != "$tag" ]; then
> > +        rm -rf reference
> > +    fi
> > +
> > +    if [ ! -d reference ]; then
> > +        gen_abi_dump=$(mktemp -t gen-abi-dump-XXX.sh)
> > +        cp -a devtools/gen-abi-dump.sh $gen_abi_dump
> > +
> > +        git checkout -qf $tag
> > +        ninja -C build
> > +        $gen_abi_dump build reference
> > +
> > +        if [ "$AARCH64" != "1" ]; then
> > +            mkdir -p reference/app
> > +            cp -a build/app/dpdk-testpmd reference/app/
> > +
> > +            export
> LD_LIBRARY_PATH=$(pwd)/build/lib:$(pwd)/build/drivers
> > +            devtools/test-null.sh reference/app/dpdk-testpmd
> > +            unset LD_LIBRARY_PATH
> > +        fi
> > +        echo $tag > reference/VERSION
> > +
> > +        git checkout -qf $head
> > +    fi
> > +fi
> > +
> >  ninja -C build
> >
> > +if [ "$ABI_CHECKS" = "1" ]; then
> > +    devtools/check-abi-dump.sh build reference
> ${ABI_CHECKS_WARN_ONLY:-}
> > +    if [ "$AARCH64" != "1" ]; then
> > +        export LD_LIBRARY_PATH=$(pwd)/build/lib:$(pwd)/build/drivers
> > +        devtools/test-null.sh reference/app/dpdk-testpmd
> > +        unset LD_LIBRARY_PATH
> > +    fi
> > +fi
> > +
> >  if [ "$AARCH64" != "1" ]; then
> >      devtools/test-null.sh
> >  fi
> > diff --git a/.travis.yml b/.travis.yml index 8f90d06f2..bbb060fa2
> > 100644
> > --- a/.travis.yml
> > +++ b/.travis.yml
> > @@ -1,5 +1,8 @@
> >  language: c
> > -cache: ccache
> > +cache:
> > +  ccache: true
> > +  directories:
> > +    - reference
> >  compiler:
> >    - gcc
> >    - clang
> > @@ -21,7 +24,7 @@ aarch64_packages: &aarch64_packages
> >
> >  extra_packages: &extra_packages
> >    - *required_packages
> > -  - [libbsd-dev, libpcap-dev, libcrypto++-dev, libjansson4]
> > +  - [libbsd-dev, libpcap-dev, libcrypto++-dev, libjansson4,
> > + abigail-tools]
> >
> >  build_32b_packages: &build_32b_packages
> >    - *required_packages
> > @@ -59,6 +62,13 @@ matrix:
> >        apt:
> >          packages:
> >            - *aarch64_packages
> > +  - env: DEF_LIB="shared" EXTRA_PACKAGES=1 ABI_CHECKS=1 AARCH64=1
> > +    compiler: gcc
> > +    addons:
> > +      apt:
> > +        packages:
> > +          - *aarch64_packages
> > +          - *extra_packages
> >    - env: DEF_LIB="static" EXTRA_PACKAGES=1
> >      compiler: gcc
> >      addons:
> > @@ -72,6 +82,12 @@ matrix:
> >          packages:
> >            - *extra_packages
> >            - *doc_packages
> > +  - env: DEF_LIB="shared" EXTRA_PACKAGES=1 ABI_CHECKS=1
> > +    compiler: gcc
> > +    addons:
> > +      apt:
> > +        packages:
> > +          - *extra_packages
> >    - env: DEF_LIB="static" OPTS="-Denable_kmods=false"
> EXTRA_PACKAGES=1
> >      compiler: gcc
> >      addons:
> > diff --git a/devtools/check-abi-dump.sh b/devtools/check-abi-dump.sh
> > new file mode 100755 index 000000000..f48a2ae7e
> > --- /dev/null
> > +++ b/devtools/check-abi-dump.sh
> > @@ -0,0 +1,46 @@
> > +#!/bin/sh -e
> > +# SPDX-License-Identifier: BSD-3-Clause # Copyright (c) 2019 Red
> Hat,
> > +Inc.
> > +
> > +if [ $# != 2 ] && [ $# != 3 ]; then
> > +	echo "Usage: $0 builddir dumpdir [warnonly]"
> > +	exit 1
> > +fi
> > +
> > +builddir=$1
> > +dumpdir=$2
> > +warnonly=${3:-}
> > +if [ ! -d $builddir ]; then
> > +	echo "Error: build directory '$builddir' does not exist."
> > +	exit 1
> > +fi
> > +if [ ! -d $dumpdir ]; then
> > +	echo "Error: dump directory '$dumpdir' does not exist."
> > +	exit 1
> > +fi
> > +
> > +ABIDIFF_OPTIONS="--suppr $(dirname $0)/dpdk.abignore"
> > +for dump in $(find $dumpdir -name "*.dump"); do
> > +	libname=$(basename $dump)
> > +	libname=${libname%.dump}
> > +	result=
> > +	for f in $(find $builddir -name "$libname.so.*"); do
> > +		if test -L $f || [ "$f" != "${f%%.symbols}" ]; then
> > +			continue
> > +		fi
> > +		result=found
> > +
> > +		if ! abidiff $ABIDIFF_OPTIONS $dump $f; then
> > +			if [ -z "$warnonly" ]; then
> > +				echo "Error: ABI issue reported for $dump, $f"
> > +				exit 1
> > +			fi
> > +			echo "Warning: ABI issue reported for $dump, $f"
> > +		fi
> > +		break
> > +	done
> > +	if [ "$result" != "found" ]; then
> > +		echo "Error: can't find a library for dump file $dump"
> > +		exit 1
> > +	fi
> > +done
> > diff --git a/devtools/check-abi-reference.sh b/devtools/check-abi-
> > reference.sh new file mode 100755 index 000000000..7addb094e
> > --- /dev/null
> > +++ b/devtools/check-abi-reference.sh
> > @@ -0,0 +1,27 @@
> > +#!/bin/sh -e
> > +# SPDX-License-Identifier: BSD-3-Clause # Copyright (c) 2019 Red
> Hat,
> > +Inc.
> > +
> > +devtools_dir=$(dirname $(readlink -f $0)) .
> > +$devtools_dir/load-devel-config
> > +
> > +abi_ref_build_dir=${DPDK_ABI_REF_BUILD_DIR:-reference}
> > +builds_dir=${DPDK_BUILD_TEST_DIR:-.}
> > +
> > +for dir in $abi_ref_build_dir/*; do
> > +	if [ "$dir" = "$abi_ref_build_dir" ]; then
> > +		exit 1
> > +	fi
> > +	if [ ! -d $dir/dump ]; then
> > +		echo "Skipping $dir"
> > +		continue
> > +	fi
> > +	target=$(basename $dir)
> > +	if [ -d $builds_dir/$target/install ]; then
> > +		libdir=$builds_dir/$target/install
> > +	else
> > +		libdir=$builds_dir/$target
> > +	fi
> > +	echo "Checking ABI between $libdir and $dir/dump"
> > +	$devtools_dir/check-abi-dump.sh $libdir $dir/dump done
> > diff --git a/devtools/dpdk.abignore b/devtools/dpdk.abignore new file
> > mode
> > 100644 index 000000000..b866b7f26
> > --- /dev/null
> > +++ b/devtools/dpdk.abignore
> > @@ -0,0 +1,2 @@
> > +[suppress_function]
> > +        symbol_version = EXPERIMENTAL
> > diff --git a/devtools/gen-abi-dump.sh b/devtools/gen-abi-dump.sh new
> > file mode 100755 index 000000000..4e38d751f
> > --- /dev/null
> > +++ b/devtools/gen-abi-dump.sh
> > @@ -0,0 +1,29 @@
> > +#!/bin/sh -e
> > +# SPDX-License-Identifier: BSD-3-Clause # Copyright (c) 2019 Red
> Hat,
> > +Inc.
> > +
> > +if [ $# != 2 ]; then
> > +	echo "Usage: $0 builddir dumpdir"
> > +	exit 1
> > +fi
> > +
> > +builddir=$1
> > +dumpdir=$2
> > +if [ ! -d $builddir ]; then
> > +	echo "Error: build directory '$builddir' does not exist."
> > +	exit 1
> > +fi
> > +if [ -d $dumpdir ]; then
> > +	echo "Error: dump directory '$dumpdir' already exists."
> > +	exit 1
> > +fi
> > +
> > +mkdir -p $dumpdir
> > +for f in $(find $builddir -name "*.so.*"); do
> > +	if test -L $f || [ "$f" != "${f%%.symbols}" ]; then
> > +		continue
> > +	fi
> > +
> > +	libname=$(basename $f)
> > +	abidw --out-file $dumpdir/${libname%.so.*}.dump $f done
> > diff --git a/devtools/gen-abi-reference.sh
> > b/devtools/gen-abi-reference.sh new file mode 100755 index
> > 000000000..f41d7fadc
> > --- /dev/null
> > +++ b/devtools/gen-abi-reference.sh
> > @@ -0,0 +1,24 @@
> > +#!/bin/sh -e
> > +# SPDX-License-Identifier: BSD-3-Clause # Copyright (c) 2019 Red
> Hat,
> > +Inc.
> > +
> > +devtools_dir=$(dirname $(readlink -f $0)) .
> > +$devtools_dir/load-devel-config
> > +
> > +abi_ref_build_dir=${DPDK_ABI_REF_BUILD_DIR:-reference}
> > +for dir in $abi_ref_build_dir/*; do
> > +	if [ "$dir" = "$abi_ref_build_dir" ]; then
> > +		exit 1
> > +	fi
> > +	if [ -d $dir/dump ]; then
> > +		echo "Skipping $dir"
> > +		continue
> > +	fi
> > +	if [ -d $dir/install ]; then
> > +		libdir=$dir/install
> > +	else
> > +		libdir=$dir
> > +	fi
> > +	echo "Dumping libraries from $libdir in $dir/dump"
> > +	$devtools_dir/gen-abi-dump.sh $libdir $dir/dump done
> > diff --git a/devtools/test-build.sh b/devtools/test-build.sh index
> > 52305fbb8..8cb5b56fb 100755
> > --- a/devtools/test-build.sh
> > +++ b/devtools/test-build.sh
> > @@ -30,7 +30,8 @@ default_path=$PATH
> >  # - LIBSSO_SNOW3G_PATH
> >  # - LIBSSO_KASUMI_PATH
> >  # - LIBSSO_ZUC_PATH
> > -. $(dirname $(readlink -f $0))/load-devel-config
> > +devtools_dir=$(dirname $(readlink -f $0)) .
> > +$devtools_dir/load-devel-config
> >
> >  print_usage () {
> >  	echo "usage: $(basename $0) [-h] [-jX] [-s] [config1 [config2]
> > ...]]"
> > @@ -64,6 +65,7 @@ print_help () {
> >  [ -z $MAKE ] && echo "Cannot find make or gmake" && exit 1
> >
> >  J=$DPDK_MAKE_JOBS
> > +abi_ref_build_dir=${DPDK_ABI_REF_BUILD_DIR:-reference}
> >  builds_dir=${DPDK_BUILD_TEST_DIR:-.}
> >  short=false
> >  unset verbose
> > @@ -97,7 +99,7 @@ trap "signal=INT ; trap - INT ; kill -INT $$" INT
> #
> > notify result on exit  trap on_exit EXIT
> >
> > -cd $(dirname $(readlink -f $0))/..
> > +cd $devtools_dir/..
> >
> >  reset_env ()
> >  {
> > @@ -233,7 +235,7 @@ for conf in $configs ; do
> >  	# reload config with DPDK_TARGET set
> >  	DPDK_TARGET=$target
> >  	reset_env
> > -	. $(dirname $(readlink -f $0))/load-devel-config
> > +	. $devtools_dir/load-devel-config
> >
> >  	options=$(echo $conf | sed 's,[^~+]*,,')
> >  	dir=$builds_dir/$conf
> > @@ -246,6 +248,11 @@ for conf in $configs ; do
> >  	export RTE_TARGET=$target
> >  	rm -rf $dir/install
> >  	${MAKE} install O=$dir DESTDIR=$dir/install prefix=
> > +	if [ -d $abi_ref_build_dir/$conf/dump ]; then
> > +		echo "================== Check ABI $conf"
> > +		$devtools_dir/check-abi-dump.sh $dir/install \
> > +			$abi_ref_build_dir/$conf/dump
> > +	fi
> >  	echo "================== Build examples for $conf"
> >  	export RTE_SDK=$(readlink -f $dir)/install/share/dpdk
> >  	ln -sTf $(pwd)/lib $RTE_SDK/lib # workaround for vm_power_manager
> > diff --git a/devtools/test-meson-builds.sh
> > b/devtools/test-meson-builds.sh index 688567714..aaefa38a2 100755
> > --- a/devtools/test-meson-builds.sh
> > +++ b/devtools/test-meson-builds.sh
> > @@ -16,6 +16,7 @@ srcdir=$(dirname $(readlink -f $0))/..
> >
> >  MESON=${MESON:-meson}
> >  use_shared="--default-library=shared"
> > +abi_ref_build_dir=${DPDK_ABI_REF_BUILD_DIR:-reference}
> >  builds_dir=${DPDK_BUILD_TEST_DIR:-.}
> >
> >  if command -v gmake >/dev/null 2>&1 ; then @@ -88,6 +89,11 @@ build
> > () # <directory> <target compiler> <meson options>
> >  		echo "$ninja_cmd -C $builddir"
> >  		$ninja_cmd -C $builddir
> >  	fi
> > +
> > +	if [ -d $abi_ref_build_dir/$1/dump ]; then
> > +		$srcdir/devtools/check-abi-dump.sh $builddir
> > +			$abi_ref_build_dir/$1/dump
> > +	fi
> >  }
> >
> >  if [ "$1" = "-vv" ] ; then
> > diff --git a/doc/guides/contributing/patches.rst
> > b/doc/guides/contributing/patches.rst
> > index 0686450e4..de3dff145 100644
> > --- a/doc/guides/contributing/patches.rst
> > +++ b/doc/guides/contributing/patches.rst
> > @@ -513,6 +513,31 @@ in a single subfolder called "__builds" created
> > in the current directory.
> >  Setting ``DPDK_BUILD_TEST_DIR`` to an absolute directory path e.g.
> > ``/tmp`` is also supported.
> >
> >
> > +Checking ABI compatibility
> > +--------------------------
> > +
> > +The first thing is to build reference binaries for the latest
> release
> > +your patches are built on top of.
> > +
> > +Either you are in a git tree and an easy way to identify this is to
> run::
> > +
> > +  git checkout $(git describe --abbrev=0)
> > +
> > +Or you use a tarball and you extract the sources in a director of
> > +your
> > choice.
> > +
> > +Next is building those sources, refer to the previous paragraph.
> > +You can set ``DPDK_BUILD_TEST_DIR=reference``, so that the builds
> > +occur in this directory.
> > +
> > +Finally, the ABI dump files are generated with the
> > +``devtools/gen-abi-reference.sh`` script. This script will look for
> > +builds in the current sub directory ``reference``. But you can set
> > +the environment variable ``DPDK_ABI_REF_BUILD_DIR`` to a different
> location.
> > +
> > +Once done, you can check your current binaries ABI with this
> > +reference with the ``devtools/check-abi-reference.sh`` script.
> > +
> > +
> >  Sending Patches
> >  ---------------
> >
> > --
> > 2.23.0
> 
> I still very much dislike forcing the user to generate his own
> reference version to compare the ABI against. These should be archived
> and the user should just be able to pull them down via git or http or
> otherwise. Two reasons for this:
> 
> 1. Less error prone, since there is no chance of the user having an
> incorrect build for whatever reason.
> 
> 2. Less effort for the user than asking them to do extra builds. The
> more steps the user has to follow, the less likely they are to attempt
> the process.
> 
> Regards,
> /Bruce
> 

+1 ... 100% agree with this.

Many people won't know or understand what the reference is, 
or why they to generate it. 

Ray K

^ permalink raw reply	[relevance 4%]

* [dpdk-dev] [PATCH 00/14] cleanup resources on shutdown
@ 2020-01-04  1:33  3% Stephen Hemminger
  0 siblings, 0 replies; 200+ results
From: Stephen Hemminger @ 2020-01-04  1:33 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger

Recently started using valgrind with DPDK, and the results
are not clean.

The DPDK has a function that applications can use to tell it
to cleanup resources on shutdown (rte_eal_cleanup). But the
current coverage of that API is spotty. Many internal parts of
DPDK leave files and allocated memory behind.

This patch set is a start at getting the sub-parts of
DPDK to cleanup after themselves. These are the easier ones,
the harder and more critical ones are in the drivers
and the memory subsystem.

There are no visible API or ABI changes here.

Stephen Hemminger (14):
  eal: log: close on cleanup
  eal: log: free dynamic state on cleanup
  eal: alarm: close timerfd on eal cleanup
  eal: cleanup threads
  eal: intr: cleanup resources
  eal: mp: end the multiprocess thread during cleanup
  eal: interrupts close epoll fd on shutdown
  eal: vfio: cleanup the mp sync handle
  eal: close mem config on cleanup
  tap: close netlink socket on device close
  eal: cleanup plugins data
  ethdev: raise priority of old driver warning
  eal: hotplug: cleanup multiprocess resources
  eal: malloc: cleanup mp resources

 drivers/net/tap/rte_eth_tap.c               |  7 ++++-
 lib/librte_eal/common/eal_common_log.c      | 30 +++++++++++++++++-
 lib/librte_eal/common/eal_common_options.c  | 12 +++++++
 lib/librte_eal/common/eal_common_proc.c     | 17 +++++++---
 lib/librte_eal/common/eal_options.h         |  1 +
 lib/librte_eal/common/eal_private.h         | 30 ++++++++++++++++++
 lib/librte_eal/common/hotplug_mp.c          |  5 +++
 lib/librte_eal/common/hotplug_mp.h          |  6 ++++
 lib/librte_eal/common/malloc_heap.c         |  6 ++++
 lib/librte_eal/common/malloc_heap.h         |  3 ++
 lib/librte_eal/common/malloc_mp.c           | 12 +++++++
 lib/librte_eal/common/malloc_mp.h           |  3 ++
 lib/librte_eal/linux/eal/eal.c              | 28 +++++++++++++++++
 lib/librte_eal/linux/eal/eal_alarm.c        | 11 +++++++
 lib/librte_eal/linux/eal/eal_interrupts.c   | 35 ++++++++++++++++++---
 lib/librte_eal/linux/eal/eal_log.c          | 14 +++++++++
 lib/librte_eal/linux/eal/eal_vfio.h         |  1 +
 lib/librte_eal/linux/eal/eal_vfio_mp_sync.c |  8 +++++
 lib/librte_ethdev/rte_ethdev.c              |  2 +-
 19 files changed, 218 insertions(+), 13 deletions(-)

-- 
2.20.1


^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] [PATCH] add ABI checks
  2019-12-20 21:00  4%     ` Thomas Monjalon
@ 2020-01-06 13:17  9%       ` Aaron Conole
  2020-01-15 13:07  9%         ` Burakov, Anatoly
  0 siblings, 1 reply; 200+ results
From: Aaron Conole @ 2020-01-06 13:17 UTC (permalink / raw)
  To: Thomas Monjalon
  Cc: Kinsella, Ray, Richardson, Bruce, David Marchand, dev, Laatz,
	Kevin, nhorman, Michael Santana, Mcnamara, John, Kovacevic,
	Marko

Thomas Monjalon <thomas@monjalon.net> writes:

> 20/12/2019 17:20, Kinsella, Ray:
>> > -----Original Message-----
>> > From: Richardson, Bruce <bruce.richardson@intel.com>
>> > Sent: Friday 20 December 2019 15:32
>> > To: David Marchand <david.marchand@redhat.com>; dev@dpdk.org
>> > Cc: thomas@monjalon.net; Laatz, Kevin <kevin.laatz@intel.com>;
>> > aconole@redhat.com; nhorman@tuxdriver.com; Michael Santana
>> > <maicolgabriel@hotmail.com>; Mcnamara, John <john.mcnamara@intel.com>;
>> > Kovacevic, Marko <marko.kovacevic@intel.com>; Kinsella, Ray
>> > <ray.kinsella@intel.com>
>> > Subject: RE: [PATCH] add ABI checks
>> > 
>> > 
>> > 
>> > > -----Original Message-----
>> > > From: David Marchand <david.marchand@redhat.com>
>> > > Sent: Friday, December 20, 2019 3:21 PM
>> > > To: dev@dpdk.org
>> > > Cc: thomas@monjalon.net; Richardson, Bruce
>> > > <bruce.richardson@intel.com>; Laatz, Kevin <kevin.laatz@intel.com>;
>> > > aconole@redhat.com; nhorman@tuxdriver.com; Michael Santana
>> > > <maicolgabriel@hotmail.com>; Mcnamara, John
>> > <john.mcnamara@intel.com>;
>> > > Kovacevic, Marko <marko.kovacevic@intel.com>
>> > > Subject: [PATCH] add ABI checks
>> > >
>> > > Starting from Kevin and Bruce idea of using libabigail, here is an
>> > > alternate approach to implement ABI checks.
>> > >
>> > > By default, those checks are disabled and enabling them requires a
>> > > manual step that generates the ABI dumps on a reference version for a
>> > > set of configurations.
>> > >
>> > > Those checks are enabled in the CI by default for the default meson
>> > > options on x86 and aarch64 so that proposed patches are validated.
>> > > A cache of the ABI is stored in travis jobs.
>> > > Checks can be only informational by setting ABI_CHECKS_WARN_ONLY when
>> > > breaking the ABI in a future release.
>> > >
>> > > For advanced developers and maintainers, the contributing guide
>> > > details the higher level scripts that are quite close to the existing
>> > > devtools scripts.
>> > >
>> > > Signed-off-by: David Marchand <david.marchand@redhat.com>
>> > > ---
>> > >  .ci/linux-build.sh                  | 43 +++++++++++++++++++++++++++
>> > >  .travis.yml                         | 20 +++++++++++--
>> > >  devtools/check-abi-dump.sh          | 46
>> > +++++++++++++++++++++++++++++
>> > >  devtools/check-abi-reference.sh     | 27 +++++++++++++++++
>> > >  devtools/dpdk.abignore              |  2 ++
>> > >  devtools/gen-abi-dump.sh            | 29 ++++++++++++++++++
>> > >  devtools/gen-abi-reference.sh       | 24 +++++++++++++++
>> > >  devtools/test-build.sh              | 13 ++++++--
>> > >  devtools/test-meson-builds.sh       |  6 ++++
>> > >  doc/guides/contributing/patches.rst | 25 ++++++++++++++++
>> > >  10 files changed, 230 insertions(+), 5 deletions(-)  create mode
>> > > 100755 devtools/check-abi-dump.sh  create mode 100755
>> > > devtools/check-abi- reference.sh  create mode 100644
>> > > devtools/dpdk.abignore  create mode
>> > > 100755 devtools/gen-abi-dump.sh  create mode 100755 devtools/gen-abi-
>> > > reference.sh
>> > >
>> > > diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh index
>> > > ccc3a7ccd..345dba264 100755
>> > > --- a/.ci/linux-build.sh
>> > > +++ b/.ci/linux-build.sh
>> > > @@ -30,8 +30,51 @@ fi
>> > >
>> > >  OPTS="$OPTS --default-library=$DEF_LIB"
>> > >  meson build --werror -Dexamples=all $OPTS
>> > > +
>> > > +if [ "$ABI_CHECKS" = "1" ]; then
>> > > +    git remote add ref ${REF_GIT_REPO:-https://dpdk.org/git/dpdk}
>> > > +    git fetch --tags ref ${REF_GIT_BRANCH:-master}
>> > > +
>> > > +    head=$(git describe --all)
>> > > +    tag=$(git describe --abbrev=0)
>> > > +
>> > > +    if [ "$(cat reference/VERSION 2>/dev/null)" != "$tag" ]; then
>> > > +        rm -rf reference
>> > > +    fi
>> > > +
>> > > +    if [ ! -d reference ]; then
>> > > +        gen_abi_dump=$(mktemp -t gen-abi-dump-XXX.sh)
>> > > +        cp -a devtools/gen-abi-dump.sh $gen_abi_dump
>> > > +
>> > > +        git checkout -qf $tag
>> > > +        ninja -C build
>> > > +        $gen_abi_dump build reference
>> > > +
>> > > +        if [ "$AARCH64" != "1" ]; then
>> > > +            mkdir -p reference/app
>> > > +            cp -a build/app/dpdk-testpmd reference/app/
>> > > +
>> > > +            export
>> > LD_LIBRARY_PATH=$(pwd)/build/lib:$(pwd)/build/drivers
>> > > +            devtools/test-null.sh reference/app/dpdk-testpmd
>> > > +            unset LD_LIBRARY_PATH
>> > > +        fi
>> > > +        echo $tag > reference/VERSION
>> > > +
>> > > +        git checkout -qf $head
>> > > +    fi
>> > > +fi
>> > > +
>> > >  ninja -C build
>> > >
>> > > +if [ "$ABI_CHECKS" = "1" ]; then
>> > > +    devtools/check-abi-dump.sh build reference
>> > ${ABI_CHECKS_WARN_ONLY:-}
>> > > +    if [ "$AARCH64" != "1" ]; then
>> > > +        export LD_LIBRARY_PATH=$(pwd)/build/lib:$(pwd)/build/drivers
>> > > +        devtools/test-null.sh reference/app/dpdk-testpmd
>> > > +        unset LD_LIBRARY_PATH
>> > > +    fi
>> > > +fi
>> > > +
>> > >  if [ "$AARCH64" != "1" ]; then
>> > >      devtools/test-null.sh
>> > >  fi
>> > > diff --git a/.travis.yml b/.travis.yml index 8f90d06f2..bbb060fa2
>> > > 100644
>> > > --- a/.travis.yml
>> > > +++ b/.travis.yml
>> > > @@ -1,5 +1,8 @@
>> > >  language: c
>> > > -cache: ccache
>> > > +cache:
>> > > +  ccache: true
>> > > +  directories:
>> > > +    - reference
>> > >  compiler:
>> > >    - gcc
>> > >    - clang
>> > > @@ -21,7 +24,7 @@ aarch64_packages: &aarch64_packages
>> > >
>> > >  extra_packages: &extra_packages
>> > >    - *required_packages
>> > > -  - [libbsd-dev, libpcap-dev, libcrypto++-dev, libjansson4]
>> > > +  - [libbsd-dev, libpcap-dev, libcrypto++-dev, libjansson4,
>> > > + abigail-tools]
>> > >
>> > >  build_32b_packages: &build_32b_packages
>> > >    - *required_packages
>> > > @@ -59,6 +62,13 @@ matrix:
>> > >        apt:
>> > >          packages:
>> > >            - *aarch64_packages
>> > > +  - env: DEF_LIB="shared" EXTRA_PACKAGES=1 ABI_CHECKS=1 AARCH64=1
>> > > +    compiler: gcc
>> > > +    addons:
>> > > +      apt:
>> > > +        packages:
>> > > +          - *aarch64_packages
>> > > +          - *extra_packages
>> > >    - env: DEF_LIB="static" EXTRA_PACKAGES=1
>> > >      compiler: gcc
>> > >      addons:
>> > > @@ -72,6 +82,12 @@ matrix:
>> > >          packages:
>> > >            - *extra_packages
>> > >            - *doc_packages
>> > > +  - env: DEF_LIB="shared" EXTRA_PACKAGES=1 ABI_CHECKS=1
>> > > +    compiler: gcc
>> > > +    addons:
>> > > +      apt:
>> > > +        packages:
>> > > +          - *extra_packages
>> > >    - env: DEF_LIB="static" OPTS="-Denable_kmods=false"
>> > EXTRA_PACKAGES=1
>> > >      compiler: gcc
>> > >      addons:
>> > > diff --git a/devtools/check-abi-dump.sh b/devtools/check-abi-dump.sh
>> > > new file mode 100755 index 000000000..f48a2ae7e
>> > > --- /dev/null
>> > > +++ b/devtools/check-abi-dump.sh
>> > > @@ -0,0 +1,46 @@
>> > > +#!/bin/sh -e
>> > > +# SPDX-License-Identifier: BSD-3-Clause # Copyright (c) 2019 Red
>> > Hat,
>> > > +Inc.
>> > > +
>> > > +if [ $# != 2 ] && [ $# != 3 ]; then
>> > > +	echo "Usage: $0 builddir dumpdir [warnonly]"
>> > > +	exit 1
>> > > +fi
>> > > +
>> > > +builddir=$1
>> > > +dumpdir=$2
>> > > +warnonly=${3:-}
>> > > +if [ ! -d $builddir ]; then
>> > > +	echo "Error: build directory '$builddir' does not exist."
>> > > +	exit 1
>> > > +fi
>> > > +if [ ! -d $dumpdir ]; then
>> > > +	echo "Error: dump directory '$dumpdir' does not exist."
>> > > +	exit 1
>> > > +fi
>> > > +
>> > > +ABIDIFF_OPTIONS="--suppr $(dirname $0)/dpdk.abignore"
>> > > +for dump in $(find $dumpdir -name "*.dump"); do
>> > > +	libname=$(basename $dump)
>> > > +	libname=${libname%.dump}
>> > > +	result=
>> > > +	for f in $(find $builddir -name "$libname.so.*"); do
>> > > +		if test -L $f || [ "$f" != "${f%%.symbols}" ]; then
>> > > +			continue
>> > > +		fi
>> > > +		result=found
>> > > +
>> > > +		if ! abidiff $ABIDIFF_OPTIONS $dump $f; then
>> > > +			if [ -z "$warnonly" ]; then
>> > > +				echo "Error: ABI issue reported for $dump, $f"
>> > > +				exit 1
>> > > +			fi
>> > > +			echo "Warning: ABI issue reported for $dump, $f"
>> > > +		fi
>> > > +		break
>> > > +	done
>> > > +	if [ "$result" != "found" ]; then
>> > > +		echo "Error: can't find a library for dump file $dump"
>> > > +		exit 1
>> > > +	fi
>> > > +done
>> > > diff --git a/devtools/check-abi-reference.sh b/devtools/check-abi-
>> > > reference.sh new file mode 100755 index 000000000..7addb094e
>> > > --- /dev/null
>> > > +++ b/devtools/check-abi-reference.sh
>> > > @@ -0,0 +1,27 @@
>> > > +#!/bin/sh -e
>> > > +# SPDX-License-Identifier: BSD-3-Clause # Copyright (c) 2019 Red
>> > Hat,
>> > > +Inc.
>> > > +
>> > > +devtools_dir=$(dirname $(readlink -f $0)) .
>> > > +$devtools_dir/load-devel-config
>> > > +
>> > > +abi_ref_build_dir=${DPDK_ABI_REF_BUILD_DIR:-reference}
>> > > +builds_dir=${DPDK_BUILD_TEST_DIR:-.}
>> > > +
>> > > +for dir in $abi_ref_build_dir/*; do
>> > > +	if [ "$dir" = "$abi_ref_build_dir" ]; then
>> > > +		exit 1
>> > > +	fi
>> > > +	if [ ! -d $dir/dump ]; then
>> > > +		echo "Skipping $dir"
>> > > +		continue
>> > > +	fi
>> > > +	target=$(basename $dir)
>> > > +	if [ -d $builds_dir/$target/install ]; then
>> > > +		libdir=$builds_dir/$target/install
>> > > +	else
>> > > +		libdir=$builds_dir/$target
>> > > +	fi
>> > > +	echo "Checking ABI between $libdir and $dir/dump"
>> > > +	$devtools_dir/check-abi-dump.sh $libdir $dir/dump done
>> > > diff --git a/devtools/dpdk.abignore b/devtools/dpdk.abignore new file
>> > > mode
>> > > 100644 index 000000000..b866b7f26
>> > > --- /dev/null
>> > > +++ b/devtools/dpdk.abignore
>> > > @@ -0,0 +1,2 @@
>> > > +[suppress_function]
>> > > +        symbol_version = EXPERIMENTAL
>> > > diff --git a/devtools/gen-abi-dump.sh b/devtools/gen-abi-dump.sh new
>> > > file mode 100755 index 000000000..4e38d751f
>> > > --- /dev/null
>> > > +++ b/devtools/gen-abi-dump.sh
>> > > @@ -0,0 +1,29 @@
>> > > +#!/bin/sh -e
>> > > +# SPDX-License-Identifier: BSD-3-Clause # Copyright (c) 2019 Red
>> > Hat,
>> > > +Inc.
>> > > +
>> > > +if [ $# != 2 ]; then
>> > > +	echo "Usage: $0 builddir dumpdir"
>> > > +	exit 1
>> > > +fi
>> > > +
>> > > +builddir=$1
>> > > +dumpdir=$2
>> > > +if [ ! -d $builddir ]; then
>> > > +	echo "Error: build directory '$builddir' does not exist."
>> > > +	exit 1
>> > > +fi
>> > > +if [ -d $dumpdir ]; then
>> > > +	echo "Error: dump directory '$dumpdir' already exists."
>> > > +	exit 1
>> > > +fi
>> > > +
>> > > +mkdir -p $dumpdir
>> > > +for f in $(find $builddir -name "*.so.*"); do
>> > > +	if test -L $f || [ "$f" != "${f%%.symbols}" ]; then
>> > > +		continue
>> > > +	fi
>> > > +
>> > > +	libname=$(basename $f)
>> > > +	abidw --out-file $dumpdir/${libname%.so.*}.dump $f done
>> > > diff --git a/devtools/gen-abi-reference.sh
>> > > b/devtools/gen-abi-reference.sh new file mode 100755 index
>> > > 000000000..f41d7fadc
>> > > --- /dev/null
>> > > +++ b/devtools/gen-abi-reference.sh
>> > > @@ -0,0 +1,24 @@
>> > > +#!/bin/sh -e
>> > > +# SPDX-License-Identifier: BSD-3-Clause # Copyright (c) 2019 Red
>> > Hat,
>> > > +Inc.
>> > > +
>> > > +devtools_dir=$(dirname $(readlink -f $0)) .
>> > > +$devtools_dir/load-devel-config
>> > > +
>> > > +abi_ref_build_dir=${DPDK_ABI_REF_BUILD_DIR:-reference}
>> > > +for dir in $abi_ref_build_dir/*; do
>> > > +	if [ "$dir" = "$abi_ref_build_dir" ]; then
>> > > +		exit 1
>> > > +	fi
>> > > +	if [ -d $dir/dump ]; then
>> > > +		echo "Skipping $dir"
>> > > +		continue
>> > > +	fi
>> > > +	if [ -d $dir/install ]; then
>> > > +		libdir=$dir/install
>> > > +	else
>> > > +		libdir=$dir
>> > > +	fi
>> > > +	echo "Dumping libraries from $libdir in $dir/dump"
>> > > +	$devtools_dir/gen-abi-dump.sh $libdir $dir/dump done
>> > > diff --git a/devtools/test-build.sh b/devtools/test-build.sh index
>> > > 52305fbb8..8cb5b56fb 100755
>> > > --- a/devtools/test-build.sh
>> > > +++ b/devtools/test-build.sh
>> > > @@ -30,7 +30,8 @@ default_path=$PATH
>> > >  # - LIBSSO_SNOW3G_PATH
>> > >  # - LIBSSO_KASUMI_PATH
>> > >  # - LIBSSO_ZUC_PATH
>> > > -. $(dirname $(readlink -f $0))/load-devel-config
>> > > +devtools_dir=$(dirname $(readlink -f $0)) .
>> > > +$devtools_dir/load-devel-config
>> > >
>> > >  print_usage () {
>> > >  	echo "usage: $(basename $0) [-h] [-jX] [-s] [config1 [config2]
>> > > ...]]"
>> > > @@ -64,6 +65,7 @@ print_help () {
>> > >  [ -z $MAKE ] && echo "Cannot find make or gmake" && exit 1
>> > >
>> > >  J=$DPDK_MAKE_JOBS
>> > > +abi_ref_build_dir=${DPDK_ABI_REF_BUILD_DIR:-reference}
>> > >  builds_dir=${DPDK_BUILD_TEST_DIR:-.}
>> > >  short=false
>> > >  unset verbose
>> > > @@ -97,7 +99,7 @@ trap "signal=INT ; trap - INT ; kill -INT $$" INT
>> > #
>> > > notify result on exit  trap on_exit EXIT
>> > >
>> > > -cd $(dirname $(readlink -f $0))/..
>> > > +cd $devtools_dir/..
>> > >
>> > >  reset_env ()
>> > >  {
>> > > @@ -233,7 +235,7 @@ for conf in $configs ; do
>> > >  	# reload config with DPDK_TARGET set
>> > >  	DPDK_TARGET=$target
>> > >  	reset_env
>> > > -	. $(dirname $(readlink -f $0))/load-devel-config
>> > > +	. $devtools_dir/load-devel-config
>> > >
>> > >  	options=$(echo $conf | sed 's,[^~+]*,,')
>> > >  	dir=$builds_dir/$conf
>> > > @@ -246,6 +248,11 @@ for conf in $configs ; do
>> > >  	export RTE_TARGET=$target
>> > >  	rm -rf $dir/install
>> > >  	${MAKE} install O=$dir DESTDIR=$dir/install prefix=
>> > > +	if [ -d $abi_ref_build_dir/$conf/dump ]; then
>> > > +		echo "================== Check ABI $conf"
>> > > +		$devtools_dir/check-abi-dump.sh $dir/install \
>> > > +			$abi_ref_build_dir/$conf/dump
>> > > +	fi
>> > >  	echo "================== Build examples for $conf"
>> > >  	export RTE_SDK=$(readlink -f $dir)/install/share/dpdk
>> > >  	ln -sTf $(pwd)/lib $RTE_SDK/lib # workaround for vm_power_manager
>> > > diff --git a/devtools/test-meson-builds.sh
>> > > b/devtools/test-meson-builds.sh index 688567714..aaefa38a2 100755
>> > > --- a/devtools/test-meson-builds.sh
>> > > +++ b/devtools/test-meson-builds.sh
>> > > @@ -16,6 +16,7 @@ srcdir=$(dirname $(readlink -f $0))/..
>> > >
>> > >  MESON=${MESON:-meson}
>> > >  use_shared="--default-library=shared"
>> > > +abi_ref_build_dir=${DPDK_ABI_REF_BUILD_DIR:-reference}
>> > >  builds_dir=${DPDK_BUILD_TEST_DIR:-.}
>> > >
>> > >  if command -v gmake >/dev/null 2>&1 ; then @@ -88,6 +89,11 @@ build
>> > > () # <directory> <target compiler> <meson options>
>> > >  		echo "$ninja_cmd -C $builddir"
>> > >  		$ninja_cmd -C $builddir
>> > >  	fi
>> > > +
>> > > +	if [ -d $abi_ref_build_dir/$1/dump ]; then
>> > > +		$srcdir/devtools/check-abi-dump.sh $builddir
>> > > +			$abi_ref_build_dir/$1/dump
>> > > +	fi
>> > >  }
>> > >
>> > >  if [ "$1" = "-vv" ] ; then
>> > > diff --git a/doc/guides/contributing/patches.rst
>> > > b/doc/guides/contributing/patches.rst
>> > > index 0686450e4..de3dff145 100644
>> > > --- a/doc/guides/contributing/patches.rst
>> > > +++ b/doc/guides/contributing/patches.rst
>> > > @@ -513,6 +513,31 @@ in a single subfolder called "__builds" created
>> > > in the current directory.
>> > >  Setting ``DPDK_BUILD_TEST_DIR`` to an absolute directory path e.g.
>> > > ``/tmp`` is also supported.
>> > >
>> > >
>> > > +Checking ABI compatibility
>> > > +--------------------------
>> > > +
>> > > +The first thing is to build reference binaries for the latest
>> > release
>> > > +your patches are built on top of.
>> > > +
>> > > +Either you are in a git tree and an easy way to identify this is to
>> > run::
>> > > +
>> > > +  git checkout $(git describe --abbrev=0)
>> > > +
>> > > +Or you use a tarball and you extract the sources in a director of
>> > > +your
>> > > choice.
>> > > +
>> > > +Next is building those sources, refer to the previous paragraph.
>> > > +You can set ``DPDK_BUILD_TEST_DIR=reference``, so that the builds
>> > > +occur in this directory.
>> > > +
>> > > +Finally, the ABI dump files are generated with the
>> > > +``devtools/gen-abi-reference.sh`` script. This script will look for
>> > > +builds in the current sub directory ``reference``. But you can set
>> > > +the environment variable ``DPDK_ABI_REF_BUILD_DIR`` to a different
>> > location.
>> > > +
>> > > +Once done, you can check your current binaries ABI with this
>> > > +reference with the ``devtools/check-abi-reference.sh`` script.
>> > > +
>> > > +
>> > >  Sending Patches
>> > >  ---------------
>> > >
>> > > --
>> > > 2.23.0
>> > 
>> > I still very much dislike forcing the user to generate his own
>> > reference version to compare the ABI against. These should be archived
>> > and the user should just be able to pull them down via git or http or
>> > otherwise. Two reasons for this:
>> > 
>> > 1. Less error prone, since there is no chance of the user having an
>> > incorrect build for whatever reason.

It's more error prone I think.  There are issues with archived versions
of ABI dumps, or bad content delivery networks.  Working from the git
repository is *guaranteed* to generate a correct ABI dump.  Anything
else allows your CDN / other to break.

>> > 2. Less effort for the user than asking them to do extra builds. The
>> > more steps the user has to follow, the less likely they are to attempt
>> > the process.

It's important to remember that (as far as I'm aware) the vast majority
of DPDK users don't make many code changes or even compile it.  And
those who do typically don't even run the unit tests.  I think it's good
to document a process for people to follow, but such process shouldn't
assume that developers can't run basic git commands or execute scripts.

>> > Regards,
>> > /Bruce
>> > 
>> 
>> +1 ... 100% agree with this.
>> 
>> Many people won't know or understand what the reference is, 
>> or why they to generate it. 
>
> Many people won't run the test at all and will rely on the automatic CI tests.

+1 to this.  It's good for the robot's travis build to validate the ABI for
patches, since it will alert us anyway.


^ permalink raw reply	[relevance 9%]

* Re: [dpdk-dev] [PATCH v6 00/11] Add ABI compatibility checks to the meson build
  2019-12-20 14:17  9%               ` Bruce Richardson
@ 2020-01-06 13:20  7%                 ` Aaron Conole
  0 siblings, 0 replies; 200+ results
From: Aaron Conole @ 2020-01-06 13:20 UTC (permalink / raw)
  To: Bruce Richardson
  Cc: David Marchand, Kevin Laatz, dev, Thomas Monjalon, Kinsella, Ray,
	Tomasz Duszynski, Zyta Szpak, Rastislav Cernay

Bruce Richardson <bruce.richardson@intel.com> writes:

> On Fri, Dec 20, 2019 at 02:19:13PM +0100, David Marchand wrote:
>> On Fri, Dec 20, 2019 at 12:04 PM Bruce Richardson
>> <bruce.richardson@intel.com> wrote:
>> > > For maintainers that integrate patches or developers that get a CI
>> > > failure and want to fix it, we would need to help them to:
>> > > * generate dumps on a reference version, so I would tend to write some
>> > > documentation since playing with the current sources would be too
>> > > dangerous from my pov,
>> >
>> > This should be a one-off reference dump archived somewhere. Each maintainer
>> > should not have his own copy, I think.
>> 
>> This is not a one-off thing.
>> We maintain ABI for some time (1/2 year(s)), and we expect to bump ABI.
>> When doing this, in size, the diff will be at least the same than what
>> we have here.
>> 
>
> I don't think it will be quite that big, but ok, it may be significant, so
> I will concede that these are too big to store in the main git repo.
>
>> 
>> If you disable libraries, features etc... you get a new ABI.
>> What would be the reference*s* then?
>> Builds with default options from meson for each architecture?
>> 
>
> On the project level API, yes, removing libraries/drivers does affect
> things. However, the specific checks are done on the individual .so level,
> so having some drivers off in the build should not be a problem. Even with
> features - all public functions need to correspond with map file entries,
> so we can't conditionally remove them without providing a stub AFAIK.
> Therefore, having one master reference of the DPDK_20 ABI is perfectly
> feasible.

But when is it cut?  What happens during an interrim, where users have
an outdated reference but don't remember what they downloaded?  What
about when we have multiple LTS' that have different ABI versions and
need to ensure that we don't break ABIs for backports?

>> 
>> > > * run the checks, like adding the check in the
>> > > devtools/test-*-build.sh scripts that already exist, with a new
>> > > configuration item to point at the dumps per target,
>> > >
>> >
>> > Where do we store the dumps then? Do they get stored in a separate git
>> > repo?
>> 
>> Creating a separate git repo is just adding more pain to submitters
>> (/maintainers): they would have to submit (/apply) patches against two
>> trees.
>> 
>
> Well, the official ABI dumps need to be stored somewhere, because if it's
> an official ABI, then it is exactly that. There cannot be different people
> with different versions of the ABI to check against. Everyone should check
> against the one common, official reference.

Isn't the reference stored in the git repo anyway?  It should always be
possible to generate it.  And I trust the version I generate from the
source of truth anyway, over something I download.

> Regards,
> /Bruce


^ permalink raw reply	[relevance 7%]

* Re: [dpdk-dev] [PATCH v6 1/6] lib/eal: implement the family of rte bit operation APIs
  2019-12-23 16:36  0%           ` Stephen Hemminger
  2019-12-30  3:02  0%             ` Gavin Hu
@ 2020-01-07  0:41  0%             ` Honnappa Nagarahalli
  1 sibling, 0 replies; 200+ results
From: Honnappa Nagarahalli @ 2020-01-07  0:41 UTC (permalink / raw)
  To: Stephen Hemminger
  Cc: Joyce Kong, thomas, david.marchand, mb, jerinj, bruce.richardson,
	ravi1.kumar, rmody, shshaikh, xuanziyang2, cloud.wangxiaoyun,
	zhouguoyang, Phil Yang, Gavin Hu, nd, dev, Honnappa Nagarahalli,
	nd

<snip>
> >
> > >
> > > On Sat, 21 Dec 2019 16:07:23 +0000
> > > Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com> wrote:
> > >
> > > > Converting these into macros will help remove the size based
> duplication of
> > > APIs. I came up with the following macro:
> > > >
> > > > #define RTE_GET_BIT(nr, var, ret, memorder) \ ({ \
> > > >     if (sizeof(var) == sizeof(uint32_t)) { \
> > > >         uint32_t mask1 = 1U << (nr)%32; \
> > > >         ret = __atomic_load_n(&var, (memorder)) & mask1;\
> > > >     } \
> > > >     else {\
> > > >         uint64_t mask2 = 1UL << (nr)%64;\
> > > >         ret = __atomic_load_n(&var, (memorder)) & mask2;\
> > > >     } \
> > > > })
> > >
> > > Macros are more error prone. Especially because this is in exposed header
> file
> > That's another question I have. Why do we need to have these APIs in a
> public header file? These will add to the ABI burden as well. These APIs
> should be in a common-but-not-public header file. I am also not sure how
> helpful these APIs are for applications as these APIs seem to have considered
> requirements only from the PMDs.
> 
> Why do we have to wrap every C atomic builtin? What value is there in that?
As long as we stick to requirements from PMD we do not need to worry about every atomic builtin. We seem to be making these APIs public, which requires us to keep these APIs generic considering possible future requirements.

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH v6 1/6] lib/eal: implement the family of rte bit operation APIs
  2019-12-30  3:02  0%             ` Gavin Hu
@ 2020-01-07  0:44  0%               ` Honnappa Nagarahalli
  2020-01-07  1:26  0%                 ` Stephen Hemminger
  0 siblings, 1 reply; 200+ results
From: Honnappa Nagarahalli @ 2020-01-07  0:44 UTC (permalink / raw)
  To: Gavin Hu, Stephen Hemminger
  Cc: Joyce Kong, thomas, david.marchand, mb, jerinj, bruce.richardson,
	ravi1.kumar, rmody, shshaikh, xuanziyang2, cloud.wangxiaoyun,
	zhouguoyang, Phil Yang, nd, dev, Honnappa Nagarahalli, nd

<snip>

> > >
> > > >
> > > > On Sat, 21 Dec 2019 16:07:23 +0000 Honnappa Nagarahalli
> > > > <Honnappa.Nagarahalli@arm.com> wrote:
> > > >
> > > > > Converting these into macros will help remove the size based
> > > > > duplication
> > of
> > > > APIs. I came up with the following macro:
> > > > >
> > > > > #define RTE_GET_BIT(nr, var, ret, memorder) \ ({ \
> > > > >     if (sizeof(var) == sizeof(uint32_t)) { \
> > > > >         uint32_t mask1 = 1U << (nr)%32; \
> > > > >         ret = __atomic_load_n(&var, (memorder)) & mask1;\
> > > > >     } \
> > > > >     else {\
> > > > >         uint64_t mask2 = 1UL << (nr)%64;\
> > > > >         ret = __atomic_load_n(&var, (memorder)) & mask2;\
> > > > >     } \
> > > > > })
> > > >
> > > > Macros are more error prone. Especially because this is in exposed
> > > > header
> > file
> > > That's another question I have. Why do we need to have these APIs in
> > > a
> > public header file? These will add to the ABI burden as well. These
> > APIs should be in a common-but-not-public header file. I am also not
> > sure how helpful these APIs are for applications as these APIs seem to
> > have considered requirements only from the PMDs.
> >
> > Why do we have to wrap every C atomic builtin? What value is there in that?
> 
> The wrapping is aimed to reduce code duplication, on average 3 lines cut
> down to 1 line for a single core.
> Overall I am thinking this bitops APIs are targeted for use by PMDs only,
> applications can use C11 freely.
> The initial thought for the new APIs came from the idea of consolidating the
> scattered bit operations all over the PMDs. It is unwise to expanding to
> applications or libraries, as different memory orderings are required and
> complexity generate.
> 
> If the use cases are limited to PMDs, a 'volatile' or a compiler barrier is
> sufficient therefore the number of APIs can be saved by half.
> http://inbox.dpdk.org/dev/VI1PR08MB53766C30B5CDA00FB9FCE9678F2E0
> @VI1PR08MB5376.eurprd08.prod.outlook.com/
> 
> Any thoughts and comments are welcome!
I would prefer that the APIs/Macros just address PMD's requirements. These also should be kept private (through naming conventions?). Given that the current PMDs are not using C11, we can skip using C11 atomics in these APIs.

> 


^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH v6 1/6] lib/eal: implement the family of rte bit operation APIs
  2020-01-07  0:44  0%               ` Honnappa Nagarahalli
@ 2020-01-07  1:26  0%                 ` Stephen Hemminger
  2020-01-07  4:41  0%                   ` Honnappa Nagarahalli
  0 siblings, 1 reply; 200+ results
From: Stephen Hemminger @ 2020-01-07  1:26 UTC (permalink / raw)
  To: Honnappa Nagarahalli
  Cc: Gavin Hu, Joyce Kong, thomas, david.marchand, mb, jerinj,
	bruce.richardson, ravi1.kumar, rmody, shshaikh, xuanziyang2,
	cloud.wangxiaoyun, zhouguoyang, Phil Yang, nd, dev

On Tue, 7 Jan 2020 00:44:51 +0000
Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com> wrote:

> <snip>
> 
> > > >  
> > > > >
> > > > > On Sat, 21 Dec 2019 16:07:23 +0000 Honnappa Nagarahalli
> > > > > <Honnappa.Nagarahalli@arm.com> wrote:
> > > > >  
> > > > > > Converting these into macros will help remove the size based
> > > > > > duplication  
> > > of  
> > > > > APIs. I came up with the following macro:  
> > > > > >
> > > > > > #define RTE_GET_BIT(nr, var, ret, memorder) \ ({ \
> > > > > >     if (sizeof(var) == sizeof(uint32_t)) { \
> > > > > >         uint32_t mask1 = 1U << (nr)%32; \
> > > > > >         ret = __atomic_load_n(&var, (memorder)) & mask1;\
> > > > > >     } \
> > > > > >     else {\
> > > > > >         uint64_t mask2 = 1UL << (nr)%64;\
> > > > > >         ret = __atomic_load_n(&var, (memorder)) & mask2;\
> > > > > >     } \
> > > > > > })  
> > > > >
> > > > > Macros are more error prone. Especially because this is in exposed
> > > > > header  
> > > file  
> > > > That's another question I have. Why do we need to have these APIs in
> > > > a  
> > > public header file? These will add to the ABI burden as well. These
> > > APIs should be in a common-but-not-public header file. I am also not
> > > sure how helpful these APIs are for applications as these APIs seem to
> > > have considered requirements only from the PMDs.
> > >
> > > Why do we have to wrap every C atomic builtin? What value is there in that?  
> > 
> > The wrapping is aimed to reduce code duplication, on average 3 lines cut
> > down to 1 line for a single core.
> > Overall I am thinking this bitops APIs are targeted for use by PMDs only,
> > applications can use C11 freely.
> > The initial thought for the new APIs came from the idea of consolidating the
> > scattered bit operations all over the PMDs. It is unwise to expanding to
> > applications or libraries, as different memory orderings are required and
> > complexity generate.
> > 
> > If the use cases are limited to PMDs, a 'volatile' or a compiler barrier is
> > sufficient therefore the number of APIs can be saved by half.
> > http://inbox.dpdk.org/dev/VI1PR08MB53766C30B5CDA00FB9FCE9678F2E0
> > @VI1PR08MB5376.eurprd08.prod.outlook.com/
> > 
> > Any thoughts and comments are welcome!  
> I would prefer that the APIs/Macros just address PMD's requirements. These also should be kept private (through naming conventions?). Given that the current PMDs are not using C11, we can skip using C11 atomics in these APIs.

Not in favor, just use existing Gcc/clang/icc atomics instead of creating
unnecessary bloat wrappers. 

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH v6 1/6] lib/eal: implement the family of rte bit operation APIs
  2020-01-07  1:26  0%                 ` Stephen Hemminger
@ 2020-01-07  4:41  0%                   ` Honnappa Nagarahalli
  0 siblings, 0 replies; 200+ results
From: Honnappa Nagarahalli @ 2020-01-07  4:41 UTC (permalink / raw)
  To: Stephen Hemminger
  Cc: Gavin Hu, Joyce Kong, thomas, david.marchand, mb, jerinj,
	bruce.richardson, ravi1.kumar, rmody, shshaikh, xuanziyang2,
	cloud.wangxiaoyun, zhouguoyang, Phil Yang, nd, dev,
	Honnappa Nagarahalli, nd

<snip>
> >
> > > > >
> > > > > >
> > > > > > On Sat, 21 Dec 2019 16:07:23 +0000 Honnappa Nagarahalli
> > > > > > <Honnappa.Nagarahalli@arm.com> wrote:
> > > > > >
> > > > > > > Converting these into macros will help remove the size based
> > > > > > > duplication
> > > > of
> > > > > > APIs. I came up with the following macro:
> > > > > > >
> > > > > > > #define RTE_GET_BIT(nr, var, ret, memorder) \ ({ \
> > > > > > >     if (sizeof(var) == sizeof(uint32_t)) { \
> > > > > > >         uint32_t mask1 = 1U << (nr)%32; \
> > > > > > >         ret = __atomic_load_n(&var, (memorder)) & mask1;\
> > > > > > >     } \
> > > > > > >     else {\
> > > > > > >         uint64_t mask2 = 1UL << (nr)%64;\
> > > > > > >         ret = __atomic_load_n(&var, (memorder)) & mask2;\
> > > > > > >     } \
> > > > > > > })
> > > > > >
> > > > > > Macros are more error prone. Especially because this is in
> > > > > > exposed header
> > > > file
> > > > > That's another question I have. Why do we need to have these
> > > > > APIs in a
> > > > public header file? These will add to the ABI burden as well.
> > > > These APIs should be in a common-but-not-public header file. I am
> > > > also not sure how helpful these APIs are for applications as these
> > > > APIs seem to have considered requirements only from the PMDs.
> > > >
> > > > Why do we have to wrap every C atomic builtin? What value is there in
> that?
> > >
> > > The wrapping is aimed to reduce code duplication, on average 3 lines
> > > cut down to 1 line for a single core.
> > > Overall I am thinking this bitops APIs are targeted for use by PMDs
> > > only, applications can use C11 freely.
> > > The initial thought for the new APIs came from the idea of
> > > consolidating the scattered bit operations all over the PMDs. It is
> > > unwise to expanding to applications or libraries, as different
> > > memory orderings are required and complexity generate.
> > >
> > > If the use cases are limited to PMDs, a 'volatile' or a compiler
> > > barrier is sufficient therefore the number of APIs can be saved by half.
> > >
> http://inbox.dpdk.org/dev/VI1PR08MB53766C30B5CDA00FB9FCE9678F2E0
> > > @VI1PR08MB5376.eurprd08.prod.outlook.com/
> > >
> > > Any thoughts and comments are welcome!
> > I would prefer that the APIs/Macros just address PMD's requirements.
> These also should be kept private (through naming conventions?). Given that
> the current PMDs are not using C11, we can skip using C11 atomics in these
> APIs.
> 
> Not in favor, just use existing Gcc/clang/icc atomics instead of creating
> unnecessary bloat wrappers.
I thought, you blessed this patch [1]. 

[1] http://mails.dpdk.org/archives/dev/2019-October/147297.html

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH] librte_ethdev: extend dpdk api led control to query capability
  @ 2020-01-08  8:56  3% ` David Marchand
  2020-01-08  9:09  4%   ` Ferruh Yigit
  0 siblings, 1 reply; 200+ results
From: David Marchand @ 2020-01-08  8:56 UTC (permalink / raw)
  To: Laurent Hardy
  Cc: dev, Olivier Matz, Thomas Monjalon, Andrew Rybchenko, Yigit, Ferruh

Hello Laurent,

Bonne année.

Cc: maintainers.

On Tue, Jan 7, 2020 at 3:57 PM Laurent Hardy <laurent.hardy@6wind.com> wrote:
>
> In current led control API we have no way to know if a device is able
> to handle on/off requests coming from the application.
> Knowing if the device is led control capable could be useful to avoid
> exchanges between application and kernel.
> Using the on/off requests to flag if the device is led control capable
> (based on the ENOSUP returned error) is not convenient as such request
> can change the led state on device.
>
> This patch adds a new function rte_eth_led_ctrl_capable() that will look
> for led_off/on dev ops availability on the related pmd, to know if the
> device is able to handle such led control requests (on/off).

This patch breaks the ABI, which is BAD :-).
This new api only needs to look at the existing ops, so you can remove
the (unused in your patch) dev_led_ctrl_capable ops.

OTOH, would it make sense to expose this capability in dev_flags?

-- 
David Marchand


^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] [PATCH] librte_ethdev: extend dpdk api led control to query capability
  2020-01-08  8:56  3% ` David Marchand
@ 2020-01-08  9:09  4%   ` Ferruh Yigit
  2020-01-08  9:42  0%     ` Olivier Matz
  2020-01-08  9:55  4%     ` David Marchand
  0 siblings, 2 replies; 200+ results
From: Ferruh Yigit @ 2020-01-08  9:09 UTC (permalink / raw)
  To: David Marchand, Laurent Hardy
  Cc: dev, Olivier Matz, Thomas Monjalon, Andrew Rybchenko

On 1/8/2020 8:56 AM, David Marchand wrote:
> Hello Laurent,
> 
> Bonne année.
> 
> Cc: maintainers.
> 
> On Tue, Jan 7, 2020 at 3:57 PM Laurent Hardy <laurent.hardy@6wind.com> wrote:
>>
>> In current led control API we have no way to know if a device is able
>> to handle on/off requests coming from the application.
>> Knowing if the device is led control capable could be useful to avoid
>> exchanges between application and kernel.
>> Using the on/off requests to flag if the device is led control capable
>> (based on the ENOSUP returned error) is not convenient as such request
>> can change the led state on device.
>>
>> This patch adds a new function rte_eth_led_ctrl_capable() that will look
>> for led_off/on dev ops availability on the related pmd, to know if the
>> device is able to handle such led control requests (on/off).
> 
> This patch breaks the ABI, which is BAD :-).

Why it is an ABI break, dev_ops should be between library and drivers, so it
should be out of the ABI concern, isn't it.

> This new api only needs to look at the existing ops, so you can remove
> the (unused in your patch) dev_led_ctrl_capable ops.
> 
> OTOH, would it make sense to expose this capability in dev_flags?
> 

'rte_eth_led_on()' & 'rte_eth_led_off()' APIs returns '-ENOTSUP' when the not
supported, can that help application to understand?

^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] [PATCH] librte_ethdev: extend dpdk api led control to query capability
  2020-01-08  9:09  4%   ` Ferruh Yigit
@ 2020-01-08  9:42  0%     ` Olivier Matz
  2020-01-08 12:12  0%       ` Ferruh Yigit
  2020-01-08  9:55  4%     ` David Marchand
  1 sibling, 1 reply; 200+ results
From: Olivier Matz @ 2020-01-08  9:42 UTC (permalink / raw)
  To: Ferruh Yigit
  Cc: David Marchand, Laurent Hardy, dev, Thomas Monjalon, Andrew Rybchenko

On Wed, Jan 08, 2020 at 09:09:29AM +0000, Ferruh Yigit wrote:
> On 1/8/2020 8:56 AM, David Marchand wrote:
> > Hello Laurent,
> > 
> > Bonne année.
> > 
> > Cc: maintainers.
> > 
> > On Tue, Jan 7, 2020 at 3:57 PM Laurent Hardy <laurent.hardy@6wind.com> wrote:
> >>
> >> In current led control API we have no way to know if a device is able
> >> to handle on/off requests coming from the application.
> >> Knowing if the device is led control capable could be useful to avoid
> >> exchanges between application and kernel.
> >> Using the on/off requests to flag if the device is led control capable
> >> (based on the ENOSUP returned error) is not convenient as such request
> >> can change the led state on device.
> >>
> >> This patch adds a new function rte_eth_led_ctrl_capable() that will look
> >> for led_off/on dev ops availability on the related pmd, to know if the
> >> device is able to handle such led control requests (on/off).
> > 
> > This patch breaks the ABI, which is BAD :-).
> 
> Why it is an ABI break, dev_ops should be between library and drivers, so it
> should be out of the ABI concern, isn't it.
> 
> > This new api only needs to look at the existing ops, so you can remove
> > the (unused in your patch) dev_led_ctrl_capable ops.
> > 
> > OTOH, would it make sense to expose this capability in dev_flags?
> > 
> 
> 'rte_eth_led_on()' & 'rte_eth_led_off()' APIs returns '-ENOTSUP' when the not
> supported, can that help application to understand?

In our case, it is not possible to use rte_eth_led_on/off() to check if
the feature is supported: on success, it would change the value of the
led, and it seems it is not recoverable on some drivers.

Today it is not possible to know if the feature is available without
side effect.

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH] librte_ethdev: extend dpdk api led control to query capability
  2020-01-08  9:09  4%   ` Ferruh Yigit
  2020-01-08  9:42  0%     ` Olivier Matz
@ 2020-01-08  9:55  4%     ` David Marchand
  2020-01-08 10:31  0%       ` Laurent Hardy
  2020-01-08 12:30  0%       ` Ferruh Yigit
  1 sibling, 2 replies; 200+ results
From: David Marchand @ 2020-01-08  9:55 UTC (permalink / raw)
  To: Ferruh Yigit, Laurent Hardy
  Cc: dev, Olivier Matz, Thomas Monjalon, Andrew Rybchenko

On Wed, Jan 8, 2020 at 10:09 AM Ferruh Yigit <ferruh.yigit@intel.com> wrote:
>
> On 1/8/2020 8:56 AM, David Marchand wrote:
> > Hello Laurent,
> >
> > Bonne année.
> >
> > Cc: maintainers.
> >
> > On Tue, Jan 7, 2020 at 3:57 PM Laurent Hardy <laurent.hardy@6wind.com> wrote:
> >>
> >> In current led control API we have no way to know if a device is able
> >> to handle on/off requests coming from the application.
> >> Knowing if the device is led control capable could be useful to avoid
> >> exchanges between application and kernel.
> >> Using the on/off requests to flag if the device is led control capable
> >> (based on the ENOSUP returned error) is not convenient as such request
> >> can change the led state on device.
> >>
> >> This patch adds a new function rte_eth_led_ctrl_capable() that will look
> >> for led_off/on dev ops availability on the related pmd, to know if the
> >> device is able to handle such led control requests (on/off).
> >
> > This patch breaks the ABI, which is BAD :-).
>
> Why it is an ABI break, dev_ops should be between library and drivers, so it
> should be out of the ABI concern, isn't it.

You are right.
So in our context, this is not an ABI breakage.
But abidiff still reports it, so maybe some filtering is required to
avoid this false positive.

Note that if we insert an ops before rx_queue_count, we would have a
real ABI breakage, as this ops is accessed via an inline wrapper by
applications.


>
> > This new api only needs to look at the existing ops, so you can remove
> > the (unused in your patch) dev_led_ctrl_capable ops.
> >
> > OTOH, would it make sense to expose this capability in dev_flags?
> >
>
> 'rte_eth_led_on()' & 'rte_eth_led_off()' APIs returns '-ENOTSUP' when the not
> supported, can that help application to understand?

You might want to know it is supported without changing the state.
Laurent?



--
David Marchand


^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] [PATCH] librte_ethdev: extend dpdk api led control to query capability
  2020-01-08  9:55  4%     ` David Marchand
@ 2020-01-08 10:31  0%       ` Laurent Hardy
  2020-01-08 12:59  3%         ` Ferruh Yigit
  2020-01-08 12:30  0%       ` Ferruh Yigit
  1 sibling, 1 reply; 200+ results
From: Laurent Hardy @ 2020-01-08 10:31 UTC (permalink / raw)
  To: David Marchand, Ferruh Yigit
  Cc: dev, Olivier Matz, Thomas Monjalon, Andrew Rybchenko

Hi all,

On 1/8/20 10:55 AM, David Marchand wrote:
> On Wed, Jan 8, 2020 at 10:09 AM Ferruh Yigit <ferruh.yigit@intel.com> wrote:
>> On 1/8/2020 8:56 AM, David Marchand wrote:
>>> Hello Laurent,
>>>
>>> Bonne année.
>>>
>>> Cc: maintainers.
>>>
>>> On Tue, Jan 7, 2020 at 3:57 PM Laurent Hardy <laurent.hardy@6wind.com> wrote:
>>>> In current led control API we have no way to know if a device is able
>>>> to handle on/off requests coming from the application.
>>>> Knowing if the device is led control capable could be useful to avoid
>>>> exchanges between application and kernel.
>>>> Using the on/off requests to flag if the device is led control capable
>>>> (based on the ENOSUP returned error) is not convenient as such request
>>>> can change the led state on device.
>>>>
>>>> This patch adds a new function rte_eth_led_ctrl_capable() that will look
>>>> for led_off/on dev ops availability on the related pmd, to know if the
>>>> device is able to handle such led control requests (on/off).
>>> This patch breaks the ABI, which is BAD :-).
>> Why it is an ABI break, dev_ops should be between library and drivers, so it
>> should be out of the ABI concern, isn't it.
> You are right.
> So in our context, this is not an ABI breakage.
> But abidiff still reports it, so maybe some filtering is required to
> avoid this false positive.
>
> Note that if we insert an ops before rx_queue_count, we would have a
> real ABI breakage, as this ops is accessed via an inline wrapper by
> applications.
>
>
>>> This new api only needs to look at the existing ops, so you can remove
>>> the (unused in your patch) dev_led_ctrl_capable ops.
>>>
>>> OTOH, would it make sense to expose this capability in dev_flags?
>>>
>> 'rte_eth_led_on()' & 'rte_eth_led_off()' APIs returns '-ENOTSUP' when the not
>> supported, can that help application to understand?
> You might want to know it is supported without changing the state.
> Laurent?

First, happy new year :)

Yes exactly, the purpose of this patch is to query if the device is led 
control capable or not without changing the led state.

About exposing the capability through a dev_flags, means to make some 
modification in each pmds. It looks more easy in term of pmds 
maintenance to relying on the rte_eth_led_off()/on() dev ops 
availability at rte_ethdev level, right ?

>
>
> --
> David Marchand
>
>

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH] librte_ethdev: extend dpdk api led control to query capability
  2020-01-08  9:42  0%     ` Olivier Matz
@ 2020-01-08 12:12  0%       ` Ferruh Yigit
  2020-01-08 12:27  0%         ` Olivier Matz
  0 siblings, 1 reply; 200+ results
From: Ferruh Yigit @ 2020-01-08 12:12 UTC (permalink / raw)
  To: Olivier Matz
  Cc: David Marchand, Laurent Hardy, dev, Thomas Monjalon, Andrew Rybchenko

On 1/8/2020 9:42 AM, Olivier Matz wrote:
> On Wed, Jan 08, 2020 at 09:09:29AM +0000, Ferruh Yigit wrote:
>> On 1/8/2020 8:56 AM, David Marchand wrote:
>>> Hello Laurent,
>>>
>>> Bonne année.
>>>
>>> Cc: maintainers.
>>>
>>> On Tue, Jan 7, 2020 at 3:57 PM Laurent Hardy <laurent.hardy@6wind.com> wrote:
>>>>
>>>> In current led control API we have no way to know if a device is able
>>>> to handle on/off requests coming from the application.
>>>> Knowing if the device is led control capable could be useful to avoid
>>>> exchanges between application and kernel.
>>>> Using the on/off requests to flag if the device is led control capable
>>>> (based on the ENOSUP returned error) is not convenient as such request
>>>> can change the led state on device.
>>>>
>>>> This patch adds a new function rte_eth_led_ctrl_capable() that will look
>>>> for led_off/on dev ops availability on the related pmd, to know if the
>>>> device is able to handle such led control requests (on/off).
>>>
>>> This patch breaks the ABI, which is BAD :-).
>>
>> Why it is an ABI break, dev_ops should be between library and drivers, so it
>> should be out of the ABI concern, isn't it.
>>
>>> This new api only needs to look at the existing ops, so you can remove
>>> the (unused in your patch) dev_led_ctrl_capable ops.
>>>
>>> OTOH, would it make sense to expose this capability in dev_flags?
>>>
>>
>> 'rte_eth_led_on()' & 'rte_eth_led_off()' APIs returns '-ENOTSUP' when the not
>> supported, can that help application to understand?
> 
> In our case, it is not possible to use rte_eth_led_on/off() to check if
> the feature is supported: on success, it would change the value of the
> led, and it seems it is not recoverable on some drivers.

What does it mean it is not recoverable, like can you turn on the led but can't
turn off it back? Can't this be fixed in the PMD?

> 
> Today it is not possible to know if the feature is available without
> side effect.
> 


^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH] librte_ethdev: extend dpdk api led control to query capability
  2020-01-08 12:12  0%       ` Ferruh Yigit
@ 2020-01-08 12:27  0%         ` Olivier Matz
  2020-01-08 14:08  0%           ` Ferruh Yigit
  0 siblings, 1 reply; 200+ results
From: Olivier Matz @ 2020-01-08 12:27 UTC (permalink / raw)
  To: Ferruh Yigit
  Cc: David Marchand, Laurent Hardy, dev, Thomas Monjalon, Andrew Rybchenko

On Wed, Jan 08, 2020 at 12:12:11PM +0000, Ferruh Yigit wrote:
> On 1/8/2020 9:42 AM, Olivier Matz wrote:
> > On Wed, Jan 08, 2020 at 09:09:29AM +0000, Ferruh Yigit wrote:
> >> On 1/8/2020 8:56 AM, David Marchand wrote:
> >>> Hello Laurent,
> >>>
> >>> Bonne année.
> >>>
> >>> Cc: maintainers.
> >>>
> >>> On Tue, Jan 7, 2020 at 3:57 PM Laurent Hardy <laurent.hardy@6wind.com> wrote:
> >>>>
> >>>> In current led control API we have no way to know if a device is able
> >>>> to handle on/off requests coming from the application.
> >>>> Knowing if the device is led control capable could be useful to avoid
> >>>> exchanges between application and kernel.
> >>>> Using the on/off requests to flag if the device is led control capable
> >>>> (based on the ENOSUP returned error) is not convenient as such request
> >>>> can change the led state on device.
> >>>>
> >>>> This patch adds a new function rte_eth_led_ctrl_capable() that will look
> >>>> for led_off/on dev ops availability on the related pmd, to know if the
> >>>> device is able to handle such led control requests (on/off).
> >>>
> >>> This patch breaks the ABI, which is BAD :-).
> >>
> >> Why it is an ABI break, dev_ops should be between library and drivers, so it
> >> should be out of the ABI concern, isn't it.
> >>
> >>> This new api only needs to look at the existing ops, so you can remove
> >>> the (unused in your patch) dev_led_ctrl_capable ops.
> >>>
> >>> OTOH, would it make sense to expose this capability in dev_flags?
> >>>
> >>
> >> 'rte_eth_led_on()' & 'rte_eth_led_off()' APIs returns '-ENOTSUP' when the not
> >> supported, can that help application to understand?
> > 
> > In our case, it is not possible to use rte_eth_led_on/off() to check if
> > the feature is supported: on success, it would change the value of the
> > led, and it seems it is not recoverable on some drivers.
> 
> What does it mean it is not recoverable, like can you turn on the led but can't
> turn off it back? Can't this be fixed in the PMD?

In the case there is only one LED, which is by default used to display
the link status, it can never display the status again without resetting
the device.

Maybe an alternative solution would be to add a function, in addition to
on() and off():

  led_ctrl_status_link() to display the status link on the led.


> 
> > 
> > Today it is not possible to know if the feature is available without
> > side effect.
> > 
> 

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH] librte_ethdev: extend dpdk api led control to query capability
  2020-01-08  9:55  4%     ` David Marchand
  2020-01-08 10:31  0%       ` Laurent Hardy
@ 2020-01-08 12:30  0%       ` Ferruh Yigit
  2020-01-08 13:00  3%         ` David Marchand
  1 sibling, 1 reply; 200+ results
From: Ferruh Yigit @ 2020-01-08 12:30 UTC (permalink / raw)
  To: David Marchand, Laurent Hardy
  Cc: dev, Olivier Matz, Thomas Monjalon, Andrew Rybchenko

On 1/8/2020 9:55 AM, David Marchand wrote:
> On Wed, Jan 8, 2020 at 10:09 AM Ferruh Yigit <ferruh.yigit@intel.com> wrote:
>>
>> On 1/8/2020 8:56 AM, David Marchand wrote:
>>> Hello Laurent,
>>>
>>> Bonne année.
>>>
>>> Cc: maintainers.
>>>
>>> On Tue, Jan 7, 2020 at 3:57 PM Laurent Hardy <laurent.hardy@6wind.com> wrote:
>>>>
>>>> In current led control API we have no way to know if a device is able
>>>> to handle on/off requests coming from the application.
>>>> Knowing if the device is led control capable could be useful to avoid
>>>> exchanges between application and kernel.
>>>> Using the on/off requests to flag if the device is led control capable
>>>> (based on the ENOSUP returned error) is not convenient as such request
>>>> can change the led state on device.
>>>>
>>>> This patch adds a new function rte_eth_led_ctrl_capable() that will look
>>>> for led_off/on dev ops availability on the related pmd, to know if the
>>>> device is able to handle such led control requests (on/off).
>>>
>>> This patch breaks the ABI, which is BAD :-).
>>
>> Why it is an ABI break, dev_ops should be between library and drivers, so it
>> should be out of the ABI concern, isn't it.
> 
> You are right.
> So in our context, this is not an ABI breakage.
> But abidiff still reports it, so maybe some filtering is required to
> avoid this false positive.
> 
> Note that if we insert an ops before rx_queue_count, we would have a
> real ABI breakage, as this ops is accessed via an inline wrapper by
> applications.
> 

This is good point, perhaps we should add a comment to that line to highlight it.

> 
>>
>>> This new api only needs to look at the existing ops, so you can remove
>>> the (unused in your patch) dev_led_ctrl_capable ops.
>>>
>>> OTOH, would it make sense to expose this capability in dev_flags?
>>>
>>
>> 'rte_eth_led_on()' & 'rte_eth_led_off()' APIs returns '-ENOTSUP' when the not
>> supported, can that help application to understand?
> 
> You might want to know it is supported without changing the state.
> Laurent?
> 
> 
> 
> --
> David Marchand
> 


^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH] librte_ethdev: extend dpdk api led control to query capability
  2020-01-08 10:31  0%       ` Laurent Hardy
@ 2020-01-08 12:59  3%         ` Ferruh Yigit
  2020-01-08 13:06  0%           ` Thomas Monjalon
  0 siblings, 1 reply; 200+ results
From: Ferruh Yigit @ 2020-01-08 12:59 UTC (permalink / raw)
  To: Laurent Hardy, David Marchand
  Cc: dev, Olivier Matz, Thomas Monjalon, Andrew Rybchenko

On 1/8/2020 10:31 AM, Laurent Hardy wrote:
> Hi all,
> 
> On 1/8/20 10:55 AM, David Marchand wrote:
>> On Wed, Jan 8, 2020 at 10:09 AM Ferruh Yigit <ferruh.yigit@intel.com> wrote:
>>> On 1/8/2020 8:56 AM, David Marchand wrote:
>>>> Hello Laurent,
>>>>
>>>> Bonne année.
>>>>
>>>> Cc: maintainers.
>>>>
>>>> On Tue, Jan 7, 2020 at 3:57 PM Laurent Hardy <laurent.hardy@6wind.com> wrote:
>>>>> In current led control API we have no way to know if a device is able
>>>>> to handle on/off requests coming from the application.
>>>>> Knowing if the device is led control capable could be useful to avoid
>>>>> exchanges between application and kernel.
>>>>> Using the on/off requests to flag if the device is led control capable
>>>>> (based on the ENOSUP returned error) is not convenient as such request
>>>>> can change the led state on device.
>>>>>
>>>>> This patch adds a new function rte_eth_led_ctrl_capable() that will look
>>>>> for led_off/on dev ops availability on the related pmd, to know if the
>>>>> device is able to handle such led control requests (on/off).
>>>> This patch breaks the ABI, which is BAD :-).
>>> Why it is an ABI break, dev_ops should be between library and drivers, so it
>>> should be out of the ABI concern, isn't it.
>> You are right.
>> So in our context, this is not an ABI breakage.
>> But abidiff still reports it, so maybe some filtering is required to
>> avoid this false positive.
>>
>> Note that if we insert an ops before rx_queue_count, we would have a
>> real ABI breakage, as this ops is accessed via an inline wrapper by
>> applications.
>>
>>
>>>> This new api only needs to look at the existing ops, so you can remove
>>>> the (unused in your patch) dev_led_ctrl_capable ops.
>>>>
>>>> OTOH, would it make sense to expose this capability in dev_flags?
>>>>
>>> 'rte_eth_led_on()' & 'rte_eth_led_off()' APIs returns '-ENOTSUP' when the not
>>> supported, can that help application to understand?
>> You might want to know it is supported without changing the state.
>> Laurent?
> 
> First, happy new year :)
> 
> Yes exactly, the purpose of this patch is to query if the device is led 
> control capable or not without changing the led state.
> 
> About exposing the capability through a dev_flags, means to make some 
> modification in each pmds. It looks more easy in term of pmds 
> maintenance to relying on the rte_eth_led_off()/on() dev ops 
> availability at rte_ethdev level, right ?
> 

'dev_flag' definition is not clear, right now it holds the combination of status
and capability. And we have 'rte_eth_dev_info' struct, which is again
combination of device capability and status.
Perhaps we should have explicit capabilities and status fields, even in the
rte_device level which inherited by net/crypto devices etc..

But for dev_ops, instead of having another capabilities indicator, which
requires PMDs to keep this synchronized, I think it is better if we can self
contain this information within dev_ops, like not implementing dev_ops would
mean it is not supported, this way it is easier to maintain and less error prone.

Only we should have it without side effect,

1- adding an additional 'dry-run' parameter can work, but this means breaking
ABI and updating majority of the ethdev APIs :)
2- Adding 'is_supported' versions of the APIs as we need can be an option, like
'rte_eth_led_on_is_supported()'
3- Olivier's suggestion to add a new API to get the led status, so that this
information can be used select led API which won't cause side affect and let us
learn if it is supported.

Any other alternatives?

I would prefer the 2) in above ones, which is very similar to the original patch.

^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] [PATCH] librte_ethdev: extend dpdk api led control to query capability
  2020-01-08 12:30  0%       ` Ferruh Yigit
@ 2020-01-08 13:00  3%         ` David Marchand
  2020-01-08 13:11  0%           ` Ferruh Yigit
  0 siblings, 1 reply; 200+ results
From: David Marchand @ 2020-01-08 13:00 UTC (permalink / raw)
  To: Ferruh Yigit
  Cc: Laurent Hardy, dev, Olivier Matz, Thomas Monjalon, Andrew Rybchenko

On Wed, Jan 8, 2020 at 1:30 PM Ferruh Yigit <ferruh.yigit@intel.com> wrote:
> On 1/8/2020 9:55 AM, David Marchand wrote:
> > On Wed, Jan 8, 2020 at 10:09 AM Ferruh Yigit <ferruh.yigit@intel.com> wrote:
> >> Why it is an ABI break, dev_ops should be between library and drivers, so it
> >> should be out of the ABI concern, isn't it.
> >
> > You are right.
> > So in our context, this is not an ABI breakage.
> > But abidiff still reports it, so maybe some filtering is required to
> > avoid this false positive.
> >
> > Note that if we insert an ops before rx_queue_count, we would have a
> > real ABI breakage, as this ops is accessed via an inline wrapper by
> > applications.
> >
>
> This is good point, perhaps we should add a comment to that line to highlight it.

The comment won't help in the CI checks.


Not talking about short term, but could we consider separating the
inlined ops from the rest (pushing them to rte_eth_dev ?) ?
We would then hide completely eth_dev_ops at the next ABI break window.


--
David Marchand


^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] [PATCH] librte_ethdev: extend dpdk api led control to query capability
  2020-01-08 12:59  3%         ` Ferruh Yigit
@ 2020-01-08 13:06  0%           ` Thomas Monjalon
  2020-01-08 13:20  0%             ` Ferruh Yigit
  2020-01-08 13:58  0%             ` Laurent Hardy
  0 siblings, 2 replies; 200+ results
From: Thomas Monjalon @ 2020-01-08 13:06 UTC (permalink / raw)
  To: Laurent Hardy, David Marchand, Ferruh Yigit
  Cc: dev, Olivier Matz, Andrew Rybchenko

08/01/2020 13:59, Ferruh Yigit:
> On 1/8/2020 10:31 AM, Laurent Hardy wrote:
> > Hi all,
> > 
> > On 1/8/20 10:55 AM, David Marchand wrote:
> >> On Wed, Jan 8, 2020 at 10:09 AM Ferruh Yigit <ferruh.yigit@intel.com> wrote:
> >>> On 1/8/2020 8:56 AM, David Marchand wrote:
> >>>> Hello Laurent,
> >>>>
> >>>> Bonne année.
> >>>>
> >>>> Cc: maintainers.
> >>>>
> >>>> On Tue, Jan 7, 2020 at 3:57 PM Laurent Hardy <laurent.hardy@6wind.com> wrote:
> >>>>> In current led control API we have no way to know if a device is able
> >>>>> to handle on/off requests coming from the application.
> >>>>> Knowing if the device is led control capable could be useful to avoid
> >>>>> exchanges between application and kernel.
> >>>>> Using the on/off requests to flag if the device is led control capable
> >>>>> (based on the ENOSUP returned error) is not convenient as such request
> >>>>> can change the led state on device.
> >>>>>
> >>>>> This patch adds a new function rte_eth_led_ctrl_capable() that will look
> >>>>> for led_off/on dev ops availability on the related pmd, to know if the
> >>>>> device is able to handle such led control requests (on/off).
> >>>> This patch breaks the ABI, which is BAD :-).
> >>> Why it is an ABI break, dev_ops should be between library and drivers, so it
> >>> should be out of the ABI concern, isn't it.
> >> You are right.
> >> So in our context, this is not an ABI breakage.
> >> But abidiff still reports it, so maybe some filtering is required to
> >> avoid this false positive.
> >>
> >> Note that if we insert an ops before rx_queue_count, we would have a
> >> real ABI breakage, as this ops is accessed via an inline wrapper by
> >> applications.
> >>
> >>
> >>>> This new api only needs to look at the existing ops, so you can remove
> >>>> the (unused in your patch) dev_led_ctrl_capable ops.
> >>>>
> >>>> OTOH, would it make sense to expose this capability in dev_flags?
> >>>>
> >>> 'rte_eth_led_on()' & 'rte_eth_led_off()' APIs returns '-ENOTSUP' when the not
> >>> supported, can that help application to understand?
> >> You might want to know it is supported without changing the state.
> >> Laurent?
> > 
> > First, happy new year :)
> > 
> > Yes exactly, the purpose of this patch is to query if the device is led 
> > control capable or not without changing the led state.
> > 
> > About exposing the capability through a dev_flags, means to make some 
> > modification in each pmds. It looks more easy in term of pmds 
> > maintenance to relying on the rte_eth_led_off()/on() dev ops 
> > availability at rte_ethdev level, right ?
> > 
> 
> 'dev_flag' definition is not clear, right now it holds the combination of status
> and capability. And we have 'rte_eth_dev_info' struct, which is again
> combination of device capability and status.

I agree capabilities in ethdev are a bit of a mess.
I would appreciate someone makes a complete audit of it
so we can discuss how to improve the situation.


> Perhaps we should have explicit capabilities and status fields, even in the
> rte_device level which inherited by net/crypto devices etc..

No, ethdev capabilities should stay in ethdev.


> But for dev_ops, instead of having another capabilities indicator, which
> requires PMDs to keep this synchronized, I think it is better if we can self
> contain this information within dev_ops, like not implementing dev_ops would
> mean it is not supported, this way it is easier to maintain and less error prone.

It means the dev_ops is resetted at init if a device does not support the feature.
It is against having const dev_ops.


> Only we should have it without side effect,
> 
> 1- adding an additional 'dry-run' parameter can work, but this means breaking
> ABI and updating majority of the ethdev APIs :)
> 2- Adding 'is_supported' versions of the APIs as we need can be an option, like
> 'rte_eth_led_on_is_supported()'
> 3- Olivier's suggestion to add a new API to get the led status, so that this
> information can be used select led API which won't cause side affect and let us
> learn if it is supported.
> 
> Any other alternatives?
> 
> I would prefer the 2) in above ones, which is very similar to the original patch.

The other alternatives are in rte_eth_dev_info and dev_flags.



^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH] librte_ethdev: extend dpdk api led control to query capability
  2020-01-08 13:00  3%         ` David Marchand
@ 2020-01-08 13:11  0%           ` Ferruh Yigit
  0 siblings, 0 replies; 200+ results
From: Ferruh Yigit @ 2020-01-08 13:11 UTC (permalink / raw)
  To: David Marchand
  Cc: Laurent Hardy, dev, Olivier Matz, Thomas Monjalon,
	Andrew Rybchenko, Bruce Richardson

On 1/8/2020 1:00 PM, David Marchand wrote:
> On Wed, Jan 8, 2020 at 1:30 PM Ferruh Yigit <ferruh.yigit@intel.com> wrote:
>> On 1/8/2020 9:55 AM, David Marchand wrote:
>>> On Wed, Jan 8, 2020 at 10:09 AM Ferruh Yigit <ferruh.yigit@intel.com> wrote:
>>>> Why it is an ABI break, dev_ops should be between library and drivers, so it
>>>> should be out of the ABI concern, isn't it.
>>>
>>> You are right.
>>> So in our context, this is not an ABI breakage.
>>> But abidiff still reports it, so maybe some filtering is required to
>>> avoid this false positive.
>>>
>>> Note that if we insert an ops before rx_queue_count, we would have a
>>> real ABI breakage, as this ops is accessed via an inline wrapper by
>>> applications.
>>>
>>
>> This is good point, perhaps we should add a comment to that line to highlight it.
> 
> The comment won't help in the CI checks.
> 
> 
> Not talking about short term, but could we consider separating the
> inlined ops from the rest (pushing them to rte_eth_dev ?) ?
> We would then hide completely eth_dev_ops at the next ABI break window.

+1

We didn't able to apply the patch that removes the inline functions [1] because
of the performance concerns, but at least separating some ops enables us to hide
the eth_dev_ops, although I guess still have to expose 'rte_eth_dev' &
'rte_eth_dev_data'. Still better than nothing.


[1]
https://patches.dpdk.org/patch/58874/

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH] librte_ethdev: extend dpdk api led control to query capability
  2020-01-08 13:06  0%           ` Thomas Monjalon
@ 2020-01-08 13:20  0%             ` Ferruh Yigit
  2020-01-08 13:58  0%             ` Laurent Hardy
  1 sibling, 0 replies; 200+ results
From: Ferruh Yigit @ 2020-01-08 13:20 UTC (permalink / raw)
  To: Thomas Monjalon, Laurent Hardy, David Marchand
  Cc: dev, Olivier Matz, Andrew Rybchenko

On 1/8/2020 1:06 PM, Thomas Monjalon wrote:
> 08/01/2020 13:59, Ferruh Yigit:
>> On 1/8/2020 10:31 AM, Laurent Hardy wrote:
>>> Hi all,
>>>
>>> On 1/8/20 10:55 AM, David Marchand wrote:
>>>> On Wed, Jan 8, 2020 at 10:09 AM Ferruh Yigit <ferruh.yigit@intel.com> wrote:
>>>>> On 1/8/2020 8:56 AM, David Marchand wrote:
>>>>>> Hello Laurent,
>>>>>>
>>>>>> Bonne année.
>>>>>>
>>>>>> Cc: maintainers.
>>>>>>
>>>>>> On Tue, Jan 7, 2020 at 3:57 PM Laurent Hardy <laurent.hardy@6wind.com> wrote:
>>>>>>> In current led control API we have no way to know if a device is able
>>>>>>> to handle on/off requests coming from the application.
>>>>>>> Knowing if the device is led control capable could be useful to avoid
>>>>>>> exchanges between application and kernel.
>>>>>>> Using the on/off requests to flag if the device is led control capable
>>>>>>> (based on the ENOSUP returned error) is not convenient as such request
>>>>>>> can change the led state on device.
>>>>>>>
>>>>>>> This patch adds a new function rte_eth_led_ctrl_capable() that will look
>>>>>>> for led_off/on dev ops availability on the related pmd, to know if the
>>>>>>> device is able to handle such led control requests (on/off).
>>>>>> This patch breaks the ABI, which is BAD :-).
>>>>> Why it is an ABI break, dev_ops should be between library and drivers, so it
>>>>> should be out of the ABI concern, isn't it.
>>>> You are right.
>>>> So in our context, this is not an ABI breakage.
>>>> But abidiff still reports it, so maybe some filtering is required to
>>>> avoid this false positive.
>>>>
>>>> Note that if we insert an ops before rx_queue_count, we would have a
>>>> real ABI breakage, as this ops is accessed via an inline wrapper by
>>>> applications.
>>>>
>>>>
>>>>>> This new api only needs to look at the existing ops, so you can remove
>>>>>> the (unused in your patch) dev_led_ctrl_capable ops.
>>>>>>
>>>>>> OTOH, would it make sense to expose this capability in dev_flags?
>>>>>>
>>>>> 'rte_eth_led_on()' & 'rte_eth_led_off()' APIs returns '-ENOTSUP' when the not
>>>>> supported, can that help application to understand?
>>>> You might want to know it is supported without changing the state.
>>>> Laurent?
>>>
>>> First, happy new year :)
>>>
>>> Yes exactly, the purpose of this patch is to query if the device is led 
>>> control capable or not without changing the led state.
>>>
>>> About exposing the capability through a dev_flags, means to make some 
>>> modification in each pmds. It looks more easy in term of pmds 
>>> maintenance to relying on the rte_eth_led_off()/on() dev ops 
>>> availability at rte_ethdev level, right ?
>>>
>>
>> 'dev_flag' definition is not clear, right now it holds the combination of status
>> and capability. And we have 'rte_eth_dev_info' struct, which is again
>> combination of device capability and status.
> 
> I agree capabilities in ethdev are a bit of a mess.
> I would appreciate someone makes a complete audit of it
> so we can discuss how to improve the situation.
> 
> 
>> Perhaps we should have explicit capabilities and status fields, even in the
>> rte_device level which inherited by net/crypto devices etc..
> 
> No, ethdev capabilities should stay in ethdev.

No strong opinion, I though a standardized way may help other device abstraction
layers too.

> 
> 
>> But for dev_ops, instead of having another capabilities indicator, which
>> requires PMDs to keep this synchronized, I think it is better if we can self
>> contain this information within dev_ops, like not implementing dev_ops would
>> mean it is not supported, this way it is easier to maintain and less error prone.
> 
> It means the dev_ops is resetted at init if a device does not support the feature.
> It is against having const dev_ops.

I didn't get your comment.
For example getting FW version, I am saying instead of keeping another piece of
information to say if it is supported by device/driver, better to grasp this
from if the driver implemented 'fw_version_get' dev_ops or not.

> 
> 
>> Only we should have it without side effect,
>>
>> 1- adding an additional 'dry-run' parameter can work, but this means breaking
>> ABI and updating majority of the ethdev APIs :)
>> 2- Adding 'is_supported' versions of the APIs as we need can be an option, like
>> 'rte_eth_led_on_is_supported()'
>> 3- Olivier's suggestion to add a new API to get the led status, so that this
>> information can be used select led API which won't cause side affect and let us
>> learn if it is supported.
>>
>> Any other alternatives?
>>
>> I would prefer the 2) in above ones, which is very similar to the original patch.
> 
> The other alternatives are in rte_eth_dev_info and dev_flags.
> 
> 


^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH] librte_ethdev: extend dpdk api led control to query capability
  2020-01-08 13:06  0%           ` Thomas Monjalon
  2020-01-08 13:20  0%             ` Ferruh Yigit
@ 2020-01-08 13:58  0%             ` Laurent Hardy
  1 sibling, 0 replies; 200+ results
From: Laurent Hardy @ 2020-01-08 13:58 UTC (permalink / raw)
  To: Thomas Monjalon, David Marchand, Ferruh Yigit
  Cc: dev, Olivier Matz, Andrew Rybchenko


On 1/8/20 2:06 PM, Thomas Monjalon wrote:
> 08/01/2020 13:59, Ferruh Yigit:
>> On 1/8/2020 10:31 AM, Laurent Hardy wrote:
>>> Hi all,
>>>
>>> On 1/8/20 10:55 AM, David Marchand wrote:
>>>> On Wed, Jan 8, 2020 at 10:09 AM Ferruh Yigit <ferruh.yigit@intel.com> wrote:
>>>>> On 1/8/2020 8:56 AM, David Marchand wrote:
>>>>>> Hello Laurent,
>>>>>>
>>>>>> Bonne année.
>>>>>>
>>>>>> Cc: maintainers.
>>>>>>
>>>>>> On Tue, Jan 7, 2020 at 3:57 PM Laurent Hardy <laurent.hardy@6wind.com> wrote:
>>>>>>> In current led control API we have no way to know if a device is able
>>>>>>> to handle on/off requests coming from the application.
>>>>>>> Knowing if the device is led control capable could be useful to avoid
>>>>>>> exchanges between application and kernel.
>>>>>>> Using the on/off requests to flag if the device is led control capable
>>>>>>> (based on the ENOSUP returned error) is not convenient as such request
>>>>>>> can change the led state on device.
>>>>>>>
>>>>>>> This patch adds a new function rte_eth_led_ctrl_capable() that will look
>>>>>>> for led_off/on dev ops availability on the related pmd, to know if the
>>>>>>> device is able to handle such led control requests (on/off).
>>>>>> This patch breaks the ABI, which is BAD :-).
>>>>> Why it is an ABI break, dev_ops should be between library and drivers, so it
>>>>> should be out of the ABI concern, isn't it.
>>>> You are right.
>>>> So in our context, this is not an ABI breakage.
>>>> But abidiff still reports it, so maybe some filtering is required to
>>>> avoid this false positive.
>>>>
>>>> Note that if we insert an ops before rx_queue_count, we would have a
>>>> real ABI breakage, as this ops is accessed via an inline wrapper by
>>>> applications.
>>>>
>>>>
>>>>>> This new api only needs to look at the existing ops, so you can remove
>>>>>> the (unused in your patch) dev_led_ctrl_capable ops.
>>>>>>
>>>>>> OTOH, would it make sense to expose this capability in dev_flags?
>>>>>>
>>>>> 'rte_eth_led_on()' & 'rte_eth_led_off()' APIs returns '-ENOTSUP' when the not
>>>>> supported, can that help application to understand?
>>>> You might want to know it is supported without changing the state.
>>>> Laurent?
>>> First, happy new year :)
>>>
>>> Yes exactly, the purpose of this patch is to query if the device is led
>>> control capable or not without changing the led state.
>>>
>>> About exposing the capability through a dev_flags, means to make some
>>> modification in each pmds. It looks more easy in term of pmds
>>> maintenance to relying on the rte_eth_led_off()/on() dev ops
>>> availability at rte_ethdev level, right ?
>>>
>> 'dev_flag' definition is not clear, right now it holds the combination of status
>> and capability. And we have 'rte_eth_dev_info' struct, which is again
>> combination of device capability and status.
> I agree capabilities in ethdev are a bit of a mess.
> I would appreciate someone makes a complete audit of it
> so we can discuss how to improve the situation.
>
>
>> Perhaps we should have explicit capabilities and status fields, even in the
>> rte_device level which inherited by net/crypto devices etc..
> No, ethdev capabilities should stay in ethdev.
>
>
>> But for dev_ops, instead of having another capabilities indicator, which
>> requires PMDs to keep this synchronized, I think it is better if we can self
>> contain this information within dev_ops, like not implementing dev_ops would
>> mean it is not supported, this way it is easier to maintain and less error prone.
> It means the dev_ops is resetted at init if a device does not support the feature.
> It is against having const dev_ops.
>
>
>> Only we should have it without side effect,
>>
>> 1- adding an additional 'dry-run' parameter can work, but this means breaking
>> ABI and updating majority of the ethdev APIs :)
>> 2- Adding 'is_supported' versions of the APIs as we need can be an option, like
>> 'rte_eth_led_on_is_supported()'
>> 3- Olivier's suggestion to add a new API to get the led status, so that this
>> information can be used select led API which won't cause side affect and let us
>> learn if it is supported.
>>
>> Any other alternatives?
>>
>> I would prefer the 2) in above ones, which is very similar to the original patch.

I can provide a V2 which will remove the useless dev_led_ctrl_capable ops.

About the 'is_supported()' versions of APIs, in the current patch I 
factorize
the check on dev ops on and off availability in a same function named
"led_ctrl_capable" but I can rename it if required.

Just in this specific case I don't dissociate on and off capability, as 
being
able to set the led off without a way to set it on again sounds a bit 
unusual :)

> The other alternatives are in rte_eth_dev_info and dev_flags.
>
>
>

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH] librte_ethdev: extend dpdk api led control to query capability
  2020-01-08 12:27  0%         ` Olivier Matz
@ 2020-01-08 14:08  0%           ` Ferruh Yigit
  2020-01-08 14:45  0%             ` Laurent Hardy
  0 siblings, 1 reply; 200+ results
From: Ferruh Yigit @ 2020-01-08 14:08 UTC (permalink / raw)
  To: Olivier Matz
  Cc: David Marchand, Laurent Hardy, dev, Thomas Monjalon, Andrew Rybchenko

On 1/8/2020 12:27 PM, Olivier Matz wrote:
> On Wed, Jan 08, 2020 at 12:12:11PM +0000, Ferruh Yigit wrote:
>> On 1/8/2020 9:42 AM, Olivier Matz wrote:
>>> On Wed, Jan 08, 2020 at 09:09:29AM +0000, Ferruh Yigit wrote:
>>>> On 1/8/2020 8:56 AM, David Marchand wrote:
>>>>> Hello Laurent,
>>>>>
>>>>> Bonne année.
>>>>>
>>>>> Cc: maintainers.
>>>>>
>>>>> On Tue, Jan 7, 2020 at 3:57 PM Laurent Hardy <laurent.hardy@6wind.com> wrote:
>>>>>>
>>>>>> In current led control API we have no way to know if a device is able
>>>>>> to handle on/off requests coming from the application.
>>>>>> Knowing if the device is led control capable could be useful to avoid
>>>>>> exchanges between application and kernel.
>>>>>> Using the on/off requests to flag if the device is led control capable
>>>>>> (based on the ENOSUP returned error) is not convenient as such request
>>>>>> can change the led state on device.
>>>>>>
>>>>>> This patch adds a new function rte_eth_led_ctrl_capable() that will look
>>>>>> for led_off/on dev ops availability on the related pmd, to know if the
>>>>>> device is able to handle such led control requests (on/off).
>>>>>
>>>>> This patch breaks the ABI, which is BAD :-).
>>>>
>>>> Why it is an ABI break, dev_ops should be between library and drivers, so it
>>>> should be out of the ABI concern, isn't it.
>>>>
>>>>> This new api only needs to look at the existing ops, so you can remove
>>>>> the (unused in your patch) dev_led_ctrl_capable ops.
>>>>>
>>>>> OTOH, would it make sense to expose this capability in dev_flags?
>>>>>
>>>>
>>>> 'rte_eth_led_on()' & 'rte_eth_led_off()' APIs returns '-ENOTSUP' when the not
>>>> supported, can that help application to understand?
>>>
>>> In our case, it is not possible to use rte_eth_led_on/off() to check if
>>> the feature is supported: on success, it would change the value of the
>>> led, and it seems it is not recoverable on some drivers.
>>
>> What does it mean it is not recoverable, like can you turn on the led but can't
>> turn off it back? Can't this be fixed in the PMD?
> 
> In the case there is only one LED, which is by default used to display
> the link status, it can never display the status again without resetting
> the device.

Is there a specific PMD are we talking about?

> 
> Maybe an alternative solution would be to add a function, in addition to
> on() and off():
> 
>   led_ctrl_status_link() to display the status link on the led.
> 
> 
>>
>>>
>>> Today it is not possible to know if the feature is available without
>>> side effect.
>>>
>>


^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH] librte_ethdev: extend dpdk api led control to query capability
  2020-01-08 14:08  0%           ` Ferruh Yigit
@ 2020-01-08 14:45  0%             ` Laurent Hardy
  0 siblings, 0 replies; 200+ results
From: Laurent Hardy @ 2020-01-08 14:45 UTC (permalink / raw)
  To: Ferruh Yigit, Olivier Matz
  Cc: David Marchand, dev, Thomas Monjalon, Andrew Rybchenko


On 1/8/20 3:08 PM, Ferruh Yigit wrote:
> On 1/8/2020 12:27 PM, Olivier Matz wrote:
>> On Wed, Jan 08, 2020 at 12:12:11PM +0000, Ferruh Yigit wrote:
>>> On 1/8/2020 9:42 AM, Olivier Matz wrote:
>>>> On Wed, Jan 08, 2020 at 09:09:29AM +0000, Ferruh Yigit wrote:
>>>>> On 1/8/2020 8:56 AM, David Marchand wrote:
>>>>>> Hello Laurent,
>>>>>>
>>>>>> Bonne année.
>>>>>>
>>>>>> Cc: maintainers.
>>>>>>
>>>>>> On Tue, Jan 7, 2020 at 3:57 PM Laurent Hardy <laurent.hardy@6wind.com> wrote:
>>>>>>> In current led control API we have no way to know if a device is able
>>>>>>> to handle on/off requests coming from the application.
>>>>>>> Knowing if the device is led control capable could be useful to avoid
>>>>>>> exchanges between application and kernel.
>>>>>>> Using the on/off requests to flag if the device is led control capable
>>>>>>> (based on the ENOSUP returned error) is not convenient as such request
>>>>>>> can change the led state on device.
>>>>>>>
>>>>>>> This patch adds a new function rte_eth_led_ctrl_capable() that will look
>>>>>>> for led_off/on dev ops availability on the related pmd, to know if the
>>>>>>> device is able to handle such led control requests (on/off).
>>>>>> This patch breaks the ABI, which is BAD :-).
>>>>> Why it is an ABI break, dev_ops should be between library and drivers, so it
>>>>> should be out of the ABI concern, isn't it.
>>>>>
>>>>>> This new api only needs to look at the existing ops, so you can remove
>>>>>> the (unused in your patch) dev_led_ctrl_capable ops.
>>>>>>
>>>>>> OTOH, would it make sense to expose this capability in dev_flags?
>>>>>>
>>>>> 'rte_eth_led_on()' & 'rte_eth_led_off()' APIs returns '-ENOTSUP' when the not
>>>>> supported, can that help application to understand?
>>>> In our case, it is not possible to use rte_eth_led_on/off() to check if
>>>> the feature is supported: on success, it would change the value of the
>>>> led, and it seems it is not recoverable on some drivers.
>>> What does it mean it is not recoverable, like can you turn on the led but can't
>>> turn off it back? Can't this be fixed in the PMD?
>> In the case there is only one LED, which is by default used to display
>> the link status, it can never display the status again without resetting
>> the device.
> Is there a specific PMD are we talking about?

e1000 pmd which seems to have different behavior according to the

nics used (at least it has been reported using i210 and i350 copper).

>
>> Maybe an alternative solution would be to add a function, in addition to
>> on() and off():
>>
>>    led_ctrl_status_link() to display the status link on the led.
>>
>>
>>>> Today it is not possible to know if the feature is available without
>>>> side effect.
>>>>

^ permalink raw reply	[relevance 0%]

* [dpdk-dev] [PATCH 5/6] doc/guides: rebuild with meson whenever a file changes
  @ 2020-01-09 11:56  4% ` Bruce Richardson
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 200+ results
From: Bruce Richardson @ 2020-01-09 11:56 UTC (permalink / raw)
  To: david.marchand, john.mcnamara, bluca; +Cc: dev, Bruce Richardson

Add proper support for calling sphinx whenever a file in the doc
directory changes. This is accomplished by using a wrapper script
for sphinx, which runs sphinx but also emits a gcc-format dependency
file listing all the doc files. This is used by ninja so that any
change to the doc files triggers a rebuild of the docs.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 buildtools/call-sphinx-build.py | 29 +++++++++++++++++++++++++++++
 buildtools/meson.build          |  6 ++++--
 doc/guides/meson.build          | 22 ++++++++--------------
 3 files changed, 41 insertions(+), 16 deletions(-)
 create mode 100755 buildtools/call-sphinx-build.py

diff --git a/buildtools/call-sphinx-build.py b/buildtools/call-sphinx-build.py
new file mode 100755
index 000000000..027317b9b
--- /dev/null
+++ b/buildtools/call-sphinx-build.py
@@ -0,0 +1,29 @@
+#! /usr/bin/env python3
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2019 Intel Corporation
+#
+
+import sys
+import os
+import os.path
+import subprocess
+
+sphinx = sys.argv[1]
+src = sys.argv[2]
+dst = sys.argv[3]
+depfile = os.path.join(dst,'.html.d')
+
+# find all the files sphinx will process so we can write them as dependencies
+srcfiles = []
+for root, dirs, files in os.walk(src):
+    for f in files:
+        srcfiles.append(os.path.join(root, f))
+
+# run sphinx, putting the html output in a "html" directory
+subprocess.run([sphinx, '-j', 'auto', '-b', 'html', src,
+                os.path.join(dst, 'html')], check = True)
+
+# create a gcc format .d file giving all the dependencies of this doc build
+with open(depfile, 'w') as d:
+    d.write('html: ' + ' '.join(srcfiles) + '\n')
+subprocess.run(['cp', '-f', depfile, '/tmp'])
diff --git a/buildtools/meson.build b/buildtools/meson.build
index 6ef2c5721..cd1d05403 100644
--- a/buildtools/meson.build
+++ b/buildtools/meson.build
@@ -10,10 +10,12 @@ check_experimental_syms = find_program('check-experimental-syms.sh')
 # set up map-to-def script using python, either built-in or external
 python3 = import('python').find_installation(required: false)
 if python3.found()
-	map_to_def_cmd = [python3, files('map_to_def.py')]
+	py3 = [python3]
 else
-	map_to_def_cmd = ['meson', 'runpython', files('map_to_def.py')]
+	py3 = ['meson', 'runpython']
 endif
+map_to_def_cmd = py3 + files('map_to_def.py')
+sphinx_wrapper = py3 + files('call-sphinx-build.py')
 
 # stable ABI always starts with "DPDK_"
 is_experimental_cmd = [find_program('grep', 'findstr'), '^DPDK_']
diff --git a/doc/guides/meson.build b/doc/guides/meson.build
index 80c21d168..732e7ad3a 100644
--- a/doc/guides/meson.build
+++ b/doc/guides/meson.build
@@ -7,24 +7,18 @@ if not sphinx.found()
 	subdir_done()
 endif
 
-htmldir = join_paths('share', 'doc', 'dpdk')
+htmldir = join_paths(get_option('datadir'), 'doc', 'dpdk')
 html_guides = custom_target('html_guides',
-	input: meson.current_source_dir(),
-	output: 'guides',
-	command: [sphinx, '-b', 'html',
-		'-d', meson.current_build_dir() + '/.doctrees',
-		'@INPUT@', meson.current_build_dir() + '/guides'],
+	input: files('index.rst'),
+	output: 'html',
+	command: [sphinx_wrapper, sphinx, meson.current_source_dir(), meson.current_build_dir()],
+	depfile: '.html.d',
 	build_by_default: get_option('enable_docs'),
 	install: get_option('enable_docs'),
 	install_dir: htmldir)
 
+install_data(files('custom.css'),
+			install_dir: join_paths(htmldir,'_static', 'css'))
+
 doc_targets += html_guides
 doc_target_names += 'HTML_Guides'
-
-# sphinx leaves a .buildinfo in the target directory, which we don't
-# want to install. Note that sh -c has to be used, otherwise the
-# env var does not get expanded if calling rm/install directly.
-meson.add_install_script('sh', '-c',
-	'rm -f $MESON_INSTALL_DESTDIR_PREFIX/share/doc/dpdk/guides/.buildinfo')
-meson.add_install_script('sh', '-c',
-	'install -D -m0644 $MESON_SOURCE_ROOT/doc/guides/custom.css $MESON_INSTALL_DESTDIR_PREFIX/share/doc/dpdk/guides/_static/css/custom.css')
-- 
2.24.1


^ permalink raw reply	[relevance 4%]

* [dpdk-dev] [PATCH v2 5/6] doc/guides: rebuild with meson whenever a file changes
  @ 2020-01-09 12:08  4%   ` Bruce Richardson
  2020-01-09 14:27  0%     ` Aaron Conole
  0 siblings, 1 reply; 200+ results
From: Bruce Richardson @ 2020-01-09 12:08 UTC (permalink / raw)
  To: david.marchand, john.mcnamara, bluca
  Cc: dev, aconole, thomas, Bruce Richardson

Add proper support for calling sphinx whenever a file in the doc
directory changes. This is accomplished by using a wrapper script
for sphinx, which runs sphinx but also emits a gcc-format dependency
file listing all the doc files. This is used by ninja so that any
change to the doc files triggers a rebuild of the docs.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 buildtools/call-sphinx-build.py | 29 +++++++++++++++++++++++++++++
 buildtools/meson.build          |  6 ++++--
 doc/guides/meson.build          | 22 ++++++++--------------
 3 files changed, 41 insertions(+), 16 deletions(-)
 create mode 100755 buildtools/call-sphinx-build.py

diff --git a/buildtools/call-sphinx-build.py b/buildtools/call-sphinx-build.py
new file mode 100755
index 000000000..027317b9b
--- /dev/null
+++ b/buildtools/call-sphinx-build.py
@@ -0,0 +1,29 @@
+#! /usr/bin/env python3
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2019 Intel Corporation
+#
+
+import sys
+import os
+import os.path
+import subprocess
+
+sphinx = sys.argv[1]
+src = sys.argv[2]
+dst = sys.argv[3]
+depfile = os.path.join(dst,'.html.d')
+
+# find all the files sphinx will process so we can write them as dependencies
+srcfiles = []
+for root, dirs, files in os.walk(src):
+    for f in files:
+        srcfiles.append(os.path.join(root, f))
+
+# run sphinx, putting the html output in a "html" directory
+subprocess.run([sphinx, '-j', 'auto', '-b', 'html', src,
+                os.path.join(dst, 'html')], check = True)
+
+# create a gcc format .d file giving all the dependencies of this doc build
+with open(depfile, 'w') as d:
+    d.write('html: ' + ' '.join(srcfiles) + '\n')
+subprocess.run(['cp', '-f', depfile, '/tmp'])
diff --git a/buildtools/meson.build b/buildtools/meson.build
index 6ef2c5721..cd1d05403 100644
--- a/buildtools/meson.build
+++ b/buildtools/meson.build
@@ -10,10 +10,12 @@ check_experimental_syms = find_program('check-experimental-syms.sh')
 # set up map-to-def script using python, either built-in or external
 python3 = import('python').find_installation(required: false)
 if python3.found()
-	map_to_def_cmd = [python3, files('map_to_def.py')]
+	py3 = [python3]
 else
-	map_to_def_cmd = ['meson', 'runpython', files('map_to_def.py')]
+	py3 = ['meson', 'runpython']
 endif
+map_to_def_cmd = py3 + files('map_to_def.py')
+sphinx_wrapper = py3 + files('call-sphinx-build.py')
 
 # stable ABI always starts with "DPDK_"
 is_experimental_cmd = [find_program('grep', 'findstr'), '^DPDK_']
diff --git a/doc/guides/meson.build b/doc/guides/meson.build
index 80c21d168..732e7ad3a 100644
--- a/doc/guides/meson.build
+++ b/doc/guides/meson.build
@@ -7,24 +7,18 @@ if not sphinx.found()
 	subdir_done()
 endif
 
-htmldir = join_paths('share', 'doc', 'dpdk')
+htmldir = join_paths(get_option('datadir'), 'doc', 'dpdk')
 html_guides = custom_target('html_guides',
-	input: meson.current_source_dir(),
-	output: 'guides',
-	command: [sphinx, '-b', 'html',
-		'-d', meson.current_build_dir() + '/.doctrees',
-		'@INPUT@', meson.current_build_dir() + '/guides'],
+	input: files('index.rst'),
+	output: 'html',
+	command: [sphinx_wrapper, sphinx, meson.current_source_dir(), meson.current_build_dir()],
+	depfile: '.html.d',
 	build_by_default: get_option('enable_docs'),
 	install: get_option('enable_docs'),
 	install_dir: htmldir)
 
+install_data(files('custom.css'),
+			install_dir: join_paths(htmldir,'_static', 'css'))
+
 doc_targets += html_guides
 doc_target_names += 'HTML_Guides'
-
-# sphinx leaves a .buildinfo in the target directory, which we don't
-# want to install. Note that sh -c has to be used, otherwise the
-# env var does not get expanded if calling rm/install directly.
-meson.add_install_script('sh', '-c',
-	'rm -f $MESON_INSTALL_DESTDIR_PREFIX/share/doc/dpdk/guides/.buildinfo')
-meson.add_install_script('sh', '-c',
-	'install -D -m0644 $MESON_SOURCE_ROOT/doc/guides/custom.css $MESON_INSTALL_DESTDIR_PREFIX/share/doc/dpdk/guides/_static/css/custom.css')
-- 
2.24.1


^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] [PATCH] mempool: fix mempool virt populate with small chunks
  @ 2020-01-09 13:52  3% ` Burakov, Anatoly
  2020-01-09 14:23  0%   ` Olivier Matz
  0 siblings, 1 reply; 200+ results
From: Burakov, Anatoly @ 2020-01-09 13:52 UTC (permalink / raw)
  To: Olivier Matz, dev; +Cc: Andrew Rybchenko, stable

On 09-Jan-20 1:27 PM, Olivier Matz wrote:
> To populate a mempool with a virtual area, the mempool code calls
> rte_mempool_populate_iova() for each iova-contiguous area. It happens
> (rarely) that this area is too small to store one object. In this case,
> rte_mempool_populate_iova() returns an error, which is forwarded by
> rte_mempool_populate_virt().
> 
> This case should not throw an error in
> rte_mempool_populate_virt(). Instead, the area that is too small should
> just be ignored.
> 
> To fix this issue, change the return value of
> rte_mempool_populate_iova() to -ENOBUFS when no object can be populated,
> so it can be ignored by the caller. As this would be an API change, add
> a compat wrapper to keep the current API unchanged. The wrapper will be
> removed for 20.11.
> 
> Fixes: 354788b60cfd ("mempool: allow populating with unaligned virtual area")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
> ---
> 

The approach fixes the issue on my end, so

Tested-by: Anatoly Burakov <anatoly.burakov@intel.com>

> Is there a simple way to ensure that we won't forget to remove the
> wrapper for 20.11? Anatoly suggested me to use versioned symbols, but
> it's not clear to me how.
> 

Yes, i'd like to do better than "ah shur we won't forget pinky swear".

Can't we do this with ABI versioning? E.g.

rte_populate_iova_v20() ... returns EINVAL

rte_populate_iova_v21() ... returns ENOBUFS

I'm pretty sure, even if it doesn't break, it will still be more likely 
to not be forgotten because there's almost a guarantee that someone will 
grep for symbol versioning macros across the codebase around 20.11 
timeframe.

-- 
Thanks,
Anatoly

^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] [dpdk-stable] [PATCH] mark experimental variables
    2019-12-03  8:33  0%   ` Andrew Rybchenko
  2019-12-03 15:26  0%   ` Neil Horman
@ 2020-01-09 14:13  3%   ` Thomas Monjalon
  2020-01-09 16:49  0%     ` David Marchand
  2 siblings, 1 reply; 200+ results
From: Thomas Monjalon @ 2020-01-09 14:13 UTC (permalink / raw)
  To: David Marchand
  Cc: nhorman, dev, stable, arybchenko, mdr, stable, John McNamara,
	Marko Kovacevic, Qiming Yang, Wenzhuo Lu, Nicolas Chautru,
	Declan Doherty, Adrien Mazarguil, Ferruh Yigit,
	Cristian Dumitrescu, Honnappa Nagarahalli

02/12/2019 16:20, David Marchand:
> So far, we did not pay attention to direct access to variables but they
> are part of the API/ABI too and should be clearly identified.
> 
> Introduce a __rte_experimental_var tag and mark existing exported
> variables.
> 
> Fixes: a4bcd61de82d ("buildtools: add script to check experimental API exports")
> Cc: stable@dpdk.org
> 
> Signed-off-by: David Marchand <david.marchand@redhat.com>
> ---
> +	elif grep -qe "\(\.data\|\*COM\*\).*[[:space:]]$SYM$" $DUMPFILE &&
> +		! grep -q "\.data\.experimental.*[[:space:]]$SYM$" $DUMPFILE

I like such regex ;)
I don't know COM section but I am not an ELF expert.
Maybe you can just add a comment in the commit log about searching
the symbol in .data and COM sections, even if we don't know exactly why.

One more comment for the record,
I would like we avoid having some variables in the ABI.

Feel free to push this patch.
Acked-by: Thomas Monjalon <thomas@monjalon.net>



^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] [PATCH] mempool: fix mempool virt populate with small chunks
  2020-01-09 13:52  3% ` Burakov, Anatoly
@ 2020-01-09 14:23  0%   ` Olivier Matz
  2020-01-09 14:29  0%     ` Burakov, Anatoly
  0 siblings, 1 reply; 200+ results
From: Olivier Matz @ 2020-01-09 14:23 UTC (permalink / raw)
  To: Burakov, Anatoly; +Cc: dev, Andrew Rybchenko, stable

On Thu, Jan 09, 2020 at 01:52:41PM +0000, Burakov, Anatoly wrote:
> On 09-Jan-20 1:27 PM, Olivier Matz wrote:
> > To populate a mempool with a virtual area, the mempool code calls
> > rte_mempool_populate_iova() for each iova-contiguous area. It happens
> > (rarely) that this area is too small to store one object. In this case,
> > rte_mempool_populate_iova() returns an error, which is forwarded by
> > rte_mempool_populate_virt().
> > 
> > This case should not throw an error in
> > rte_mempool_populate_virt(). Instead, the area that is too small should
> > just be ignored.
> > 
> > To fix this issue, change the return value of
> > rte_mempool_populate_iova() to -ENOBUFS when no object can be populated,
> > so it can be ignored by the caller. As this would be an API change, add
> > a compat wrapper to keep the current API unchanged. The wrapper will be
> > removed for 20.11.
> > 
> > Fixes: 354788b60cfd ("mempool: allow populating with unaligned virtual area")
> > Cc: stable@dpdk.org
> > 
> > Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
> > ---
> > 
> 
> The approach fixes the issue on my end, so
> 
> Tested-by: Anatoly Burakov <anatoly.burakov@intel.com>
> 
> > Is there a simple way to ensure that we won't forget to remove the
> > wrapper for 20.11? Anatoly suggested me to use versioned symbols, but
> > it's not clear to me how.
> > 
> 
> Yes, i'd like to do better than "ah shur we won't forget pinky swear".
> 
> Can't we do this with ABI versioning? E.g.
> 
> rte_populate_iova_v20() ... returns EINVAL
> 
> rte_populate_iova_v21() ... returns ENOBUFS
> 
> I'm pretty sure, even if it doesn't break, it will still be more likely to
> not be forgotten because there's almost a guarantee that someone will grep
> for symbol versioning macros across the codebase around 20.11 timeframe.

Without using symbol versionning, would this be ok too?

  int
  rte_mempool_populate_iova(struct rte_mempool *mp, char *vaddr,
         rte_iova_t iova, size_t len, rte_mempool_memchunk_free_cb_t *free_cb,
         void *opaque)
  {
         int ret;

         ret = __rte_mempool_populate_iova(mp, vaddr, iova, len, free_cb, opaque);

  #if RTE_VERSION < RTE_VERSION_NUM(20, 11, 0, 0)
         if (ret == -ENOBUFS)
                 ret = -EINVAL;
  #endif

         return ret;
  }



> -- 
> Thanks,
> Anatoly

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH v2 5/6] doc/guides: rebuild with meson whenever a file changes
  2020-01-09 12:08  4%   ` [dpdk-dev] [PATCH v2 5/6] doc/guides: rebuild with meson whenever a file changes Bruce Richardson
@ 2020-01-09 14:27  0%     ` Aaron Conole
  0 siblings, 0 replies; 200+ results
From: Aaron Conole @ 2020-01-09 14:27 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: david.marchand, john.mcnamara, bluca, dev, thomas

Bruce Richardson <bruce.richardson@intel.com> writes:

> Add proper support for calling sphinx whenever a file in the doc
> directory changes. This is accomplished by using a wrapper script
> for sphinx, which runs sphinx but also emits a gcc-format dependency
> file listing all the doc files. This is used by ninja so that any
> change to the doc files triggers a rebuild of the docs.
>
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> ---
>  buildtools/call-sphinx-build.py | 29 +++++++++++++++++++++++++++++
>  buildtools/meson.build          |  6 ++++--
>  doc/guides/meson.build          | 22 ++++++++--------------
>  3 files changed, 41 insertions(+), 16 deletions(-)
>  create mode 100755 buildtools/call-sphinx-build.py
>

Acked-by: Aaron Conole <aconole@redhat.com>

Some nits follow - it would be good to clean them up before applying but
they are fairly inconsequential.

> diff --git a/buildtools/call-sphinx-build.py b/buildtools/call-sphinx-build.py
> new file mode 100755
> index 000000000..027317b9b
> --- /dev/null
> +++ b/buildtools/call-sphinx-build.py
> @@ -0,0 +1,29 @@
> +#! /usr/bin/env python3
> +# SPDX-License-Identifier: BSD-3-Clause
> +# Copyright(c) 2019 Intel Corporation
> +#
> +
> +import sys
> +import os
> +import os.path
> +import subprocess
> +
> +sphinx = sys.argv[1]
> +src = sys.argv[2]
> +dst = sys.argv[3]
> +depfile = os.path.join(dst,'.html.d')
                              ^ whitespace here
> +
> +# find all the files sphinx will process so we can write them as dependencies
> +srcfiles = []
> +for root, dirs, files in os.walk(src):
> +    for f in files:
> +        srcfiles.append(os.path.join(root, f))
> +
> +# run sphinx, putting the html output in a "html" directory
> +subprocess.run([sphinx, '-j', 'auto', '-b', 'html', src,
> +                os.path.join(dst, 'html')], check = True)
                                                    ^ no whitespace
                                                      around =
> +
> +# create a gcc format .d file giving all the dependencies of this doc build
> +with open(depfile, 'w') as d:
> +    d.write('html: ' + ' '.join(srcfiles) + '\n')
> +subprocess.run(['cp', '-f', depfile, '/tmp'])
> diff --git a/buildtools/meson.build b/buildtools/meson.build
> index 6ef2c5721..cd1d05403 100644
> --- a/buildtools/meson.build
> +++ b/buildtools/meson.build
> @@ -10,10 +10,12 @@ check_experimental_syms = find_program('check-experimental-syms.sh')
>  # set up map-to-def script using python, either built-in or external
>  python3 = import('python').find_installation(required: false)
>  if python3.found()
> -	map_to_def_cmd = [python3, files('map_to_def.py')]
> +	py3 = [python3]
>  else
> -	map_to_def_cmd = ['meson', 'runpython', files('map_to_def.py')]
> +	py3 = ['meson', 'runpython']
>  endif
> +map_to_def_cmd = py3 + files('map_to_def.py')
> +sphinx_wrapper = py3 + files('call-sphinx-build.py')
>  
>  # stable ABI always starts with "DPDK_"
>  is_experimental_cmd = [find_program('grep', 'findstr'), '^DPDK_']
> diff --git a/doc/guides/meson.build b/doc/guides/meson.build
> index 80c21d168..732e7ad3a 100644
> --- a/doc/guides/meson.build
> +++ b/doc/guides/meson.build
> @@ -7,24 +7,18 @@ if not sphinx.found()
>  	subdir_done()
>  endif
>  
> -htmldir = join_paths('share', 'doc', 'dpdk')
> +htmldir = join_paths(get_option('datadir'), 'doc', 'dpdk')
>  html_guides = custom_target('html_guides',
> -	input: meson.current_source_dir(),
> -	output: 'guides',
> -	command: [sphinx, '-b', 'html',
> -		'-d', meson.current_build_dir() + '/.doctrees',
> -		'@INPUT@', meson.current_build_dir() + '/guides'],
> +	input: files('index.rst'),
> +	output: 'html',
> +	command: [sphinx_wrapper, sphinx, meson.current_source_dir(), meson.current_build_dir()],
> +	depfile: '.html.d',
>  	build_by_default: get_option('enable_docs'),
>  	install: get_option('enable_docs'),
>  	install_dir: htmldir)
>  
> +install_data(files('custom.css'),
> +			install_dir: join_paths(htmldir,'_static', 'css'))
> +
>  doc_targets += html_guides
>  doc_target_names += 'HTML_Guides'
> -
> -# sphinx leaves a .buildinfo in the target directory, which we don't
> -# want to install. Note that sh -c has to be used, otherwise the
> -# env var does not get expanded if calling rm/install directly.
> -meson.add_install_script('sh', '-c',
> -	'rm -f $MESON_INSTALL_DESTDIR_PREFIX/share/doc/dpdk/guides/.buildinfo')
> -meson.add_install_script('sh', '-c',
> -	'install -D -m0644 $MESON_SOURCE_ROOT/doc/guides/custom.css $MESON_INSTALL_DESTDIR_PREFIX/share/doc/dpdk/guides/_static/css/custom.css')


^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH] mempool: fix mempool virt populate with small chunks
  2020-01-09 14:23  0%   ` Olivier Matz
@ 2020-01-09 14:29  0%     ` Burakov, Anatoly
  2020-01-09 14:58  4%       ` Bruce Richardson
  0 siblings, 1 reply; 200+ results
From: Burakov, Anatoly @ 2020-01-09 14:29 UTC (permalink / raw)
  To: Olivier Matz; +Cc: dev, Andrew Rybchenko, stable

On 09-Jan-20 2:23 PM, Olivier Matz wrote:
> On Thu, Jan 09, 2020 at 01:52:41PM +0000, Burakov, Anatoly wrote:
>> On 09-Jan-20 1:27 PM, Olivier Matz wrote:
>>> To populate a mempool with a virtual area, the mempool code calls
>>> rte_mempool_populate_iova() for each iova-contiguous area. It happens
>>> (rarely) that this area is too small to store one object. In this case,
>>> rte_mempool_populate_iova() returns an error, which is forwarded by
>>> rte_mempool_populate_virt().
>>>
>>> This case should not throw an error in
>>> rte_mempool_populate_virt(). Instead, the area that is too small should
>>> just be ignored.
>>>
>>> To fix this issue, change the return value of
>>> rte_mempool_populate_iova() to -ENOBUFS when no object can be populated,
>>> so it can be ignored by the caller. As this would be an API change, add
>>> a compat wrapper to keep the current API unchanged. The wrapper will be
>>> removed for 20.11.
>>>
>>> Fixes: 354788b60cfd ("mempool: allow populating with unaligned virtual area")
>>> Cc: stable@dpdk.org
>>>
>>> Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
>>> ---
>>>
>>
>> The approach fixes the issue on my end, so
>>
>> Tested-by: Anatoly Burakov <anatoly.burakov@intel.com>
>>
>>> Is there a simple way to ensure that we won't forget to remove the
>>> wrapper for 20.11? Anatoly suggested me to use versioned symbols, but
>>> it's not clear to me how.
>>>
>>
>> Yes, i'd like to do better than "ah shur we won't forget pinky swear".
>>
>> Can't we do this with ABI versioning? E.g.
>>
>> rte_populate_iova_v20() ... returns EINVAL
>>
>> rte_populate_iova_v21() ... returns ENOBUFS
>>
>> I'm pretty sure, even if it doesn't break, it will still be more likely to
>> not be forgotten because there's almost a guarantee that someone will grep
>> for symbol versioning macros across the codebase around 20.11 timeframe.
> 
> Without using symbol versionning, would this be ok too?
> 
>    int
>    rte_mempool_populate_iova(struct rte_mempool *mp, char *vaddr,
>           rte_iova_t iova, size_t len, rte_mempool_memchunk_free_cb_t *free_cb,
>           void *opaque)
>    {
>           int ret;
> 
>           ret = __rte_mempool_populate_iova(mp, vaddr, iova, len, free_cb, opaque);
> 
>    #if RTE_VERSION < RTE_VERSION_NUM(20, 11, 0, 0)
>           if (ret == -ENOBUFS)
>                   ret = -EINVAL;
>    #endif
> 
>           return ret;
>    }
> 
> 

Well it would certainly work :) it just makes it more likely that this 
will be missed.

How about, we leave your patch as is, and then you submit another patch 
marked for [20.11] and mark it as Deferred straight away? This is 
probably the best method to not forget that i can think of, if you're so 
averse to symbol versioning :D

> 
>> -- 
>> Thanks,
>> Anatoly


-- 
Thanks,
Anatoly

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH] mempool: fix mempool virt populate with small chunks
  2020-01-09 14:29  0%     ` Burakov, Anatoly
@ 2020-01-09 14:58  4%       ` Bruce Richardson
  0 siblings, 0 replies; 200+ results
From: Bruce Richardson @ 2020-01-09 14:58 UTC (permalink / raw)
  To: Burakov, Anatoly; +Cc: Olivier Matz, dev, Andrew Rybchenko, stable

On Thu, Jan 09, 2020 at 02:29:08PM +0000, Burakov, Anatoly wrote:
> On 09-Jan-20 2:23 PM, Olivier Matz wrote:
> > On Thu, Jan 09, 2020 at 01:52:41PM +0000, Burakov, Anatoly wrote:
> > > On 09-Jan-20 1:27 PM, Olivier Matz wrote:
> > > > To populate a mempool with a virtual area, the mempool code calls
> > > > rte_mempool_populate_iova() for each iova-contiguous area. It happens
> > > > (rarely) that this area is too small to store one object. In this case,
> > > > rte_mempool_populate_iova() returns an error, which is forwarded by
> > > > rte_mempool_populate_virt().
> > > > 
> > > > This case should not throw an error in
> > > > rte_mempool_populate_virt(). Instead, the area that is too small should
> > > > just be ignored.
> > > > 
> > > > To fix this issue, change the return value of
> > > > rte_mempool_populate_iova() to -ENOBUFS when no object can be populated,
> > > > so it can be ignored by the caller. As this would be an API change, add
> > > > a compat wrapper to keep the current API unchanged. The wrapper will be
> > > > removed for 20.11.
> > > > 
> > > > Fixes: 354788b60cfd ("mempool: allow populating with unaligned virtual area")
> > > > Cc: stable@dpdk.org
> > > > 
> > > > Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
> > > > ---
> > > > 
> > > 
> > > The approach fixes the issue on my end, so
> > > 
> > > Tested-by: Anatoly Burakov <anatoly.burakov@intel.com>
> > > 
> > > > Is there a simple way to ensure that we won't forget to remove the
> > > > wrapper for 20.11? Anatoly suggested me to use versioned symbols, but
> > > > it's not clear to me how.
> > > > 
> > > 
> > > Yes, i'd like to do better than "ah shur we won't forget pinky swear".
> > > 
> > > Can't we do this with ABI versioning? E.g.
> > > 
> > > rte_populate_iova_v20() ... returns EINVAL
> > > 
> > > rte_populate_iova_v21() ... returns ENOBUFS
> > > 
> > > I'm pretty sure, even if it doesn't break, it will still be more likely to
> > > not be forgotten because there's almost a guarantee that someone will grep
> > > for symbol versioning macros across the codebase around 20.11 timeframe.
> > 
> > Without using symbol versionning, would this be ok too?
> > 
> >    int
> >    rte_mempool_populate_iova(struct rte_mempool *mp, char *vaddr,
> >           rte_iova_t iova, size_t len, rte_mempool_memchunk_free_cb_t *free_cb,
> >           void *opaque)
> >    {
> >           int ret;
> > 
> >           ret = __rte_mempool_populate_iova(mp, vaddr, iova, len, free_cb, opaque);
> > 
> >    #if RTE_VERSION < RTE_VERSION_NUM(20, 11, 0, 0)
> >           if (ret == -ENOBUFS)
> >                   ret = -EINVAL;
> >    #endif
> > 
> >           return ret;
> >    }
> > 
> > 
> 
> Well it would certainly work :) it just makes it more likely that this will
> be missed.
> 
Depends on your definition of "work". The difference vs having the ABI
versioned code is that any application linked against 20.02...20.08 will
have the old behaviour and have to change to use 20.11. Using proper
versioning, any newly linked apps immediately get the old behaviour and the
compatiblity is provided only for those apps linked against 19.11.

Therefore, I think the ABI compatibility approach is still better, and
should not be that bad, given that I think all that needs to be done for
v20 is to call v21 and then convert an -ENOBUFS to -EINVAL as you do here.

__mempool_populate_iova_v20(....)
{
   ret = __mempool_populate_iova_v21(...);
   return ret == -ENOBUFS ? -EINVAL : ret;
}

Regards,
/Bruce

^ permalink raw reply	[relevance 4%]

* [dpdk-dev] [PATCH v3 5/6] doc/guides: rebuild with meson whenever a file changes
  @ 2020-01-09 15:31  4%   ` Bruce Richardson
  0 siblings, 0 replies; 200+ results
From: Bruce Richardson @ 2020-01-09 15:31 UTC (permalink / raw)
  To: david.marchand, john.mcnamara, bluca
  Cc: dev, aconole, thomas, Bruce Richardson

Add proper support for calling sphinx whenever a file in the doc
directory changes. This is accomplished by using a wrapper script
for sphinx, which runs sphinx but also emits a gcc-format dependency
file listing all the doc files. This is used by ninja so that any
change to the doc files triggers a rebuild of the docs.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Aaron Conole <aconole@redhat.com>
---
 buildtools/call-sphinx-build.py | 23 +++++++++++++++++++++++
 buildtools/meson.build          |  6 ++++--
 doc/guides/meson.build          | 22 ++++++++--------------
 3 files changed, 35 insertions(+), 16 deletions(-)
 create mode 100755 buildtools/call-sphinx-build.py

diff --git a/buildtools/call-sphinx-build.py b/buildtools/call-sphinx-build.py
new file mode 100755
index 000000000..80bda2661
--- /dev/null
+++ b/buildtools/call-sphinx-build.py
@@ -0,0 +1,23 @@
+#! /usr/bin/env python3
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2019 Intel Corporation
+#
+
+import sys
+import os
+from os.path import join
+from subprocess import run
+
+(sphinx, src, dst) = sys.argv[1:]  # assign parameters to variables
+
+# find all the files sphinx will process so we can write them as dependencies
+srcfiles = []
+for root, dirs, files in os.walk(src):
+    srcfiles.extend([join(root, f) for f in files])
+
+# run sphinx, putting the html output in a "html" directory
+run([sphinx, '-j', 'auto', '-b', 'html', src, join(dst, 'html')], check=True)
+
+# create a gcc format .d file giving all the dependencies of this doc build
+with open(join(dst, '.html.d'), 'w') as d:
+    d.write('html: ' + ' '.join(srcfiles) + '\n')
diff --git a/buildtools/meson.build b/buildtools/meson.build
index 6ef2c5721..cd1d05403 100644
--- a/buildtools/meson.build
+++ b/buildtools/meson.build
@@ -10,10 +10,12 @@ check_experimental_syms = find_program('check-experimental-syms.sh')
 # set up map-to-def script using python, either built-in or external
 python3 = import('python').find_installation(required: false)
 if python3.found()
-	map_to_def_cmd = [python3, files('map_to_def.py')]
+	py3 = [python3]
 else
-	map_to_def_cmd = ['meson', 'runpython', files('map_to_def.py')]
+	py3 = ['meson', 'runpython']
 endif
+map_to_def_cmd = py3 + files('map_to_def.py')
+sphinx_wrapper = py3 + files('call-sphinx-build.py')
 
 # stable ABI always starts with "DPDK_"
 is_experimental_cmd = [find_program('grep', 'findstr'), '^DPDK_']
diff --git a/doc/guides/meson.build b/doc/guides/meson.build
index 80c21d168..732e7ad3a 100644
--- a/doc/guides/meson.build
+++ b/doc/guides/meson.build
@@ -7,24 +7,18 @@ if not sphinx.found()
 	subdir_done()
 endif
 
-htmldir = join_paths('share', 'doc', 'dpdk')
+htmldir = join_paths(get_option('datadir'), 'doc', 'dpdk')
 html_guides = custom_target('html_guides',
-	input: meson.current_source_dir(),
-	output: 'guides',
-	command: [sphinx, '-b', 'html',
-		'-d', meson.current_build_dir() + '/.doctrees',
-		'@INPUT@', meson.current_build_dir() + '/guides'],
+	input: files('index.rst'),
+	output: 'html',
+	command: [sphinx_wrapper, sphinx, meson.current_source_dir(), meson.current_build_dir()],
+	depfile: '.html.d',
 	build_by_default: get_option('enable_docs'),
 	install: get_option('enable_docs'),
 	install_dir: htmldir)
 
+install_data(files('custom.css'),
+			install_dir: join_paths(htmldir,'_static', 'css'))
+
 doc_targets += html_guides
 doc_target_names += 'HTML_Guides'
-
-# sphinx leaves a .buildinfo in the target directory, which we don't
-# want to install. Note that sh -c has to be used, otherwise the
-# env var does not get expanded if calling rm/install directly.
-meson.add_install_script('sh', '-c',
-	'rm -f $MESON_INSTALL_DESTDIR_PREFIX/share/doc/dpdk/guides/.buildinfo')
-meson.add_install_script('sh', '-c',
-	'install -D -m0644 $MESON_SOURCE_ROOT/doc/guides/custom.css $MESON_INSTALL_DESTDIR_PREFIX/share/doc/dpdk/guides/_static/css/custom.css')
-- 
2.24.1


^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] [EXT] [RFC PATCH 0/2] introduce __rte_internal tag
  @ 2020-01-09 15:49  0%                   ` Neil Horman
  0 siblings, 0 replies; 200+ results
From: Neil Horman @ 2020-01-09 15:49 UTC (permalink / raw)
  To: Wiles, Keith
  Cc: Ray Kinsella, dpdk-dev, Jerin Jacob Kollanukkaran, Richardson,
	Bruce, Thomas Monjalon

On Fri, Jun 07, 2019 at 06:21:21PM +0000, Wiles, Keith wrote:
> 
> 
> > On Jun 7, 2019, at 10:42 AM, Ray Kinsella <mdr@ashroe.eu> wrote:
> > 
> > 
> > 
> > On 06/06/2019 16:03, Neil Horman wrote:
> >> On Thu, Jun 06, 2019 at 02:02:03PM +0000, Jerin Jacob Kollanukkaran wrote:
> >>>> -----Original Message-----
> >>>> From: Neil Horman <nhorman@tuxdriver.com>
> >>>> Sent: Thursday, June 6, 2019 7:05 PM
> >>>> To: Jerin Jacob Kollanukkaran <jerinj@marvell.com>
> >>>> Cc: Bruce Richardson <bruce.richardson@intel.com>; dev@dpdk.org;
> >>>> Thomas Monjalon <thomas@monjalon.net>
> >>>> Subject: Re: [EXT] [RFC PATCH 0/2] introduce __rte_internal tag
> >>>> 
> >>>> On Thu, Jun 06, 2019 at 12:04:57PM +0000, Jerin Jacob Kollanukkaran wrote:
> >>>>>> -----Original Message-----
> >>>>>> From: Neil Horman <nhorman@tuxdriver.com>
> >>>>>> Sent: Thursday, June 6, 2019 5:04 PM
> >>>>>> To: Jerin Jacob Kollanukkaran <jerinj@marvell.com>
> >>>>>> Cc: Bruce Richardson <bruce.richardson@intel.com>; dev@dpdk.org;
> >>>>>> Thomas Monjalon <thomas@monjalon.net>
> >>>>>> Subject: Re: [EXT] [RFC PATCH 0/2] introduce __rte_internal tag
> >>>>>> 
> >>>>>> On Thu, Jun 06, 2019 at 09:44:52AM +0000, Jerin Jacob Kollanukkaran
> >>>> wrote:
> >>>>>>>> -----Original Message-----
> >>>>>>>> From: Neil Horman <nhorman@tuxdriver.com>
> >>>>>>>> Sent: Wednesday, June 5, 2019 11:41 PM
> >>>>>>>> To: Bruce Richardson <bruce.richardson@intel.com>
> >>>>>>>> Cc: Jerin Jacob Kollanukkaran <jerinj@marvell.com>;
> >>>>>>>> dev@dpdk.org; Thomas Monjalon <thomas@monjalon.net>
> >>>>>>>> Subject: Re: [EXT] [RFC PATCH 0/2] introduce __rte_internal tag
> >>>>>>>> 
> >>>>>>>> On Wed, Jun 05, 2019 at 05:45:41PM +0100, Bruce Richardson wrote:
> >>>>>>>>> On Wed, Jun 05, 2019 at 04:24:09PM +0000, Jerin Jacob
> >>>>>>>>> Kollanukkaran
> >>>>>>>> wrote:
> >>>>>>>>>>> -----Original Message-----
> >>>>>>>>>>> From: Neil Horman <nhorman@tuxdriver.com>
> >>>>>>>>>>> Sent: Sunday, May 26, 2019 12:14 AM
> >>>>>>>>>>> To: dev@dpdk.org
> >>>>>>>>>>> Cc: Neil Horman <nhorman@tuxdriver.com>; Jerin Jacob
> >>>>>>>>>>> Kollanukkaran <jerinj@marvell.com>; Bruce Richardson
> >>>>>>>>>>> <bruce.richardson@intel.com>; Thomas Monjalon
> >>>>>>>>>>> <thomas@monjalon.net>
> >>>>>>>>>>> Subject: [EXT] [RFC PATCH 0/2] introduce __rte_internal
> >>>>>>>>>>> tag
> >>>>>>>>>>> 
> >>>>>>>>>>> Hey-
> >>>>>>>>>>> 	Based on our recent conversations regarding the use of
> >>>>>>>>>>> symbols only meant for internal dpdk consumption (between
> >>>>>>>>>>> dpdk libraries), this is an idea that I've come up with
> >>>>>>>>>>> that I'd like to get some feedback on
> >>>>>>>>>>> 
> >>>>>>>>>>> Summary:
> >>>>>>>>>>> 1) We have symbols in the DPDK that are meant to be used
> >>>>>>>>>>> between DPDK libraries, but not by applications linking to
> >>>>>>>>>>> them
> >>>>>>>>>>> 2) We would like to document those symbols in the code, so
> >>>>>>>>>>> as to note them clearly as for being meant for internal
> >>>>>>>>>>> use only
> >>>>>>>>>>> 3) Linker symbol visibility is a very coarse grained tool,
> >>>>>>>>>>> and so there is no good way in a single library to mark
> >>>>>>>>>>> items as being meant for use only by other DPDK libraries,
> >>>>>>>>>>> at least not without some extensive runtime checking
> >>>>>>>>>>> 
> >>>>>>>>>>> 
> >>>>>>>>>>> Proposal:
> >>>>>>>>>>> I'm proposing that we introduce the __rte_internal tag.
> >>>>>>>>>>> From a coding standpoint it works a great deal like the
> >>>>>>>>>>> __rte_experimental tag in that it expempts the tagged
> >>>>>>>>>>> symbol from ABI constraints (as the only users should be
> >>>>>>>>>>> represented in the DPDK build environment).  Additionally,
> >>>>>>>>>>> the __rte_internal macro resolves differently based on the
> >>>>>>>>>>> definition of the BUILDING_RTE_SDK flag (working under the
> >>>>>>>>>>> assumption that said flag should only ever be set if we
> >>>>>>>>>>> are actually building DPDK libraries which will make use
> >>>>>>>>>>> of internal calls).  If the BUILDING_RTE_SDK flag is set
> >>>>>>>>>>> __rte_internal resolves to __attribute__((section
> >>>>>>>>>>> "text.internal)), placing it in a special text section
> >>>>>>>>>>> which is then used to validate that the the symbol appears
> >>>>>>>>>>> in the INTERNAL section of the corresponding library version
> >>>> map).
> >>>>>>>>>>> If BUILDING_RTE_SDK is not set, then __rte_internal
> >>>>>>>>>>> resolves to
> >>>>>>>> __attribute__((error("..."))), which causes any caller of the
> >>>>>>>> tagged function to throw an error at compile time, indicating
> >>>>>>>> that the symbol is not available for external use.
> >>>>>>>>>>> 
> >>>>>>>>>>> This isn't a perfect solution, as applications can still
> >>>>>>>>>>> hack around it of course,
> >>>>>>>>>> 
> >>>>>>>>>> I think, one way to, avoid, hack around could be to,
> >>>>>>>>>> 
> >>>>>>>>>> 1) at config stage, create  a random number for the build
> >>>>>>>>>> 2) introduce RTE_CALL_INTERNAL macro for calling internal
> >>>>>>>>>> function, compare the generated random number for allowing
> >>>>>>>>>> the calls to make within the library. i.e leverage the fact
> >>>>>>>>>> that external library would never know the random number
> >>>>>>>>>> generated for the DPDK build
> >>>>>>>> and internal driver code does.
> >>>>>>>>>> 
> >>>>>>>>> Do we really need to care about this. If have some determined
> >>>>>>>>> enough to hack around our limitations, then they surely know
> >>>>>>>>> that they have an unsupported configuration. We just need to
> >>>>>>>>> protect against inadvertent use of internals, IMHO.
> >>>>>>>>> 
> >>>>>>>> I agree, I too had thought about doing some sort of internal
> >>>>>>>> runtime checking to match internal only symbols, such that they
> >>>>>>>> were only accessable by internally approved users, but it
> >>>>>>>> started to feel like a great
> >>>>>> deal of overhead.
> >>>>>>>> Its a good idea for a general mechanism I think, but I believe
> >>>>>>>> the value here is more to internally document which apis we want
> >>>>>>>> to mark as being for internal use only, and create a lightweight
> >>>>>>>> roadblock at build time to catch users inadvertently using them.
> >>>>>>>> Determined users will get around anything, and theres not much
> >>>>>>>> we can do to stop
> >>>>>> them.
> >>>>>>> 
> >>>>>>> I agree too. IMHO, Simply having following items would be enough
> >>>>>>> 
> >>>>>>> 1) Avoid exposing the internal function prototype through public
> >>>>>>> header files
> >>>>>>> 2) Add @internal to API documentation
> >>>>>>> 3) Just decide the name space for internal API for tooling(i.e not
> >>>>>>> start with rte_ or so) Using objdump scheme to detect internal
> >>>>>>> functions
> >>>>>> requires the the library to build prior to run the checkpatch.
> >>>>>>> 
> >>>>>> 
> >>>>>> No, I'm not comfortable with that approach, and I've stated why:
> >>>>>> 1) Not exposing the functions via header files is a fine start
> >>>>>> 
> >>>>>> 2) Adding internal documentation is also fine, but does nothing to
> >>>>>> correlate the code implementing those functions to the
> >>>>>> documentation.  Its valuable to have a tag on a function identifying it as
> >>>> internal only.
> >>>>>> 
> >>>>>> 3) Using naming conventions to separate internal only from
> >>>>>> non-internal functions is a vague approach, requiring future
> >>>>>> developers to be cogniscent of the convention and make the
> >>>>>> appropriate naming choices.  It also implicitly restricts the
> >>>>>> abliity for future developers to make naming changes in conflict
> >>>>>> with that convention
> >>>>> 
> >>>>> Enforcing the naming convention can be achieved through tooling as well.
> >>>>> 
> >>>> Sure, but why enforce any function naming at all, when you don't have to.
> >>> 
> >>> May I ask,  why to  enforce __rte_internal, when you don't have to
> >>> 
> >> 
> >> Because its more clear.  Implicitly deciding that any function not prefixed with
> >> rte_ is internal only does nothing to prevent a developer from accidentally
> >> naming a function incorrectly, exporting it, and allowing a user to call it. We
> >> can move headers all you want, but we provide an ABI guarantee to end users, and
> >> developers should have a way to clearly record that without having to check the
> >> documentation for each function that an application developer wants to use.
> >> 
> >> The long and the short of it for me is that I want a way for developers to opt
> >> their code into an internal only condition, not to just document it as such
> >> and hope its up to date.  If they tag a function as __rte_internal then its
> >> clearly marked as internal only, they have checks to ensure that its in the
> >> INTERNAL section of the version map, and should that header somehow get
> >> externally exported (see rte_mempool_check_cookies for an example of how thats
> >> happened), users are prevented from using them at build time, rather than having
> >> to ask questions on the list, or read documentation after an error to find out
> >> "oops, shouldn't have done that".
> >> 
> >> I think you'll find that going through all the header files, and bifurcating
> >> them to public and private headers is a much larger undertaking than just
> >> tagging those functions accordingly.  a quick scan of all our header file for
> >> the @internal tag shows about 260 instances of such functions, almost all of
> >> which are published to applications.  All of those functions would have to be
> >> moved to private headers, and their requisite C files would need to be updated
> >> to include the new header.  with the use of __rte_internal, we just have tag the
> >> functions as such, which can be handled with a cocinelle or awk script.
> >> 
> >> Neil
> > 
> > This is good, I like alot about this, especially the build system
> > complaining loudly when the developer does something they shouldn't - I
> > think anything that we can add that promotes good behaviors is to be
> > 100% welcomed.
> > 
> > I also agree with the points made elsewhere that this is essentially
> > trying to solve a header problem, the mixing of public and private
> > symbols in what are public headers, with __rte_internal. Adding
> > __rte_internal would essentially ratify that behavior, whereas I would
> > argue that something inherently private, should never see the light of
> > day in a public header.
> > 
> > I completely get that it may be more work, however for me it is better
> > way to fix this problem. It would also add completely clarity, all the
> > extra hassle around does it have the rte_ prefix goes away - if it is in
> > a "public header" it is part of the ABI/API, end of discussion.
> > 
> > Finally, not opposed to also asking folks putting symbols in the private
> > header to mark those symbols with __rte_internal.
> 
> +1 I think we need to do both split headers and __rte_internal for extra measure. I am still concerned we are adding more work for the developer, if not then at least we split the headers.
I think this makes sense.  Perhaps we could add a check in checkpatch to warn a
user if the __rte_internal tag is present in a header that has been copied to
the builds include directory (i.e. was specified as SYMLINK-$(VAR) in the
makefile).  Would that help?

Neil
  

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [dpdk-stable] [PATCH] mark experimental variables
  2020-01-09 14:13  3%   ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon
@ 2020-01-09 16:49  0%     ` David Marchand
  0 siblings, 0 replies; 200+ results
From: David Marchand @ 2020-01-09 16:49 UTC (permalink / raw)
  To: Thomas Monjalon, Neil Horman
  Cc: dev, dpdk stable, Andrew Rybchenko, Ray Kinsella, John McNamara,
	Marko Kovacevic, Qiming Yang, Wenzhuo Lu, Nicolas Chautru,
	Declan Doherty, Adrien Mazarguil, Ferruh Yigit,
	Cristian Dumitrescu, Honnappa Nagarahalli

On Thu, Jan 9, 2020 at 3:13 PM Thomas Monjalon <thomas@monjalon.net> wrote:
>
> 02/12/2019 16:20, David Marchand:
> > So far, we did not pay attention to direct access to variables but they
> > are part of the API/ABI too and should be clearly identified.
> >
> > Introduce a __rte_experimental_var tag and mark existing exported
> > variables.
> >
> > Fixes: a4bcd61de82d ("buildtools: add script to check experimental API exports")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: David Marchand <david.marchand@redhat.com>
> > ---
> > +     elif grep -qe "\(\.data\|\*COM\*\).*[[:space:]]$SYM$" $DUMPFILE &&
> > +             ! grep -q "\.data\.experimental.*[[:space:]]$SYM$" $DUMPFILE
>
> I like such regex ;)

Err.. thanks?


> I don't know COM section but I am not an ELF expert.

I am no ELF expert either.

IIUC, this section is a special one used when generating object files
for common symbols but the compiler is not sure where the actual
symbol should go.
It is then resolved as .data or .bss when linking.


> Maybe you can just add a comment in the commit log about searching
> the symbol in .data and COM sections, even if we don't know exactly why.

Actually, this is a good thing you asked about it.
I did a new check before/after the series.

Example for rte_net_ice_dynflag_proto_xtr_vlan_mask.

Before:
/home/dmarchan/builds/build-gcc-shared/drivers/a715181@@tmp_rte_pmd_ice@sta/net_ice_ice_rxtx.c.o
0000000000000008       O *COM*    0000000000000008
rte_net_ice_dynflag_proto_xtr_vlan_mask
/home/dmarchan/builds/build-gcc-shared/drivers/a715181@@tmp_rte_pmd_ice@sta/net_ice_ice_ethdev.c.o
0000000000000000         *UND*    0000000000000000
rte_net_ice_dynflag_proto_xtr_vlan_mask
/home/dmarchan/builds/build-gcc-shared/drivers/libtmp_rte_pmd_ice.a
0000000000000000         *UND*    0000000000000000
rte_net_ice_dynflag_proto_xtr_vlan_mask
0000000000000008       O *COM*    0000000000000008
rte_net_ice_dynflag_proto_xtr_vlan_mask
/home/dmarchan/builds/build-gcc-shared/drivers/librte_pmd_ice.a
0000000000000000         *UND*    0000000000000000
rte_net_ice_dynflag_proto_xtr_vlan_mask
0000000000000008       O *COM*    0000000000000008
rte_net_ice_dynflag_proto_xtr_vlan_mask
/home/dmarchan/builds/build-gcc-shared/drivers/librte_pmd_ice.so.20.0.1
0000000000063890 g     O .bss    0000000000000008
rte_net_ice_dynflag_proto_xtr_vlan_mask

After:
/home/dmarchan/builds/build-gcc-shared/drivers/a715181@@tmp_rte_pmd_ice@sta/net_ice_ice_rxtx.c.o
0000000000000020 g     O .data.experimental    0000000000000008
rte_net_ice_dynflag_proto_xtr_vlan_mask
/home/dmarchan/builds/build-gcc-shared/drivers/a715181@@tmp_rte_pmd_ice@sta/net_ice_ice_ethdev.c.o
0000000000000000         *UND*    0000000000000000
rte_net_ice_dynflag_proto_xtr_vlan_mask
/home/dmarchan/builds/build-gcc-shared/drivers/libtmp_rte_pmd_ice.a
0000000000000000         *UND*    0000000000000000
rte_net_ice_dynflag_proto_xtr_vlan_mask
0000000000000020 g     O .data.experimental    0000000000000008
rte_net_ice_dynflag_proto_xtr_vlan_mask
/home/dmarchan/builds/build-gcc-shared/drivers/librte_pmd_ice.a
0000000000000000         *UND*    0000000000000000
rte_net_ice_dynflag_proto_xtr_vlan_mask
0000000000000020 g     O .data.experimental    0000000000000008
rte_net_ice_dynflag_proto_xtr_vlan_mask
/home/dmarchan/builds/build-gcc-shared/drivers/librte_pmd_ice.so.20.0.1
00000000000604f0 g     O .data    0000000000000008
rte_net_ice_dynflag_proto_xtr_vlan_mask

The thing that scares me is that the final symbol gets moved from .bss
to .data in the .so.


Neil?


--
David Marchand


^ permalink raw reply	[relevance 0%]

* [dpdk-dev] DPDK Release Status Meeting 09/01/2020
@ 2020-01-10 12:15  4% Ferruh Yigit
  0 siblings, 0 replies; 200+ results
From: Ferruh Yigit @ 2020-01-10 12:15 UTC (permalink / raw)
  To: dpdk-dev; +Cc: Thomas Monjalon

Minutes 9 January 2020
----------------------

Agenda:
* Release Dates
* Subtrees
* OvS

Participants:
* Debian/Microsoft
* Intel
* Marvell
* Mellanox
* NXP
* Red Hat


Release Dates
-------------

* v20.02 dates:
  * Integration deadline:	Wednesday 15 January 2020
    * RC1 is expected before the weekend, possibly on Friday 17 January
  * Release:			Friday 14 February 2020

* v20.05 proposal:
  * Proposal/V1:		Friday 6 March 2020
  * Integration/Merge/RC1:	Friday 10 April 2020
  * Release:			Friday 1 May || Wed 13 May
    * 1-5 May holiday on PRC, we need to do the release before or after that
      Please comment on between 1 May or 13 May.


Subtrees
--------

* main
  * Should be fine for rc1
  * Reviewing ring rework and vdpa
  * Working on ABI tooling

* next-net
  * Merging going on, trying to close ethdev patches for rc1

* next-net-crypto
  * Will do reviews/merges next week

* next-net-eventdev
  * Will merge next week

* next-net-virtio
  * Reviews are going on

* next-net-intel
  * Merges going on, some base code updates merged more to go

* LTS

  * 18.11.6-rc1 is ready for testing


OvS
---

* Soft freeze was on 1 January for 2.13
  * Feature freeze 17 January
  * Release is expected on mid February
* There were two issues related to DPDK
  * i40e TSO, can be put as known issue and not block the TSO feature, can
    use dpdk19.11.1 for the fix
  * A required API is experimental in DPDK, can workaround this in OvS by adding
    additional compiler flag to let experimental APIs but need to remove the
    experimental flag from DPDK for long term solution.
    * DPDK need to clarify if backporting the removing experimental flags to the
      LTS will be safe from ABI point of view. It may be required to make ABI
      versioning because of the symbol change, will discuss offline.



DPDK Release Status Meetings
============================

The DPDK Release Status Meeting is intended for DPDK Committers to discuss
the status of the master tree and sub-trees, and for project managers to
track progress or milestone dates.

The meeting occurs on Thursdays at 8:30 UTC. If you wish to attend just
send an email to "John McNamara <john.mcnamara@intel.com>" for the invite.

^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] [PATCH 1/4] mbuf: detach mbuf with pinned external buffer
  @ 2020-01-10 18:23  3%     ` Stephen Hemminger
  2020-01-13 17:07  0%       ` Slava Ovsiienko
  0 siblings, 1 reply; 200+ results
From: Stephen Hemminger @ 2020-01-10 18:23 UTC (permalink / raw)
  To: Viacheslav Ovsiienko; +Cc: dev, matan, rasland, orika, Shahaf Shuler

On Fri, 10 Jan 2020 17:56:59 +0000
Viacheslav Ovsiienko <viacheslavo@mellanox.com> wrote:

> +
> +static inline uint64_t
> +rte_mbuf_has_pinned_extbuf(const struct rte_mbuf *m)
> +{
> +	if (RTE_MBUF_HAS_EXTBUF(m)) {
> +		/*
> +		 * The mbuf has the external attached buffer,
> +		 * we should check the type of the memory pool where
> +		 * the mbuf was allocated from.
> +		 */
> +		struct rte_pktmbuf_pool_private *priv =
> +			(struct rte_pktmbuf_pool_private *)
> +				rte_mempool_get_priv(m->pool);
> +
> +		return priv->flags & RTE_PKTMBUF_POOL_F_PINNED_EXT_BUF;
> +	}
> +	return 0;
> +}

New functions need to be marked experimental.

The return value should be boolean not uint64_t

Why does this need to be inlined (and thereby create new ABI burden)?
Also having it inline makes making pktmbuf_pool_private really private in future.

^ permalink raw reply	[relevance 3%]

* [dpdk-dev] [PATCH v4 5/6] doc/guides: rebuild with meson whenever a file changes
  @ 2020-01-10 21:52  4%   ` Bruce Richardson
  0 siblings, 0 replies; 200+ results
From: Bruce Richardson @ 2020-01-10 21:52 UTC (permalink / raw)
  To: david.marchand, john.mcnamara, bluca
  Cc: dev, aconole, thomas, Bruce Richardson

Add proper support for calling sphinx whenever a file in the doc
directory changes. This is accomplished by using a wrapper script
for sphinx, which runs sphinx but also emits a gcc-format dependency
file listing all the doc files. This is used by ninja so that any
change to the doc files triggers a rebuild of the docs.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Aaron Conole <aconole@redhat.com>
Acked-by: Luca Boccassi <bluca@debian.org>
---
 MAINTAINERS                     |  1 +
 buildtools/call-sphinx-build.py | 31 +++++++++++++++++++++++++++++++
 buildtools/meson.build          |  6 ++++--
 doc/guides/meson.build          | 22 ++++++++--------------
 4 files changed, 44 insertions(+), 16 deletions(-)
 create mode 100755 buildtools/call-sphinx-build.py

diff --git a/MAINTAINERS b/MAINTAINERS
index 4395d8df1..aa32bfc59 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -128,6 +128,7 @@ F: meson.build
 F: lib/librte_eal/freebsd/BSDmakefile.meson
 F: meson_options.txt
 F: config/rte_config.h
+F: buildtools/call-sphinx-build.py
 F: buildtools/gen-pmdinfo-cfile.sh
 F: buildtools/map_to_def.py
 F: buildtools/symlink-drivers-solibs.sh
diff --git a/buildtools/call-sphinx-build.py b/buildtools/call-sphinx-build.py
new file mode 100755
index 000000000..b9a3994e1
--- /dev/null
+++ b/buildtools/call-sphinx-build.py
@@ -0,0 +1,31 @@
+#! /usr/bin/env python3
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2019 Intel Corporation
+#
+
+import sys
+import os
+from os.path import join
+from subprocess import run, PIPE
+from distutils.version import StrictVersion
+
+(sphinx, src, dst) = sys.argv[1:]  # assign parameters to variables
+
+# for sphinx version >= 1.7 add parallelism using "-j auto"
+ver = run([sphinx, '--version'], stdout=PIPE).stdout.decode().split()[-1]
+sphinx_cmd = [sphinx]
+if StrictVersion(ver) >= StrictVersion('1.7'):
+    sphinx_cmd += ['-j', 'auto']
+
+# find all the files sphinx will process so we can write them as dependencies
+srcfiles = []
+for root, dirs, files in os.walk(src):
+    srcfiles.extend([join(root, f) for f in files])
+
+# run sphinx, putting the html output in a "html" directory
+process = run(sphinx_cmd + ['-b', 'html', src, join(dst, 'html')], check=True)
+print(str(process.args) + ' Done OK')
+
+# create a gcc format .d file giving all the dependencies of this doc build
+with open(join(dst, '.html.d'), 'w') as d:
+    d.write('html: ' + ' '.join(srcfiles) + '\n')
diff --git a/buildtools/meson.build b/buildtools/meson.build
index 6ef2c5721..cd1d05403 100644
--- a/buildtools/meson.build
+++ b/buildtools/meson.build
@@ -10,10 +10,12 @@ check_experimental_syms = find_program('check-experimental-syms.sh')
 # set up map-to-def script using python, either built-in or external
 python3 = import('python').find_installation(required: false)
 if python3.found()
-	map_to_def_cmd = [python3, files('map_to_def.py')]
+	py3 = [python3]
 else
-	map_to_def_cmd = ['meson', 'runpython', files('map_to_def.py')]
+	py3 = ['meson', 'runpython']
 endif
+map_to_def_cmd = py3 + files('map_to_def.py')
+sphinx_wrapper = py3 + files('call-sphinx-build.py')
 
 # stable ABI always starts with "DPDK_"
 is_experimental_cmd = [find_program('grep', 'findstr'), '^DPDK_']
diff --git a/doc/guides/meson.build b/doc/guides/meson.build
index 80c21d168..732e7ad3a 100644
--- a/doc/guides/meson.build
+++ b/doc/guides/meson.build
@@ -7,24 +7,18 @@ if not sphinx.found()
 	subdir_done()
 endif
 
-htmldir = join_paths('share', 'doc', 'dpdk')
+htmldir = join_paths(get_option('datadir'), 'doc', 'dpdk')
 html_guides = custom_target('html_guides',
-	input: meson.current_source_dir(),
-	output: 'guides',
-	command: [sphinx, '-b', 'html',
-		'-d', meson.current_build_dir() + '/.doctrees',
-		'@INPUT@', meson.current_build_dir() + '/guides'],
+	input: files('index.rst'),
+	output: 'html',
+	command: [sphinx_wrapper, sphinx, meson.current_source_dir(), meson.current_build_dir()],
+	depfile: '.html.d',
 	build_by_default: get_option('enable_docs'),
 	install: get_option('enable_docs'),
 	install_dir: htmldir)
 
+install_data(files('custom.css'),
+			install_dir: join_paths(htmldir,'_static', 'css'))
+
 doc_targets += html_guides
 doc_target_names += 'HTML_Guides'
-
-# sphinx leaves a .buildinfo in the target directory, which we don't
-# want to install. Note that sh -c has to be used, otherwise the
-# env var does not get expanded if calling rm/install directly.
-meson.add_install_script('sh', '-c',
-	'rm -f $MESON_INSTALL_DESTDIR_PREFIX/share/doc/dpdk/guides/.buildinfo')
-meson.add_install_script('sh', '-c',
-	'install -D -m0644 $MESON_SOURCE_ROOT/doc/guides/custom.css $MESON_INSTALL_DESTDIR_PREFIX/share/doc/dpdk/guides/_static/css/custom.css')
-- 
2.24.1


^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] [PATCH] lmp: add lookup x4 with x4 default values
  @ 2020-01-13 12:34  3%   ` Pavan Nikhilesh Bhagavatula
  2020-01-13 17:48  0%     ` Medvedkin, Vladimir
  0 siblings, 1 reply; 200+ results
From: Pavan Nikhilesh Bhagavatula @ 2020-01-13 12:34 UTC (permalink / raw)
  To: Medvedkin, Vladimir, Jerin Jacob Kollanukkaran, Bruce Richardson,
	Gavin Hu
  Cc: dev

>-----Original Message-----
>From: dev <dev-bounces@dpdk.org> On Behalf Of Medvedkin,
>Vladimir
>Sent: Monday, January 13, 2020 4:37 PM
>To: Pavan Nikhilesh Bhagavatula <pbhagavatula@marvell.com>; Jerin
>Jacob Kollanukkaran <jerinj@marvell.com>; Bruce Richardson
><bruce.richardson@intel.com>; Gavin Hu <gavin.hu@arm.com>
>Cc: dev@dpdk.org
>Subject: Re: [dpdk-dev] [PATCH] lmp: add lookup x4 with x4 default
>values
>
>Hi Pavan,
>

Hi Medvedkin,

>I don't think it is a good idea to add extra function because:
>
>1) it is just a copy of an existing rte_lpm_lookupx4() except the last 4
>ternary ops

Yes, but I had no other option as modifying the current function will break ABI ☹.

>
>2) What is a real world use case for that? Usually returned value is
>used as an index in an array of next_hop structs.

If we take l3fwd as an example the next hop holds fwd port_id whereas the default value 
Passed holds mbuf->port. This allows Tx without having a branch. 

Event devices can aggregate packets from multiple ethernet ports and schedule them on 
a core. The current API requires us to pass a BAD_PORT and compare the result for every 
packet but if we are allowed to pass 4 different default values we could seamlessly send 
them for Tx.

>
>3) You can have the same result by using special unused defv and
>pcmpeqd/vpblendd on a hop[4] after lookup

Yes, but sadly that would be architecture depended.

>
>On 11/01/2020 16:08, pbhagavatula@marvell.com wrote:
>> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
>>
>> Add lookup x4 with x4 default values.
>> This can be used in usecases where we have to process  burst of
>packets
>> from different ports.
>>
>> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
>> ---
>>   app/test/test_lpm_perf.c         |  31 +++++++++
>>   lib/librte_lpm/rte_lpm.h         |  23 +++++++
>>   lib/librte_lpm/rte_lpm_altivec.h | 109
>+++++++++++++++++++++++++++++++
>>   lib/librte_lpm/rte_lpm_neon.h    | 102
>+++++++++++++++++++++++++++++
>>   lib/librte_lpm/rte_lpm_sse.h     | 104
>+++++++++++++++++++++++++++++
>>   5 files changed, 369 insertions(+)
>>
>> diff --git a/app/test/test_lpm_perf.c b/app/test/test_lpm_perf.c
>> index a2578fe90..8e9d4c7eb 100644
>> --- a/app/test/test_lpm_perf.c
>> +++ b/app/test/test_lpm_perf.c
>> @@ -460,6 +460,37 @@ test_lpm_perf(void)
>>   			(double)total_time / ((double)ITERATIONS *
>BATCH_SIZE),
>>   			(count * 100.0) / (double)(ITERATIONS *
>BATCH_SIZE));
>>
>> +	/* Measure LookupX4 DefaultX4 */
>> +	total_time = 0;
>> +	count = 0;
>> +	uint32_t def[4] = {UINT32_MAX, UINT32_MAX, UINT32_MAX,
>UINT32_MAX};
>> +	for (i = 0; i < ITERATIONS; i++) {
>> +		static uint32_t ip_batch[BATCH_SIZE];
>> +		uint32_t next_hops[4];
>> +
>> +		/* Create array of random IP addresses */
>> +		for (j = 0; j < BATCH_SIZE; j++)
>> +			ip_batch[j] = rte_rand();
>> +
>> +		/* Lookup per batch */
>> +		begin = rte_rdtsc();
>> +		for (j = 0; j < BATCH_SIZE; j += RTE_DIM(next_hops)) {
>> +			unsigned int k;
>> +			xmm_t ipx4;
>> +
>> +			ipx4 = vect_loadu_sil128((xmm_t *)(ip_batch +
>j));
>> +			ipx4 = *(xmm_t *)(ip_batch + j);
>> +			rte_lpm_lookupx4_defx4(lpm, ipx4, next_hops,
>def);
>> +			for (k = 0; k < RTE_DIM(next_hops); k++)
>> +				if (unlikely(next_hops[k] ==
>UINT32_MAX))
>> +					count++;
>> +		}
>> +
>> +		total_time += rte_rdtsc() - begin;
>> +	}
>> +	printf("LPM LookupX4 Defx4: %.1f cycles (fails = %.1f%%)\n",
>> +			(double)total_time / ((double)ITERATIONS *
>BATCH_SIZE),
>> +			(count * 100.0) / (double)(ITERATIONS *
>BATCH_SIZE));
>>   	/* Measure Delete */
>>   	status = 0;
>>   	begin = rte_rdtsc();
>> diff --git a/lib/librte_lpm/rte_lpm.h b/lib/librte_lpm/rte_lpm.h
>> index b9d49ac87..e66b43e06 100644
>> --- a/lib/librte_lpm/rte_lpm.h
>> +++ b/lib/librte_lpm/rte_lpm.h
>> @@ -370,6 +370,29 @@ static inline void
>>   rte_lpm_lookupx4(const struct rte_lpm *lpm, xmm_t ip, uint32_t
>hop[4],
>>   	uint32_t defv);
>>
>> +/**
>> + * Lookup four IP addresses in an LPM table.
>> + *
>> + * @param lpm
>> + *   LPM object handle
>> + * @param ip
>> + *   Four IPs to be looked up in the LPM table
>> + * @param hop
>> + *   Next hop of the most specific rule found for IP (valid on lookup
>hit only).
>> + *   This is an 4 elements array of two byte values.
>> + *   If the lookup was successful for the given IP, then least significant
>byte
>> + *   of the corresponding element is the  actual next hop and the
>most
>> + *   significant byte is zero.
>> + *   If the lookup for the given IP failed, then corresponding element
>would
>> + *   contain default value, see description of then next parameter.
>> + * @param defv
>> + *   Default value[] to populate into corresponding element of hop[]
>array,
>> + *   if lookup would fail.
>> + */
>> +static inline void
>> +rte_lpm_lookupx4_defx4(const struct rte_lpm *lpm, xmm_t ip,
>uint32_t hop[4],
>> +	uint32_t defv[4]);
>> +
>>   #if defined(RTE_ARCH_ARM) || defined(RTE_ARCH_ARM64)
>>   #include "rte_lpm_neon.h"
>>   #elif defined(RTE_ARCH_PPC_64)
>> diff --git a/lib/librte_lpm/rte_lpm_altivec.h
>b/lib/librte_lpm/rte_lpm_altivec.h
>> index 228c41b38..1afc7bd74 100644
>> --- a/lib/librte_lpm/rte_lpm_altivec.h
>> +++ b/lib/librte_lpm/rte_lpm_altivec.h
>> @@ -120,6 +120,115 @@ rte_lpm_lookupx4(const struct rte_lpm
>*lpm, xmm_t ip, uint32_t hop[4],
>>   	hop[3] = (tbl[3] & RTE_LPM_LOOKUP_SUCCESS) ? tbl[3] &
>0x00FFFFFF : defv;
>>   }
>>
>> +static inline void
>> +rte_lpm_lookupx4_defx4(const struct rte_lpm *lpm, xmm_t ip,
>uint32_t hop[4],
>> +	uint32_t defv[4])
>> +{
>> +	vector signed int i24;
>> +	rte_xmm_t i8;
>> +	uint32_t tbl[4];
>> +	uint64_t idx, pt, pt2;
>> +	const uint32_t *ptbl;
>> +
>> +	const uint32_t mask = UINT8_MAX;
>> +	const vector signed int mask8 = (xmm_t){mask, mask, mask,
>mask};
>> +
>> +	/*
>> +	 * RTE_LPM_VALID_EXT_ENTRY_BITMASK for 2 LPM entries
>> +	 * as one 64-bit value (0x0300000003000000).
>> +	 */
>> +	const uint64_t mask_xv =
>> +		((uint64_t)RTE_LPM_VALID_EXT_ENTRY_BITMASK |
>> +		(uint64_t)RTE_LPM_VALID_EXT_ENTRY_BITMASK <<
>32);
>> +
>> +	/*
>> +	 * RTE_LPM_LOOKUP_SUCCESS for 2 LPM entries
>> +	 * as one 64-bit value (0x0100000001000000).
>> +	 */
>> +	const uint64_t mask_v =
>> +		((uint64_t)RTE_LPM_LOOKUP_SUCCESS |
>> +		(uint64_t)RTE_LPM_LOOKUP_SUCCESS << 32);
>> +
>> +	/* get 4 indexes for tbl24[]. */
>> +	i24 = vec_sr((xmm_t) ip,
>> +		(vector unsigned int){CHAR_BIT, CHAR_BIT, CHAR_BIT,
>CHAR_BIT});
>> +
>> +	/* extract values from tbl24[] */
>> +	idx = (uint32_t)i24[0];
>> +	idx = idx < (1<<24) ? idx : (1<<24)-1;
>> +	ptbl = (const uint32_t *)&lpm->tbl24[idx];
>> +	tbl[0] = *ptbl;
>> +
>> +	idx = (uint32_t) i24[1];
>> +	idx = idx < (1<<24) ? idx : (1<<24)-1;
>> +	ptbl = (const uint32_t *)&lpm->tbl24[idx];
>> +	tbl[1] = *ptbl;
>> +
>> +	idx = (uint32_t) i24[2];
>> +	idx = idx < (1<<24) ? idx : (1<<24)-1;
>> +	ptbl = (const uint32_t *)&lpm->tbl24[idx];
>> +	tbl[2] = *ptbl;
>> +
>> +	idx = (uint32_t) i24[3];
>> +	idx = idx < (1<<24) ? idx : (1<<24)-1;
>> +	ptbl = (const uint32_t *)&lpm->tbl24[idx];
>> +	tbl[3] = *ptbl;
>> +
>> +	/* get 4 indexes for tbl8[]. */
>> +	i8.x = vec_and(ip, mask8);
>> +
>> +	pt = (uint64_t)tbl[0] |
>> +		(uint64_t)tbl[1] << 32;
>> +	pt2 = (uint64_t)tbl[2] |
>> +		(uint64_t)tbl[3] << 32;
>> +
>> +	/* search successfully finished for all 4 IP addresses. */
>> +	if (likely((pt & mask_xv) == mask_v) &&
>> +			likely((pt2 & mask_xv) == mask_v)) {
>> +		*(uint64_t *)hop = pt & RTE_LPM_MASKX4_RES;
>> +		*(uint64_t *)(hop + 2) = pt2 & RTE_LPM_MASKX4_RES;
>> +		return;
>> +	}
>> +
>> +	if (unlikely((pt & RTE_LPM_VALID_EXT_ENTRY_BITMASK) ==
>> +			RTE_LPM_VALID_EXT_ENTRY_BITMASK)) {
>> +		i8.u32[0] = i8.u32[0] +
>> +			(uint8_t)tbl[0] *
>RTE_LPM_TBL8_GROUP_NUM_ENTRIES;
>> +		ptbl = (const uint32_t *)&lpm->tbl8[i8.u32[0]];
>> +		tbl[0] = *ptbl;
>> +	}
>> +	if (unlikely((pt >> 32 & RTE_LPM_VALID_EXT_ENTRY_BITMASK)
>==
>> +			RTE_LPM_VALID_EXT_ENTRY_BITMASK)) {
>> +		i8.u32[1] = i8.u32[1] +
>> +			(uint8_t)tbl[1] *
>RTE_LPM_TBL8_GROUP_NUM_ENTRIES;
>> +		ptbl = (const uint32_t *)&lpm->tbl8[i8.u32[1]];
>> +		tbl[1] = *ptbl;
>> +	}
>> +	if (unlikely((pt2 & RTE_LPM_VALID_EXT_ENTRY_BITMASK) ==
>> +			RTE_LPM_VALID_EXT_ENTRY_BITMASK)) {
>> +		i8.u32[2] = i8.u32[2] +
>> +			(uint8_t)tbl[2] *
>RTE_LPM_TBL8_GROUP_NUM_ENTRIES;
>> +		ptbl = (const uint32_t *)&lpm->tbl8[i8.u32[2]];
>> +		tbl[2] = *ptbl;
>> +	}
>> +	if (unlikely((pt2 >> 32 &
>RTE_LPM_VALID_EXT_ENTRY_BITMASK) ==
>> +			RTE_LPM_VALID_EXT_ENTRY_BITMASK)) {
>> +		i8.u32[3] = i8.u32[3] +
>> +			(uint8_t)tbl[3] *
>RTE_LPM_TBL8_GROUP_NUM_ENTRIES;
>> +		ptbl = (const uint32_t *)&lpm->tbl8[i8.u32[3]];
>> +		tbl[3] = *ptbl;
>> +	}
>> +
>> +	hop[0] = (tbl[0] & RTE_LPM_LOOKUP_SUCCESS) ? tbl[0] &
>0x00FFFFFF :
>> +
>	defv[0];
>> +	hop[1] = (tbl[1] & RTE_LPM_LOOKUP_SUCCESS) ? tbl[1] &
>0x00FFFFFF :
>> +
>	defv[1];
>> +	hop[2] = (tbl[2] & RTE_LPM_LOOKUP_SUCCESS) ? tbl[2] &
>0x00FFFFFF :
>> +
>	defv[2];
>> +	hop[3] = (tbl[3] & RTE_LPM_LOOKUP_SUCCESS) ? tbl[3] &
>0x00FFFFFF :
>> +
>	defv[3];
>> +}
>> +
>>   #ifdef __cplusplus
>>   }
>>   #endif
>> diff --git a/lib/librte_lpm/rte_lpm_neon.h
>b/lib/librte_lpm/rte_lpm_neon.h
>> index 6c131d312..6ef635b18 100644
>> --- a/lib/librte_lpm/rte_lpm_neon.h
>> +++ b/lib/librte_lpm/rte_lpm_neon.h
>> @@ -113,6 +113,108 @@ rte_lpm_lookupx4(const struct rte_lpm
>*lpm, xmm_t ip, uint32_t hop[4],
>>   	hop[3] = (tbl[3] & RTE_LPM_LOOKUP_SUCCESS) ? tbl[3] &
>0x00FFFFFF : defv;
>>   }
>>
>> +static inline void
>> +rte_lpm_lookupx4_defx4(const struct rte_lpm *lpm, xmm_t ip,
>uint32_t hop[4],
>> +	uint32_t defv[4])
>> +{
>> +	uint32x4_t i24;
>> +	rte_xmm_t i8;
>> +	uint32_t tbl[4];
>> +	uint64_t idx, pt, pt2;
>> +	const uint32_t *ptbl;
>> +
>> +	const uint32_t mask = UINT8_MAX;
>> +	const int32x4_t mask8 = vdupq_n_s32(mask);
>> +
>> +	/*
>> +	 * RTE_LPM_VALID_EXT_ENTRY_BITMASK for 2 LPM entries
>> +	 * as one 64-bit value (0x0300000003000000).
>> +	 */
>> +	const uint64_t mask_xv =
>> +		((uint64_t)RTE_LPM_VALID_EXT_ENTRY_BITMASK |
>> +		(uint64_t)RTE_LPM_VALID_EXT_ENTRY_BITMASK <<
>32);
>> +
>> +	/*
>> +	 * RTE_LPM_LOOKUP_SUCCESS for 2 LPM entries
>> +	 * as one 64-bit value (0x0100000001000000).
>> +	 */
>> +	const uint64_t mask_v =
>> +		((uint64_t)RTE_LPM_LOOKUP_SUCCESS |
>> +		(uint64_t)RTE_LPM_LOOKUP_SUCCESS << 32);
>> +
>> +	/* get 4 indexes for tbl24[]. */
>> +	i24 = vshrq_n_u32((uint32x4_t)ip, CHAR_BIT);
>> +
>> +	/* extract values from tbl24[] */
>> +	idx = vgetq_lane_u64((uint64x2_t)i24, 0);
>> +
>> +	ptbl = (const uint32_t *)&lpm->tbl24[(uint32_t)idx];
>> +	tbl[0] = *ptbl;
>> +	ptbl = (const uint32_t *)&lpm->tbl24[idx >> 32];
>> +	tbl[1] = *ptbl;
>> +
>> +	idx = vgetq_lane_u64((uint64x2_t)i24, 1);
>> +
>> +	ptbl = (const uint32_t *)&lpm->tbl24[(uint32_t)idx];
>> +	tbl[2] = *ptbl;
>> +	ptbl = (const uint32_t *)&lpm->tbl24[idx >> 32];
>> +	tbl[3] = *ptbl;
>> +
>> +	/* get 4 indexes for tbl8[]. */
>> +	i8.x = vandq_s32(ip, mask8);
>> +
>> +	pt = (uint64_t)tbl[0] |
>> +		(uint64_t)tbl[1] << 32;
>> +	pt2 = (uint64_t)tbl[2] |
>> +		(uint64_t)tbl[3] << 32;
>> +
>> +	/* search successfully finished for all 4 IP addresses. */
>> +	if (likely((pt & mask_xv) == mask_v) &&
>> +			likely((pt2 & mask_xv) == mask_v)) {
>> +		*(uint64_t *)hop = pt & RTE_LPM_MASKX4_RES;
>> +		*(uint64_t *)(hop + 2) = pt2 & RTE_LPM_MASKX4_RES;
>> +		return;
>> +	}
>> +
>> +	if (unlikely((pt & RTE_LPM_VALID_EXT_ENTRY_BITMASK) ==
>> +			RTE_LPM_VALID_EXT_ENTRY_BITMASK)) {
>> +		i8.u32[0] = i8.u32[0] +
>> +			(uint8_t)tbl[0] *
>RTE_LPM_TBL8_GROUP_NUM_ENTRIES;
>> +		ptbl = (const uint32_t *)&lpm->tbl8[i8.u32[0]];
>> +		tbl[0] = *ptbl;
>> +	}
>> +	if (unlikely((pt >> 32 & RTE_LPM_VALID_EXT_ENTRY_BITMASK)
>==
>> +			RTE_LPM_VALID_EXT_ENTRY_BITMASK)) {
>> +		i8.u32[1] = i8.u32[1] +
>> +			(uint8_t)tbl[1] *
>RTE_LPM_TBL8_GROUP_NUM_ENTRIES;
>> +		ptbl = (const uint32_t *)&lpm->tbl8[i8.u32[1]];
>> +		tbl[1] = *ptbl;
>> +	}
>> +	if (unlikely((pt2 & RTE_LPM_VALID_EXT_ENTRY_BITMASK) ==
>> +			RTE_LPM_VALID_EXT_ENTRY_BITMASK)) {
>> +		i8.u32[2] = i8.u32[2] +
>> +			(uint8_t)tbl[2] *
>RTE_LPM_TBL8_GROUP_NUM_ENTRIES;
>> +		ptbl = (const uint32_t *)&lpm->tbl8[i8.u32[2]];
>> +		tbl[2] = *ptbl;
>> +	}
>> +	if (unlikely((pt2 >> 32 &
>RTE_LPM_VALID_EXT_ENTRY_BITMASK) ==
>> +			RTE_LPM_VALID_EXT_ENTRY_BITMASK)) {
>> +		i8.u32[3] = i8.u32[3] +
>> +			(uint8_t)tbl[3] *
>RTE_LPM_TBL8_GROUP_NUM_ENTRIES;
>> +		ptbl = (const uint32_t *)&lpm->tbl8[i8.u32[3]];
>> +		tbl[3] = *ptbl;
>> +	}
>> +
>> +	hop[0] = (tbl[0] & RTE_LPM_LOOKUP_SUCCESS) ? tbl[0] &
>0x00FFFFFF :
>> +
>	defv[0];
>> +	hop[1] = (tbl[1] & RTE_LPM_LOOKUP_SUCCESS) ? tbl[1] &
>0x00FFFFFF :
>> +
>	defv[1];
>> +	hop[2] = (tbl[2] & RTE_LPM_LOOKUP_SUCCESS) ? tbl[2] &
>0x00FFFFFF :
>> +
>	defv[2];
>> +	hop[3] = (tbl[3] & RTE_LPM_LOOKUP_SUCCESS) ? tbl[3] &
>0x00FFFFFF :
>> +
>	defv[3];
>> +}
>> +
>>   #ifdef __cplusplus
>>   }
>>   #endif
>> diff --git a/lib/librte_lpm/rte_lpm_sse.h
>b/lib/librte_lpm/rte_lpm_sse.h
>> index 44770b6ff..6ef15816c 100644
>> --- a/lib/librte_lpm/rte_lpm_sse.h
>> +++ b/lib/librte_lpm/rte_lpm_sse.h
>> @@ -114,6 +114,110 @@ rte_lpm_lookupx4(const struct rte_lpm
>*lpm, xmm_t ip, uint32_t hop[4],
>>   	hop[3] = (tbl[3] & RTE_LPM_LOOKUP_SUCCESS) ? tbl[3] &
>0x00FFFFFF : defv;
>>   }
>>
>> +static inline void
>> +rte_lpm_lookupx4_defx4(const struct rte_lpm *lpm, xmm_t ip,
>uint32_t hop[4],
>> +	uint32_t defv[4])
>> +{
>> +	__m128i i24;
>> +	rte_xmm_t i8;
>> +	uint32_t tbl[4];
>> +	uint64_t idx, pt, pt2;
>> +	const uint32_t *ptbl;
>> +
>> +	const __m128i mask8 =
>> +		_mm_set_epi32(UINT8_MAX, UINT8_MAX,
>UINT8_MAX, UINT8_MAX);
>> +
>> +	/*
>> +	 * RTE_LPM_VALID_EXT_ENTRY_BITMASK for 2 LPM entries
>> +	 * as one 64-bit value (0x0300000003000000).
>> +	 */
>> +	const uint64_t mask_xv =
>> +		((uint64_t)RTE_LPM_VALID_EXT_ENTRY_BITMASK |
>> +		(uint64_t)RTE_LPM_VALID_EXT_ENTRY_BITMASK <<
>32);
>> +
>> +	/*
>> +	 * RTE_LPM_LOOKUP_SUCCESS for 2 LPM entries
>> +	 * as one 64-bit value (0x0100000001000000).
>> +	 */
>> +	const uint64_t mask_v =
>> +		((uint64_t)RTE_LPM_LOOKUP_SUCCESS |
>> +		(uint64_t)RTE_LPM_LOOKUP_SUCCESS << 32);
>> +
>> +	/* get 4 indexes for tbl24[]. */
>> +	i24 = _mm_srli_epi32(ip, CHAR_BIT);
>> +
>> +	/* extract values from tbl24[] */
>> +	idx = _mm_cvtsi128_si64(i24);
>> +	/* With -O0 option, gcc 4.8 - 5.4 fails to fold sizeof() into a
>constant */
>> +	i24 = _mm_srli_si128(i24, /* sizeof(uint64_t) */ 8);
>> +
>> +	ptbl = (const uint32_t *)&lpm->tbl24[(uint32_t)idx];
>> +	tbl[0] = *ptbl;
>> +	ptbl = (const uint32_t *)&lpm->tbl24[idx >> 32];
>> +	tbl[1] = *ptbl;
>> +
>> +	idx = _mm_cvtsi128_si64(i24);
>> +
>> +	ptbl = (const uint32_t *)&lpm->tbl24[(uint32_t)idx];
>> +	tbl[2] = *ptbl;
>> +	ptbl = (const uint32_t *)&lpm->tbl24[idx >> 32];
>> +	tbl[3] = *ptbl;
>> +
>> +	/* get 4 indexes for tbl8[]. */
>> +	i8.x = _mm_and_si128(ip, mask8);
>> +
>> +	pt = (uint64_t)tbl[0] |
>> +		(uint64_t)tbl[1] << 32;
>> +	pt2 = (uint64_t)tbl[2] |
>> +		(uint64_t)tbl[3] << 32;
>> +
>> +	/* search successfully finished for all 4 IP addresses. */
>> +	if (likely((pt & mask_xv) == mask_v) &&
>> +			likely((pt2 & mask_xv) == mask_v)) {
>> +		*(uint64_t *)hop = pt & RTE_LPM_MASKX4_RES;
>> +		*(uint64_t *)(hop + 2) = pt2 & RTE_LPM_MASKX4_RES;
>> +		return;
>> +	}
>> +
>> +	if (unlikely((pt & RTE_LPM_VALID_EXT_ENTRY_BITMASK) ==
>> +			RTE_LPM_VALID_EXT_ENTRY_BITMASK)) {
>> +		i8.u32[0] = i8.u32[0] +
>> +			(uint8_t)tbl[0] *
>RTE_LPM_TBL8_GROUP_NUM_ENTRIES;
>> +		ptbl = (const uint32_t *)&lpm->tbl8[i8.u32[0]];
>> +		tbl[0] = *ptbl;
>> +	}
>> +	if (unlikely((pt >> 32 & RTE_LPM_VALID_EXT_ENTRY_BITMASK)
>==
>> +			RTE_LPM_VALID_EXT_ENTRY_BITMASK)) {
>> +		i8.u32[1] = i8.u32[1] +
>> +			(uint8_t)tbl[1] *
>RTE_LPM_TBL8_GROUP_NUM_ENTRIES;
>> +		ptbl = (const uint32_t *)&lpm->tbl8[i8.u32[1]];
>> +		tbl[1] = *ptbl;
>> +	}
>> +	if (unlikely((pt2 & RTE_LPM_VALID_EXT_ENTRY_BITMASK) ==
>> +			RTE_LPM_VALID_EXT_ENTRY_BITMASK)) {
>> +		i8.u32[2] = i8.u32[2] +
>> +			(uint8_t)tbl[2] *
>RTE_LPM_TBL8_GROUP_NUM_ENTRIES;
>> +		ptbl = (const uint32_t *)&lpm->tbl8[i8.u32[2]];
>> +		tbl[2] = *ptbl;
>> +	}
>> +	if (unlikely((pt2 >> 32 &
>RTE_LPM_VALID_EXT_ENTRY_BITMASK) ==
>> +			RTE_LPM_VALID_EXT_ENTRY_BITMASK)) {
>> +		i8.u32[3] = i8.u32[3] +
>> +			(uint8_t)tbl[3] *
>RTE_LPM_TBL8_GROUP_NUM_ENTRIES;
>> +		ptbl = (const uint32_t *)&lpm->tbl8[i8.u32[3]];
>> +		tbl[3] = *ptbl;
>> +	}
>> +
>> +	hop[0] = (tbl[0] & RTE_LPM_LOOKUP_SUCCESS) ? tbl[0] &
>0x00FFFFFF :
>> +
>	defv[0];
>> +	hop[1] = (tbl[1] & RTE_LPM_LOOKUP_SUCCESS) ? tbl[1] &
>0x00FFFFFF :
>> +
>	defv[1];
>> +	hop[2] = (tbl[2] & RTE_LPM_LOOKUP_SUCCESS) ? tbl[2] &
>0x00FFFFFF :
>> +
>	defv[2];
>> +	hop[3] = (tbl[3] & RTE_LPM_LOOKUP_SUCCESS) ? tbl[3] &
>0x00FFFFFF :
>> +
>	defv[3];
>> +}
>> +
>>   #ifdef __cplusplus
>>   }
>>   #endif
>
>--
>Regards,
>Vladimir


^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] [PATCH 1/4] mbuf: detach mbuf with pinned external buffer
  2020-01-10 18:23  3%     ` Stephen Hemminger
@ 2020-01-13 17:07  0%       ` Slava Ovsiienko
  0 siblings, 0 replies; 200+ results
From: Slava Ovsiienko @ 2020-01-13 17:07 UTC (permalink / raw)
  To: Stephen Hemminger
  Cc: dev, Matan Azrad, Raslan Darawsheh, Ori Kam, Shahaf Shuler

Hi, Stephen

Thanks a lot for the comment.

> -----Original Message-----
> From: Stephen Hemminger <stephen@networkplumber.org>
> Sent: Friday, January 10, 2020 20:24
> To: Slava Ovsiienko <viacheslavo@mellanox.com>
> Cc: dev@dpdk.org; Matan Azrad <matan@mellanox.com>; Raslan Darawsheh
> <rasland@mellanox.com>; Ori Kam <orika@mellanox.com>; Shahaf Shuler
> <shahafs@mellanox.com>
> Subject: Re: [dpdk-dev] [PATCH 1/4] mbuf: detach mbuf with pinned external
> buffer
> 
> On Fri, 10 Jan 2020 17:56:59 +0000
> Viacheslav Ovsiienko <viacheslavo@mellanox.com> wrote:
> 
> > +
> > +static inline uint64_t
> > +rte_mbuf_has_pinned_extbuf(const struct rte_mbuf *m) {
> > +	if (RTE_MBUF_HAS_EXTBUF(m)) {
> > +		/*
> > +		 * The mbuf has the external attached buffer,
> > +		 * we should check the type of the memory pool where
> > +		 * the mbuf was allocated from.
> > +		 */
> > +		struct rte_pktmbuf_pool_private *priv =
> > +			(struct rte_pktmbuf_pool_private *)
> > +				rte_mempool_get_priv(m->pool);
> > +
> > +		return priv->flags &
> RTE_PKTMBUF_POOL_F_PINNED_EXT_BUF;
> > +	}
> > +	return 0;
> > +}
> 
> New functions need to be marked experimental.
> The return value should be boolean not uint64_t
Will be fixed in v2.

> 
> Why does this need to be inlined (and thereby create new ABI burden)?
> Also having it inline makes making pktmbuf_pool_private really private in
> future.
Due to performance reasons. This routine potentially might be used in datapath.

With best regards, Slava


^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH] lmp: add lookup x4 with x4 default values
  2020-01-13 12:34  3%   ` Pavan Nikhilesh Bhagavatula
@ 2020-01-13 17:48  0%     ` Medvedkin, Vladimir
  0 siblings, 0 replies; 200+ results
From: Medvedkin, Vladimir @ 2020-01-13 17:48 UTC (permalink / raw)
  To: Pavan Nikhilesh Bhagavatula, Jerin Jacob Kollanukkaran,
	Bruce Richardson, Gavin Hu
  Cc: dev

Hi,

On 13/01/2020 12:34, Pavan Nikhilesh Bhagavatula wrote:
>> -----Original Message-----
>> From: dev <dev-bounces@dpdk.org> On Behalf Of Medvedkin,
>> Vladimir
>> Sent: Monday, January 13, 2020 4:37 PM
>> To: Pavan Nikhilesh Bhagavatula <pbhagavatula@marvell.com>; Jerin
>> Jacob Kollanukkaran <jerinj@marvell.com>; Bruce Richardson
>> <bruce.richardson@intel.com>; Gavin Hu <gavin.hu@arm.com>
>> Cc: dev@dpdk.org
>> Subject: Re: [dpdk-dev] [PATCH] lmp: add lookup x4 with x4 default
>> values
>>
>> Hi Pavan,
>>
> Hi Medvedkin,
>
>> I don't think it is a good idea to add extra function because:
>>
>> 1) it is just a copy of an existing rte_lpm_lookupx4() except the last 4
>> ternary ops
> Yes, but I had no other option as modifying the current function will break ABI ☹.
>
>> 2) What is a real world use case for that? Usually returned value is
>> used as an index in an array of next_hop structs.
> If we take l3fwd as an example the next hop holds fwd port_id whereas the default value
> Passed holds mbuf->port. This allows Tx without having a branch.
>
> Event devices can aggregate packets from multiple ethernet ports and schedule them on
> a core. The current API requires us to pass a BAD_PORT and compare the result for every
> packet but if we are allowed to pass 4 different default values we could seamlessly send
> them for Tx.
>
>> 3) You can have the same result by using special unused defv and
>> pcmpeqd/vpblendd on a hop[4] after lookup
> Yes, but sadly that would be architecture depended.

But rte_lpm_lookupx4() itself is architecture depended. My suggestion 
here would be - implement  rte_lpm_lookupx4_defx4() in arch specific .c 
files as a wraper around rte_lpm_lookupx4() and do pcmpeqd/vpblendd 
stuff after. In this case you won't need to copy all of this implemented 
code.

>
>> On 11/01/2020 16:08, pbhagavatula@marvell.com wrote:
>>> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
>>>
>>> Add lookup x4 with x4 default values.
>>> This can be used in usecases where we have to process  burst of
>> packets
>>> from different ports.
>>>
>>> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
>>> ---
>>>    app/test/test_lpm_perf.c         |  31 +++++++++
>>>    lib/librte_lpm/rte_lpm.h         |  23 +++++++
>>>    lib/librte_lpm/rte_lpm_altivec.h | 109
>> +++++++++++++++++++++++++++++++
>>>    lib/librte_lpm/rte_lpm_neon.h    | 102
>> +++++++++++++++++++++++++++++
>>>    lib/librte_lpm/rte_lpm_sse.h     | 104
>> +++++++++++++++++++++++++++++
>>>    5 files changed, 369 insertions(+)
>>>
>>> diff --git a/app/test/test_lpm_perf.c b/app/test/test_lpm_perf.c
>>> index a2578fe90..8e9d4c7eb 100644
>>> --- a/app/test/test_lpm_perf.c
>>> +++ b/app/test/test_lpm_perf.c
>>> @@ -460,6 +460,37 @@ test_lpm_perf(void)
>>>    			(double)total_time / ((double)ITERATIONS *
>> BATCH_SIZE),
>>>    			(count * 100.0) / (double)(ITERATIONS *
>> BATCH_SIZE));
>>> +	/* Measure LookupX4 DefaultX4 */
>>> +	total_time = 0;
>>> +	count = 0;
>>> +	uint32_t def[4] = {UINT32_MAX, UINT32_MAX, UINT32_MAX,
>> UINT32_MAX};
>>> +	for (i = 0; i < ITERATIONS; i++) {
>>> +		static uint32_t ip_batch[BATCH_SIZE];
>>> +		uint32_t next_hops[4];
>>> +
>>> +		/* Create array of random IP addresses */
>>> +		for (j = 0; j < BATCH_SIZE; j++)
>>> +			ip_batch[j] = rte_rand();
>>> +
>>> +		/* Lookup per batch */
>>> +		begin = rte_rdtsc();
>>> +		for (j = 0; j < BATCH_SIZE; j += RTE_DIM(next_hops)) {
>>> +			unsigned int k;
>>> +			xmm_t ipx4;
>>> +
>>> +			ipx4 = vect_loadu_sil128((xmm_t *)(ip_batch +
>> j));
>>> +			ipx4 = *(xmm_t *)(ip_batch + j);
>>> +			rte_lpm_lookupx4_defx4(lpm, ipx4, next_hops,
>> def);
>>> +			for (k = 0; k < RTE_DIM(next_hops); k++)
>>> +				if (unlikely(next_hops[k] ==
>> UINT32_MAX))
>>> +					count++;
>>> +		}
>>> +
>>> +		total_time += rte_rdtsc() - begin;
>>> +	}
>>> +	printf("LPM LookupX4 Defx4: %.1f cycles (fails = %.1f%%)\n",
>>> +			(double)total_time / ((double)ITERATIONS *
>> BATCH_SIZE),
>>> +			(count * 100.0) / (double)(ITERATIONS *
>> BATCH_SIZE));
>>>    	/* Measure Delete */
>>>    	status = 0;
>>>    	begin = rte_rdtsc();
>>> diff --git a/lib/librte_lpm/rte_lpm.h b/lib/librte_lpm/rte_lpm.h
>>> index b9d49ac87..e66b43e06 100644
>>> --- a/lib/librte_lpm/rte_lpm.h
>>> +++ b/lib/librte_lpm/rte_lpm.h
>>> @@ -370,6 +370,29 @@ static inline void
>>>    rte_lpm_lookupx4(const struct rte_lpm *lpm, xmm_t ip, uint32_t
>> hop[4],
>>>    	uint32_t defv);
>>>
>>> +/**
>>> + * Lookup four IP addresses in an LPM table.
>>> + *
>>> + * @param lpm
>>> + *   LPM object handle
>>> + * @param ip
>>> + *   Four IPs to be looked up in the LPM table
>>> + * @param hop
>>> + *   Next hop of the most specific rule found for IP (valid on lookup
>> hit only).
>>> + *   This is an 4 elements array of two byte values.
>>> + *   If the lookup was successful for the given IP, then least significant
>> byte
>>> + *   of the corresponding element is the  actual next hop and the
>> most
>>> + *   significant byte is zero.
>>> + *   If the lookup for the given IP failed, then corresponding element
>> would
>>> + *   contain default value, see description of then next parameter.
>>> + * @param defv
>>> + *   Default value[] to populate into corresponding element of hop[]
>> array,
>>> + *   if lookup would fail.
>>> + */
>>> +static inline void
>>> +rte_lpm_lookupx4_defx4(const struct rte_lpm *lpm, xmm_t ip,
>> uint32_t hop[4],
>>> +	uint32_t defv[4]);
>>> +
>>>    #if defined(RTE_ARCH_ARM) || defined(RTE_ARCH_ARM64)
>>>    #include "rte_lpm_neon.h"
>>>    #elif defined(RTE_ARCH_PPC_64)
>>> diff --git a/lib/librte_lpm/rte_lpm_altivec.h
>> b/lib/librte_lpm/rte_lpm_altivec.h
>>> index 228c41b38..1afc7bd74 100644
>>> --- a/lib/librte_lpm/rte_lpm_altivec.h
>>> +++ b/lib/librte_lpm/rte_lpm_altivec.h
>>> @@ -120,6 +120,115 @@ rte_lpm_lookupx4(const struct rte_lpm
>> *lpm, xmm_t ip, uint32_t hop[4],
>>>    	hop[3] = (tbl[3] & RTE_LPM_LOOKUP_SUCCESS) ? tbl[3] &
>> 0x00FFFFFF : defv;
>>>    }
>>>
>>> +static inline void
>>> +rte_lpm_lookupx4_defx4(const struct rte_lpm *lpm, xmm_t ip,
>> uint32_t hop[4],
>>> +	uint32_t defv[4])
>>> +{
>>> +	vector signed int i24;
>>> +	rte_xmm_t i8;
>>> +	uint32_t tbl[4];
>>> +	uint64_t idx, pt, pt2;
>>> +	const uint32_t *ptbl;
>>> +
>>> +	const uint32_t mask = UINT8_MAX;
>>> +	const vector signed int mask8 = (xmm_t){mask, mask, mask,
>> mask};
>>> +
>>> +	/*
>>> +	 * RTE_LPM_VALID_EXT_ENTRY_BITMASK for 2 LPM entries
>>> +	 * as one 64-bit value (0x0300000003000000).
>>> +	 */
>>> +	const uint64_t mask_xv =
>>> +		((uint64_t)RTE_LPM_VALID_EXT_ENTRY_BITMASK |
>>> +		(uint64_t)RTE_LPM_VALID_EXT_ENTRY_BITMASK <<
>> 32);
>>> +
>>> +	/*
>>> +	 * RTE_LPM_LOOKUP_SUCCESS for 2 LPM entries
>>> +	 * as one 64-bit value (0x0100000001000000).
>>> +	 */
>>> +	const uint64_t mask_v =
>>> +		((uint64_t)RTE_LPM_LOOKUP_SUCCESS |
>>> +		(uint64_t)RTE_LPM_LOOKUP_SUCCESS << 32);
>>> +
>>> +	/* get 4 indexes for tbl24[]. */
>>> +	i24 = vec_sr((xmm_t) ip,
>>> +		(vector unsigned int){CHAR_BIT, CHAR_BIT, CHAR_BIT,
>> CHAR_BIT});
>>> +
>>> +	/* extract values from tbl24[] */
>>> +	idx = (uint32_t)i24[0];
>>> +	idx = idx < (1<<24) ? idx : (1<<24)-1;
>>> +	ptbl = (const uint32_t *)&lpm->tbl24[idx];
>>> +	tbl[0] = *ptbl;
>>> +
>>> +	idx = (uint32_t) i24[1];
>>> +	idx = idx < (1<<24) ? idx : (1<<24)-1;
>>> +	ptbl = (const uint32_t *)&lpm->tbl24[idx];
>>> +	tbl[1] = *ptbl;
>>> +
>>> +	idx = (uint32_t) i24[2];
>>> +	idx = idx < (1<<24) ? idx : (1<<24)-1;
>>> +	ptbl = (const uint32_t *)&lpm->tbl24[idx];
>>> +	tbl[2] = *ptbl;
>>> +
>>> +	idx = (uint32_t) i24[3];
>>> +	idx = idx < (1<<24) ? idx : (1<<24)-1;
>>> +	ptbl = (const uint32_t *)&lpm->tbl24[idx];
>>> +	tbl[3] = *ptbl;
>>> +
>>> +	/* get 4 indexes for tbl8[]. */
>>> +	i8.x = vec_and(ip, mask8);
>>> +
>>> +	pt = (uint64_t)tbl[0] |
>>> +		(uint64_t)tbl[1] << 32;
>>> +	pt2 = (uint64_t)tbl[2] |
>>> +		(uint64_t)tbl[3] << 32;
>>> +
>>> +	/* search successfully finished for all 4 IP addresses. */
>>> +	if (likely((pt & mask_xv) == mask_v) &&
>>> +			likely((pt2 & mask_xv) == mask_v)) {
>>> +		*(uint64_t *)hop = pt & RTE_LPM_MASKX4_RES;
>>> +		*(uint64_t *)(hop + 2) = pt2 & RTE_LPM_MASKX4_RES;
>>> +		return;
>>> +	}
>>> +
>>> +	if (unlikely((pt & RTE_LPM_VALID_EXT_ENTRY_BITMASK) ==
>>> +			RTE_LPM_VALID_EXT_ENTRY_BITMASK)) {
>>> +		i8.u32[0] = i8.u32[0] +
>>> +			(uint8_t)tbl[0] *
>> RTE_LPM_TBL8_GROUP_NUM_ENTRIES;
>>> +		ptbl = (const uint32_t *)&lpm->tbl8[i8.u32[0]];
>>> +		tbl[0] = *ptbl;
>>> +	}
>>> +	if (unlikely((pt >> 32 & RTE_LPM_VALID_EXT_ENTRY_BITMASK)
>> ==
>>> +			RTE_LPM_VALID_EXT_ENTRY_BITMASK)) {
>>> +		i8.u32[1] = i8.u32[1] +
>>> +			(uint8_t)tbl[1] *
>> RTE_LPM_TBL8_GROUP_NUM_ENTRIES;
>>> +		ptbl = (const uint32_t *)&lpm->tbl8[i8.u32[1]];
>>> +		tbl[1] = *ptbl;
>>> +	}
>>> +	if (unlikely((pt2 & RTE_LPM_VALID_EXT_ENTRY_BITMASK) ==
>>> +			RTE_LPM_VALID_EXT_ENTRY_BITMASK)) {
>>> +		i8.u32[2] = i8.u32[2] +
>>> +			(uint8_t)tbl[2] *
>> RTE_LPM_TBL8_GROUP_NUM_ENTRIES;
>>> +		ptbl = (const uint32_t *)&lpm->tbl8[i8.u32[2]];
>>> +		tbl[2] = *ptbl;
>>> +	}
>>> +	if (unlikely((pt2 >> 32 &
>> RTE_LPM_VALID_EXT_ENTRY_BITMASK) ==
>>> +			RTE_LPM_VALID_EXT_ENTRY_BITMASK)) {
>>> +		i8.u32[3] = i8.u32[3] +
>>> +			(uint8_t)tbl[3] *
>> RTE_LPM_TBL8_GROUP_NUM_ENTRIES;
>>> +		ptbl = (const uint32_t *)&lpm->tbl8[i8.u32[3]];
>>> +		tbl[3] = *ptbl;
>>> +	}
>>> +
>>> +	hop[0] = (tbl[0] & RTE_LPM_LOOKUP_SUCCESS) ? tbl[0] &
>> 0x00FFFFFF :
>>> +
>> 	defv[0];
>>> +	hop[1] = (tbl[1] & RTE_LPM_LOOKUP_SUCCESS) ? tbl[1] &
>> 0x00FFFFFF :
>>> +
>> 	defv[1];
>>> +	hop[2] = (tbl[2] & RTE_LPM_LOOKUP_SUCCESS) ? tbl[2] &
>> 0x00FFFFFF :
>>> +
>> 	defv[2];
>>> +	hop[3] = (tbl[3] & RTE_LPM_LOOKUP_SUCCESS) ? tbl[3] &
>> 0x00FFFFFF :
>>> +
>> 	defv[3];
>>> +}
>>> +
>>>    #ifdef __cplusplus
>>>    }
>>>    #endif
>>> diff --git a/lib/librte_lpm/rte_lpm_neon.h
>> b/lib/librte_lpm/rte_lpm_neon.h
>>> index 6c131d312..6ef635b18 100644
>>> --- a/lib/librte_lpm/rte_lpm_neon.h
>>> +++ b/lib/librte_lpm/rte_lpm_neon.h
>>> @@ -113,6 +113,108 @@ rte_lpm_lookupx4(const struct rte_lpm
>> *lpm, xmm_t ip, uint32_t hop[4],
>>>    	hop[3] = (tbl[3] & RTE_LPM_LOOKUP_SUCCESS) ? tbl[3] &
>> 0x00FFFFFF : defv;
>>>    }
>>>
>>> +static inline void
>>> +rte_lpm_lookupx4_defx4(const struct rte_lpm *lpm, xmm_t ip,
>> uint32_t hop[4],
>>> +	uint32_t defv[4])
>>> +{
>>> +	uint32x4_t i24;
>>> +	rte_xmm_t i8;
>>> +	uint32_t tbl[4];
>>> +	uint64_t idx, pt, pt2;
>>> +	const uint32_t *ptbl;
>>> +
>>> +	const uint32_t mask = UINT8_MAX;
>>> +	const int32x4_t mask8 = vdupq_n_s32(mask);
>>> +
>>> +	/*
>>> +	 * RTE_LPM_VALID_EXT_ENTRY_BITMASK for 2 LPM entries
>>> +	 * as one 64-bit value (0x0300000003000000).
>>> +	 */
>>> +	const uint64_t mask_xv =
>>> +		((uint64_t)RTE_LPM_VALID_EXT_ENTRY_BITMASK |
>>> +		(uint64_t)RTE_LPM_VALID_EXT_ENTRY_BITMASK <<
>> 32);
>>> +
>>> +	/*
>>> +	 * RTE_LPM_LOOKUP_SUCCESS for 2 LPM entries
>>> +	 * as one 64-bit value (0x0100000001000000).
>>> +	 */
>>> +	const uint64_t mask_v =
>>> +		((uint64_t)RTE_LPM_LOOKUP_SUCCESS |
>>> +		(uint64_t)RTE_LPM_LOOKUP_SUCCESS << 32);
>>> +
>>> +	/* get 4 indexes for tbl24[]. */
>>> +	i24 = vshrq_n_u32((uint32x4_t)ip, CHAR_BIT);
>>> +
>>> +	/* extract values from tbl24[] */
>>> +	idx = vgetq_lane_u64((uint64x2_t)i24, 0);
>>> +
>>> +	ptbl = (const uint32_t *)&lpm->tbl24[(uint32_t)idx];
>>> +	tbl[0] = *ptbl;
>>> +	ptbl = (const uint32_t *)&lpm->tbl24[idx >> 32];
>>> +	tbl[1] = *ptbl;
>>> +
>>> +	idx = vgetq_lane_u64((uint64x2_t)i24, 1);
>>> +
>>> +	ptbl = (const uint32_t *)&lpm->tbl24[(uint32_t)idx];
>>> +	tbl[2] = *ptbl;
>>> +	ptbl = (const uint32_t *)&lpm->tbl24[idx >> 32];
>>> +	tbl[3] = *ptbl;
>>> +
>>> +	/* get 4 indexes for tbl8[]. */
>>> +	i8.x = vandq_s32(ip, mask8);
>>> +
>>> +	pt = (uint64_t)tbl[0] |
>>> +		(uint64_t)tbl[1] << 32;
>>> +	pt2 = (uint64_t)tbl[2] |
>>> +		(uint64_t)tbl[3] << 32;
>>> +
>>> +	/* search successfully finished for all 4 IP addresses. */
>>> +	if (likely((pt & mask_xv) == mask_v) &&
>>> +			likely((pt2 & mask_xv) == mask_v)) {
>>> +		*(uint64_t *)hop = pt & RTE_LPM_MASKX4_RES;
>>> +		*(uint64_t *)(hop + 2) = pt2 & RTE_LPM_MASKX4_RES;
>>> +		return;
>>> +	}
>>> +
>>> +	if (unlikely((pt & RTE_LPM_VALID_EXT_ENTRY_BITMASK) ==
>>> +			RTE_LPM_VALID_EXT_ENTRY_BITMASK)) {
>>> +		i8.u32[0] = i8.u32[0] +
>>> +			(uint8_t)tbl[0] *
>> RTE_LPM_TBL8_GROUP_NUM_ENTRIES;
>>> +		ptbl = (const uint32_t *)&lpm->tbl8[i8.u32[0]];
>>> +		tbl[0] = *ptbl;
>>> +	}
>>> +	if (unlikely((pt >> 32 & RTE_LPM_VALID_EXT_ENTRY_BITMASK)
>> ==
>>> +			RTE_LPM_VALID_EXT_ENTRY_BITMASK)) {
>>> +		i8.u32[1] = i8.u32[1] +
>>> +			(uint8_t)tbl[1] *
>> RTE_LPM_TBL8_GROUP_NUM_ENTRIES;
>>> +		ptbl = (const uint32_t *)&lpm->tbl8[i8.u32[1]];
>>> +		tbl[1] = *ptbl;
>>> +	}
>>> +	if (unlikely((pt2 & RTE_LPM_VALID_EXT_ENTRY_BITMASK) ==
>>> +			RTE_LPM_VALID_EXT_ENTRY_BITMASK)) {
>>> +		i8.u32[2] = i8.u32[2] +
>>> +			(uint8_t)tbl[2] *
>> RTE_LPM_TBL8_GROUP_NUM_ENTRIES;
>>> +		ptbl = (const uint32_t *)&lpm->tbl8[i8.u32[2]];
>>> +		tbl[2] = *ptbl;
>>> +	}
>>> +	if (unlikely((pt2 >> 32 &
>> RTE_LPM_VALID_EXT_ENTRY_BITMASK) ==
>>> +			RTE_LPM_VALID_EXT_ENTRY_BITMASK)) {
>>> +		i8.u32[3] = i8.u32[3] +
>>> +			(uint8_t)tbl[3] *
>> RTE_LPM_TBL8_GROUP_NUM_ENTRIES;
>>> +		ptbl = (const uint32_t *)&lpm->tbl8[i8.u32[3]];
>>> +		tbl[3] = *ptbl;
>>> +	}
>>> +
>>> +	hop[0] = (tbl[0] & RTE_LPM_LOOKUP_SUCCESS) ? tbl[0] &
>> 0x00FFFFFF :
>>> +
>> 	defv[0];
>>> +	hop[1] = (tbl[1] & RTE_LPM_LOOKUP_SUCCESS) ? tbl[1] &
>> 0x00FFFFFF :
>>> +
>> 	defv[1];
>>> +	hop[2] = (tbl[2] & RTE_LPM_LOOKUP_SUCCESS) ? tbl[2] &
>> 0x00FFFFFF :
>>> +
>> 	defv[2];
>>> +	hop[3] = (tbl[3] & RTE_LPM_LOOKUP_SUCCESS) ? tbl[3] &
>> 0x00FFFFFF :
>>> +
>> 	defv[3];
>>> +}
>>> +
>>>    #ifdef __cplusplus
>>>    }
>>>    #endif
>>> diff --git a/lib/librte_lpm/rte_lpm_sse.h
>> b/lib/librte_lpm/rte_lpm_sse.h
>>> index 44770b6ff..6ef15816c 100644
>>> --- a/lib/librte_lpm/rte_lpm_sse.h
>>> +++ b/lib/librte_lpm/rte_lpm_sse.h
>>> @@ -114,6 +114,110 @@ rte_lpm_lookupx4(const struct rte_lpm
>> *lpm, xmm_t ip, uint32_t hop[4],
>>>    	hop[3] = (tbl[3] & RTE_LPM_LOOKUP_SUCCESS) ? tbl[3] &
>> 0x00FFFFFF : defv;
>>>    }
>>>
>>> +static inline void
>>> +rte_lpm_lookupx4_defx4(const struct rte_lpm *lpm, xmm_t ip,
>> uint32_t hop[4],
>>> +	uint32_t defv[4])
>>> +{
>>> +	__m128i i24;
>>> +	rte_xmm_t i8;
>>> +	uint32_t tbl[4];
>>> +	uint64_t idx, pt, pt2;
>>> +	const uint32_t *ptbl;
>>> +
>>> +	const __m128i mask8 =
>>> +		_mm_set_epi32(UINT8_MAX, UINT8_MAX,
>> UINT8_MAX, UINT8_MAX);
>>> +
>>> +	/*
>>> +	 * RTE_LPM_VALID_EXT_ENTRY_BITMASK for 2 LPM entries
>>> +	 * as one 64-bit value (0x0300000003000000).
>>> +	 */
>>> +	const uint64_t mask_xv =
>>> +		((uint64_t)RTE_LPM_VALID_EXT_ENTRY_BITMASK |
>>> +		(uint64_t)RTE_LPM_VALID_EXT_ENTRY_BITMASK <<
>> 32);
>>> +
>>> +	/*
>>> +	 * RTE_LPM_LOOKUP_SUCCESS for 2 LPM entries
>>> +	 * as one 64-bit value (0x0100000001000000).
>>> +	 */
>>> +	const uint64_t mask_v =
>>> +		((uint64_t)RTE_LPM_LOOKUP_SUCCESS |
>>> +		(uint64_t)RTE_LPM_LOOKUP_SUCCESS << 32);
>>> +
>>> +	/* get 4 indexes for tbl24[]. */
>>> +	i24 = _mm_srli_epi32(ip, CHAR_BIT);
>>> +
>>> +	/* extract values from tbl24[] */
>>> +	idx = _mm_cvtsi128_si64(i24);
>>> +	/* With -O0 option, gcc 4.8 - 5.4 fails to fold sizeof() into a
>> constant */
>>> +	i24 = _mm_srli_si128(i24, /* sizeof(uint64_t) */ 8);
>>> +
>>> +	ptbl = (const uint32_t *)&lpm->tbl24[(uint32_t)idx];
>>> +	tbl[0] = *ptbl;
>>> +	ptbl = (const uint32_t *)&lpm->tbl24[idx >> 32];
>>> +	tbl[1] = *ptbl;
>>> +
>>> +	idx = _mm_cvtsi128_si64(i24);
>>> +
>>> +	ptbl = (const uint32_t *)&lpm->tbl24[(uint32_t)idx];
>>> +	tbl[2] = *ptbl;
>>> +	ptbl = (const uint32_t *)&lpm->tbl24[idx >> 32];
>>> +	tbl[3] = *ptbl;
>>> +
>>> +	/* get 4 indexes for tbl8[]. */
>>> +	i8.x = _mm_and_si128(ip, mask8);
>>> +
>>> +	pt = (uint64_t)tbl[0] |
>>> +		(uint64_t)tbl[1] << 32;
>>> +	pt2 = (uint64_t)tbl[2] |
>>> +		(uint64_t)tbl[3] << 32;
>>> +
>>> +	/* search successfully finished for all 4 IP addresses. */
>>> +	if (likely((pt & mask_xv) == mask_v) &&
>>> +			likely((pt2 & mask_xv) == mask_v)) {
>>> +		*(uint64_t *)hop = pt & RTE_LPM_MASKX4_RES;
>>> +		*(uint64_t *)(hop + 2) = pt2 & RTE_LPM_MASKX4_RES;
>>> +		return;
>>> +	}
>>> +
>>> +	if (unlikely((pt & RTE_LPM_VALID_EXT_ENTRY_BITMASK) ==
>>> +			RTE_LPM_VALID_EXT_ENTRY_BITMASK)) {
>>> +		i8.u32[0] = i8.u32[0] +
>>> +			(uint8_t)tbl[0] *
>> RTE_LPM_TBL8_GROUP_NUM_ENTRIES;
>>> +		ptbl = (const uint32_t *)&lpm->tbl8[i8.u32[0]];
>>> +		tbl[0] = *ptbl;
>>> +	}
>>> +	if (unlikely((pt >> 32 & RTE_LPM_VALID_EXT_ENTRY_BITMASK)
>> ==
>>> +			RTE_LPM_VALID_EXT_ENTRY_BITMASK)) {
>>> +		i8.u32[1] = i8.u32[1] +
>>> +			(uint8_t)tbl[1] *
>> RTE_LPM_TBL8_GROUP_NUM_ENTRIES;
>>> +		ptbl = (const uint32_t *)&lpm->tbl8[i8.u32[1]];
>>> +		tbl[1] = *ptbl;
>>> +	}
>>> +	if (unlikely((pt2 & RTE_LPM_VALID_EXT_ENTRY_BITMASK) ==
>>> +			RTE_LPM_VALID_EXT_ENTRY_BITMASK)) {
>>> +		i8.u32[2] = i8.u32[2] +
>>> +			(uint8_t)tbl[2] *
>> RTE_LPM_TBL8_GROUP_NUM_ENTRIES;
>>> +		ptbl = (const uint32_t *)&lpm->tbl8[i8.u32[2]];
>>> +		tbl[2] = *ptbl;
>>> +	}
>>> +	if (unlikely((pt2 >> 32 &
>> RTE_LPM_VALID_EXT_ENTRY_BITMASK) ==
>>> +			RTE_LPM_VALID_EXT_ENTRY_BITMASK)) {
>>> +		i8.u32[3] = i8.u32[3] +
>>> +			(uint8_t)tbl[3] *
>> RTE_LPM_TBL8_GROUP_NUM_ENTRIES;
>>> +		ptbl = (const uint32_t *)&lpm->tbl8[i8.u32[3]];
>>> +		tbl[3] = *ptbl;
>>> +	}
>>> +
>>> +	hop[0] = (tbl[0] & RTE_LPM_LOOKUP_SUCCESS) ? tbl[0] &
>> 0x00FFFFFF :
>>> +
>> 	defv[0];
>>> +	hop[1] = (tbl[1] & RTE_LPM_LOOKUP_SUCCESS) ? tbl[1] &
>> 0x00FFFFFF :
>>> +
>> 	defv[1];
>>> +	hop[2] = (tbl[2] & RTE_LPM_LOOKUP_SUCCESS) ? tbl[2] &
>> 0x00FFFFFF :
>>> +
>> 	defv[2];
>>> +	hop[3] = (tbl[3] & RTE_LPM_LOOKUP_SUCCESS) ? tbl[3] &
>> 0x00FFFFFF :
>>> +
>> 	defv[3];
>>> +}
>>> +
>>>    #ifdef __cplusplus
>>>    }
>>>    #endif
>> --
>> Regards,
>> Vladimir

-- 
Regards,
Vladimir


^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH] add ABI checks
  2019-12-20 16:20  4%   ` Kinsella, Ray
  2019-12-20 21:00  4%     ` Thomas Monjalon
@ 2020-01-14 23:19  4%     ` Thomas Monjalon
  2020-01-15 11:33  7%       ` Neil Horman
  1 sibling, 1 reply; 200+ results
From: Thomas Monjalon @ 2020-01-14 23:19 UTC (permalink / raw)
  To: David Marchand
  Cc: Richardson, Bruce, dev, Laatz, Kevin, aconole, nhorman,
	Michael Santana, Mcnamara, John, Kovacevic, Marko, Kinsella, Ray

20/12/2019 17:20, Kinsella, Ray:
> From: Richardson, Bruce <bruce.richardson@intel.com>
> > From: David Marchand <david.marchand@redhat.com>
> > > +Checking ABI compatibility
> > > +--------------------------
> > > +
> > > +The first thing is to build reference binaries for the latest
> > release
> > > +your patches are built on top of.
> > > +
> > > +Either you are in a git tree and an easy way to identify this is to
> > run::
> > > +
> > > +  git checkout $(git describe --abbrev=0)
> > > +
> > > +Or you use a tarball and you extract the sources in a director of
> > > +your
> > > choice.
> > > +
> > > +Next is building those sources, refer to the previous paragraph.
> > > +You can set ``DPDK_BUILD_TEST_DIR=reference``, so that the builds
> > > +occur in this directory.
> > > +
> > > +Finally, the ABI dump files are generated with the
> > > +``devtools/gen-abi-reference.sh`` script. This script will look for
> > > +builds in the current sub directory ``reference``. But you can set
> > > +the environment variable ``DPDK_ABI_REF_BUILD_DIR`` to a different
> > location.
> > > +
> > > +Once done, you can check your current binaries ABI with this
> > > +reference with the ``devtools/check-abi-reference.sh`` script.
> > >
> > 
> > I still very much dislike forcing the user to generate his own
> > reference version to compare the ABI against. These should be archived
> > and the user should just be able to pull them down via git or http or
> > otherwise. Two reasons for this:
> > 
> > 1. Less error prone, since there is no chance of the user having an
> > incorrect build for whatever reason.
> > 
> > 2. Less effort for the user than asking them to do extra builds. The
> > more steps the user has to follow, the less likely they are to attempt
> > the process.
> 
> +1 ... 100% agree with this.
> 
> Many people won't know or understand what the reference is, 
> or why they to generate it.

I don't want to generate and save the reference in git for each arch.

We can make reference build more automatic with a command like this:
	git clone --branch v19.11 . $DPDK_BUILD_TEST_DIR/abiref-19.11

Also I don't like mixing build and check steps.
I believe the compilation should be simple and right to the point.

This approach, from David, does not prevent from saving the dumps later
if we really feel a strong need.

That's why I suggest going with this patch.



^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] [PATCH v5 12/14] librte_ethdev: add ESP and AH flow types to RSS
  @ 2020-01-15  9:13  3%     ` Andrew Rybchenko
  2020-01-15 10:44  4%       ` Ferruh Yigit
  0 siblings, 1 reply; 200+ results
From: Andrew Rybchenko @ 2020-01-15  9:13 UTC (permalink / raw)
  To: Ferruh Yigit, Bernard Iremonger, dev, beilei.xing, qi.z.zhang,
	declan.doherty
  Cc: konstantin.ananyev, stephen1.byrne, helin.zhang, Ori Kam,
	Thomas Monjalon, Andrew Rybchenko

On 1/14/20 9:45 PM, Ferruh Yigit wrote:
> On 1/14/2020 1:55 PM, Bernard Iremonger wrote:
>> Add macros for the following protocols in the DDP esp-ah profile:
>> ESP
>> AH
>>
>> Add the following RSS macro for IPsec:
>> ETH_RSS_IPSEC
>>
>> Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
> 
> +Ori and other ethdev maintainers.
> 
> Ori, can you please check this patch?
> 
>> ---
>>  lib/librte_ethdev/rte_ethdev.h | 14 +++++++++++++-
>>  1 file changed, 13 insertions(+), 1 deletion(-)
>>
>> diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
>> index 18a9def..208ec90 100644
>> --- a/lib/librte_ethdev/rte_ethdev.h
>> +++ b/lib/librte_ethdev/rte_ethdev.h
>> @@ -484,7 +484,9 @@ struct rte_eth_rss_conf {
>>  #define RTE_ETH_FLOW_NVGRE              21 /**< NVGRE protocol based flow */
>>  #define RTE_ETH_FLOW_VXLAN_GPE          22 /**< VXLAN-GPE protocol based flow */
>>  #define RTE_ETH_FLOW_GTPU               23 /**< GTPU protocol based flow */
>> -#define RTE_ETH_FLOW_MAX                24
>> +#define RTE_ETH_FLOW_AH                 24 /**< AH protocol based flow */
>> +#define RTE_ETH_FLOW_ESP                25 /**< ESP protocol based flow */
>> +#define RTE_ETH_FLOW_MAX                26

Isn't changing RTE_ETH_FLOW_MAX value breaking ABI?
Is v20.11 target release of the patch?

>>  
>>  /*
>>   * Below macros are defined for RSS offload types, they can be used to
>> @@ -511,6 +513,12 @@ struct rte_eth_rss_conf {
>>  #define ETH_RSS_GENEVE             (1ULL << 20)
>>  #define ETH_RSS_NVGRE              (1ULL << 21)
>>  #define ETH_RSS_GTPU               (1ULL << 23)
>> +#define ETH_RSS_AH                 (1ULL << 24)
>> +#define ETH_RSS_ESP                (1ULL << 25)
>> +
>> +
>> +
>> +
>>  
>>  /*
>>   * We use the following macros to combine with above ETH_RSS_* for
>> @@ -571,6 +579,10 @@ rte_eth_rss_hf_refine(uint64_t rss_hf)
>>  	ETH_RSS_NONFRAG_IPV4_SCTP | \
>>  	ETH_RSS_NONFRAG_IPV6_SCTP)
>>  
>> +#define ETH_RSS_IPSEC ( \
>> +	ETH_RSS_AH | \
>> +	ETH_RSS_ESP)
>> +
>>  #define ETH_RSS_TUNNEL ( \
>>  	ETH_RSS_VXLAN  | \
>>  	ETH_RSS_GENEVE | \
>>


^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] [PATCH v5 12/14] librte_ethdev: add ESP and AH flow types to RSS
  2020-01-15  9:13  3%     ` Andrew Rybchenko
@ 2020-01-15 10:44  4%       ` Ferruh Yigit
  2020-01-15 10:55  0%         ` Andrew Rybchenko
  0 siblings, 1 reply; 200+ results
From: Ferruh Yigit @ 2020-01-15 10:44 UTC (permalink / raw)
  To: Andrew Rybchenko, Bernard Iremonger, dev, beilei.xing,
	qi.z.zhang, declan.doherty
  Cc: konstantin.ananyev, stephen1.byrne, helin.zhang, Ori Kam,
	Thomas Monjalon

On 1/15/2020 9:13 AM, Andrew Rybchenko wrote:
> On 1/14/20 9:45 PM, Ferruh Yigit wrote:
>> On 1/14/2020 1:55 PM, Bernard Iremonger wrote:
>>> Add macros for the following protocols in the DDP esp-ah profile:
>>> ESP
>>> AH
>>>
>>> Add the following RSS macro for IPsec:
>>> ETH_RSS_IPSEC
>>>
>>> Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
>>
>> +Ori and other ethdev maintainers.
>>
>> Ori, can you please check this patch?
>>
>>> ---
>>>  lib/librte_ethdev/rte_ethdev.h | 14 +++++++++++++-
>>>  1 file changed, 13 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
>>> index 18a9def..208ec90 100644
>>> --- a/lib/librte_ethdev/rte_ethdev.h
>>> +++ b/lib/librte_ethdev/rte_ethdev.h
>>> @@ -484,7 +484,9 @@ struct rte_eth_rss_conf {
>>>  #define RTE_ETH_FLOW_NVGRE              21 /**< NVGRE protocol based flow */
>>>  #define RTE_ETH_FLOW_VXLAN_GPE          22 /**< VXLAN-GPE protocol based flow */
>>>  #define RTE_ETH_FLOW_GTPU               23 /**< GTPU protocol based flow */
>>> -#define RTE_ETH_FLOW_MAX                24
>>> +#define RTE_ETH_FLOW_AH                 24 /**< AH protocol based flow */
>>> +#define RTE_ETH_FLOW_ESP                25 /**< ESP protocol based flow */
>>> +#define RTE_ETH_FLOW_MAX                26
> 
> Isn't changing RTE_ETH_FLOW_MAX value breaking ABI?
> Is v20.11 target release of the patch?

I can't see how this can cause an ABI break, unless the 'RTE_ETH_FLOW_MAX' value
used as size of an array in the middle of a struct.
There is 'struct rte_eth_fdir_flex_conf' but the array is at the end there, so
it should be OK, unless that struct is not in the middle of another struct.

And there are values calculated from 'RTE_ETH_FLOW_MAX', like
'RTE_FLOW_MASK_ARRAY_SIZE', same concern applies there, it very hard to follow.

Bernard,

Can you please run the ABI version script to be sure this is not breaking the ABI?


> 
>>>  
>>>  /*
>>>   * Below macros are defined for RSS offload types, they can be used to
>>> @@ -511,6 +513,12 @@ struct rte_eth_rss_conf {
>>>  #define ETH_RSS_GENEVE             (1ULL << 20)
>>>  #define ETH_RSS_NVGRE              (1ULL << 21)
>>>  #define ETH_RSS_GTPU               (1ULL << 23)
>>> +#define ETH_RSS_AH                 (1ULL << 24)
>>> +#define ETH_RSS_ESP                (1ULL << 25)
>>> +
>>> +
>>> +
>>> +
>>>  
>>>  /*
>>>   * We use the following macros to combine with above ETH_RSS_* for
>>> @@ -571,6 +579,10 @@ rte_eth_rss_hf_refine(uint64_t rss_hf)
>>>  	ETH_RSS_NONFRAG_IPV4_SCTP | \
>>>  	ETH_RSS_NONFRAG_IPV6_SCTP)
>>>  
>>> +#define ETH_RSS_IPSEC ( \
>>> +	ETH_RSS_AH | \
>>> +	ETH_RSS_ESP)
>>> +
>>>  #define ETH_RSS_TUNNEL ( \
>>>  	ETH_RSS_VXLAN  | \
>>>  	ETH_RSS_GENEVE | \
>>>
> 


^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] [PATCH v5 12/14] librte_ethdev: add ESP and AH flow types to RSS
  2020-01-15 10:44  4%       ` Ferruh Yigit
@ 2020-01-15 10:55  0%         ` Andrew Rybchenko
  2020-01-15 12:28  3%           ` Ferruh Yigit
  0 siblings, 1 reply; 200+ results
From: Andrew Rybchenko @ 2020-01-15 10:55 UTC (permalink / raw)
  To: Ferruh Yigit, Bernard Iremonger, dev, beilei.xing, qi.z.zhang,
	declan.doherty
  Cc: konstantin.ananyev, stephen1.byrne, helin.zhang, Ori Kam,
	Thomas Monjalon

On 1/15/20 1:44 PM, Ferruh Yigit wrote:
> On 1/15/2020 9:13 AM, Andrew Rybchenko wrote:
>> On 1/14/20 9:45 PM, Ferruh Yigit wrote:
>>> On 1/14/2020 1:55 PM, Bernard Iremonger wrote:
>>>> Add macros for the following protocols in the DDP esp-ah profile:
>>>> ESP
>>>> AH
>>>>
>>>> Add the following RSS macro for IPsec:
>>>> ETH_RSS_IPSEC
>>>>
>>>> Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
>>> +Ori and other ethdev maintainers.
>>>
>>> Ori, can you please check this patch?
>>>
>>>> ---
>>>>  lib/librte_ethdev/rte_ethdev.h | 14 +++++++++++++-
>>>>  1 file changed, 13 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
>>>> index 18a9def..208ec90 100644
>>>> --- a/lib/librte_ethdev/rte_ethdev.h
>>>> +++ b/lib/librte_ethdev/rte_ethdev.h
>>>> @@ -484,7 +484,9 @@ struct rte_eth_rss_conf {
>>>>  #define RTE_ETH_FLOW_NVGRE              21 /**< NVGRE protocol based flow */
>>>>  #define RTE_ETH_FLOW_VXLAN_GPE          22 /**< VXLAN-GPE protocol based flow */
>>>>  #define RTE_ETH_FLOW_GTPU               23 /**< GTPU protocol based flow */
>>>> -#define RTE_ETH_FLOW_MAX                24
>>>> +#define RTE_ETH_FLOW_AH                 24 /**< AH protocol based flow */
>>>> +#define RTE_ETH_FLOW_ESP                25 /**< ESP protocol based flow */
>>>> +#define RTE_ETH_FLOW_MAX                26
>> Isn't changing RTE_ETH_FLOW_MAX value breaking ABI?
>> Is v20.11 target release of the patch?
> I can't see how this can cause an ABI break, unless the 'RTE_ETH_FLOW_MAX' value
> used as size of an array in the middle of a struct.
> There is 'struct rte_eth_fdir_flex_conf' but the array is at the end there, so
> it should be OK, unless that struct is not in the middle of another struct.

rte_eth_fdir_flex_conf -> rte_fdir_conf -> rte_eth_conf (in the middle)

> And there are values calculated from 'RTE_ETH_FLOW_MAX', like
> 'RTE_FLOW_MASK_ARRAY_SIZE', same concern applies there, it very hard to follow.
>
> Bernard,
>
> Can you please run the ABI version script to be sure this is not breaking the ABI?
>
>
>>>>  
>>>>  /*
>>>>   * Below macros are defined for RSS offload types, they can be used to
>>>> @@ -511,6 +513,12 @@ struct rte_eth_rss_conf {
>>>>  #define ETH_RSS_GENEVE             (1ULL << 20)
>>>>  #define ETH_RSS_NVGRE              (1ULL << 21)
>>>>  #define ETH_RSS_GTPU               (1ULL << 23)
>>>> +#define ETH_RSS_AH                 (1ULL << 24)
>>>> +#define ETH_RSS_ESP                (1ULL << 25)
>>>> +
>>>> +
>>>> +
>>>> +
>>>>  
>>>>  /*
>>>>   * We use the following macros to combine with above ETH_RSS_* for
>>>> @@ -571,6 +579,10 @@ rte_eth_rss_hf_refine(uint64_t rss_hf)
>>>>  	ETH_RSS_NONFRAG_IPV4_SCTP | \
>>>>  	ETH_RSS_NONFRAG_IPV6_SCTP)
>>>>  
>>>> +#define ETH_RSS_IPSEC ( \
>>>> +	ETH_RSS_AH | \
>>>> +	ETH_RSS_ESP)
>>>> +
>>>>  #define ETH_RSS_TUNNEL ( \
>>>>  	ETH_RSS_VXLAN  | \
>>>>  	ETH_RSS_GENEVE | \
>>>>


^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH] add ABI checks
  2020-01-14 23:19  4%     ` Thomas Monjalon
@ 2020-01-15 11:33  7%       ` Neil Horman
  2020-01-15 12:38  4%         ` Thomas Monjalon
  0 siblings, 1 reply; 200+ results
From: Neil Horman @ 2020-01-15 11:33 UTC (permalink / raw)
  To: Thomas Monjalon
  Cc: David Marchand, Richardson, Bruce, dev, Laatz, Kevin, aconole,
	Michael Santana, Mcnamara, John, Kovacevic, Marko, Kinsella, Ray

On Wed, Jan 15, 2020 at 12:19:30AM +0100, Thomas Monjalon wrote:
> 20/12/2019 17:20, Kinsella, Ray:
> > From: Richardson, Bruce <bruce.richardson@intel.com>
> > > From: David Marchand <david.marchand@redhat.com>
> > > > +Checking ABI compatibility
> > > > +--------------------------
> > > > +
> > > > +The first thing is to build reference binaries for the latest
> > > release
> > > > +your patches are built on top of.
> > > > +
> > > > +Either you are in a git tree and an easy way to identify this is to
> > > run::
> > > > +
> > > > +  git checkout $(git describe --abbrev=0)
> > > > +
> > > > +Or you use a tarball and you extract the sources in a director of
> > > > +your
> > > > choice.
> > > > +
> > > > +Next is building those sources, refer to the previous paragraph.
> > > > +You can set ``DPDK_BUILD_TEST_DIR=reference``, so that the builds
> > > > +occur in this directory.
> > > > +
> > > > +Finally, the ABI dump files are generated with the
> > > > +``devtools/gen-abi-reference.sh`` script. This script will look for
> > > > +builds in the current sub directory ``reference``. But you can set
> > > > +the environment variable ``DPDK_ABI_REF_BUILD_DIR`` to a different
> > > location.
> > > > +
> > > > +Once done, you can check your current binaries ABI with this
> > > > +reference with the ``devtools/check-abi-reference.sh`` script.
> > > >
> > > 
> > > I still very much dislike forcing the user to generate his own
> > > reference version to compare the ABI against. These should be archived
> > > and the user should just be able to pull them down via git or http or
> > > otherwise. Two reasons for this:
> > > 
> > > 1. Less error prone, since there is no chance of the user having an
> > > incorrect build for whatever reason.
> > > 
> > > 2. Less effort for the user than asking them to do extra builds. The
> > > more steps the user has to follow, the less likely they are to attempt
> > > the process.
> > 
> > +1 ... 100% agree with this.
> > 
> > Many people won't know or understand what the reference is, 
> > or why they to generate it.
> 
> I don't want to generate and save the reference in git for each arch.
> 
Can I ask what your reluctance is?  Is it related to not wanting to have to save
all this information that is otherwise not used for building purposes?

If so I might suggest saving the dumps in a separate git tree and pulling them
in as a git submodule when the check is performed

I really like the idea of caching the results so everyone is working from a
known ABI baseline.

Neil

> We can make reference build more automatic with a command like this:
> 	git clone --branch v19.11 . $DPDK_BUILD_TEST_DIR/abiref-19.11
> 
> Also I don't like mixing build and check steps.
> I believe the compilation should be simple and right to the point.
> 
> This approach, from David, does not prevent from saving the dumps later
> if we really feel a strong need.
> 
> That's why I suggest going with this patch.
> 
> 
> 

^ permalink raw reply	[relevance 7%]

* Re: [dpdk-dev] [PATCH v5 12/14] librte_ethdev: add ESP and AH flow types to RSS
  2020-01-15 10:55  0%         ` Andrew Rybchenko
@ 2020-01-15 12:28  3%           ` Ferruh Yigit
  2020-01-15 14:11  0%             ` Iremonger, Bernard
  0 siblings, 1 reply; 200+ results
From: Ferruh Yigit @ 2020-01-15 12:28 UTC (permalink / raw)
  To: Andrew Rybchenko, Bernard Iremonger, dev, beilei.xing,
	qi.z.zhang, declan.doherty
  Cc: konstantin.ananyev, stephen1.byrne, helin.zhang, Ori Kam,
	Thomas Monjalon, Bruce Richardson, Kinsella, Ray, David Marchand,
	Luca Boccassi, Jerin Jacob, Olivier MATZ

On 1/15/2020 10:55 AM, Andrew Rybchenko wrote:
> On 1/15/20 1:44 PM, Ferruh Yigit wrote:
>> On 1/15/2020 9:13 AM, Andrew Rybchenko wrote:
>>> On 1/14/20 9:45 PM, Ferruh Yigit wrote:
>>>> On 1/14/2020 1:55 PM, Bernard Iremonger wrote:
>>>>> Add macros for the following protocols in the DDP esp-ah profile:
>>>>> ESP
>>>>> AH
>>>>>
>>>>> Add the following RSS macro for IPsec:
>>>>> ETH_RSS_IPSEC
>>>>>
>>>>> Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
>>>> +Ori and other ethdev maintainers.
>>>>
>>>> Ori, can you please check this patch?
>>>>
>>>>> ---
>>>>>  lib/librte_ethdev/rte_ethdev.h | 14 +++++++++++++-
>>>>>  1 file changed, 13 insertions(+), 1 deletion(-)
>>>>>
>>>>> diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
>>>>> index 18a9def..208ec90 100644
>>>>> --- a/lib/librte_ethdev/rte_ethdev.h
>>>>> +++ b/lib/librte_ethdev/rte_ethdev.h
>>>>> @@ -484,7 +484,9 @@ struct rte_eth_rss_conf {
>>>>>  #define RTE_ETH_FLOW_NVGRE              21 /**< NVGRE protocol based flow */
>>>>>  #define RTE_ETH_FLOW_VXLAN_GPE          22 /**< VXLAN-GPE protocol based flow */
>>>>>  #define RTE_ETH_FLOW_GTPU               23 /**< GTPU protocol based flow */
>>>>> -#define RTE_ETH_FLOW_MAX                24
>>>>> +#define RTE_ETH_FLOW_AH                 24 /**< AH protocol based flow */
>>>>> +#define RTE_ETH_FLOW_ESP                25 /**< ESP protocol based flow */
>>>>> +#define RTE_ETH_FLOW_MAX                26
>>> Isn't changing RTE_ETH_FLOW_MAX value breaking ABI?
>>> Is v20.11 target release of the patch?
>> I can't see how this can cause an ABI break, unless the 'RTE_ETH_FLOW_MAX' value
>> used as size of an array in the middle of a struct.
>> There is 'struct rte_eth_fdir_flex_conf' but the array is at the end there, so
>> it should be OK, unless that struct is not in the middle of another struct.
> 
> rte_eth_fdir_flex_conf -> rte_fdir_conf -> rte_eth_conf (in the middle)

Yes, this looks like an ABI break and this is very annoying not able to even add
a new RTE_FLOW type.

We need to find a proper way to handle this, at first glance I can see stop
using _MAX macros for the array size can work and perhaps we can use another big
enough hardcoded value for all similar array size. Any other option?

But we can do this on 20.11, we need a solution until that time.

> 
>> And there are values calculated from 'RTE_ETH_FLOW_MAX', like
>> 'RTE_FLOW_MASK_ARRAY_SIZE', same concern applies there, it very hard to follow.
>>
>> Bernard,
>>
>> Can you please run the ABI version script to be sure this is not breaking the ABI?
>>
>>
>>>>>  
>>>>>  /*
>>>>>   * Below macros are defined for RSS offload types, they can be used to
>>>>> @@ -511,6 +513,12 @@ struct rte_eth_rss_conf {
>>>>>  #define ETH_RSS_GENEVE             (1ULL << 20)
>>>>>  #define ETH_RSS_NVGRE              (1ULL << 21)
>>>>>  #define ETH_RSS_GTPU               (1ULL << 23)
>>>>> +#define ETH_RSS_AH                 (1ULL << 24)
>>>>> +#define ETH_RSS_ESP                (1ULL << 25)
>>>>> +
>>>>> +
>>>>> +
>>>>> +
>>>>>  
>>>>>  /*
>>>>>   * We use the following macros to combine with above ETH_RSS_* for
>>>>> @@ -571,6 +579,10 @@ rte_eth_rss_hf_refine(uint64_t rss_hf)
>>>>>  	ETH_RSS_NONFRAG_IPV4_SCTP | \
>>>>>  	ETH_RSS_NONFRAG_IPV6_SCTP)
>>>>>  
>>>>> +#define ETH_RSS_IPSEC ( \
>>>>> +	ETH_RSS_AH | \
>>>>> +	ETH_RSS_ESP)
>>>>> +
>>>>>  #define ETH_RSS_TUNNEL ( \
>>>>>  	ETH_RSS_VXLAN  | \
>>>>>  	ETH_RSS_GENEVE | \
>>>>>
> 


^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] [PATCH] add ABI checks
  2020-01-15 11:33  7%       ` Neil Horman
@ 2020-01-15 12:38  4%         ` Thomas Monjalon
  0 siblings, 0 replies; 200+ results
From: Thomas Monjalon @ 2020-01-15 12:38 UTC (permalink / raw)
  To: Neil Horman
  Cc: David Marchand, Richardson, Bruce, dev, Laatz, Kevin, aconole,
	Michael Santana, Mcnamara, John, Kovacevic, Marko, Kinsella, Ray

15/01/2020 12:33, Neil Horman:
> On Wed, Jan 15, 2020 at 12:19:30AM +0100, Thomas Monjalon wrote:
> > 20/12/2019 17:20, Kinsella, Ray:
> > > From: Richardson, Bruce <bruce.richardson@intel.com>
> > > > From: David Marchand <david.marchand@redhat.com>
> > > > > +Checking ABI compatibility
> > > > > +--------------------------
> > > > > +
> > > > > +The first thing is to build reference binaries for the latest
> > > > release
> > > > > +your patches are built on top of.
> > > > > +
> > > > > +Either you are in a git tree and an easy way to identify this is to
> > > > run::
> > > > > +
> > > > > +  git checkout $(git describe --abbrev=0)
> > > > > +
> > > > > +Or you use a tarball and you extract the sources in a director of
> > > > > +your
> > > > > choice.
> > > > > +
> > > > > +Next is building those sources, refer to the previous paragraph.
> > > > > +You can set ``DPDK_BUILD_TEST_DIR=reference``, so that the builds
> > > > > +occur in this directory.
> > > > > +
> > > > > +Finally, the ABI dump files are generated with the
> > > > > +``devtools/gen-abi-reference.sh`` script. This script will look for
> > > > > +builds in the current sub directory ``reference``. But you can set
> > > > > +the environment variable ``DPDK_ABI_REF_BUILD_DIR`` to a different
> > > > location.
> > > > > +
> > > > > +Once done, you can check your current binaries ABI with this
> > > > > +reference with the ``devtools/check-abi-reference.sh`` script.
> > > > >
> > > > 
> > > > I still very much dislike forcing the user to generate his own
> > > > reference version to compare the ABI against. These should be archived
> > > > and the user should just be able to pull them down via git or http or
> > > > otherwise. Two reasons for this:
> > > > 
> > > > 1. Less error prone, since there is no chance of the user having an
> > > > incorrect build for whatever reason.
> > > > 
> > > > 2. Less effort for the user than asking them to do extra builds. The
> > > > more steps the user has to follow, the less likely they are to attempt
> > > > the process.
> > > 
> > > +1 ... 100% agree with this.
> > > 
> > > Many people won't know or understand what the reference is, 
> > > or why they to generate it.
> > 
> > I don't want to generate and save the reference in git for each arch.
> > 
> Can I ask what your reluctance is?  Is it related to not wanting to have to save
> all this information that is otherwise not used for building purposes?

Yes I prefer keeping only the sources in the repository.
And these dumps are big.
And last but not the least, there is no ready-to-use environment to build
and dump all libs for all archs.

> If so I might suggest saving the dumps in a separate git tree and pulling them
> in as a git submodule when the check is performed
> 
> I really like the idea of caching the results so everyone is working from a
> known ABI baseline.

You don't trust the result of the build made from tagged sources?

> > We can make reference build more automatic with a command like this:
> > 	git clone --branch v19.11 . $DPDK_BUILD_TEST_DIR/abiref-19.11
> > 
> > Also I don't like mixing build and check steps.
> > I believe the compilation should be simple and right to the point.
> > 
> > This approach, from David, does not prevent from saving the dumps later
> > if we really feel a strong need.
> > 
> > That's why I suggest going with this patch.




^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] [PATCH] add ABI checks
  2020-01-06 13:17  9%       ` Aaron Conole
@ 2020-01-15 13:07  9%         ` Burakov, Anatoly
  0 siblings, 0 replies; 200+ results
From: Burakov, Anatoly @ 2020-01-15 13:07 UTC (permalink / raw)
  To: Aaron Conole, Thomas Monjalon
  Cc: Kinsella, Ray, Richardson, Bruce, David Marchand, dev, Laatz,
	Kevin, nhorman, Michael Santana, Mcnamara, John, Kovacevic,
	Marko

On 06-Jan-20 1:17 PM, Aaron Conole wrote:
> Thomas Monjalon <thomas@monjalon.net> writes:
> 
>> 20/12/2019 17:20, Kinsella, Ray:
>>>> -----Original Message-----
>>>> From: Richardson, Bruce <bruce.richardson@intel.com>
>>>> Sent: Friday 20 December 2019 15:32
>>>> To: David Marchand <david.marchand@redhat.com>; dev@dpdk.org
>>>> Cc: thomas@monjalon.net; Laatz, Kevin <kevin.laatz@intel.com>;
>>>> aconole@redhat.com; nhorman@tuxdriver.com; Michael Santana
>>>> <maicolgabriel@hotmail.com>; Mcnamara, John <john.mcnamara@intel.com>;
>>>> Kovacevic, Marko <marko.kovacevic@intel.com>; Kinsella, Ray
>>>> <ray.kinsella@intel.com>
>>>> Subject: RE: [PATCH] add ABI checks
>>>>
>>>>
>>>>
>>>>> -----Original Message-----
>>>>> From: David Marchand <david.marchand@redhat.com>
>>>>> Sent: Friday, December 20, 2019 3:21 PM
>>>>> To: dev@dpdk.org
>>>>> Cc: thomas@monjalon.net; Richardson, Bruce
>>>>> <bruce.richardson@intel.com>; Laatz, Kevin <kevin.laatz@intel.com>;
>>>>> aconole@redhat.com; nhorman@tuxdriver.com; Michael Santana
>>>>> <maicolgabriel@hotmail.com>; Mcnamara, John
>>>> <john.mcnamara@intel.com>;
>>>>> Kovacevic, Marko <marko.kovacevic@intel.com>
>>>>> Subject: [PATCH] add ABI checks
>>>>>
>>>>> Starting from Kevin and Bruce idea of using libabigail, here is an
>>>>> alternate approach to implement ABI checks.
>>>>>
>>>>> By default, those checks are disabled and enabling them requires a
>>>>> manual step that generates the ABI dumps on a reference version for a
>>>>> set of configurations.
>>>>>
>>>>> Those checks are enabled in the CI by default for the default meson
>>>>> options on x86 and aarch64 so that proposed patches are validated.
>>>>> A cache of the ABI is stored in travis jobs.
>>>>> Checks can be only informational by setting ABI_CHECKS_WARN_ONLY when
>>>>> breaking the ABI in a future release.
>>>>>
>>>>> For advanced developers and maintainers, the contributing guide
>>>>> details the higher level scripts that are quite close to the existing
>>>>> devtools scripts.
>>>>>
>>>>> Signed-off-by: David Marchand <david.marchand@redhat.com>
>>>>> ---
>>>>>   .ci/linux-build.sh                  | 43 +++++++++++++++++++++++++++
>>>>>   .travis.yml                         | 20 +++++++++++--
>>>>>   devtools/check-abi-dump.sh          | 46
>>>> +++++++++++++++++++++++++++++
>>>>>   devtools/check-abi-reference.sh     | 27 +++++++++++++++++
>>>>>   devtools/dpdk.abignore              |  2 ++
>>>>>   devtools/gen-abi-dump.sh            | 29 ++++++++++++++++++
>>>>>   devtools/gen-abi-reference.sh       | 24 +++++++++++++++
>>>>>   devtools/test-build.sh              | 13 ++++++--
>>>>>   devtools/test-meson-builds.sh       |  6 ++++
>>>>>   doc/guides/contributing/patches.rst | 25 ++++++++++++++++
>>>>>   10 files changed, 230 insertions(+), 5 deletions(-)  create mode
>>>>> 100755 devtools/check-abi-dump.sh  create mode 100755
>>>>> devtools/check-abi- reference.sh  create mode 100644
>>>>> devtools/dpdk.abignore  create mode
>>>>> 100755 devtools/gen-abi-dump.sh  create mode 100755 devtools/gen-abi-
>>>>> reference.sh
>>>>>
>>>>> diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh index
>>>>> ccc3a7ccd..345dba264 100755
>>>>> --- a/.ci/linux-build.sh
>>>>> +++ b/.ci/linux-build.sh
>>>>> @@ -30,8 +30,51 @@ fi
>>>>>
>>>>>   OPTS="$OPTS --default-library=$DEF_LIB"
>>>>>   meson build --werror -Dexamples=all $OPTS
>>>>> +
>>>>> +if [ "$ABI_CHECKS" = "1" ]; then
>>>>> +    git remote add ref ${REF_GIT_REPO:-https://dpdk.org/git/dpdk}
>>>>> +    git fetch --tags ref ${REF_GIT_BRANCH:-master}
>>>>> +
>>>>> +    head=$(git describe --all)
>>>>> +    tag=$(git describe --abbrev=0)
>>>>> +
>>>>> +    if [ "$(cat reference/VERSION 2>/dev/null)" != "$tag" ]; then
>>>>> +        rm -rf reference
>>>>> +    fi
>>>>> +
>>>>> +    if [ ! -d reference ]; then
>>>>> +        gen_abi_dump=$(mktemp -t gen-abi-dump-XXX.sh)
>>>>> +        cp -a devtools/gen-abi-dump.sh $gen_abi_dump
>>>>> +
>>>>> +        git checkout -qf $tag
>>>>> +        ninja -C build
>>>>> +        $gen_abi_dump build reference
>>>>> +
>>>>> +        if [ "$AARCH64" != "1" ]; then
>>>>> +            mkdir -p reference/app
>>>>> +            cp -a build/app/dpdk-testpmd reference/app/
>>>>> +
>>>>> +            export
>>>> LD_LIBRARY_PATH=$(pwd)/build/lib:$(pwd)/build/drivers
>>>>> +            devtools/test-null.sh reference/app/dpdk-testpmd
>>>>> +            unset LD_LIBRARY_PATH
>>>>> +        fi
>>>>> +        echo $tag > reference/VERSION
>>>>> +
>>>>> +        git checkout -qf $head
>>>>> +    fi
>>>>> +fi
>>>>> +
>>>>>   ninja -C build
>>>>>
>>>>> +if [ "$ABI_CHECKS" = "1" ]; then
>>>>> +    devtools/check-abi-dump.sh build reference
>>>> ${ABI_CHECKS_WARN_ONLY:-}
>>>>> +    if [ "$AARCH64" != "1" ]; then
>>>>> +        export LD_LIBRARY_PATH=$(pwd)/build/lib:$(pwd)/build/drivers
>>>>> +        devtools/test-null.sh reference/app/dpdk-testpmd
>>>>> +        unset LD_LIBRARY_PATH
>>>>> +    fi
>>>>> +fi
>>>>> +
>>>>>   if [ "$AARCH64" != "1" ]; then
>>>>>       devtools/test-null.sh
>>>>>   fi
>>>>> diff --git a/.travis.yml b/.travis.yml index 8f90d06f2..bbb060fa2
>>>>> 100644
>>>>> --- a/.travis.yml
>>>>> +++ b/.travis.yml
>>>>> @@ -1,5 +1,8 @@
>>>>>   language: c
>>>>> -cache: ccache
>>>>> +cache:
>>>>> +  ccache: true
>>>>> +  directories:
>>>>> +    - reference
>>>>>   compiler:
>>>>>     - gcc
>>>>>     - clang
>>>>> @@ -21,7 +24,7 @@ aarch64_packages: &aarch64_packages
>>>>>
>>>>>   extra_packages: &extra_packages
>>>>>     - *required_packages
>>>>> -  - [libbsd-dev, libpcap-dev, libcrypto++-dev, libjansson4]
>>>>> +  - [libbsd-dev, libpcap-dev, libcrypto++-dev, libjansson4,
>>>>> + abigail-tools]
>>>>>
>>>>>   build_32b_packages: &build_32b_packages
>>>>>     - *required_packages
>>>>> @@ -59,6 +62,13 @@ matrix:
>>>>>         apt:
>>>>>           packages:
>>>>>             - *aarch64_packages
>>>>> +  - env: DEF_LIB="shared" EXTRA_PACKAGES=1 ABI_CHECKS=1 AARCH64=1
>>>>> +    compiler: gcc
>>>>> +    addons:
>>>>> +      apt:
>>>>> +        packages:
>>>>> +          - *aarch64_packages
>>>>> +          - *extra_packages
>>>>>     - env: DEF_LIB="static" EXTRA_PACKAGES=1
>>>>>       compiler: gcc
>>>>>       addons:
>>>>> @@ -72,6 +82,12 @@ matrix:
>>>>>           packages:
>>>>>             - *extra_packages
>>>>>             - *doc_packages
>>>>> +  - env: DEF_LIB="shared" EXTRA_PACKAGES=1 ABI_CHECKS=1
>>>>> +    compiler: gcc
>>>>> +    addons:
>>>>> +      apt:
>>>>> +        packages:
>>>>> +          - *extra_packages
>>>>>     - env: DEF_LIB="static" OPTS="-Denable_kmods=false"
>>>> EXTRA_PACKAGES=1
>>>>>       compiler: gcc
>>>>>       addons:
>>>>> diff --git a/devtools/check-abi-dump.sh b/devtools/check-abi-dump.sh
>>>>> new file mode 100755 index 000000000..f48a2ae7e
>>>>> --- /dev/null
>>>>> +++ b/devtools/check-abi-dump.sh
>>>>> @@ -0,0 +1,46 @@
>>>>> +#!/bin/sh -e
>>>>> +# SPDX-License-Identifier: BSD-3-Clause # Copyright (c) 2019 Red
>>>> Hat,
>>>>> +Inc.
>>>>> +
>>>>> +if [ $# != 2 ] && [ $# != 3 ]; then
>>>>> +	echo "Usage: $0 builddir dumpdir [warnonly]"
>>>>> +	exit 1
>>>>> +fi
>>>>> +
>>>>> +builddir=$1
>>>>> +dumpdir=$2
>>>>> +warnonly=${3:-}
>>>>> +if [ ! -d $builddir ]; then
>>>>> +	echo "Error: build directory '$builddir' does not exist."
>>>>> +	exit 1
>>>>> +fi
>>>>> +if [ ! -d $dumpdir ]; then
>>>>> +	echo "Error: dump directory '$dumpdir' does not exist."
>>>>> +	exit 1
>>>>> +fi
>>>>> +
>>>>> +ABIDIFF_OPTIONS="--suppr $(dirname $0)/dpdk.abignore"
>>>>> +for dump in $(find $dumpdir -name "*.dump"); do
>>>>> +	libname=$(basename $dump)
>>>>> +	libname=${libname%.dump}
>>>>> +	result=
>>>>> +	for f in $(find $builddir -name "$libname.so.*"); do
>>>>> +		if test -L $f || [ "$f" != "${f%%.symbols}" ]; then
>>>>> +			continue
>>>>> +		fi
>>>>> +		result=found
>>>>> +
>>>>> +		if ! abidiff $ABIDIFF_OPTIONS $dump $f; then
>>>>> +			if [ -z "$warnonly" ]; then
>>>>> +				echo "Error: ABI issue reported for $dump, $f"
>>>>> +				exit 1
>>>>> +			fi
>>>>> +			echo "Warning: ABI issue reported for $dump, $f"
>>>>> +		fi
>>>>> +		break
>>>>> +	done
>>>>> +	if [ "$result" != "found" ]; then
>>>>> +		echo "Error: can't find a library for dump file $dump"
>>>>> +		exit 1
>>>>> +	fi
>>>>> +done
>>>>> diff --git a/devtools/check-abi-reference.sh b/devtools/check-abi-
>>>>> reference.sh new file mode 100755 index 000000000..7addb094e
>>>>> --- /dev/null
>>>>> +++ b/devtools/check-abi-reference.sh
>>>>> @@ -0,0 +1,27 @@
>>>>> +#!/bin/sh -e
>>>>> +# SPDX-License-Identifier: BSD-3-Clause # Copyright (c) 2019 Red
>>>> Hat,
>>>>> +Inc.
>>>>> +
>>>>> +devtools_dir=$(dirname $(readlink -f $0)) .
>>>>> +$devtools_dir/load-devel-config
>>>>> +
>>>>> +abi_ref_build_dir=${DPDK_ABI_REF_BUILD_DIR:-reference}
>>>>> +builds_dir=${DPDK_BUILD_TEST_DIR:-.}
>>>>> +
>>>>> +for dir in $abi_ref_build_dir/*; do
>>>>> +	if [ "$dir" = "$abi_ref_build_dir" ]; then
>>>>> +		exit 1
>>>>> +	fi
>>>>> +	if [ ! -d $dir/dump ]; then
>>>>> +		echo "Skipping $dir"
>>>>> +		continue
>>>>> +	fi
>>>>> +	target=$(basename $dir)
>>>>> +	if [ -d $builds_dir/$target/install ]; then
>>>>> +		libdir=$builds_dir/$target/install
>>>>> +	else
>>>>> +		libdir=$builds_dir/$target
>>>>> +	fi
>>>>> +	echo "Checking ABI between $libdir and $dir/dump"
>>>>> +	$devtools_dir/check-abi-dump.sh $libdir $dir/dump done
>>>>> diff --git a/devtools/dpdk.abignore b/devtools/dpdk.abignore new file
>>>>> mode
>>>>> 100644 index 000000000..b866b7f26
>>>>> --- /dev/null
>>>>> +++ b/devtools/dpdk.abignore
>>>>> @@ -0,0 +1,2 @@
>>>>> +[suppress_function]
>>>>> +        symbol_version = EXPERIMENTAL
>>>>> diff --git a/devtools/gen-abi-dump.sh b/devtools/gen-abi-dump.sh new
>>>>> file mode 100755 index 000000000..4e38d751f
>>>>> --- /dev/null
>>>>> +++ b/devtools/gen-abi-dump.sh
>>>>> @@ -0,0 +1,29 @@
>>>>> +#!/bin/sh -e
>>>>> +# SPDX-License-Identifier: BSD-3-Clause # Copyright (c) 2019 Red
>>>> Hat,
>>>>> +Inc.
>>>>> +
>>>>> +if [ $# != 2 ]; then
>>>>> +	echo "Usage: $0 builddir dumpdir"
>>>>> +	exit 1
>>>>> +fi
>>>>> +
>>>>> +builddir=$1
>>>>> +dumpdir=$2
>>>>> +if [ ! -d $builddir ]; then
>>>>> +	echo "Error: build directory '$builddir' does not exist."
>>>>> +	exit 1
>>>>> +fi
>>>>> +if [ -d $dumpdir ]; then
>>>>> +	echo "Error: dump directory '$dumpdir' already exists."
>>>>> +	exit 1
>>>>> +fi
>>>>> +
>>>>> +mkdir -p $dumpdir
>>>>> +for f in $(find $builddir -name "*.so.*"); do
>>>>> +	if test -L $f || [ "$f" != "${f%%.symbols}" ]; then
>>>>> +		continue
>>>>> +	fi
>>>>> +
>>>>> +	libname=$(basename $f)
>>>>> +	abidw --out-file $dumpdir/${libname%.so.*}.dump $f done
>>>>> diff --git a/devtools/gen-abi-reference.sh
>>>>> b/devtools/gen-abi-reference.sh new file mode 100755 index
>>>>> 000000000..f41d7fadc
>>>>> --- /dev/null
>>>>> +++ b/devtools/gen-abi-reference.sh
>>>>> @@ -0,0 +1,24 @@
>>>>> +#!/bin/sh -e
>>>>> +# SPDX-License-Identifier: BSD-3-Clause # Copyright (c) 2019 Red
>>>> Hat,
>>>>> +Inc.
>>>>> +
>>>>> +devtools_dir=$(dirname $(readlink -f $0)) .
>>>>> +$devtools_dir/load-devel-config
>>>>> +
>>>>> +abi_ref_build_dir=${DPDK_ABI_REF_BUILD_DIR:-reference}
>>>>> +for dir in $abi_ref_build_dir/*; do
>>>>> +	if [ "$dir" = "$abi_ref_build_dir" ]; then
>>>>> +		exit 1
>>>>> +	fi
>>>>> +	if [ -d $dir/dump ]; then
>>>>> +		echo "Skipping $dir"
>>>>> +		continue
>>>>> +	fi
>>>>> +	if [ -d $dir/install ]; then
>>>>> +		libdir=$dir/install
>>>>> +	else
>>>>> +		libdir=$dir
>>>>> +	fi
>>>>> +	echo "Dumping libraries from $libdir in $dir/dump"
>>>>> +	$devtools_dir/gen-abi-dump.sh $libdir $dir/dump done
>>>>> diff --git a/devtools/test-build.sh b/devtools/test-build.sh index
>>>>> 52305fbb8..8cb5b56fb 100755
>>>>> --- a/devtools/test-build.sh
>>>>> +++ b/devtools/test-build.sh
>>>>> @@ -30,7 +30,8 @@ default_path=$PATH
>>>>>   # - LIBSSO_SNOW3G_PATH
>>>>>   # - LIBSSO_KASUMI_PATH
>>>>>   # - LIBSSO_ZUC_PATH
>>>>> -. $(dirname $(readlink -f $0))/load-devel-config
>>>>> +devtools_dir=$(dirname $(readlink -f $0)) .
>>>>> +$devtools_dir/load-devel-config
>>>>>
>>>>>   print_usage () {
>>>>>   	echo "usage: $(basename $0) [-h] [-jX] [-s] [config1 [config2]
>>>>> ...]]"
>>>>> @@ -64,6 +65,7 @@ print_help () {
>>>>>   [ -z $MAKE ] && echo "Cannot find make or gmake" && exit 1
>>>>>
>>>>>   J=$DPDK_MAKE_JOBS
>>>>> +abi_ref_build_dir=${DPDK_ABI_REF_BUILD_DIR:-reference}
>>>>>   builds_dir=${DPDK_BUILD_TEST_DIR:-.}
>>>>>   short=false
>>>>>   unset verbose
>>>>> @@ -97,7 +99,7 @@ trap "signal=INT ; trap - INT ; kill -INT $$" INT
>>>> #
>>>>> notify result on exit  trap on_exit EXIT
>>>>>
>>>>> -cd $(dirname $(readlink -f $0))/..
>>>>> +cd $devtools_dir/..
>>>>>
>>>>>   reset_env ()
>>>>>   {
>>>>> @@ -233,7 +235,7 @@ for conf in $configs ; do
>>>>>   	# reload config with DPDK_TARGET set
>>>>>   	DPDK_TARGET=$target
>>>>>   	reset_env
>>>>> -	. $(dirname $(readlink -f $0))/load-devel-config
>>>>> +	. $devtools_dir/load-devel-config
>>>>>
>>>>>   	options=$(echo $conf | sed 's,[^~+]*,,')
>>>>>   	dir=$builds_dir/$conf
>>>>> @@ -246,6 +248,11 @@ for conf in $configs ; do
>>>>>   	export RTE_TARGET=$target
>>>>>   	rm -rf $dir/install
>>>>>   	${MAKE} install O=$dir DESTDIR=$dir/install prefix=
>>>>> +	if [ -d $abi_ref_build_dir/$conf/dump ]; then
>>>>> +		echo "================== Check ABI $conf"
>>>>> +		$devtools_dir/check-abi-dump.sh $dir/install \
>>>>> +			$abi_ref_build_dir/$conf/dump
>>>>> +	fi
>>>>>   	echo "================== Build examples for $conf"
>>>>>   	export RTE_SDK=$(readlink -f $dir)/install/share/dpdk
>>>>>   	ln -sTf $(pwd)/lib $RTE_SDK/lib # workaround for vm_power_manager
>>>>> diff --git a/devtools/test-meson-builds.sh
>>>>> b/devtools/test-meson-builds.sh index 688567714..aaefa38a2 100755
>>>>> --- a/devtools/test-meson-builds.sh
>>>>> +++ b/devtools/test-meson-builds.sh
>>>>> @@ -16,6 +16,7 @@ srcdir=$(dirname $(readlink -f $0))/..
>>>>>
>>>>>   MESON=${MESON:-meson}
>>>>>   use_shared="--default-library=shared"
>>>>> +abi_ref_build_dir=${DPDK_ABI_REF_BUILD_DIR:-reference}
>>>>>   builds_dir=${DPDK_BUILD_TEST_DIR:-.}
>>>>>
>>>>>   if command -v gmake >/dev/null 2>&1 ; then @@ -88,6 +89,11 @@ build
>>>>> () # <directory> <target compiler> <meson options>
>>>>>   		echo "$ninja_cmd -C $builddir"
>>>>>   		$ninja_cmd -C $builddir
>>>>>   	fi
>>>>> +
>>>>> +	if [ -d $abi_ref_build_dir/$1/dump ]; then
>>>>> +		$srcdir/devtools/check-abi-dump.sh $builddir
>>>>> +			$abi_ref_build_dir/$1/dump
>>>>> +	fi
>>>>>   }
>>>>>
>>>>>   if [ "$1" = "-vv" ] ; then
>>>>> diff --git a/doc/guides/contributing/patches.rst
>>>>> b/doc/guides/contributing/patches.rst
>>>>> index 0686450e4..de3dff145 100644
>>>>> --- a/doc/guides/contributing/patches.rst
>>>>> +++ b/doc/guides/contributing/patches.rst
>>>>> @@ -513,6 +513,31 @@ in a single subfolder called "__builds" created
>>>>> in the current directory.
>>>>>   Setting ``DPDK_BUILD_TEST_DIR`` to an absolute directory path e.g.
>>>>> ``/tmp`` is also supported.
>>>>>
>>>>>
>>>>> +Checking ABI compatibility
>>>>> +--------------------------
>>>>> +
>>>>> +The first thing is to build reference binaries for the latest
>>>> release
>>>>> +your patches are built on top of.
>>>>> +
>>>>> +Either you are in a git tree and an easy way to identify this is to
>>>> run::
>>>>> +
>>>>> +  git checkout $(git describe --abbrev=0)
>>>>> +
>>>>> +Or you use a tarball and you extract the sources in a director of
>>>>> +your
>>>>> choice.
>>>>> +
>>>>> +Next is building those sources, refer to the previous paragraph.
>>>>> +You can set ``DPDK_BUILD_TEST_DIR=reference``, so that the builds
>>>>> +occur in this directory.
>>>>> +
>>>>> +Finally, the ABI dump files are generated with the
>>>>> +``devtools/gen-abi-reference.sh`` script. This script will look for
>>>>> +builds in the current sub directory ``reference``. But you can set
>>>>> +the environment variable ``DPDK_ABI_REF_BUILD_DIR`` to a different
>>>> location.
>>>>> +
>>>>> +Once done, you can check your current binaries ABI with this
>>>>> +reference with the ``devtools/check-abi-reference.sh`` script.
>>>>> +
>>>>> +
>>>>>   Sending Patches
>>>>>   ---------------
>>>>>
>>>>> --
>>>>> 2.23.0
>>>>
>>>> I still very much dislike forcing the user to generate his own
>>>> reference version to compare the ABI against. These should be archived
>>>> and the user should just be able to pull them down via git or http or
>>>> otherwise. Two reasons for this:
>>>>
>>>> 1. Less error prone, since there is no chance of the user having an
>>>> incorrect build for whatever reason.
> 
> It's more error prone I think.  There are issues with archived versions
> of ABI dumps, or bad content delivery networks.  Working from the git
> repository is *guaranteed* to generate a correct ABI dump.  Anything
> else allows your CDN / other to break.

I can't speak for everyone else, but normally when i'm working on a DPDK 
codebase, there's a whole bunch of stuff that isn't built by default, 
and i normally never bother. So, while working from git repo is 
guaranteed to generate a correct ABI dump, it is *not* guaranteed to 
cover everything, unless the developer takes steps to do otherwise.

As far as i understand, the plan is to make ABI checks part of the 
automation - so the effort of *having* these reference ABI dumps is 
already spent anyway, might as well make them accessible to whoever 
develops DPDK too. And if CDN/connectivity fails - well, so be it, 
either fall back to manual process, or let the automation handle it.

> 
>>>> 2. Less effort for the user than asking them to do extra builds. The
>>>> more steps the user has to follow, the less likely they are to attempt
>>>> the process.
> 
> It's important to remember that (as far as I'm aware) the vast majority
> of DPDK users don't make many code changes or even compile it.  And
> those who do typically don't even run the unit tests.  I think it's good
> to document a process for people to follow, but such process shouldn't
> assume that developers can't run basic git commands or execute scripts.
> 
>>>> Regards,
>>>> /Bruce
>>>>
>>>
>>> +1 ... 100% agree with this.
>>>
>>> Many people won't know or understand what the reference is,
>>> or why they to generate it.
>>
>> Many people won't run the test at all and will rely on the automatic CI tests.
> 
> +1 to this.  It's good for the robot's travis build to validate the ABI for
> patches, since it will alert us anyway.
> 
> 


-- 
Thanks,
Anatoly

^ permalink raw reply	[relevance 9%]

* Re: [dpdk-dev] [PATCH v5 12/14] librte_ethdev: add ESP and AH flow types to RSS
  2020-01-15 12:28  3%           ` Ferruh Yigit
@ 2020-01-15 14:11  0%             ` Iremonger, Bernard
  0 siblings, 0 replies; 200+ results
From: Iremonger, Bernard @ 2020-01-15 14:11 UTC (permalink / raw)
  To: Yigit, Ferruh, Andrew Rybchenko, dev, Xing, Beilei, Zhang, Qi Z,
	Doherty, Declan
  Cc: Ananyev, Konstantin, Byrne, Stephen1, Zhang, Helin, Ori Kam,
	Thomas Monjalon, Richardson, Bruce, Kinsella, Ray,
	David Marchand, Luca Boccassi, Jerin Jacob, Olivier MATZ

Hi Ferruh,

<snip>

> Subject: Re: [dpdk-dev] [PATCH v5 12/14] librte_ethdev: add ESP and AH
> flow types to RSS
> 
> On 1/15/2020 10:55 AM, Andrew Rybchenko wrote:
> > On 1/15/20 1:44 PM, Ferruh Yigit wrote:
> >> On 1/15/2020 9:13 AM, Andrew Rybchenko wrote:
> >>> On 1/14/20 9:45 PM, Ferruh Yigit wrote:
> >>>> On 1/14/2020 1:55 PM, Bernard Iremonger wrote:
> >>>>> Add macros for the following protocols in the DDP esp-ah profile:
> >>>>> ESP
> >>>>> AH
> >>>>>
> >>>>> Add the following RSS macro for IPsec:
> >>>>> ETH_RSS_IPSEC
> >>>>>
> >>>>> Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
> >>>> +Ori and other ethdev maintainers.
> >>>>
> >>>> Ori, can you please check this patch?
> >>>>
> >>>>> ---
> >>>>>  lib/librte_ethdev/rte_ethdev.h | 14 +++++++++++++-
> >>>>>  1 file changed, 13 insertions(+), 1 deletion(-)
> >>>>>
> >>>>> diff --git a/lib/librte_ethdev/rte_ethdev.h
> >>>>> b/lib/librte_ethdev/rte_ethdev.h index 18a9def..208ec90 100644
> >>>>> --- a/lib/librte_ethdev/rte_ethdev.h
> >>>>> +++ b/lib/librte_ethdev/rte_ethdev.h
> >>>>> @@ -484,7 +484,9 @@ struct rte_eth_rss_conf {
> >>>>>  #define RTE_ETH_FLOW_NVGRE              21 /**< NVGRE protocol
> based flow */
> >>>>>  #define RTE_ETH_FLOW_VXLAN_GPE          22 /**< VXLAN-GPE
> protocol based flow */
> >>>>>  #define RTE_ETH_FLOW_GTPU               23 /**< GTPU protocol based
> flow */
> >>>>> -#define RTE_ETH_FLOW_MAX                24
> >>>>> +#define RTE_ETH_FLOW_AH                 24 /**< AH protocol based flow
> */
> >>>>> +#define RTE_ETH_FLOW_ESP                25 /**< ESP protocol based
> flow */
> >>>>> +#define RTE_ETH_FLOW_MAX                26
> >>> Isn't changing RTE_ETH_FLOW_MAX value breaking ABI?
> >>> Is v20.11 target release of the patch?
> >> I can't see how this can cause an ABI break, unless the
> >> 'RTE_ETH_FLOW_MAX' value used as size of an array in the middle of a
> struct.
> >> There is 'struct rte_eth_fdir_flex_conf' but the array is at the end
> >> there, so it should be OK, unless that struct is not in the middle of another
> struct.
> >
> > rte_eth_fdir_flex_conf -> rte_fdir_conf -> rte_eth_conf (in the
> > middle)
> 
> Yes, this looks like an ABI break and this is very annoying not able to even add
> a new RTE_FLOW type.
> 
> We need to find a proper way to handle this, at first glance I can see stop
> using _MAX macros for the array size can work and perhaps we can use
> another big enough hardcoded value for all similar array size. Any other
> option?
> 
> But we can do this on 20.11, we need a solution until that time.

This patch is required to handle RSS for the esp-ah.pkg DDP profile, it does not affect the i40e FD and testpmd changes in this patch set.
The esp-ah.pkg DDP profile is not released yet.

Given that the merge deadline is today, I propose to drop this patch from the v6 patch set.

> 
> >
> >> And there are values calculated from 'RTE_ETH_FLOW_MAX', like
> >> 'RTE_FLOW_MASK_ARRAY_SIZE', same concern applies there, it very hard
> to follow.
> >>
> >> Bernard,
> >>
> >> Can you please run the ABI version script to be sure this is not breaking
> the ABI?
> >>
> >>
> >>>>>
> >>>>>  /*
> >>>>>   * Below macros are defined for RSS offload types, they can be
> >>>>> used to @@ -511,6 +513,12 @@ struct rte_eth_rss_conf {
> >>>>>  #define ETH_RSS_GENEVE             (1ULL << 20)
> >>>>>  #define ETH_RSS_NVGRE              (1ULL << 21)
> >>>>>  #define ETH_RSS_GTPU               (1ULL << 23)
> >>>>> +#define ETH_RSS_AH                 (1ULL << 24)
> >>>>> +#define ETH_RSS_ESP                (1ULL << 25)
> >>>>> +
> >>>>> +
> >>>>> +
> >>>>> +
> >>>>>
> >>>>>  /*
> >>>>>   * We use the following macros to combine with above ETH_RSS_*
> >>>>> for @@ -571,6 +579,10 @@ rte_eth_rss_hf_refine(uint64_t rss_hf)
> >>>>>  	ETH_RSS_NONFRAG_IPV4_SCTP | \
> >>>>>  	ETH_RSS_NONFRAG_IPV6_SCTP)
> >>>>>
> >>>>> +#define ETH_RSS_IPSEC ( \
> >>>>> +	ETH_RSS_AH | \
> >>>>> +	ETH_RSS_ESP)
> >>>>> +
> >>>>>  #define ETH_RSS_TUNNEL ( \
> >>>>>  	ETH_RSS_VXLAN  | \
> >>>>>  	ETH_RSS_GENEVE | \
> >>>>>
> >
Regards,

Bernard.

^ permalink raw reply	[relevance 0%]

Results 7001-7200 of ~18000   |  | reverse | sort options + mbox downloads above
-- links below jump to the message on this page --
2019-06-05 16:45     [dpdk-dev] [EXT] [RFC PATCH 0/2] introduce __rte_internal tag Bruce Richardson
2019-06-05 18:11     ` Neil Horman
2019-06-06  9:44       ` Jerin Jacob Kollanukkaran
2019-06-06 11:34         ` Neil Horman
2019-06-06 12:04           ` Jerin Jacob Kollanukkaran
2019-06-06 13:35             ` Neil Horman
2019-06-06 14:02               ` Jerin Jacob Kollanukkaran
2019-06-06 15:03                 ` Neil Horman
2019-06-07 15:42                   ` Ray Kinsella
2019-06-07 18:21                     ` Wiles, Keith
2020-01-09 15:49  0%                   ` Neil Horman
2019-07-24  8:20     [dpdk-dev] [PATCH v4 0/1] fbarray: get fbarrays from containerized secondary yasufum.o
2019-11-13 21:43     ` [dpdk-dev] [PATCH v7 0/1] fbarray: fix duplicated fbarray file in secondary yasufum.o
2019-11-13 21:43       ` [dpdk-dev] [PATCH v7 1/1] " yasufum.o
2019-11-14 10:01         ` Burakov, Anatoly
2019-11-14 11:42           ` Yasufumi Ogawa
2019-11-14 12:27             ` David Marchand
2019-11-26 19:40               ` Yasufumi Ogawa
2019-11-27 10:26                 ` Burakov, Anatoly
2019-11-29  5:44                   ` Yasufumi Ogawa
2019-12-02 10:43                     ` Burakov, Anatoly
2019-12-05 20:13  0%                   ` Yasufumi Ogawa
2019-11-27  8:48       ` [dpdk-dev] [PATCH v8 0/1] " Yasufumi Ogawa
2019-11-27  8:48         ` [dpdk-dev] [PATCH v8 1/1] " Yasufumi Ogawa
2019-12-06 10:44  4%       ` Burakov, Anatoly
2019-12-06 13:18  0%         ` Yasufumi Ogawa
2019-10-15  7:49     [dpdk-dev] [PATCH v1 0/5] implement common rte bit operation APIs in PMDs Joyce Kong
2019-12-18  6:00     ` [dpdk-dev] [PATCH v6 1/6] lib/eal: implement the family of rte bit operation APIs Joyce Kong
2019-12-20  6:52       ` Honnappa Nagarahalli
2019-12-21 16:07         ` Honnappa Nagarahalli
2019-12-21 18:07           ` Stephen Hemminger
2019-12-23  5:04  3%         ` Honnappa Nagarahalli
2019-12-23 16:36  0%           ` Stephen Hemminger
2019-12-30  3:02  0%             ` Gavin Hu
2020-01-07  0:44  0%               ` Honnappa Nagarahalli
2020-01-07  1:26  0%                 ` Stephen Hemminger
2020-01-07  4:41  0%                   ` Honnappa Nagarahalli
2020-01-07  0:41  0%             ` Honnappa Nagarahalli
2019-11-18  9:50     [dpdk-dev] [RFC v20.20] mbuf: introduce pktmbuf pool with pinned external buffers Shahaf Shuler
2020-01-10 17:56     ` [dpdk-dev] [PATCH 0/4] " Viacheslav Ovsiienko
2020-01-10 17:56       ` [dpdk-dev] [PATCH 1/4] mbuf: detach mbuf with pinned external buffer Viacheslav Ovsiienko
2020-01-10 18:23  3%     ` Stephen Hemminger
2020-01-13 17:07  0%       ` Slava Ovsiienko
2019-11-19 12:05     [dpdk-dev] [PATCH 1/3] ethdev: remove deprecation notice for packet type set Andrew Rybchenko
2019-11-25 11:39     ` [dpdk-dev] [PATCH v2 3/3] ethdev: improve flow mark Rx offload deprecation notice Thomas Monjalon
2019-12-02  4:21       ` Jerin Jacob
2019-12-02  9:15         ` Thomas Monjalon
2019-12-02 11:09           ` Jerin Jacob
2019-12-02 11:57             ` Andrew Rybchenko
2019-12-05  8:12  3%           ` Jerin Jacob
2019-12-09  9:17  0%             ` Andrew Rybchenko
2019-12-16  7:38  3%               ` Jerin Jacob
2019-12-16 10:02  0%                 ` Andrew Rybchenko
2019-11-25 16:13     [dpdk-dev] [RFC PATCH] mark experimental variables David Marchand
2019-12-02 15:20     ` [dpdk-dev] [PATCH] " David Marchand
2019-12-03  8:33  0%   ` Andrew Rybchenko
2019-12-03 15:26  0%   ` Neil Horman
2020-01-09 14:13  3%   ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon
2020-01-09 16:49  0%     ` David Marchand
2019-11-29 17:10     [dpdk-dev] [PATCH v2 0/7] Add ABI compatibility checks to the meson build Kevin Laatz
2019-11-29 21:08     ` [dpdk-dev] [PATCH v3 " Kevin Laatz
2019-12-03 11:03  8%   ` David Marchand
2019-12-03 15:27  8%     ` Laatz, Kevin
2019-12-04  8:47  4%       ` David Marchand
2019-12-04 10:46  4%         ` Bruce Richardson
2019-12-04 11:56  4%         ` Neil Horman
2019-12-04 12:00  4%           ` David Marchand
2019-12-10 11:07  4%       ` David Marchand
2019-12-10 11:36  4%         ` Laatz, Kevin
2019-12-11 18:21  8%   ` [dpdk-dev] [PATCH v4 0/3] " Kevin Laatz
2019-12-11 18:21 21%     ` [dpdk-dev] [PATCH v4 2/3] build: add abi checks to meson Kevin Laatz
2019-12-11 18:21  3%     ` [dpdk-dev] [PATCH v4 3/3] build: clean up experimental syms check Kevin Laatz
     [not found]         ` <20191211182147.19355-2-kevin.laatz@intel.com>
2019-12-12  8:43  4%       ` [dpdk-dev] [PATCH v4 1/3] build: add dump files for v20.0 ABI David Marchand
2019-12-12  9:36  8%         ` David Marchand
2019-12-12  9:45  4%           ` Laatz, Kevin
2019-12-12  9:45  4%         ` Laatz, Kevin
2019-12-13 14:02  8%     ` [dpdk-dev] [PATCH v5 0/3] Add ABI compatibility checks to the meson build Kevin Laatz
2019-12-13 14:03 21%       ` [dpdk-dev] [PATCH v5 2/3] build: add abi checks to meson Kevin Laatz
2019-12-13 14:03  3%       ` [dpdk-dev] [PATCH v5 3/3] build: clean up experimental syms check Kevin Laatz
2019-12-13 16:40  8%       ` [dpdk-dev] [PATCH v6 00/11] Add ABI compatibility checks to the meson build Kevin Laatz
2019-12-13 16:41  7%         ` [dpdk-dev] [PATCH v6 01/11] lib: add dump files for v20.0 ABI Kevin Laatz
2019-12-13 16:41  5%         ` [dpdk-dev] [PATCH v6 02/11] drivers/bus: " Kevin Laatz
2019-12-13 16:41 13%         ` [dpdk-dev] [PATCH v6 03/11] drivers/mempool: " Kevin Laatz
2019-12-13 16:41 12%         ` [dpdk-dev] [PATCH v6 04/11] drivers/common: " Kevin Laatz
2019-12-13 16:41 13%         ` [dpdk-dev] [PATCH v6 05/11] drivers/raw: " Kevin Laatz
2019-12-13 16:41  6%         ` [dpdk-dev] [PATCH v6 06/11] drivers/crypto: " Kevin Laatz
2019-12-13 16:41  8%         ` [dpdk-dev] [PATCH v6 07/11] drivers/compress: " Kevin Laatz
2019-12-13 16:41  7%         ` [dpdk-dev] [PATCH v6 08/11] drivers/net: " Kevin Laatz
2019-12-13 16:41  3%         ` [dpdk-dev] [PATCH v6 09/11] drivers/net/intel: " Kevin Laatz
2019-12-13 16:41 21%         ` [dpdk-dev] [PATCH v6 10/11] build: add abi checks to meson Kevin Laatz
2019-12-13 16:41  3%         ` [dpdk-dev] [PATCH v6 11/11] build: clean up experimental syms check Kevin Laatz
2019-12-19 21:58  9%         ` [dpdk-dev] [PATCH v6 00/11] Add ABI compatibility checks to the meson build David Marchand
2019-12-20 10:20  4%           ` Thomas Monjalon
2019-12-20 11:04  9%           ` Bruce Richardson
2019-12-20 13:19  9%             ` David Marchand
2019-12-20 14:17  9%               ` Bruce Richardson
2020-01-06 13:20  7%                 ` Aaron Conole
2019-12-02 14:57     [dpdk-dev] [PATCH] version: 20.02-rc0 Thomas Monjalon
2019-12-02 15:40     ` Bruce Richardson
2019-12-02 15:43       ` Kinsella, Ray
2019-12-02 16:13         ` Thomas Monjalon
2019-12-02 16:27  0%       ` Kinsella, Ray
2019-12-04 10:05  8% [dpdk-dev] [PATCH] drivers/net: fix mlx* glue libraries ABI version David Marchand
2019-12-12 22:17  7% ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon
2019-12-04 14:10     [dpdk-dev] [PATCH] ethdev: add L2TPv3 header to flow API Rory Sexton
2019-12-10 10:16  3% ` Ori Kam
2019-12-10 14:52  0%   ` Sexton, Rory
2019-12-10 20:32  0%     ` Ori Kam
2019-12-11 11:36  0%       ` Sexton, Rory
2019-12-11 13:30  0%         ` Ori Kam
2019-12-11 16:31  0%           ` Sexton, Rory
2019-12-12 13:38  0%             ` Sexton, Rory
2019-12-05 14:26  3% [dpdk-dev] DPDK Release Status Meeting 5/12/2019 Ferruh Yigit
2019-12-06 22:11  4% [dpdk-dev] RFC - adding filter to packet capture API Stephen Hemminger
2019-12-09 10:24  4% ` Ray Kinsella
2019-12-09 13:41  0% ` Ananyev, Konstantin
2019-12-09 16:49  0%   ` Stephen Hemminger
2019-12-11 20:13  0%   ` Morten Brørup
2019-12-07  0:59     [dpdk-dev] [PATCH 0/3] add support for RSS level Ajit Khaparde
2019-12-07  0:59     ` [dpdk-dev] [PATCH 1/3] ethdev: add RSS hash level Ajit Khaparde
2019-12-07  9:13  4%   ` Andrew Rybchenko
2019-12-07 19:56  0%     ` Ajit Khaparde
2019-12-09  7:35  0%       ` Andrew Rybchenko
2019-12-09 14:41  3%         ` Ferruh Yigit
2019-12-07 22:27  4%   ` Stephen Hemminger
2019-12-10 11:56  9% [dpdk-dev] How to manage new APIs added after major ABI release? Ferruh Yigit
2019-12-10 12:04  9% ` Bruce Richardson
2019-12-10 12:40  4%   ` Ferruh Yigit
2019-12-10 14:36  8%     ` Bruce Richardson
2019-12-10 15:03  7%       ` Luca Boccassi
2019-12-10 15:46  7%         ` Bruce Richardson
2019-12-10 16:20  4%           ` Luca Boccassi
2019-12-10 16:32  4%             ` Bruce Richardson
2019-12-10 17:01  4%               ` Kinsella, Ray
2019-12-10 17:04  8%               ` Thomas Monjalon
2019-12-10 18:22  4%                 ` Luca Boccassi
2019-12-10 23:34  4%                   ` Bruce Richardson
2019-12-10 16:39  4%             ` Thomas Monjalon
2019-12-10 17:00  7%               ` Bruce Richardson
2019-12-10 15:04  4%       ` Ferruh Yigit
2019-12-10 15:37  4%         ` Ferruh Yigit
2019-12-10 15:40  8%       ` Kinsella, Ray
2019-12-11 13:32  4%       ` Neil Horman
2019-12-11 13:11  8% ` Neil Horman
2019-12-11 13:29  7%   ` Thomas Monjalon
2019-12-11 13:30  9%   ` Ferruh Yigit
2019-12-11 14:34  8%     ` Neil Horman
2019-12-11 15:29  4%       ` Ferruh Yigit
2019-12-11 15:02  9%     ` Thomas Monjalon
2019-12-11 15:17  4%       ` Bruce Richardson
2019-12-11 15:46  9%       ` Ferruh Yigit
2019-12-11 15:55  4%         ` Bruce Richardson
2019-12-11 16:30  9%           ` Ferruh Yigit
2019-12-10 17:17  4% [dpdk-dev] [PATCH] build: fix soname info in meson build Bruce Richardson
2019-12-10 18:00  4% [dpdk-dev] [PATCH] build: fix soname info in make build Bruce Richardson
2019-12-11 10:26  5% [dpdk-dev] [PATCH] build: fix soname info for 19.11 compatiblity Bruce Richardson
2019-12-11 11:04  0% ` Luca Boccassi
2019-12-11 11:08  3%   ` Thomas Monjalon
2019-12-11 11:14  0%     ` Bruce Richardson
2019-12-11 11:19  0%       ` Ferruh Yigit
2019-12-12 11:07  0%         ` Ray Kinsella
2019-12-11 11:11  0%   ` Bruce Richardson
2019-12-11 11:25  0%     ` Ferruh Yigit
2019-12-12 11:14  0%     ` Ray Kinsella
2019-12-12 13:58  0%       ` Luca Boccassi
2019-12-12 14:05  0%         ` Ray Kinsella
2019-12-12 15:08  4%           ` Bruce Richardson
2019-12-11 11:15  0% ` Ferruh Yigit
2019-12-11 13:14  0%   ` Bruce Richardson
2019-12-11 15:16 10% ` [dpdk-dev] [PATCH v2] " Bruce Richardson
2019-12-12  8:27  0%   ` David Marchand
2019-12-12  8:57  0%     ` Ferruh Yigit
2019-12-12 11:44  0%       ` Bruce Richardson
2019-12-12 11:59  0%         ` Bruce Richardson
2019-12-12 13:41  0%           ` Thomas Monjalon
2019-12-12 11:58 10% ` [dpdk-dev] [PATCH v3] " Bruce Richardson
2019-12-12 12:30  0%   ` Ray Kinsella
2019-12-12 13:02  3%     ` Bruce Richardson
2019-12-12 15:25  0%       ` Ray Kinsella
2019-12-12 15:34  0%         ` Bruce Richardson
2019-12-12 14:45  0%   ` Ferruh Yigit
2019-12-12 16:34  0%   ` Ray Kinsella
2019-12-13 11:38  0%   ` Neil Horman
2019-12-16 11:21  3%   ` Laatz, Kevin
2019-12-19 12:42  0%   ` David Marchand
2019-12-19 15:19  0%     ` Thomas Monjalon
2019-12-12 12:27  4% [dpdk-dev] DPDK Release Status Meeting 12/12/2019 Ferruh Yigit
2019-12-16  8:29     [dpdk-dev] discussion: creating a new class for vdpa drivers Matan Azrad
2019-12-16  8:46  3% ` Andrew Rybchenko
2019-12-16  8:50  3%   ` Maxime Coquelin
2019-12-16  9:39  0%     ` Andrew Rybchenko
2019-12-16 10:04  0%       ` Maxime Coquelin
2019-12-16 10:19  0%         ` Andrew Rybchenko
2019-12-16 10:26  0%           ` Maxime Coquelin
2019-12-16 16:45  4% [dpdk-dev] DPDK techboard minutes of November 20th Honnappa Nagarahalli
2019-12-17  7:36     [dpdk-dev] checkpatch failing on map change Liron Himi
2019-12-17  8:15  3% ` David Marchand
2019-12-17  8:21  3%   ` [dpdk-dev] [EXT] " Liron Himi
2019-12-17 10:43     [dpdk-dev] [PATCH] lib/cfgfile: update map file lironh
2019-12-17 11:52  3% ` [dpdk-dev] [PATCH v2] cfgfile: " lironh
2019-12-17 11:12  0%   ` Dumitrescu, Cristian
2019-12-17 11:42     [dpdk-dev] [PATCH] ci: update travis to use bionic Kevin Laatz
2019-12-17 14:44  3% ` Aaron Conole
2019-12-17 15:04  3%   ` Laatz, Kevin
2019-12-17 18:03  0%     ` Aaron Conole
2019-12-19 16:12  0%       ` Laatz, Kevin
2019-12-19 11:32  4% [dpdk-dev] DPDK Release Status Meeting 19/12/2019 Ferruh Yigit
2019-12-20 15:20 25% [dpdk-dev] [PATCH] add ABI checks David Marchand
2019-12-20 15:32  7% ` Richardson, Bruce
2019-12-20 16:20  4%   ` Kinsella, Ray
2019-12-20 21:00  4%     ` Thomas Monjalon
2020-01-06 13:17  9%       ` Aaron Conole
2020-01-15 13:07  9%         ` Burakov, Anatoly
2020-01-14 23:19  4%     ` Thomas Monjalon
2020-01-15 11:33  7%       ` Neil Horman
2020-01-15 12:38  4%         ` Thomas Monjalon
2019-12-20 20:25  8% ` Neil Horman
2020-01-04  1:33  3% [dpdk-dev] [PATCH 00/14] cleanup resources on shutdown Stephen Hemminger
2020-01-07 14:56     [dpdk-dev] [PATCH] librte_ethdev: extend dpdk api led control to query capability Laurent Hardy
2020-01-08  8:56  3% ` David Marchand
2020-01-08  9:09  4%   ` Ferruh Yigit
2020-01-08  9:42  0%     ` Olivier Matz
2020-01-08 12:12  0%       ` Ferruh Yigit
2020-01-08 12:27  0%         ` Olivier Matz
2020-01-08 14:08  0%           ` Ferruh Yigit
2020-01-08 14:45  0%             ` Laurent Hardy
2020-01-08  9:55  4%     ` David Marchand
2020-01-08 10:31  0%       ` Laurent Hardy
2020-01-08 12:59  3%         ` Ferruh Yigit
2020-01-08 13:06  0%           ` Thomas Monjalon
2020-01-08 13:20  0%             ` Ferruh Yigit
2020-01-08 13:58  0%             ` Laurent Hardy
2020-01-08 12:30  0%       ` Ferruh Yigit
2020-01-08 13:00  3%         ` David Marchand
2020-01-08 13:11  0%           ` Ferruh Yigit
2020-01-09 11:56     [dpdk-dev] [PATCH 0/6] meson build improvements Bruce Richardson
2020-01-09 11:56  4% ` [dpdk-dev] [PATCH 5/6] doc/guides: rebuild with meson whenever a file changes Bruce Richardson
2020-01-09 12:07     ` [dpdk-dev] [PATCH v2 0/6] meson build improvements Bruce Richardson
2020-01-09 12:08  4%   ` [dpdk-dev] [PATCH v2 5/6] doc/guides: rebuild with meson whenever a file changes Bruce Richardson
2020-01-09 14:27  0%     ` Aaron Conole
2020-01-09 15:31     ` [dpdk-dev] [PATCH v3 0/6] meson build improvements Bruce Richardson
2020-01-09 15:31  4%   ` [dpdk-dev] [PATCH v3 5/6] doc/guides: rebuild with meson whenever a file changes Bruce Richardson
2020-01-10 21:51     ` [dpdk-dev] [PATCH v4 0/6] meson build improvements Bruce Richardson
2020-01-10 21:52  4%   ` [dpdk-dev] [PATCH v4 5/6] doc/guides: rebuild with meson whenever a file changes Bruce Richardson
2020-01-09 13:27     [dpdk-dev] [PATCH] mempool: fix mempool virt populate with small chunks Olivier Matz
2020-01-09 13:52  3% ` Burakov, Anatoly
2020-01-09 14:23  0%   ` Olivier Matz
2020-01-09 14:29  0%     ` Burakov, Anatoly
2020-01-09 14:58  4%       ` Bruce Richardson
2020-01-10 12:15  4% [dpdk-dev] DPDK Release Status Meeting 09/01/2020 Ferruh Yigit
2020-01-10 15:20     [dpdk-dev] [PATCH v4 00/14] net/i40e: ESP support Bernard Iremonger
2020-01-14 13:55     ` [dpdk-dev] [PATCH v5 12/14] librte_ethdev: add ESP and AH flow types to RSS Bernard Iremonger
2020-01-14 18:45       ` Ferruh Yigit
2020-01-15  9:13  3%     ` Andrew Rybchenko
2020-01-15 10:44  4%       ` Ferruh Yigit
2020-01-15 10:55  0%         ` Andrew Rybchenko
2020-01-15 12:28  3%           ` Ferruh Yigit
2020-01-15 14:11  0%             ` Iremonger, Bernard
2020-01-11 16:08     [dpdk-dev] [PATCH] lmp: add lookup x4 with x4 default values pbhagavatula
2020-01-13 11:06     ` Medvedkin, Vladimir
2020-01-13 12:34  3%   ` Pavan Nikhilesh Bhagavatula
2020-01-13 17:48  0%     ` Medvedkin, Vladimir

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).